feat(users): init home-manager

This commit is contained in:
Sk7Str1p3 2026-05-03 15:43:27 +03:00
parent 9b1f78dec7
commit c166dfdb10
No known key found for this signature in database
GPG key ID: 4DD995933D06D43B
6 changed files with 72 additions and 6 deletions

45
flake.lock generated
View file

@ -33,13 +33,31 @@
"type": "github" "type": "github"
} }
}, },
"home-manager": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1777780644,
"narHash": "sha256-CYpc+mk28rmcQWGygeM8CA+Z8SZYy8BOyQtiW18spao=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b9311028044a9e9b2cf27db15ef0a87d464e212d",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1773389992, "lastModified": 1777268161,
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=", "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda", "rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -65,6 +83,22 @@
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": {
"lastModified": 1773389992,
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1775888245, "lastModified": 1775888245,
"narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=",
@ -84,13 +118,14 @@
"inputs": { "inputs": {
"flake-file": "flake-file", "flake-file": "flake-file",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs", "home-manager": "home-manager",
"nixpkgs": "nixpkgs_2",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
} }
}, },
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1777338324, "lastModified": 1777338324,

View file

@ -8,6 +8,7 @@
inputs = { inputs = {
flake-file.url = "github:vic/flake-file"; flake-file.url = "github:vic/flake-file";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
home-manager.url = "github:nix-community/home-manager";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
sops-nix.url = "github:mic92/sops-nix"; sops-nix.url = "github:mic92/sops-nix";
}; };

View file

@ -14,4 +14,4 @@
> Then accessing inputs in repl, remove {class}, so instead of calling e.g. `flake.inputs.core.nixpkgs`, > Then accessing inputs in repl, remove {class}, so instead of calling e.g. `flake.inputs.core.nixpkgs`,
> you call `flake.inputs.nixpkgs`. > you call `flake.inputs.nixpkgs`.
*/ */
import ./core.nix (import ./core.nix) // (import ./home.nix)

14
flake/inputs/home.nix Normal file
View file

@ -0,0 +1,14 @@
# Home inputs
/**
Inputs providing modules or packages for user configuration.
*/
{
/**
System for managing a user environment.
Allows declarative configuration of user specific (non-global) packages and dotfiles.
*/
home-manager = {
url = "github:nix-community/home-manager";
};
}

View file

@ -0,0 +1 @@
{}

View file

@ -54,4 +54,19 @@
}; };
}) cfg.usersList }) cfg.usersList
); );
# Configurure home-manager
home-manager = {
backupFileExtension = "backup-${builtins.currentTime}";
users = lib.mkMerge (
map (user: {
${user} = {
imports = [
./${user}/modules
];
}
}) cfg.usersList
)
};
} }