diff --git a/flake.lock b/flake.lock index 75d8502..77beebf 100644 --- a/flake.lock +++ b/flake.lock @@ -16,6 +16,27 @@ "type": "github" } }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1790996401, + "narHash": "sha256-f+kOxEmOUnQazVAmGg0i8hzwgd1kX/geY+k/Dpheye8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "db7d5e2332710f5abb088f6b5de927d7f9511b35", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-26.05", + "repo": "home-manager", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1790920529, @@ -35,6 +56,7 @@ "root": { "inputs": { "codex-nixpkgs": "codex-nixpkgs", + "home-manager": "home-manager", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 49165a9..836eac7 100644 --- a/flake.nix +++ b/flake.nix @@ -4,12 +4,19 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; codex-nixpkgs.url = "github:NixOS/nixpkgs/master"; + home-manager = { + url = "github:nix-community/home-manager/release-26.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { nixpkgs, codex-nixpkgs, ... }: { + outputs = { nixpkgs, codex-nixpkgs, home-manager, ... }: { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - modules = [ ./nixos/hosts/nixos ]; + modules = [ + ./nixos/hosts/nixos + home-manager.nixosModules.home-manager + ]; specialArgs = { codexPkgs = codex-nixpkgs.legacyPackages.x86_64-linux; }; diff --git a/nixos/home/hhhh.nix b/nixos/home/hhhh.nix new file mode 100644 index 0000000..d854fae --- /dev/null +++ b/nixos/home/hhhh.nix @@ -0,0 +1,24 @@ +{ config, lib, ... }: + +let + repo = "${config.home.homeDirectory}/Git/Custom-environment"; + configDirs = [ + "atuin" + "gitui" + "hypr" + "kitty" + "mako" + "nvim" + "waybar" + "wofi" + ]; +in +{ + # Keep this at the version used when first enabling Home Manager. + home.stateVersion = "26.05"; + + xdg.enable = true; + xdg.configFile = lib.genAttrs configDirs (name: { + source = config.lib.file.mkOutOfStoreSymlink "${repo}/${name}"; + }); +} diff --git a/nixos/hosts/nixos/default.nix b/nixos/hosts/nixos/default.nix index d70a2f2..7f00920 100644 --- a/nixos/hosts/nixos/default.nix +++ b/nixos/hosts/nixos/default.nix @@ -5,6 +5,7 @@ ./hardware-configuration.nix ../../modules/desktop.nix ../../modules/hardware.nix + ../../modules/home.nix ../../modules/login-theme.nix ../../modules/packages ../../modules/system.nix diff --git a/nixos/modules/home.nix b/nixos/modules/home.nix new file mode 100644 index 0000000..a3b18eb --- /dev/null +++ b/nixos/modules/home.nix @@ -0,0 +1,10 @@ +{ ... }: + +{ + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + backupFileExtension = "hm-backup"; + users.hhhh = import ../home/hhhh.nix; + }; +}