mirror of
https://github.com/kp2pml30/dotfiles.git
synced 2026-02-16 23:34:42 +04:00
try to migrate to nix
This commit is contained in:
parent
f2f4ead62f
commit
94da1ce936
26 changed files with 830 additions and 181 deletions
66
flake.nix
Normal file
66
flake.nix
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixos-wsl = {
|
||||
url = "github:nix-community/NixOS-WSL/main";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs@{ self, nixpkgs, nixos-wsl, home-manager, ... }:
|
||||
let
|
||||
rootPath = self;
|
||||
additionalArgs = { inherit inputs rootPath; };
|
||||
importArg = inputs // { pkgs = nixpkgs; lib = nixpkgs.lib; } // additionalArgs;
|
||||
hostNameMod = name: { networking.hostName = "kp2pml30-${name}"; };
|
||||
makeNamedSys = nameArg: arg: {
|
||||
"${nameArg}" =
|
||||
nixpkgs.lib.nixosSystem
|
||||
((builtins.removeAttrs arg ["modules"]) // { specialArgs = additionalArgs; modules = arg.modules ++ [(hostNameMod nameArg)]; });
|
||||
};
|
||||
makeSys = { sys }: [
|
||||
(makeNamedSys "server-${sys}" {
|
||||
system = sys;
|
||||
modules = [
|
||||
./nix/common.nix
|
||||
./nix/server.nix
|
||||
];
|
||||
})
|
||||
|
||||
(makeNamedSys "personal-${sys}" {
|
||||
system = sys;
|
||||
modules = [
|
||||
./nix/common.nix
|
||||
./nix/personal.nix
|
||||
];
|
||||
})
|
||||
|
||||
(makeNamedSys "personal-${sys}-wsl" {
|
||||
system = sys;
|
||||
modules = [
|
||||
./nix/wsl.nix
|
||||
./nix/common.nix
|
||||
./nix/personal.nix
|
||||
];
|
||||
})
|
||||
] ;
|
||||
in
|
||||
{
|
||||
nixosConfigurations =
|
||||
builtins.foldl'
|
||||
(x: y: x // y)
|
||||
{}
|
||||
(builtins.concatMap makeSys [ { sys = "x86_64-linux"; } ])
|
||||
;
|
||||
};
|
||||
}
|
||||
|
||||
# example
|
||||
# + nix --extra-experimental-features 'nix-command flakes' build --out-link /tmp/nixos-rebuild.ydOEVb/nixos-rebuild '.#nixosConfigurations."wsl-amd64".config.system.build.nixos-rebuild' --show-trace
|
||||
# ++ readlink -e /tmp/nixos-rebuild.ydOEVb/nixos-rebuild
|
||||
# + p=/nix/store/rd18dwsifrcyghim695q18nhvyfykxxg-nixos-rebuild
|
||||
# exec /nix/store/rd18dwsifrcyghim695q18nhvyfykxxg-nixos-rebuild/bin/nixos-rebuild switch --flake .#wsl-amd64
|
||||
Loading…
Add table
Add a link
Reference in a new issue