diff options
| author | KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au> | 2026-01-06 21:51:52 +1100 |
|---|---|---|
| committer | KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au> | 2026-01-06 21:51:52 +1100 |
| commit | 51feac4edbe6b60dab5f731a8adaf3d8d369a1bf (patch) | |
| tree | 798fe89fefa166c680fccc0e7cdcf82beb5b204e /flake.nix | |
| parent | cb35955d16f7c39ea1ccc9258ffdffa94e56a9c7 (diff) | |
Ahah, i have labsrv01
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 81 |
1 files changed, 42 insertions, 39 deletions
@@ -1,5 +1,7 @@ { - inputs.nixpkgs-stable.url = "github:NixOS/nixpkgs/25.05"; + description = "NixOS configurations development environment"; + + inputs.nixpkgs-stable.url = "github:NixOS/nixpkgs/25.11"; inputs.nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.disko.url = "github:nix-community/disko"; inputs.disko.inputs.nixpkgs.follows = "nixpkgs-stable"; @@ -11,60 +13,40 @@ inputs.home-manager.url = "github:nix-community/home-manager"; inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; - outputs = - { - nixpkgs-stable, - nixpkgs-unstable, - disko, - nixos-facter-modules, - sops-nix, - nixos-anywhere, - home-manager, - ... - }: + outputs = { self, nixpkgs, nixpkgs-stable, nixos-anywhere, ... }@inputs: let - systems = [ - "x86_64-linux" - "x86_64-darwin" - "aarch64-linux" - "aarch64-darwin" - ]; + systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs systems; in { - nixosConfigurations.kj-laptop01 = nixpkgs-unstable.lib.nixosSystem { + nixosConfigurations.labsrv01 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { inherit inputs; }; modules = [ - disko.nixosModules.disko - ./kj-laptop01/configuration.nix - nixos-facter-modules.nixosModules.facter - sops-nix.nixosModules.sops - { - config.facter.reportPath = ./kj-laptop01/facter.json; - } - home-manager.nixosModules.home-manager + inputs.disko.nixosModules.disko + ./labsrv01/configuration.nix + inputs.nixos-facter-modules.nixosModules.facter + inputs.sops-nix.nixosModules.sops + inputs.home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.kjtsanaktsidis = ./kj-laptop01/home.nix; + home-manager.users.kjtsanaktsidis = ./labsrv01/home.nix; home-manager.sharedModules = [ - sops-nix.homeManagerModules.sops + inputs.sops-nix.homeManagerModules.sops ]; } ]; }; - formatter = nixpkgs-stable.lib.genAttrs systems ( - system: nixpkgs-stable.legacyPackages.${system}.nixfmt-tree - ); - - apps = nixpkgs-stable.lib.genAttrs systems ( - system: + packages = forAllSystems (system: let pkgs = nixpkgs-stable.legacyPackages.${system}; ruby = pkgs.ruby.withPackages (ps: [ pkgs.rubyPackages.tty-command ]); - + in + { nixos-update = pkgs.writeShellApplication { name = "nixos-update"; runtimeInputs = [ @@ -76,14 +58,35 @@ exec "${ruby}/bin/ruby" "${./nixos-update.rb}" "$@" ''; }; + } + ); + devShells = forAllSystems (system: + let + pkgs = nixpkgs.legacyPackages.${system}; in { - nixos-update = { - type = "app"; - program = "${nixos-update}/bin/nixos-update"; + default = pkgs.mkShell { + buildInputs = [ + nixos-anywhere.packages.${system}.default + pkgs.sops + pkgs.ruby + pkgs.age + pkgs.mkpasswd + self.packages.${system}.nixos-update + ]; }; } ); + + formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style); + + + apps = forAllSystems (system: { + nixos-update = { + type = "app"; + program = "${self.packages.${system}.nixos-update}/bin/nixos-update"; + }; + }); }; } |
