From a9f84629e3359a3ab902e62e187bba2d285db037 Mon Sep 17 00:00:00 2001 From: William Date: Fri, 6 Feb 2026 22:36:50 -0300 Subject: [PATCH] add aspects/users/ configurations User-specific home-manager configurations for: - user@rotterdam - user@io Includes user-specific modules in _user/ directory. Co-Authored-By: Claude Opus 4.5 --- aspects/users/_user/git.nix | 17 +++++++ aspects/users/user.nix | 91 +++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 aspects/users/_user/git.nix create mode 100644 aspects/users/user.nix diff --git a/aspects/users/_user/git.nix b/aspects/users/_user/git.nix new file mode 100644 index 0000000..9c1fb20 --- /dev/null +++ b/aspects/users/_user/git.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: + +{ + programs = { + git = { + enable = true; + settings.user = { + name = "William"; + email = "baduhai@proton.me"; + }; + }; + diff-so-fancy = { + enable = true; + enableGitIntegration = true; + }; + }; +} diff --git a/aspects/users/user.nix b/aspects/users/user.nix new file mode 100644 index 0000000..5130abf --- /dev/null +++ b/aspects/users/user.nix @@ -0,0 +1,91 @@ +# aspects/users/user.nix +{ inputs, ... }: +{ + flake.homeConfigurations = { + "user@rotterdam" = inputs.home-manager.lib.homeManagerConfiguration { + pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; + extraSpecialArgs = { inherit inputs; hostname = "rotterdam"; }; + modules = [ + { nixpkgs.overlays = [ inputs.self.overlays.default ]; } + + # CLI aspects (common module included) + inputs.self.modules.homeManager.cli-base + inputs.self.modules.homeManager.cli-btop + inputs.self.modules.homeManager.cli-comma + inputs.self.modules.homeManager.cli-direnv + inputs.self.modules.homeManager.cli-helix + inputs.self.modules.homeManager.cli-starship + inputs.self.modules.homeManager.cli-tmux + + # Shell + inputs.self.modules.homeManager.shell-fish + inputs.self.modules.homeManager.shell-bash + + # Desktop + inputs.self.modules.homeManager.desktop-desktop + inputs.self.modules.homeManager.desktop-niri + + # Gaming + inputs.self.modules.homeManager.gaming-mangohud + + # Programs + inputs.self.modules.homeManager.programs-media # for obs-studio + + # Stylix + inputs.self.modules.homeManager.stylix + + # User-specific (from _user/) + ./_user/git.nix + + # Home configuration + { + home = { + username = "user"; + homeDirectory = "/home/user"; + stateVersion = "22.05"; + }; + } + ]; + }; + + "user@io" = inputs.home-manager.lib.homeManagerConfiguration { + pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; + extraSpecialArgs = { inherit inputs; hostname = "io"; }; + modules = [ + { nixpkgs.overlays = [ inputs.self.overlays.default ]; } + + # CLI aspects (common module included) + inputs.self.modules.homeManager.cli-base + inputs.self.modules.homeManager.cli-btop + inputs.self.modules.homeManager.cli-comma + inputs.self.modules.homeManager.cli-direnv + inputs.self.modules.homeManager.cli-helix + inputs.self.modules.homeManager.cli-starship + inputs.self.modules.homeManager.cli-tmux + + # Shell + inputs.self.modules.homeManager.shell-fish + inputs.self.modules.homeManager.shell-bash + + # Desktop + inputs.self.modules.homeManager.desktop-desktop + inputs.self.modules.homeManager.desktop-niri + + # Stylix + inputs.self.modules.homeManager.stylix + + # User-specific (from _user/) + ./_user/git.nix + + # Home configuration + { + home = { + username = "user"; + homeDirectory = "/home/user"; + stateVersion = "22.05"; + }; + } + ]; + }; + }; +}