diff --git a/flake.lock b/flake.lock index b434337..ce77404 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1775811116, - "narHash": "sha256-t+HZK42pB6N+i5RGbuy7Xluez/VvWbembBdvzsc23Ss=", + "lastModified": 1776734388, + "narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "54170c54449ea4d6725efd30d719c5e505f1c10e", + "rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac", "type": "github" }, "original": { @@ -37,10 +37,27 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1776329215, + "narHash": "sha256-a8BYi3mzoJ/AcJP8UldOx8emoPRLeWqALZWu4ZvjPXw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b86751bc4085f48661017fa226dee99fab6c651b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable" } } }, diff --git a/flake.nix b/flake.nix index 429fbb0..aa24ed2 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,10 @@ url = "github:nixos/nixpkgs/nixos-25.11"; }; + nixpkgs-unstable = { + url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + }; + home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/outputs.nix b/outputs.nix index 2ae11ec..f01dd5c 100644 --- a/outputs.nix +++ b/outputs.nix @@ -1,9 +1,19 @@ -{ nixpkgs, home-manager, ... }: +{ nixpkgs, nixpkgs-unstable, home-manager, ... }: + +let + mkPkgsUnstable = system: import nixpkgs-unstable { + inherit system; + config.allowUnfree = true; + }; +in { nixosConfigurations = { "gandalf" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { + pkgsUnstable = mkPkgsUnstable "x86_64-linux"; + }; modules = [ home-manager.nixosModules.home-manager ./systems/gandalf @@ -11,6 +21,9 @@ }; "frodo" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { + pkgsUnstable = mkPkgsUnstable "x86_64-linux"; + }; modules = [ home-manager.nixosModules.home-manager ./systems/frodo @@ -18,6 +31,9 @@ }; "legolas" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { + pkgsUnstable = mkPkgsUnstable "x86_64-linux"; + }; modules = [ home-manager.nixosModules.home-manager ./systems/legolas @@ -25,6 +41,9 @@ }; "work" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { + pkgsUnstable = mkPkgsUnstable "x86_64-linux"; + }; modules = [ home-manager.nixosModules.home-manager ./systems/work diff --git a/systems/modules/common.nix b/systems/modules/common.nix index 0d8c447..3f0e517 100644 --- a/systems/modules/common.nix +++ b/systems/modules/common.nix @@ -10,9 +10,9 @@ environment.systemPackages = with pkgs; [ chromium gnumake - git jetbrains-toolbox fastfetch + jq ]; security.rtkit.enable = true; diff --git a/systems/modules/home-manager.nix b/systems/modules/home-manager.nix index dc46d73..ab273b3 100644 --- a/systems/modules/home-manager.nix +++ b/systems/modules/home-manager.nix @@ -1,9 +1,12 @@ -{ pkgs, ... }: +{ pkgs, pkgsUnstable, ... }: { home-manager = { useGlobalPkgs = true; useUserPackages = true; + extraSpecialArgs = { + inherit pkgsUnstable; + }; users.avravels = import home/home.nix; }; diff --git a/systems/modules/jq.nix b/systems/modules/jq.nix new file mode 100644 index 0000000..3e1bb52 --- /dev/null +++ b/systems/modules/jq.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... } : + +{ + environment.systemPackages = with pkgs; [ + jq + ]; +} diff --git a/systems/work/default.nix b/systems/work/default.nix index 2fa3ae7..0303d46 100644 --- a/systems/work/default.nix +++ b/systems/work/default.nix @@ -20,6 +20,7 @@ ../modules/remmina.nix ../modules/postman.nix ../modules/gimp.nix + ../modules/jq.nix ../modules/enova.nix ];