diff --git a/flake.lock b/flake.lock index 8060a82..63baa25 100644 --- a/flake.lock +++ b/flake.lock @@ -107,9 +107,7 @@ }, "home-manager": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1731604581, @@ -163,7 +161,7 @@ "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems", "xdph": "xdph" @@ -289,7 +287,7 @@ "nix-gaming": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "umu": "umu" }, "locked": { @@ -309,9 +307,7 @@ "nixos-cosmic": { "inputs": { "flake-compat": "flake-compat_2", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable_2", "rust-overlay": "rust-overlay" }, @@ -331,11 +327,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1731319897, + "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "dc460ec76cbff0e66e269457d7b728432263166c", "type": "github" }, "original": { @@ -373,6 +369,22 @@ "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" } }, + "nixpkgs-small": { + "locked": { + "lastModified": 1731569569, + "narHash": "sha256-yUjNI34R68uLg95nHzINg8ulpL77p4kOqUsCkMm1F28=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7f2d3d2febedabd8f5c9761373c99b9dcfa917e1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1730741070, @@ -422,6 +434,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1731139594, + "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1730958623, "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", @@ -437,7 +465,23 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { + "locked": { + "lastModified": 1731319897, + "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "dc460ec76cbff0e66e269457d7b728432263166c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1731319897, "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", @@ -453,7 +497,23 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_6": { + "locked": { + "lastModified": 1731531548, + "narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "24f0d4acd634792badd6470134c387a3b039dace", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { "locked": { "lastModified": 1727348695, "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", @@ -499,8 +559,9 @@ "hyprland": "hyprland", "nix-gaming": "nix-gaming", "nixos-cosmic": "nixos-cosmic", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_5", "nixpkgs-chrome": "nixpkgs-chrome", + "nixpkgs-small": "nixpkgs-small", "sops-nix": "sops-nix", "ucodenix": "ucodenix", "zen-browser": "zen-browser" @@ -529,9 +590,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_6", "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { @@ -646,7 +705,7 @@ }, "zen-browser": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1727721329, diff --git a/flake.nix b/flake.nix index 7356fa6..0a60dd0 100644 --- a/flake.nix +++ b/flake.nix @@ -2,30 +2,21 @@ description = "JawZ NixOS flake setup"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + nixpkgs-small.url = "github:nixos/nixpkgs?ref=nixos-unstable-small"; nixpkgs-chrome.url = "github:nixos/nixpkgs?rev=05bbf675397d5366259409139039af8077d695ce"; ucodenix.url = "github:e-tho/ucodenix"; nix-gaming.url = "github:fufexan/nix-gaming"; hyprland.url = "github:hyprwm/Hyprland"; zen-browser.url = "github:MarceColl/zen-browser-flake"; - home-manager = { - url = "github:nix-community/home-manager/master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - sops-nix = { - url = "github:Mic92/sops-nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nixos-cosmic = { - url = "github:lilyinstarlight/nixos-cosmic"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + home-manager.url = "github:nix-community/home-manager/master"; + sops-nix.url = "github:Mic92/sops-nix"; + nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic"; }; outputs = { self, ... }@inputs: let inherit (self) outputs; - lib = inputs.nixpkgs.lib // inputs.home-manager.lib; system = "x86_64-linux"; makePkgs = repo: @@ -33,27 +24,34 @@ inherit system; config.allowUnfree = true; }; - pkgs = makePkgs inputs.nixpkgs; - pkgs-chrome = makePkgs inputs.nixpkgs-chrome; - overlayFile = import ./overlay.nix { inherit pkgs pkgs-chrome; }; - createConfig = name: { - inherit system; - specialArgs = { - inherit inputs outputs; + createConfig = + name: + let + useGUI = name == "workstation"; + nixpkgsSelect = if useGUI then inputs.nixpkgs else inputs.nixpkgs-small; + pkgs = makePkgs nixpkgsSelect; + pkgs-chrome = makePkgs inputs.nixpkgs-chrome; + overlayFile = import ./overlay.nix { inherit pkgs pkgs-chrome; }; + lib = nixpkgsSelect.lib // inputs.home-manager.lib; + in + lib.nixosSystem { + inherit system; + specialArgs = { + inherit inputs outputs; + }; + modules = [ + { nixpkgs.overlays = [ overlayFile ]; } + ./hosts/${name}/configuration.nix + inputs.sops-nix.nixosModules.sops + inputs.nixos-cosmic.nixosModules.default + ]; }; - modules = [ - { nixpkgs.overlays = [ overlayFile ]; } - ./hosts/${name}/configuration.nix - inputs.sops-nix.nixosModules.sops - inputs.nixos-cosmic.nixosModules.default - ]; - }; in { nixosConfigurations = { - workstation = lib.nixosSystem (createConfig "workstation"); - miniserver = lib.nixosSystem (createConfig "miniserver"); - server = lib.nixosSystem (createConfig "server"); + workstation = createConfig "workstation"; + miniserver = createConfig "miniserver"; + server = createConfig "server"; }; }; } diff --git a/modules/apps/gaming.nix b/modules/apps/gaming.nix index 192ae91..38510c2 100644 --- a/modules/apps/gaming.nix +++ b/modules/apps/gaming.nix @@ -28,7 +28,7 @@ lutris # games launcher & emulator hub cartridges # games launcher gamemode # optimizes linux to have better gaming performance - heroic # install epic games + # heroic # install epic games protonup-qt # update proton-ge ns-usbloader # load games into my switch # minecraft # minecraft official launcher