From 702d0f195becdeb74fe29d2682c936280eae7a14 Mon Sep 17 00:00:00 2001 From: William Date: Tue, 1 Oct 2024 10:37:57 -0300 Subject: [PATCH] home-manager for server hosts --- flake.lock | 22 ++++++++++ flake.nix | 58 ++++++++++++++------------ hosts/desktops/common/home-manager.nix | 4 -- hosts/servers/common/default.nix | 1 + hosts/servers/common/home-manager.nix | 13 ++++++ 5 files changed, 68 insertions(+), 30 deletions(-) create mode 100644 hosts/servers/common/home-manager.nix diff --git a/flake.lock b/flake.lock index 0504370..c9f2916 100644 --- a/flake.lock +++ b/flake.lock @@ -322,6 +322,27 @@ "type": "github" } }, + "home-manager-stable": { + "inputs": { + "nixpkgs": [ + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1726989464, + "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.05", + "repo": "home-manager", + "type": "github" + } + }, "home-manager_2": { "inputs": { "nixpkgs": [ @@ -542,6 +563,7 @@ "agenix": "agenix", "deploy-rs": "deploy-rs", "home-manager": "home-manager_2", + "home-manager-stable": "home-manager-stable", "homepage": "homepage", "impermanence": "impermanence", "nix-flatpak": "nix-flatpak", diff --git a/flake.nix b/flake.nix index c93d83b..133bfee 100644 --- a/flake.nix +++ b/flake.nix @@ -9,16 +9,37 @@ url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; + home-manager-stable = { + url = "github:nix-community/home-manager/release-24.05"; + inputs.nixpkgs.follows = "nixpkgs-stable"; + }; - impermanence.url = "github:nix-community/impermanence"; + agenix = { + url = "github:ryantm/agenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; }; - agenix = { - url = "github:ryantm/agenix"; + homepage = { + url = "github:AlexW00/StartTreeV2"; + flake = false; + }; + + impermanence.url = "github:nix-community/impermanence"; + + nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; + + nix-index-db = { + url = "github:nix-community/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nix-minecraft = { + url = "github:Infinidoge/nix-minecraft"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -27,23 +48,6 @@ inputs.nixpkgs.follows = "nixpkgs-stable"; }; - homepage = { - url = "github:AlexW00/StartTreeV2"; - flake = false; - }; - - nix-minecraft = { - url = "github:Infinidoge/nix-minecraft"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - nix-index-db = { - url = "github:nix-community/nix-index-database"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; - stylix.url = "github:danth/stylix"; }; @@ -51,16 +55,17 @@ inputs@{ self, nixpkgs, - home-manager, nixpkgs-stable, - deploy-rs, + home-manager, + home-manager-stable, agenix, - nixos-generators, + deploy-rs, homepage, - nix-minecraft, impermanence, nix-flatpak, nix-index-db, + nix-minecraft, + nixos-generators, stylix, ... }: @@ -118,17 +123,18 @@ modules = [ ./hosts/servers/alexandria.nix agenix.nixosModules.default + home-manager-stable.nixosModules.default self.nixosModules.qbittorrent ( { config, pkgs, ... }: let - unstable-overlay = final: prev: { + unstable = final: prev: { unstable = nixpkgs.legacyPackages.x86_64-linux; }; in { nixpkgs.overlays = [ - unstable-overlay + unstable agenix.overlays.default nix-minecraft.overlay ]; diff --git a/hosts/desktops/common/home-manager.nix b/hosts/desktops/common/home-manager.nix index b65ee00..82b83aa 100644 --- a/hosts/desktops/common/home-manager.nix +++ b/hosts/desktops/common/home-manager.nix @@ -1,8 +1,4 @@ { - inputs, - config, - pkgs, - lib, ... }: diff --git a/hosts/servers/common/default.nix b/hosts/servers/common/default.nix index 77de083..db2cb46 100644 --- a/hosts/servers/common/default.nix +++ b/hosts/servers/common/default.nix @@ -3,6 +3,7 @@ { imports = [ ./boot.nix + ./home-manager.nix ./nix.nix ./services.nix ]; diff --git a/hosts/servers/common/home-manager.nix b/hosts/servers/common/home-manager.nix new file mode 100644 index 0000000..d14290d --- /dev/null +++ b/hosts/servers/common/home-manager.nix @@ -0,0 +1,13 @@ +{ + ... +}: + +{ + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + backupFileExtension = "bkp"; + users.user = import ../../../users/servers/user.nix; + }; +} +