summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix81
1 files changed, 42 insertions, 39 deletions
diff --git a/flake.nix b/flake.nix
index 11a730d..215542b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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";
+ };
+ });
};
}