From: Andrew Date: Sun, 26 Oct 2025 21:14:12 +0000 (-0400) Subject: stuff X-Git-Url: http://git.skullheadx.com/index.css?a=commitdiff_plain;h=4ff9589e42859920c678732b993f19b6dea91b82;p=nixos.git stuff --- diff --git a/configuration.nix b/configuration.nix index b8e28a5..d619f04 100644 --- a/configuration.nix +++ b/configuration.nix @@ -45,7 +45,9 @@ layout = "us"; variant = ""; }; - + services.gnome.gnome-keyring.enable = true; + environment.variables.XDG_RUNTIME_DIR = "/run/user/$UID"; + security.polkit.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.andrew = { isNormalUser = true; @@ -79,6 +81,7 @@ kitty libnotify bibata-cursors + libsecret ]; programs.steam = { enable = true; @@ -103,6 +106,7 @@ user = "greeter"; }; }; + security.pam.services.greetd.enableGnomeKeyring = true; programs.regreet.enable = true; fonts.packages = with pkgs; [ nerd-fonts.jetbrains-mono diff --git a/flake.lock b/flake.lock index b3aa9e1..0e34c66 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", "type": "github" }, "original": { @@ -21,16 +21,17 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "lastModified": 1754405784, + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", "owner": "tomyun", "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" } }, @@ -85,11 +86,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", + "lastModified": 1758112371, + "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", + "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", "type": "github" }, "original": { @@ -159,11 +160,11 @@ ] }, "locked": { - "lastModified": 1754487366, - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "type": "github" }, "original": { @@ -219,11 +220,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -299,11 +300,11 @@ ] }, "locked": { - "lastModified": 1756496801, - "narHash": "sha256-IYIsnPy+cJxe8RbDHBrCtfJY0ry2bG2H7WvMcewiGS8=", + "lastModified": 1761511433, + "narHash": "sha256-pNA2GEdH3J+2mSHKRdPpXztQXAGnk+x1yHkqlaF7y6A=", "owner": "nix-community", "repo": "home-manager", - "rev": "77a71380c38fb2a440b4b5881bbc839f6230e1cb", + "rev": "f2f1076c1f789595c2a2b18b76466fbd691025dd", "type": "github" }, "original": { @@ -335,11 +336,11 @@ }, "mnw": { "locked": { - "lastModified": 1748710831, - "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", + "lastModified": 1758834834, + "narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=", "owner": "Gerg-L", "repo": "mnw", - "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", + "rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001", "type": "github" }, "original": { @@ -376,11 +377,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1761373498, + "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", "type": "github" }, "original": { @@ -404,11 +405,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1761373498, + "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", "type": "github" }, "original": { @@ -420,11 +421,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1755049066, - "narHash": "sha256-ANrc15FSoOAdNbfKHxqEJjZLftIwIsenJGRb/04K41s=", + "lastModified": 1759386674, + "narHash": "sha256-wg1Lz/1FC5Q13R+mM5a2oTV9TA9L/CHHTm3/PiLayfA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e45f8f193029378d0aaee5431ba098dc80054e9a", + "rev": "625ad6366178f03acd79f9e3822606dd7985b657", "type": "github" }, "original": { @@ -456,11 +457,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1756685388, - "narHash": "sha256-aEt7Ke31q7VCuIAQodZ3P+onifaZ3QHCSP9qXLF3bLA=", + "lastModified": 1761511178, + "narHash": "sha256-ovwKkvzZcbx/lcX9N1c5b29RHTRr4B5bQGBlCHwgMBc=", "owner": "nix-community", "repo": "NUR", - "rev": "fe7174935739aa55472ab68b9073d46342828790", + "rev": "2138a40d14e8ee0e9918fa7060d05c08efc4d23c", "type": "github" }, "original": { @@ -481,11 +482,11 @@ ] }, "locked": { - "lastModified": 1751906969, - "narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", + "lastModified": 1758998580, + "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", "owner": "nix-community", "repo": "NUR", - "rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", + "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", "type": "github" }, "original": { @@ -503,11 +504,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1755463179, - "narHash": "sha256-5Ggb1Mhf7ZlRgGi2puCa2PvWs6KbMnWBlW6KW7Vf79Y=", + "lastModified": 1761486540, + "narHash": "sha256-O0VNqERaZ1H+4P3XwHNd8wVCqUcGtMPJT1z4cJodRFc=", "owner": "notashelf", "repo": "nvf", - "rev": "03833118267ad32226b014b360692bdce9d6e082", + "rev": "4b904de36157035fa3dddf0312a4242e5d0d9bd0", "type": "github" }, "original": { @@ -594,11 +595,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1755997543, - "narHash": "sha256-/fejmCQ7AWa655YxyPxRDbhdU7c5+wYsFSjmEMXoBCM=", + "lastModified": 1761028816, + "narHash": "sha256-s1XiIeJHpODVWfzsPaK9e21iz1dQSCU3H4/1OxOsyps=", "owner": "nix-community", "repo": "stylix", - "rev": "f47c0edcf71e802378b1b7725fa57bb44fe85ee8", + "rev": "b81dc0a385443099e7d231fe6275189e32c3b760", "type": "github" }, "original": { @@ -688,11 +689,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1750770351, - "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", + "lastModified": 1757716333, + "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", "owner": "tinted-theming", "repo": "schemes", - "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", + "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", "type": "github" }, "original": { @@ -704,11 +705,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1751159871, - "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", + "lastModified": 1757811970, + "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", + "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", "type": "github" }, "original": { @@ -720,11 +721,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1751158968, - "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", + "lastModified": 1757811247, + "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "86a470d94204f7652b906ab0d378e4231a5b3384", + "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index e052586..ab33c12 100644 --- a/home.nix +++ b/home.nix @@ -56,6 +56,7 @@ catppuccin-gtk inter prismlauncher + btop nixfmt-rfc-style p7zip github-desktop @@ -77,10 +78,13 @@ slurp swappy + vlc + skullNeovim.neovim protonvpn-cli protonvpn-gui + qbittorrent # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the # # parentheses. Maybe you want to install Nerd Fonts with a limited number of @@ -181,13 +185,14 @@ xdg.portal = { enable = true; - extraPortals = [pkgs.xdg-desktop-portal-hyprland]; + extraPortals = [pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk]; + config.common.default = ["hyprland" "gtk"]; + xdgOpenUsePortal = true; }; - services.gnome-keyring = { enable = true; }; - + services.network-manager-applet.enable = true; services.hyprpolkitagent.enable = true; home.pointerCursor = { hyprcursor.enable = true; diff --git a/hyprland/binds.nix b/hyprland/binds.nix index c168415..c354fe1 100644 --- a/hyprland/binds.nix +++ b/hyprland/binds.nix @@ -32,12 +32,12 @@ in { "$mod, Q, killactive," "$mod, F, fullscreen," #"$mod, G, togglegroup," - "$mod SHIFT, N, changegroupactive, f" - "$mod SHIFT, P, changegroupactive, b" - "$mod, R, togglesplit," + # "$mod SHIFT, N, changegroupactive, f" + # "$mod SHIFT, P, changegroupactive, b" + #"$mod, R, togglesplit," "$mod, T, togglefloating," - "$mod, P, pseudo," - "$mod ALT, ,resizeactive," + #"$mod, P, pseudo," + #"$mod ALT, ,resizeactive," "$mod, left, movefocus, l" "$mod, right, movefocus, r" @@ -57,6 +57,15 @@ in { "$mod SHIFT, k, movewindow, u" "$mod SHIFT, j, movewindow, d" + "$mod CTRL, left, resizeactive, -10 0" + "$mod CTRL, down, resizeactive, 0 10" + "$mod CTRL, up, resizeactive, 0 -10" + "$mod CTRL, right, resizeactive, 10 0" + "$mod CTRL, h, resizeactive, -10 0" + "$mod CTRL, j, resizeactive, 0 10" + "$mod CTRL, k, resizeactive, 0 -10" + "$mod CTRL, l, resizeactive, 10 0" + "$mod, D, exec, uwsm app -- ghostty" "$mod, b, exec, librewolf" "$mod, space, exec, pkill rofi || rofi -show drun" diff --git a/hyprland/hyprland.nix b/hyprland/hyprland.nix index 9a84485..dd098e7 100644 --- a/hyprland/hyprland.nix +++ b/hyprland/hyprland.nix @@ -42,9 +42,12 @@ "f[1], gapsout:0, gapsin:0" ]; exec-once = [ + "gnome-keyring-daemon --replace --start --components=pkcs11,secrets,ssh" "xrandr --output DP-3 --primary" "uwsm app -- waybar" - "[workspace 1 silent] uwsm app -- ghostty" + "nm-applet --indicator" + "/run/current-system/sw/libexec/polkit-gnome-authentication-agent-1" + "[workspace 1 silent] uwsm app -- ghostty -e tmux attach -t dev || tmux new -s dev -c ~/dev" "[workspace 2 silent] uwsm app -- librewolf" #"[workspace 3 silent] uwsm app -- ghostty -e fish -c rmpc" "[workspace 3 silent] uwsm app -- discord" @@ -55,6 +58,7 @@ windowrule = [ "workspace 3 silent, class:(discord)" "workspace 6 silent, class:(steam)" + "workspace 4 silent, class:(org.keepassxc.KeePassXC)" "bordersize 0, floating:0, onworkspace:w[tv1]" "rounding 0, floating:0, onworkspace:w[tv1]" diff --git a/librewolf.nix b/librewolf.nix index e76d88c..386ba88 100644 --- a/librewolf.nix +++ b/librewolf.nix @@ -27,6 +27,7 @@ ublock-origin vimium-c keepassxc-browser + containerise ]; settings = { "uBlock0@raymondhill.net".settings = { @@ -43,6 +44,33 @@ }; }; }; + containers = { + Personal = { + color = "blue"; + icon = "fingerprint"; + id = 1; + }; + Shopping = { + color = "turquoise"; + icon = "cart"; + id = 2; + }; + Banking = { + color = "green"; + icon = "dollar"; + id = 3; + }; + Youtube = { + color = "red"; + icon = "fruit"; + id = 4; + }; + School = { + color = "pink"; + icon = "briefcase"; + id = 5; + }; + }; }; }; } diff --git a/tmux.nix b/tmux.nix index ce76729..774f5bf 100644 --- a/tmux.nix +++ b/tmux.nix @@ -29,25 +29,57 @@ } ]; extraConfig = '' - # Basic settings for usability - set -g mouse on - set -g base-index 1 - set -g pane-base-index 1 - set -g status-style bg=black,fg=cyan - set -g prefix C-a - unbind C-b - bind C-a send-prefix + # Basic settings for usability + set -g mouse on + set -g base-index 1 + set -g pane-base-index 1 + set -g status-style bg=black,fg=cyan + set -g history-limit 10000 + set -g prefix C-a + unbind C-b + bind C-a send-prefix - # bind-key -r d new-session -s dev - # bind-key -r m new-session -s music - # bind-key -r n new-session -s nixos + bind | split-window -h + bind - split-window -v - # Fish-friendly clipboard integration - set -g set-clipboard on - bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard" - # Session initialization script - set -g @tmux-resurrect-restore-script '${config.home.homeDirectory}/.config/tmux/setup-sessions.sh' + # Pane navigation (vim-style) + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + + # Pane resizing with Shift + vim keys + bind -r H resize-pane -L 5 + bind -r J resize-pane -D 5 + bind -r K resize-pane -U 5 + bind -r L resize-pane -R 5 + bind s choose-session + bind w choose-window + # Auto-create sessions if they don't exist + if-shell "tmux has-session -t dev 2>/dev/null" "" "new-session -ds dev -c ~/dev 'fish'" + if-shell "tmux has-session -t music 2>/dev/null" "" "new-session -ds music 'rmpc'" + if-shell "tmux has-session -t nixos 2>/dev/null" "" "new-session -ds nixos -c ~/.dotfiles/nixos 'nvim .'" + + # Quick binds for session switching + bind d switch-client -t dev + bind m switch-client -t music + bind n switch-client -t nixos + bind -n C-1 select-window -t 1 + bind -n C-2 select-window -t 2 + bind -n C-3 select-window -t 3 + bind -n C-4 select-window -t 4 + bind -n C-5 select-window -t 5 + bind -n C-6 select-window -t 6 + bind -n C-7 select-window -t 7 + bind -n C-8 select-window -t 8 + bind -n C-9 select-window -t 9 + # Fish-friendly clipboard integration + set -g set-clipboard on + bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard" + + # Session initialization script + set -g @tmux-resurrect-restore-script '${config.home.homeDirectory}/.config/tmux/setup-sessions.sh' ''; }; diff --git a/waybar.nix b/waybar.nix index 1a44cfc..a12fe2a 100644 --- a/waybar.nix +++ b/waybar.nix @@ -21,6 +21,7 @@ in { settings = [ { + gtk-layer-shell = false; output = ["DP-3"]; #height = 24; # Waybar height spacing = 4; # Gaps between modules