From cf40ef67949127987f78afa81d3d306c5da7430a Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Thu, 22 Jan 2026 14:02:13 -0700 Subject: [PATCH] Better organization :') --- configuration.nix | 2 +- modules/home-manager.nix | 94 ++++---------------------- modules/home/firefox.nix | 17 +++++ modules/home/git.nix | 17 +++++ modules/home/gnome.nix | 15 ++++ modules/home/packages.nix | 50 ++++++++++++++ modules/home/session.nix | 8 +++ modules/{packages.nix => programs.nix} | 0 settings.nix | 2 +- 9 files changed, 124 insertions(+), 81 deletions(-) create mode 100644 modules/home/firefox.nix create mode 100644 modules/home/git.nix create mode 100644 modules/home/gnome.nix create mode 100644 modules/home/packages.nix create mode 100644 modules/home/session.nix rename modules/{packages.nix => programs.nix} (100%) diff --git a/configuration.nix b/configuration.nix index f361b82..dce9557 100644 --- a/configuration.nix +++ b/configuration.nix @@ -11,7 +11,7 @@ ./modules/desktop.nix ./modules/audio.nix ./modules/users.nix - ./modules/packages.nix + ./modules/programs.nix ./modules/hardware.nix ./modules/services.nix ./modules/aliases.nix diff --git a/modules/home-manager.nix b/modules/home-manager.nix index aebf8a0..a0930d3 100644 --- a/modules/home-manager.nix +++ b/modules/home-manager.nix @@ -3,6 +3,16 @@ let home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz"; settings = import ../settings.nix; + nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") { + inherit pkgs; + }; + homeModules = [ + ./home/session.nix + ./home/packages.nix + ./home/firefox.nix + ./home/git.nix + ./home/gnome.nix + ]; in { imports = [ @@ -11,86 +21,12 @@ in home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { + inherit settings nur; + }; - home-manager.users.${settings.username} = { pkgs, ... }: { + home-manager.users.${settings.username} = { ... }: { + imports = homeModules; home.stateVersion = "25.11"; - - home.sessionVariables = { - BROWSER = "librewolf"; - SSH_AUTH_SOCK = "/home/${settings.username}/.bitwarden-ssh-agent.sock"; - }; - - home.packages = with pkgs; [ - # Browsers and comms - discord - signal-desktop - librewolf - - # Development tools - go - cargo - gnumake - rustc - rust-analyzer - rustfmt - nodejs_24 - openssh - nodePackages."pnpm" - openssl - killall - ffmpeg - zed-editor - vscodium - usbutils - qmk - ghostty - neofetch - deepfilternet - pavucontrol - texliveFull - - # Desktop applications - bitwarden-desktop - vlc - streamrip - cider-2 - zotero - prismlauncher - lrcget - impression - streamcontroller - onlyoffice-desktopeditors - - # Gnome Extensions - gnomeExtensions.blur-my-shell - gnomeExtensions.just-perfection - gnomeExtensions.arc-menu - gnomeExtensions.appindicator - ]; - - programs.git = { - enable = true; - settings = { - gpg.format = "ssh"; - commit.gpgsign = true; - user = { - name = settings.gitName; - email = settings.gitEmail; - signingkey = settings.gitKey; - }; - }; - }; - - dconf.settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - accent-color = "pink"; - }; - - "org/gnome/desktop/background" = { - picture-uri = "file:///home/${settings.username}/Assets/wallpapers/unicat.png"; - picture-uri-dark = "file:///home/${settings.username}/Assets/wallpapers/unicat.png"; - }; - }; }; } diff --git a/modules/home/firefox.nix b/modules/home/firefox.nix new file mode 100644 index 0000000..f13ab47 --- /dev/null +++ b/modules/home/firefox.nix @@ -0,0 +1,17 @@ +{ pkgs, nur, ... }: + +{ + programs.firefox = { + enable = true; + package = pkgs.librewolf; + + profiles.default = { + id = 0; + extensions = with nur.repos.rycee.firefox-addons; [ + bitwarden + floccus + ublock-origin + ]; + }; + }; +} diff --git a/modules/home/git.nix b/modules/home/git.nix new file mode 100644 index 0000000..e859afd --- /dev/null +++ b/modules/home/git.nix @@ -0,0 +1,17 @@ +{ settings, ... }: + +{ + programs.git = { + enable = true; + + settings = { + gpg.format = "ssh"; + commit.gpgsign = true; + user = { + name = settings.gitName; + email = settings.gitEmail; + signingkey = settings.gitPubKey; + }; + }; + }; +} diff --git a/modules/home/gnome.nix b/modules/home/gnome.nix new file mode 100644 index 0000000..5581cbf --- /dev/null +++ b/modules/home/gnome.nix @@ -0,0 +1,15 @@ +{ config, ... }: + +{ + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + accent-color = "pink"; + }; + + "org/gnome/desktop/background" = { + picture-uri = "file://${config.home.homeDirectory}/Assets/wallpapers/unicat.png"; + picture-uri-dark = "file://${config.home.homeDirectory}/Assets/wallpapers/unicat.png"; + }; + }; +} diff --git a/modules/home/packages.nix b/modules/home/packages.nix new file mode 100644 index 0000000..5eed96f --- /dev/null +++ b/modules/home/packages.nix @@ -0,0 +1,50 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + # Browsers and comms + discord + signal-desktop + + # Development tools + go + cargo + gnumake + rustc + rust-analyzer + rustfmt + nodejs_24 + openssh + nodePackages."pnpm" + openssl + killall + ffmpeg + zed-editor + vscodium + usbutils + qmk + ghostty + neofetch + deepfilternet + pavucontrol + texliveFull + + # Desktop applications + bitwarden-desktop + vlc + streamrip + cider-2 + zotero + prismlauncher + lrcget + impression + streamcontroller + onlyoffice-desktopeditors + + # GNOME Extensions + gnomeExtensions.blur-my-shell + gnomeExtensions.just-perfection + gnomeExtensions.arc-menu + gnomeExtensions.appindicator + ]; +} diff --git a/modules/home/session.nix b/modules/home/session.nix new file mode 100644 index 0000000..54f26ca --- /dev/null +++ b/modules/home/session.nix @@ -0,0 +1,8 @@ +{ config, ... }: + +{ + home.sessionVariables = { + BROWSER = "librewolf"; + SSH_AUTH_SOCK = "${config.home.homeDirectory}/.bitwarden-ssh-agent.sock"; + }; +} diff --git a/modules/packages.nix b/modules/programs.nix similarity index 100% rename from modules/packages.nix rename to modules/programs.nix diff --git a/settings.nix b/settings.nix index 8930287..696d74c 100644 --- a/settings.nix +++ b/settings.nix @@ -7,5 +7,5 @@ userGroups = [ "networkmanager" "wheel" "docker" "plugdev" ]; gitName = "Atridad Lahiji"; gitEmail = "me@atri.dad"; - gitKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILKb+pDgkHEKI7LDWvZbhoLJ11uJMaCmVyAqotDxNOI7 me@atri.dad"; + gitPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILKb+pDgkHEKI7LDWvZbhoLJ11uJMaCmVyAqotDxNOI7 me@atri.dad"; }