mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-03-23 18:58:28 +01:00
Compare commits
No commits in common. "1c0f293c3d537ded5e6208a96d35a61de5ce2c18" and "5c61459fe751b7452f1c81b302eace3353ba854e" have entirely different histories.
1c0f293c3d
...
5c61459fe7
8 changed files with 103 additions and 9 deletions
|
|
@ -1,11 +1,12 @@
|
||||||
_: {
|
_: {
|
||||||
perSystem =
|
perSystem =
|
||||||
{ pkgs, ... }:
|
{ inputs', pkgs, ... }:
|
||||||
{
|
{
|
||||||
devShells.default = pkgs.mkShellNoCC {
|
devShells.default = pkgs.mkShellNoCC {
|
||||||
packages = [
|
packages = [
|
||||||
pkgs.just
|
pkgs.just
|
||||||
pkgs.nh
|
pkgs.nh
|
||||||
|
inputs'.deploy-rs.packages.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,26 @@ let
|
||||||
]
|
]
|
||||||
++ lib.optional (lib.pathExists "${self}/users/seb/@${hostName}") "${self}/users/seb/@${hostName}";
|
++ lib.optional (lib.pathExists "${self}/users/seb/@${hostName}") "${self}/users/seb/@${hostName}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mkDeployNode = hostName: {
|
||||||
|
hostname = "${hostName}.${
|
||||||
|
self.nixosConfigurations.${hostName}.config.custom.networking.overlay.domain
|
||||||
|
}";
|
||||||
|
user = "root";
|
||||||
|
interactiveSudo = true;
|
||||||
|
profiles.system.path =
|
||||||
|
inputs.deploy-rs.lib.x86_64-linux.activate.nixos
|
||||||
|
self.nixosConfigurations.${hostName};
|
||||||
|
};
|
||||||
|
|
||||||
|
hostNames = "${self}/hosts" |> self.lib.listDirectoryNames;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
flake.nixosConfigurations =
|
flake = {
|
||||||
"${self}/hosts" |> self.lib.listDirectoryNames |> self.lib.genAttrs mkHost;
|
nixosConfigurations = hostNames |> self.lib.genAttrs mkHost;
|
||||||
|
|
||||||
|
deploy.nodes = hostNames |> self.lib.genAttrs mkDeployNode;
|
||||||
|
|
||||||
|
checks = inputs.deploy-rs.lib |> lib.mapAttrs (_: deployLib: deployLib.deployChecks self.deploy);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@
|
||||||
{
|
{
|
||||||
flake = {
|
flake = {
|
||||||
nixosModules.default.imports = self.lib.listNixFilesRecursively "${self}/modules/system";
|
nixosModules.default.imports = self.lib.listNixFilesRecursively "${self}/modules/system";
|
||||||
homeModules.default.imports = self.lib.listNixFilesRecursively "${self}/modules/home";
|
homeManagerModules.default.imports = self.lib.listNixFilesRecursively "${self}/modules/home";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
72
flake.lock
generated
72
flake.lock
generated
|
|
@ -58,6 +58,28 @@
|
||||||
"url": "https://codeberg.org/kampka/nix-flake-crowdsec.git"
|
"url": "https://codeberg.org/kampka/nix-flake-crowdsec.git"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"deploy-rs": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"utils": "utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1766051518,
|
||||||
|
"narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=",
|
||||||
|
"owner": "serokell",
|
||||||
|
"repo": "deploy-rs",
|
||||||
|
"rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "serokell",
|
||||||
|
"repo": "deploy-rs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -117,6 +139,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733328505,
|
||||||
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
|
@ -313,6 +351,7 @@
|
||||||
"betterfox": "betterfox",
|
"betterfox": "betterfox",
|
||||||
"comin": "comin",
|
"comin": "comin",
|
||||||
"crowdsec": "crowdsec",
|
"crowdsec": "crowdsec",
|
||||||
|
"deploy-rs": "deploy-rs",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"firefox-addons": "firefox-addons",
|
"firefox-addons": "firefox-addons",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
|
|
@ -362,6 +401,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"treefmt": {
|
"treefmt": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -382,6 +436,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"vscode-extensions": {
|
"vscode-extensions": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,11 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
deploy-rs = {
|
||||||
|
url = "github:serokell/deploy-rs";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
treefmt = {
|
treefmt = {
|
||||||
url = "github:numtide/treefmt-nix";
|
url = "github:numtide/treefmt-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
||||||
4
justfile
4
justfile
|
|
@ -40,9 +40,7 @@ reboot:
|
||||||
|
|
||||||
[group('remote')]
|
[group('remote')]
|
||||||
deploy +hosts:
|
deploy +hosts:
|
||||||
for host in {{ hosts }}; do \
|
deploy --skip-checks --targets $(echo {{ hosts }} | sed 's/[^ ]*/\.#&/g')
|
||||||
nh os switch . --hostname=$host --target-host=$host; \
|
|
||||||
done
|
|
||||||
|
|
||||||
[group('remote')]
|
[group('remote')]
|
||||||
install host destination='root@installer':
|
install host destination='root@installer':
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ let
|
||||||
cfg = config.custom.sops;
|
cfg = config.custom.sops;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ inputs.sops.homeModules.sops ];
|
imports = [ inputs.sops.homeManagerModules.sops ];
|
||||||
|
|
||||||
options.custom.sops = {
|
options.custom.sops = {
|
||||||
enable = lib.mkEnableOption "";
|
enable = lib.mkEnableOption "";
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [ self.homeModules.default ];
|
imports = [ self.homeManagerModules.default ];
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue