nix-config/flake.nix
Jordan Holt f1bf5d2786
All checks were successful
Check flake / build-amd64-linux (push) Successful in 3m46s
stylix: add flake input
Flake lock file updates:

• Updated input 'firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/b58d48d1a465970af7d4161e913f153afd7917d2?narHash=sha256-%2Bss4aGLB2vLasJXT01lhamUiGfkjWszrYhd2S4RvJA4%3D' (2025-03-24)
  → 'github:rafaelmardojai/firefox-gnome-theme/26b99e51e7f15a62eb3f90aea536d9ba55f782df?narHash=sha256-v1uYWuOPpXgUxx8WPLtXyLLCBL2/lgMjqyg7K9RPirw%3D' (2025-03-24)
• Added input 'stylix':
    'github:danth/stylix/9bfc74f330ead111e8ea354b2220a431b0cfaa26?narHash=sha256-utsgC6H3ja6sLAXMd8//I2D7yjyScFqVDRX0wpbqPZo%3D' (2025-03-14)
• Added input 'stylix/base16':
    'github:SenchoPens/base16.nix/153d52373b0fb2d343592871009a286ec8837aec?narHash=sha256-%2BR1BH5wHhfnycySb7Sy5KbYEaTJZWm1h%2BLW1OtyhiTs%3D' (2024-11-21)
• Added input 'stylix/base16/fromYaml':
    'github:SenchoPens/fromYaml/106af9e2f715e2d828df706c386a685698f3223b?narHash=sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8%3D' (2024-11-18)
• Added input 'stylix/base16-fish':
    'github:tomyun/base16-fish/2f6dd973a9075dabccd26f1cded09508180bf5fe?narHash=sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA%3D' (2021-06-01)
• Added input 'stylix/base16-helix':
    'github:tinted-theming/base16-helix/03860521c40b0b9c04818f2218d9cc9efc21e7a5?narHash=sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/%2B2sYJa2o%3D' (2025-01-14)
• Added input 'stylix/base16-vim':
    'github:tinted-theming/base16-vim/577fe8125d74ff456cf942c733a85d769afe58b7?narHash=sha256-e0bpPySdJf0F68Ndanwm%2BKWHgQiZ0s7liLhvJSWDNsA%3D' (2024-11-28)
• Added input 'stylix/firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/5a81d390bb64afd4e81221749ec4bffcbeb5fa80?narHash=sha256-RsvHGNTmO2e/eVfgYK7g%2BeYEdwwh7SbZa%2BgZkT24MEA%3D' (2025-03-10)
• Added input 'stylix/flake-compat':
    'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec?narHash=sha256-NeCCThCEP3eCl2l/%2B27kNNK7QrwZB1IJCrXfrbv5oqU%3D' (2024-12-04)
• Added input 'stylix/flake-utils':
    'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b?narHash=sha256-l0KFg5HjrsfsO/JpG%2Br7fRrqm12kzFHyUHqHCVpMMbI%3D' (2024-11-13)
• Added input 'stylix/flake-utils/systems':
    follows 'stylix/systems'
• Added input 'stylix/git-hooks':
    'github:cachix/git-hooks.nix/b5a62751225b2f62ff3147d0a334055ebadcd5cc?narHash=sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc%3D' (2025-03-07)
• Added input 'stylix/git-hooks/flake-compat':
    follows 'stylix/flake-compat'
• Added input 'stylix/git-hooks/gitignore':
    'github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394?narHash=sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs%3D' (2024-02-28)
• Added input 'stylix/git-hooks/gitignore/nixpkgs':
    follows 'stylix/git-hooks/nixpkgs'
• Added input 'stylix/git-hooks/nixpkgs':
    follows 'stylix/nixpkgs'
• Added input 'stylix/gnome-shell':
    'github:GNOME/gnome-shell/dadd58f630eeea41d645ee225a63f719390829dc?narHash=sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg%3D' (2024-11-23)
• Added input 'stylix/home-manager':
    'github:nix-community/home-manager/9d3d080aec2a35e05a15cedd281c2384767c2cfe?narHash=sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA%3D' (2025-02-17)
• Added input 'stylix/home-manager/nixpkgs':
    follows 'stylix/nixpkgs'
• Added input 'stylix/nixpkgs':
    'github:NixOS/nixpkgs/ebe2788eafd539477f83775ef93c3c7e244421d3?narHash=sha256-yfDy6chHcM7pXpMF4wycuuV%2BILSTG486Z/vLx/Bdi6Y%3D' (2025-03-10)
• Added input 'stylix/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
• Added input 'stylix/tinted-foot':
    'github:tinted-theming/tinted-foot/fd1b924b6c45c3e4465e8a849e67ea82933fcbe4?narHash=sha256-%2BeDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ%3D' (2024-09-21)
• Added input 'stylix/tinted-kitty':
    'github:tinted-theming/tinted-kitty/eb39e141db14baef052893285df9f266df041ff8?narHash=sha256-2xF3sH7UIwegn%2B2gKzMpFi3pk5DlIlM18%2Bvj17Uf82U%3D' (2024-05-23)
• Added input 'stylix/tinted-tmux':
    'github:tinted-theming/tinted-tmux/d48ee86394cbe45b112ba23ab63e33656090edb4?narHash=sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU%3D' (2025-03-02)
2025-03-24 17:33:04 +00:00

162 lines
4.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";
};
pre-commit-hooks = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
secrets = {
url = "git+ssh://git@git.vimium.com/jordan/nix-secrets.git";
flake = false;
};
stylix.url = "github:danth/stylix/release-24.11";
thunderbird-gnome-theme = {
url = "github:rafaelmardojai/thunderbird-gnome-theme";
flake = false;
};
};
outputs =
inputs@{ self, nixpkgs, ... }:
let
inherit (nixpkgs) lib;
domain = "mesh.vimium.net";
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 inputs; };
modules = [
{
networking = {
inherit domain;
hostName = name;
};
}
./hosts/${name}
];
}
))
];
checks =
builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib
// (forEachSystem (system: {
pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run {
src = ./.;
hooks = {
check-case-conflicts.enable = true;
check-executables-have-shebangs.enable = true;
check-merge-conflicts.enable = true;
deadnix = {
enable = true;
settings = {
noLambdaArg = true;
};
};
detect-private-keys.enable = true;
end-of-file-fixer.enable = true;
fix-byte-order-marker.enable = true;
mixed-line-endings.enable = true;
nixfmt-rfc-style.enable = true;
trim-trailing-whitespace.enable = true;
};
};
}));
formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
devShells = forEachSystem (system: {
default = nixpkgs.legacyPackages.${system}.mkShell {
inherit (self.checks.${system}.pre-commit-check) shellHook;
buildInputs = [
inputs.agenix.packages.${system}.agenix
inputs.deploy-rs.packages.${system}.deploy-rs
] ++ self.checks.${system}.pre-commit-check.enabledPackages;
};
});
deploy = {
magicRollback = true;
autoRollback = true;
sshUser = "root";
nodes = lib.genAttrs [
"mail"
# "pi"
# "skycam"
"vps1"
] mkDeployNode;
};
};
}