522 lines
13 KiB
Nix
Executable file
522 lines
13 KiB
Nix
Executable file
{ config, pkgs, ... }:
|
|
|
|
let
|
|
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
|
|
hyprland = (import flake-compat {
|
|
src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz";
|
|
}).defaultNix;
|
|
kitty_notest = pkgs.kitty.overridePythonAttrs (oldAttrs: { doCheck = false; checkPhase = ""; });
|
|
in
|
|
{
|
|
imports = [
|
|
# who are you?
|
|
./bolt.nix
|
|
# ./fossil.nix
|
|
# ./plank.nix
|
|
hyprland.homeManagerModules.default
|
|
];
|
|
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
|
inherit pkgs;
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
systemdIntegration = true;
|
|
nvidiaPatches = true;
|
|
extraConfig = ''
|
|
exec-once = waybar
|
|
exec-once = keepassxc
|
|
exec-once = mako
|
|
exec-once = ckb-next -c -b
|
|
exec-once = swaybg -i $HOME/Downloads/00026.png
|
|
exec-once = xrdb $HOME/.Xresources
|
|
|
|
input {
|
|
kb_layout=us
|
|
kb_options=caps:escape,escape:caps
|
|
}
|
|
|
|
general {
|
|
no_border_on_floating=true
|
|
layout=dwindle
|
|
border_size=3
|
|
gaps_in=10
|
|
gaps_out=20
|
|
}
|
|
|
|
dwindle {
|
|
preserve_split=true
|
|
pseudotile=true
|
|
use_active_for_splits=true
|
|
}
|
|
|
|
decoration {
|
|
rounding=8
|
|
blur=0
|
|
}
|
|
|
|
animations {
|
|
enabled=1
|
|
bezier=overshot,0.05,0.9,0.1,1.1
|
|
bezier=smooth,0.06,0.94,0.1,1.0
|
|
bezier=slosmooth,0.1,0.89,0.14,0.96
|
|
animation=windows,1,6,overshot,popin
|
|
animation=workspaces,1,6,smooth,slidevert
|
|
animation=specialWorkspace,1,6,overshot,slide
|
|
}
|
|
|
|
misc {
|
|
disable_hyprland_logo=true
|
|
disable_splash_rendering=true
|
|
}
|
|
|
|
monitor=,highrr,auto,1
|
|
|
|
bind=SUPER,Return,exec,kitty
|
|
bind=SUPER,F,exec,firefox
|
|
bind=SUPER,D,exec,fuzzel
|
|
|
|
bind=SUPER_SHIFT,Q,killactive
|
|
bind=SUPER_SHIFT,space,fullscreen,0
|
|
bind=SUPER,space,togglefloating
|
|
|
|
bind=SUPER,h,movefocus,l
|
|
bind=SUPER,l,movefocus,r
|
|
bind=SUPER,j,movefocus,d
|
|
bind=SUPER,k,movefocus,u
|
|
bind=SUPER_SHIFT,h,movewindow,l
|
|
bind=SUPER_SHIFT,l,movewindow,r
|
|
bind=SUPER_SHIFT,j,movewindow,d
|
|
bind=SUPER_SHIFT,k,movewindow,u
|
|
|
|
bind=SUPER,s,togglesplit
|
|
|
|
bind=SUPER,1,workspace,1
|
|
bind=SUPER,2,workspace,2
|
|
bind=SUPER,3,workspace,3
|
|
bind=SUPER,4,workspace,4
|
|
bind=SUPER_SHIFT,1,movetoworkspacesilent,1
|
|
bind=SUPER_SHIFT,2,movetoworkspacesilent,2
|
|
bind=SUPER_SHIFT,3,movetoworkspacesilent,3
|
|
bind=SUPER_SHIFT,4,movetoworkspacesilent,4
|
|
|
|
bind=SUPER_CTRL,h,resizeactive,-40 0
|
|
bind=SUPER_CTRL,l,resizeactive,40 0
|
|
bind=SUPER_CTRL,j,resizeactive,0 -40
|
|
bind=SUPER_CTRL,k,resizeactive,0 40
|
|
|
|
bind=SUPER,minus,togglespecialworkspace
|
|
bind=SUPER_SHIFT,minus,movetoworkspace,special
|
|
|
|
bind=SUPER_SHIFT,S,exec,grim -g "$(slurp)" -t png -o "$HOME/Pictures/$(date +%F_%H-%m-%S).png" && notify-send "Screenshot taken."
|
|
bind=SUPER_SHIFT_CTRL,S,exec,wf-recorder -a -f "$HOME/Videos/recording_($date +%F_%H-%m-%S).mp4" && notify-send "Recording desktop.."
|
|
bind=SUPER_SHIFT,E,exec,wlogout
|
|
|
|
bind=,XF86AudioMute,exec,pactl set-sink-mute @DEFAULT_SINK@ toggle && notify-send "Audio" "Mute $(if [ $(pactl get-sink-mute @DEFAULT_SINK@ | rg yes | wc -l) -eq 1 ]; then printf on; else printf off; fi)."
|
|
bind=,XF86AudioRaiseVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ +5% && notify-send "Audio" "Volume at $(pactl get-sink-volume @DEFAULT_SINK@ | cut -d' ' -f 6)"
|
|
bind=,XF86AudioLowerVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ -5% && notify-send "Audio" "Volume at $(pactl get-sink-volume @DEFAULT_SINK@ | cut -d' ' -f 6)"
|
|
bind=,XF86AudioStop,exec,cmus-remote -s && notify-send "Music" "Playback stopped."
|
|
bind=,XF86AudioPlay,exec,cmus-remote -u && notify-send "Music" "Playback status: $(cmus-remote -Q | head -n 1 | cut -d' ' -f 2)"
|
|
bind=,XF86AudioPrev,exec,cmus-remote -r && notify-send "Music" "Now playing:\n$(cmus-remote -Q | rg -e 'artist|title' | cut -d' ' -f 3-)"
|
|
bind=,XF86AudioNext,exec,cmus-remote -n && notify-send "Music" "Now playing:\n$(cmus-remote -Q | rg -e 'artist|title' | cut -d' ' -f 3-)"
|
|
'';
|
|
};
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
thunderbird
|
|
|
|
clementine
|
|
inkscape
|
|
|
|
grim
|
|
slurp
|
|
mako
|
|
swaybg
|
|
wlogout
|
|
wf-recorder
|
|
libnotify
|
|
fuzzel
|
|
waybar
|
|
|
|
pulseaudio # yuck! just for pactl..
|
|
|
|
btop
|
|
bat
|
|
joshuto
|
|
ripgrep
|
|
fd
|
|
lazygit
|
|
fzf
|
|
|
|
|
|
# kdeconnect # maybe once i get an android
|
|
keepassxc
|
|
|
|
direnv
|
|
|
|
mpv
|
|
syncthing
|
|
|
|
zoxide
|
|
meslo-lgs-nf
|
|
|
|
libreoffice-qt
|
|
|
|
libsForQt5.ark
|
|
libsForQt5.qtstyleplugin-kvantum
|
|
libsForQt5.bismuth
|
|
|
|
gtk-engine-murrine
|
|
|
|
# plasma-browser-integration
|
|
|
|
(callPackage ./homepkgs/git-credential-keepassxc.nix { })
|
|
(callPackage ./homepkgs/culr.nix { })
|
|
(callPackage ./homepkgs/glpaper.nix { })
|
|
|
|
];
|
|
|
|
xdg.enable = true;
|
|
|
|
programs.mako = {
|
|
enable = true;
|
|
anchor = "bottom-right";
|
|
borderRadius = 8;
|
|
borderSize = 2;
|
|
defaultTimeout = 3500;
|
|
ignoreTimeout = true;
|
|
font = "Visby Regular 14";
|
|
};
|
|
|
|
programs.vscode = {
|
|
enable = true;
|
|
# enableExtensionUpdateCheck = false;
|
|
# enableUpdateCheck = false;
|
|
package = pkgs.vscodium;
|
|
extensions = [];
|
|
mutableExtensionsDir = false;
|
|
};
|
|
|
|
# xdg.desktopEntries = {
|
|
# vscodium-url = {
|
|
# name = "VsCodium";
|
|
# genericName = "Text Editor";
|
|
# exec = "codium --disable-gpu-sandbox --open-url %U";
|
|
# icon = "code";
|
|
# comment = "Code Editing. Redefined.";
|
|
# categories = [ "Utility" "TextEditor" "Development" "IDE" ];
|
|
# # keywords = [ "vscode" ];
|
|
# mimeType = [ "x-scheme-handler/vscode" ];
|
|
# noDisplay = true;
|
|
# startupNotify = true;
|
|
# type = "Application";
|
|
# };
|
|
# vscodium = {
|
|
# categories = [ "Utility" "TextEditor" "Development" "IDE" ];
|
|
# comment = "Code Editing. Redefined.";
|
|
# exec = "codium --disable-gpu-sandbox %F";
|
|
# genericName = "Text Editor";
|
|
# icon = "code";
|
|
# # keywords = [ "vscode" ];
|
|
# mimeType = [ "text/plain" "inode/directory" ];
|
|
# name = "VsCodium";
|
|
# startupNotify = true;
|
|
# # startupWMClass = "vscodium";
|
|
# type = "Application";
|
|
# };
|
|
# };
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
nix-direnv = {
|
|
enable = true;
|
|
};
|
|
};
|
|
|
|
gtk = {
|
|
enable = true;
|
|
# theme = {
|
|
# package = (pkgs.callPackage ./homepkgs/simplewaita-gtk.nix {});
|
|
# name = "simplewaita";
|
|
# };
|
|
};
|
|
|
|
programs.firefox =
|
|
{
|
|
package = pkgs.firefox.override {
|
|
cfg = {
|
|
enablePlasmaBrowserIntegration = true;
|
|
};
|
|
};
|
|
enable = true;
|
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
vimium-c
|
|
darkreader
|
|
localcdn
|
|
ublock-origin
|
|
bypass-paywalls-clean
|
|
sidebery
|
|
plasma-integration
|
|
keepassxc-browser
|
|
user-agent-string-switcher
|
|
# happy-bonobo-disable-webrtc
|
|
];
|
|
profiles.default = {
|
|
id = 0;
|
|
name = "Default";
|
|
settings = {
|
|
"browser.startup.homepage" = "about:blank";
|
|
};
|
|
};
|
|
};
|
|
|
|
services.syncthing = {
|
|
enable = true;
|
|
};
|
|
|
|
services.kdeconnect = {
|
|
enable = true;
|
|
indicator = true;
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
package = kitty_notest;
|
|
font = {
|
|
name = "Ellograph CF";
|
|
size = 10;
|
|
};
|
|
settings = {
|
|
foreground = "#d3dae3";
|
|
background = "#060604";
|
|
cursor = "#d3dae3";
|
|
selection_foreground = "#fdbc4b";
|
|
selection_background = "#1e2233";
|
|
color0 = "#2f343f";
|
|
color1 = "#ed244e";
|
|
color2 = "#27ae60";
|
|
color3 = "#f67400";
|
|
color4 = "#2980b9";
|
|
color5 = "#c50ed2";
|
|
color6 = "#3daee9";
|
|
color7 = "#a1a9b1";
|
|
color8 = "#1e2233";
|
|
color9 = "#da4453";
|
|
color10 = "#71f79f";
|
|
color11 = "#fdbc4b";
|
|
color12 = "#1d99f3";
|
|
color13 = "#9b59b6";
|
|
color14 = "#5294e2";
|
|
color15 = "#656a73";
|
|
};
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "atagen";
|
|
userEmail = "atagen@boss.co";
|
|
extraConfig = {
|
|
credential.helper = "keepassxc";
|
|
};
|
|
};
|
|
|
|
programs.zoxide = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
# colors = {
|
|
# fg = "#d3dae3";
|
|
# "fg+" = "#d3dae3";
|
|
# bg = "#060604";
|
|
# "bg+" = "#060604";
|
|
# preview-fg = "#fdbc4b";
|
|
# preview-bg = "#1e2233";
|
|
# hl = "#da4453";
|
|
# "hl+" = "#ed244e";
|
|
# info = "#fdbc4b";
|
|
# border = "#656a73";
|
|
# prompt = "#c50ed2";
|
|
# pointer = "#27ae60";
|
|
# header = "#da4453";
|
|
# };
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableAutosuggestions = true;
|
|
enableCompletion = true;
|
|
enableSyntaxHighlighting = true;
|
|
enableVteIntegration = true;
|
|
autocd = true;
|
|
defaultKeymap = "viins";
|
|
initExtra = "
|
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
|
|
|
la_culr()
|
|
{
|
|
ls -ralhX --color $@ | culr
|
|
}
|
|
|
|
ls_culr()
|
|
{
|
|
ls -rlhX --color $@ | culr
|
|
}
|
|
|
|
ps_culr()
|
|
{
|
|
ps ww$@ | culr
|
|
}
|
|
|
|
alias ...=\"cd ../..\"
|
|
alias ....=\"cd ../../..\"
|
|
alias .....=\"cd ../../../..\"
|
|
|
|
alias fresh=\"clear; echo; ~/.nix/header.sh\"
|
|
alias icat=\"kitty +kitten icat\"
|
|
alias chmox=\"chmod +x\"
|
|
alias gs=\"git status\"
|
|
alias gcl=\"git clone\"
|
|
alias ga=\"git add\"
|
|
alias gcb=\"git checkout -b\"
|
|
alias gco=\"git checkout\"
|
|
alias gl=\"git pull\"
|
|
alias gp=\"git push\"
|
|
alias gd=\"git diff\"
|
|
alias gcam=\"git commit -am\"
|
|
alias gcm=\"git commit -m\"
|
|
alias gr=\"git restore\"
|
|
alias gm=\"git merge\"
|
|
alias l=\"ls_culr\"
|
|
alias la=\"la_culr\"
|
|
alias p=\"ps_culr\"
|
|
alias mnt=\"mount | column -t | culr\"
|
|
alias kaboom=\"printf 'type any input if you wish to update\n\npress enter to continue\n'; read upgrade; if [ -n \\\"\\\$upgrade\\\" ]; then echo upgrading..; sudo nix-channel --update; else echo no upgrade!; fi; sudo nixos-rebuild switch -j9 && rm ~/.gtkrc-2.0; home-manager switch && sudo nix-collect-garbage && nix-store --optimise\"
|
|
fresh
|
|
";
|
|
|
|
plugins = [
|
|
{
|
|
name = "powerlevel10k";
|
|
src = pkgs.zsh-powerlevel10k;
|
|
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
|
}
|
|
{
|
|
name = "zsh-vi-mode";
|
|
src = pkgs.zsh-vi-mode;
|
|
file = "share/zsh-vi-mode/zsh-vi-mode.zsh";
|
|
}
|
|
{
|
|
name = "zsh-autopair";
|
|
src = pkgs.zsh-autopair;
|
|
file = "share/zsh-autopair/zsh-autopair.zsh";
|
|
}
|
|
{
|
|
name = "zsh-completions";
|
|
src = pkgs.zsh-completions;
|
|
file = "share/zsh-completions/zsh-completions.zsh";
|
|
}
|
|
{
|
|
name = "zsh-command-time";
|
|
src = pkgs.zsh-command-time;
|
|
file = "share/zsh-completions/zsh-command-time.zsh";
|
|
}
|
|
# {
|
|
# name = "zsh-you-should-use";
|
|
# src = pkgs.zsh-you-should-use;
|
|
# # file = "share/zsh-completions/zsh-you-should-use.zsh";
|
|
# }
|
|
{
|
|
name = "zsh-autocomplete";
|
|
src = pkgs.zsh-autocomplete;
|
|
file = "share/zsh-autocomplete/zsh-autocomplete.zsh";
|
|
}
|
|
{
|
|
name = "zsh-fast-syntax-highlighting";
|
|
src = pkgs.zsh-fast-syntax-highlighting;
|
|
file = "share/zsh-fast-syntax-highlighting/zsh-fast-syntax-highlighting.zsh";
|
|
}
|
|
{
|
|
name = "zsh-nix-shell";
|
|
src = pkgs.zsh-nix-shell;
|
|
file = "share/zsh-nix-shell/zsh-nix-shell.zsh";
|
|
}
|
|
{
|
|
name = "any-nix-shell";
|
|
src = pkgs.any-nix-shell;
|
|
file = "share/any-nix-shell/any-nix-shell.zsh";
|
|
}
|
|
{
|
|
name = "nix-zsh-completions";
|
|
src = pkgs.nix-zsh-completions;
|
|
file = "share/nix-zsh-completions/nix-zsh-completions.zsh";
|
|
}
|
|
# {
|
|
# name = "zsh-fzf-tab";
|
|
# src = pkgs.zsh-fzf-tab;
|
|
# # file = "share/zsh-fzf-tab/zsh-fzf-tab.zsh";
|
|
# }
|
|
];
|
|
};
|
|
|
|
xresources.extraConfig = "
|
|
! special
|
|
*.foreground: #d3dae3
|
|
*.background: #181b28
|
|
*.cursorColor: #d3dae3
|
|
|
|
! black
|
|
*.color0: #2f343f
|
|
*.color8: #1e2233
|
|
|
|
! red
|
|
*.color1: #ed244e
|
|
*.color9: #da4453
|
|
|
|
! green
|
|
*.color2: #27ae60
|
|
*.color10: #71f79f
|
|
|
|
! yellow
|
|
*.color3: #f67400
|
|
*.color11: #fdbc4b
|
|
|
|
! blue
|
|
*.color4: #2980b9
|
|
*.color12: #1d99f3
|
|
|
|
! magenta
|
|
*.color5: #c50ed2
|
|
*.color13: #9b59b6
|
|
|
|
! cyan
|
|
*.color6: #3daee9
|
|
*.color14: #5294e2
|
|
|
|
! white
|
|
*.color7: #a1a9b1
|
|
*.color15: #656a73";
|
|
|
|
programs.helix.enable = true;
|
|
programs.helix.settings = {
|
|
theme = "bogster";
|
|
};
|
|
|
|
# home.sessionVariables = {
|
|
# GTK_THEME = "simplewaita";
|
|
# };
|
|
|
|
home.stateVersion = "22.11";
|
|
|
|
programs.home-manager.enable = true;
|
|
}
|
|
|