All checks were successful
Check flake / build-amd64-linux (push) Successful in 3m55s
Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/785c1e02c7e465375df971949b8dcbde9ec362e5?narHash=sha256-8dupm9GfK%2BBowGdQd7EHK5V61nneLfr9xR6sc5vtDi0%3D' (2024-12-02) → 'github:nix-community/disko/d32f2d1750d61a476a236526b725ec5a32e16342?narHash=sha256-OIitVU%2BIstPbX/NWn2jLF%2B/sT9dVKcO2FKeRAzlyX6c%3D' (2024-12-13) • Updated input 'firefox-gnome-theme': 'github:rafaelmardojai/firefox-gnome-theme/aa9b67045fcdec7ae045b36d7a41b36b3463b842?narHash=sha256-Q8W1YlsZmxhUaXLOJhPCeEzKqaqmspT9VKYZxn5Kh40%3D' (2024-12-03) → 'github:rafaelmardojai/firefox-gnome-theme/beca016e58d0da1237471993933c853f9b934f44?narHash=sha256-onO%2Bzd9ssgsLC5ax3UWPZ41DcZPkxdXT8JmmjDkw944%3D' (2024-12-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a0f3e10d94359665dba45b71b4227b0aeb851f8e?narHash=sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk%3D' (2024-12-10) → 'github:NixOS/nixpkgs/314e12ba369ccdb9b352a4db26ff419f7c49fa84?narHash=sha256-5fNndbndxSx5d%2BC/D0p/VF32xDiJCJzyOqorOYW4JEo%3D' (2024-12-13) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/a73246e2eef4c6ed172979932bc80e1404ba2d56?narHash=sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU%3D' (2024-12-09) → 'github:NixOS/nixpkgs/3566ab7246670a43abd2ffa913cc62dad9cdf7d5?narHash=sha256-AKU6qqskl0yf2%2BJdRdD0cfxX4b9x3KKV5RqA6wijmPM%3D' (2024-12-13) • Updated input 'nixvim': 'github:nix-community/nixvim/c7b109f5af93f8e59148a1a4838f3472f8ae403d?narHash=sha256-1UsUuIfq0ywIxmYBJdIi6tFFmpR/RtOBQVijARaaX68%3D' (2024-12-11) → 'github:nix-community/nixvim/958f653dd56161640760c73ada779315070b1293?narHash=sha256-SwkMjTXI4PaRHSCKmbd7PvNF43QbIGoEQxrmbFt%2BWKs%3D' (2024-12-14) • Updated input 'nixvim/git-hooks': 'github:cachix/git-hooks.nix/6f4e2a2112050951a314d2733a994fbab94864c6?narHash=sha256-SVQVsbafSM1dJ4fpgyBqLZ%2BLft%2BjcQuMtEL3lQWx2Sk%3D' (2024-12-04) → 'github:cachix/git-hooks.nix/d8c02f0ffef0ef39f6063731fc539d8c71eb463a?narHash=sha256-%2BXTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd%2Blh2A%3D' (2024-12-08) • Updated input 'nixvim/home-manager': 'github:nix-community/home-manager/d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a?narHash=sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc%3D' (2024-12-06) → 'github:nix-community/home-manager/1318c3f3b068cdcea922fa7c1a0a1f0c96c22f5f?narHash=sha256-Zb5ZCa7Xj%2B0gy5XVXINTSr71fCfAv%2BIKtmIXNrykT54%3D' (2024-12-11) • Updated input 'nixvim/nuschtosSearch': 'github:NuschtOS/search/68e9fad70d95d08156cf10a030bd39487bed8ffe?narHash=sha256-315rJ7O9cOllPDaFscnJhcMleORHbxon0Kq9LAKJ5p4%3D' (2024-12-05) → 'github:NuschtOS/search/3051be7f403bff1d1d380e4612f0c70675b44fc9?narHash=sha256-Y47y%2BLesOCkJaLvj%2BdI/Oa6FAKj/T9sKVKDXLNsViPw%3D' (2024-12-09) • Updated input 'nixvim/treefmt-nix': 'github:numtide/treefmt-nix/50862ba6a8a0255b87377b9d2d4565e96f29b410?narHash=sha256-qKL3vjO%2BIXFQ0nTinFDqNq/sbbnnS5bMI1y0xX215fU%3D' (2024-12-05) → 'github:numtide/treefmt-nix/0ce9d149d99bc383d1f2d85f31f6ebd146e46085?narHash=sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ%3D' (2024-12-09)
127 lines
3.6 KiB
Nix
127 lines
3.6 KiB
Nix
{
|
|
description = "NixOS system configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-24.11";
|
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
|
# nixpkgs-master.url = "nixpkgs";
|
|
agenix.url = "github:ryantm/agenix";
|
|
deploy-rs.url = "github:serokell/deploy-rs";
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-24.11";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
firefox-gnome-theme = {
|
|
url = "github:rafaelmardojai/firefox-gnome-theme";
|
|
flake = false;
|
|
};
|
|
gitea-github-theme = {
|
|
url = "git+ssh://git@git.vimium.com/jordan/gitea-github-theme.git?ref=main";
|
|
flake = false;
|
|
};
|
|
kvlibadwaita = {
|
|
url = "github:GabePoel/KvLibadwaita";
|
|
flake = false;
|
|
};
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
|
nixos-mailserver = {
|
|
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixvim = {
|
|
url = "github:nix-community/nixvim/nixos-24.11";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
plasma-manager = {
|
|
url = "github:nix-community/plasma-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.home-manager.follows = "home-manager";
|
|
};
|
|
secrets = {
|
|
url = "git+ssh://git@git.vimium.com/jordan/nix-secrets.git";
|
|
flake = false;
|
|
};
|
|
thunderbird-gnome-theme = {
|
|
url = "github:rafaelmardojai/thunderbird-gnome-theme";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = inputs @ { self, nixpkgs, ... }:
|
|
let
|
|
inherit (nixpkgs) lib;
|
|
|
|
domain = "mesh.vimium.net";
|
|
forEverySystem = lib.getAttrs lib.systems.flakeExposed;
|
|
forEachSystem = lib.genAttrs [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
];
|
|
mkDeployNode = hostName: {
|
|
hostname = "${hostName}.${domain}";
|
|
|
|
profiles.system = {
|
|
user = "root";
|
|
path = inputs.deploy-rs.lib.${self.nixosConfigurations.${hostName}.config.system.build.toplevel.system}.activate.nixos self.nixosConfigurations.${hostName};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
overlays = lib.packagesFromDirectoryRecursive {
|
|
callPackage = path: overrides: import path;
|
|
directory = ./overlays;
|
|
};
|
|
|
|
legacyPackages = forEachSystem (system:
|
|
lib.packagesFromDirectoryRecursive {
|
|
callPackage = nixpkgs.legacyPackages.${system}.callPackage;
|
|
directory = ./pkgs;
|
|
});
|
|
|
|
nixosConfigurations = lib.pipe ./hosts [
|
|
builtins.readDir
|
|
(lib.filterAttrs (name: value: value == "directory"))
|
|
(lib.mapAttrs (name: value:
|
|
lib.nixosSystem {
|
|
specialArgs = { inherit self; };
|
|
|
|
modules = [
|
|
{
|
|
networking = {
|
|
inherit domain;
|
|
hostName = name;
|
|
};
|
|
}
|
|
./hosts/${name}
|
|
];
|
|
}))
|
|
];
|
|
|
|
devShells.x86_64-linux.default = nixpkgs.legacyPackages.x86_64-linux.mkShell {
|
|
buildInputs = [
|
|
inputs.agenix.packages.x86_64-linux.agenix
|
|
inputs.deploy-rs.packages.x86_64-linux.deploy-rs
|
|
];
|
|
};
|
|
|
|
deploy = {
|
|
magicRollback = true;
|
|
autoRollback = true;
|
|
sshUser = "root";
|
|
nodes = lib.genAttrs [
|
|
"mail"
|
|
# "pi"
|
|
# "skycam"
|
|
"vps1"
|
|
] mkDeployNode;
|
|
};
|
|
|
|
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib;
|
|
};
|
|
}
|
|
|