From daa8c99faa3fef938d1e1659dfbf0af208b64f28 Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Thu, 22 Jan 2026 13:30:22 -0700 Subject: [PATCH] HomeManager --- configuration.nix | 1 + modules/home-manager.nix | 82 ++++++++++++++++++++++++++++++++++++++++ modules/packages.nix | 78 +++++--------------------------------- 3 files changed, 92 insertions(+), 69 deletions(-) create mode 100644 modules/home-manager.nix diff --git a/configuration.nix b/configuration.nix index 9d97f5e..f361b82 100644 --- a/configuration.nix +++ b/configuration.nix @@ -16,6 +16,7 @@ ./modules/services.nix ./modules/aliases.nix ./modules/assets.nix + ./modules/home-manager.nix ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; diff --git a/modules/home-manager.nix b/modules/home-manager.nix new file mode 100644 index 0000000..3276ec2 --- /dev/null +++ b/modules/home-manager.nix @@ -0,0 +1,82 @@ +{ config, pkgs, ... }: + +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; + settings = import ../settings.nix; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + + home-manager.users.${settings.username} = { pkgs, ... }: { + home.stateVersion = "24.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; + userName = settings.gitName; + userEmail = settings.gitEmail; + extraConfig = { + user.signingkey = settings.gitKey; + gpg.format = "ssh"; + commit.gpgsign = true; + }; + }; + }; +} diff --git a/modules/packages.nix b/modules/packages.nix index 55c7cea..93b210a 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -1,64 +1,17 @@ { config, pkgs, ... }: -let - settings = import ../settings.nix; -in { # Enable unfree globally nixpkgs.config.allowUnfree = true; - environment.variables.BROWSER = "librewolf"; - environment.variables.SSH_AUTH_SOCK = "/home/${settings.username}/.bitwarden-ssh-agent.sock"; - - environment.systemPackages = - 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-udev-rules - 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 - ]; + environment.systemPackages = with pkgs; [ + killall + usbutils + pavucontrol + ffmpeg + openssl + qmk-udev-rules + ]; # Programs with extra configuration programs.steam = { @@ -66,23 +19,10 @@ in remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; localNetworkGameTransfers.openFirewall = true; + extraPackages = [ pkgs.jdk ]; }; programs.java.enable = true; - programs.steam.extraPackages = [ pkgs.jdk ]; programs.obs-studio.enable = true; - - programs.git = { - enable = true; - config = { - user = { - name = "${settings.gitName}"; - email = "${settings.gitEmail}"; - signingkey = "${settings.gitKey}"; - }; - gpg.format = "ssh"; - commit.gpgsign = true; - }; - }; }