nixos-config

NixOS configs for my systems
Log | Files | Refs

commit f3d19252313c6720c185b33392b1e9278541b1da
parent d58963570544b0921a3e6aa09203e99b36d952bf
Author: vin <vin@vineetk.net>
Date:   Wed,  8 Jan 2025 19:40:53 +0000

update home.nix

Diffstat:
Mhome.nix | 190+++++++++++++++++++++++++++++++++++++++----------------------------------------
1 file changed, 93 insertions(+), 97 deletions(-)

diff --git a/home.nix b/home.nix @@ -27,6 +27,7 @@ transmission_4 tree xdotool + xwallpaper ]; preferXdgDirectories = true; @@ -39,7 +40,7 @@ sessionVariables = { EDITOR = "emacs"; VISUAL = "emacs -nw" - PAGER = "less"; + PAGER = "less"; LESS = "-iR"; LESSHISTFILE = "/dev/null"; BROWSER = "qutebrowser"; @@ -76,11 +77,16 @@ rsync = "rsync --no-inc-recursive"; mpv = "mpv --save-position-on-quit"; wget = "wget --no-hsts"; + + # the `-c $SHELL` is there because it defaults to bash even if + # that's not my user shell + nd = "nix develop -c $SHELL"; + nr = "nix run"; + ns = "nix search"; + nsh = "nix shell"; }; }; - programs.home-manager.enable = true; - fonts.fontconfig = { enable = true; defaultFonts = { @@ -97,10 +103,12 @@ iconTheme.name = "rose-pine"; iconTheme.package = pkgs.rose-pine-icon-theme; theme.name = "Everblush"; - #theme.package = inputs.everblush-gtk.packages.x86_64-linux.default; + theme.package = inputs.everblush-gtk.packages.x86_64-linux.default; }; programs = { + home-manager.enable = true; + aerc = { enable = true; extraAccounts = { @@ -314,11 +322,10 @@ services = { # batsignal - # borgmatic - # dunst? + # borgmatic + # dunst? # glance? # gpg-agent with ssh? - # mbsync? # mpd and ncmpcpp? # nextcloud-client? # pass-secret-service? @@ -327,7 +334,6 @@ # remmina? # screen-locker # sxhkd if using bspwm and not i3 - # syncthing? # unison # vdirsyncer @@ -342,7 +348,7 @@ redshift = { enable = true; dawnTime = "07:00"; - duskTime = "21:00"; + duskTime = "22:00"; temperature.day = 6500; temperature.night = 4500; }; @@ -350,23 +356,13 @@ xdg = { enable = true; - desktopEntries = { - xlinks = { - name = "Graphical Links 2"; - genericName = "Web Browser"; - exec = "links -g %U"; - terminal = false; - categories = [ "Application" "Network" "WebBrowser" ]; - mimeType = [ "application/xhtml+xml" "text/html" "text/xml" ]; - }; - }; mimeApps = { enable = true; defaultApplications = { "application/pdf" = [ "mupdf.desktop" ]; - "application/xhtml+xml" = [ "links.desktop" "librewolf.desktop" ]; - "text/html" = [ "links.desktop" "librewolf.desktop" ]; - "text/xml" = [ "links.desktop" "librewolf.desktop" ]; + "application/xhtml+xml" = [ "qutebrowser.desktop" "librewolf.desktop" ]; + "text/html" = [ "qutebrowser.desktop" "librewolf.desktop" ]; + "text/xml" = [ "qutebrowser.desktop" "librewolf.desktop" ]; }; }; userDirs = { @@ -441,86 +437,86 @@ size = 11.0; }; keybindings = - let - left = "n"; - down = "e"; - up = "o"; - right = "i"; - modifier = config.xsession.windowManager.i3.config.modifier; - menu = config.xsession.windowManager.i3.config.menu; - terminal = config.xsession.windowManager.i3.config.terminal; - warpmouse = "exec eval $(xdotool getwindowfocus getwindowgeometry --shell) && xdotool mousemove --window $(xdotool getwindowfocus) $((WIDTH/2)) $((HEIGHT/2))"; - in lib.mkOptionDefault { - "${modifier}+Return" = "exec ${terminal}"; - "${modifier}+p" = "exec ${menu}"; - "${modifier}+b" = "exec bm t"; - "${modifier}+Shift+b" = "exec angoumenu"; - - "${modifier}+Shift+q" = "kill"; - "${modifier}+Shift+c" = "reload"; - "Mod1+Mod4+Ctrl+Shift+e" = "exit"; - - "${modifier}+${left}" = "focus left; ${warpmouse}"; - "${modifier}+${down}" = "focus down; ${warpmouse}"; - "${modifier}+${up}" = "focus up; ${warpmouse}"; - "${modifier}+${right}" = "focus right; ${warpmouse}"; - "${modifier}+Shift+${left}" = "move left"; - "${modifier}+Shift+${down}" = "move down"; - "${modifier}+Shift+${up}" = "move up"; - "${modifier}+Shift+${right}" = "move right"; - - # TODO do this programatically - "${modifier}+1" = "workspace number 1"; - "${modifier}+2" = "workspace number 2"; - "${modifier}+3" = "workspace number 3"; - "${modifier}+4" = "workspace number 4"; - "${modifier}+5" = "workspace number 5"; - "${modifier}+6" = "workspace number 6"; - "${modifier}+7" = "workspace number 7"; - "${modifier}+8" = "workspace number 8"; - "${modifier}+9" = "workspace number 9"; - "${modifier}+0" = "workspace number 0"; - "${modifier}+Shift+1" = "move container to workspace number 1"; - "${modifier}+Shift+2" = "move container to workspace number 2"; - "${modifier}+Shift+3" = "move container to workspace number 3"; - "${modifier}+Shift+4" = "move container to workspace number 4"; - "${modifier}+Shift+5" = "move container to workspace number 5"; - "${modifier}+Shift+6" = "move container to workspace number 6"; - "${modifier}+Shift+7" = "move container to workspace number 7"; - "${modifier}+Shift+8" = "move container to workspace number 8"; - "${modifier}+Shift+9" = "move container to workspace number 9"; - "${modifier}+Shift+0" = "move container to workspace number 0"; - - "${modifier}+Ctrl+Shift+b" = "splith"; - "${modifier}+Ctrl+Shift+v" = "splitv"; - "${modifier}+s" = "layout stacking"; - "${modifier}+t" = "layout tabbed"; - "${modifier}+Shift+t" = "layout toggle split"; - "${modifier}+Shift+f" = "fullscreen"; - "${modifier}+Shift+space" = "floating toggle"; - "${modifier}+space" = "focus mode_toggle"; - "${modifier}+a" = "focus parent"; - - "${modifier}+r" = "mode resize"; - }; + let + left = "n"; + down = "e"; + up = "o"; + right = "i"; + modifier = config.xsession.windowManager.i3.config.modifier; + menu = config.xsession.windowManager.i3.config.menu; + terminal = config.xsession.windowManager.i3.config.terminal; + warpmouse = "exec eval $(xdotool getwindowfocus getwindowgeometry --shell) && xdotool mousemove --window $(xdotool getwindowfocus) $((WIDTH/2)) $((HEIGHT/2))"; + in lib.mkOptionDefault { + "${modifier}+Return" = "exec ${terminal}"; + "${modifier}+p" = "exec ${menu}"; + "${modifier}+b" = "exec bm t"; + "${modifier}+Shift+b" = "exec angoumenu"; + + "${modifier}+Shift+q" = "kill"; + "${modifier}+Shift+c" = "reload"; + "Mod1+Mod4+Ctrl+Shift+e" = "exit"; + + "${modifier}+${left}" = "focus left; ${warpmouse}"; + "${modifier}+${down}" = "focus down; ${warpmouse}"; + "${modifier}+${up}" = "focus up; ${warpmouse}"; + "${modifier}+${right}" = "focus right; ${warpmouse}"; + "${modifier}+Shift+${left}" = "move left"; + "${modifier}+Shift+${down}" = "move down"; + "${modifier}+Shift+${up}" = "move up"; + "${modifier}+Shift+${right}" = "move right"; + + # TODO do this programatically + "${modifier}+1" = "workspace number 1"; + "${modifier}+2" = "workspace number 2"; + "${modifier}+3" = "workspace number 3"; + "${modifier}+4" = "workspace number 4"; + "${modifier}+5" = "workspace number 5"; + "${modifier}+6" = "workspace number 6"; + "${modifier}+7" = "workspace number 7"; + "${modifier}+8" = "workspace number 8"; + "${modifier}+9" = "workspace number 9"; + "${modifier}+0" = "workspace number 0"; + "${modifier}+Shift+1" = "move container to workspace number 1"; + "${modifier}+Shift+2" = "move container to workspace number 2"; + "${modifier}+Shift+3" = "move container to workspace number 3"; + "${modifier}+Shift+4" = "move container to workspace number 4"; + "${modifier}+Shift+5" = "move container to workspace number 5"; + "${modifier}+Shift+6" = "move container to workspace number 6"; + "${modifier}+Shift+7" = "move container to workspace number 7"; + "${modifier}+Shift+8" = "move container to workspace number 8"; + "${modifier}+Shift+9" = "move container to workspace number 9"; + "${modifier}+Shift+0" = "move container to workspace number 0"; + + "${modifier}+Ctrl+Shift+b" = "splith"; + "${modifier}+Ctrl+Shift+v" = "splitv"; + "${modifier}+s" = "layout stacking"; + "${modifier}+t" = "layout tabbed"; + "${modifier}+Shift+t" = "layout toggle split"; + "${modifier}+Shift+f" = "fullscreen"; + "${modifier}+Shift+space" = "floating toggle"; + "${modifier}+space" = "focus mode_toggle"; + "${modifier}+a" = "focus parent"; + + "${modifier}+r" = "mode resize"; + }; menu = "dmenu_run"; modes.resize = - let - left = "n"; - down = "e"; - up = "o"; - right = "i"; - in lib.mkOptionDefault { - ${left} = "resize shrink width 10px"; - ${down} = "resize grow height 10px"; - ${up} = "resize shrink width 10px"; - ${right} = "resize grow width 10px"; - Escape = "mode default"; - }; + let + left = "n"; + down = "e"; + up = "o"; + right = "i"; + in lib.mkOptionDefault { + ${left} = "resize shrink width 10px"; + ${down} = "resize grow height 10px"; + ${up} = "resize shrink width 10px"; + ${right} = "resize grow width 10px"; + Escape = "mode default"; + }; modifier = "Mod4"; startup = [ { command = "picom"; always = true; notification = false; } - { command = "hsetroot -cover pics/wp/zvezdy-kosmos-korabl-art-fantastika-battleship-dmitrii-ustin_ultrawide.jpg >/dev/null"; notification = false; } + { command = "xwallpaper --center pics/wp/wallhaven-0w92lp.jpg"; notification = false; } ]; terminal = "alacritty"; window = {