diff --git a/configuration.nix b/configuration.nix index 12bb948..489b747 100644 --- a/configuration.nix +++ b/configuration.nix @@ -39,6 +39,10 @@ device = "/dev/disk/by-uuid/050574C34881C3B9"; fsType = "ntfs"; }; + fileSystems."/media/windows" = { + device = "/dev/disk/by-uuid/846A9EF06A9EDE6C"; + fsType = "ntfs"; + }; networking.hostName = "lenovo-nix"; # networking.proxy.default = "http://user:password@proxy:port/"; @@ -98,24 +102,28 @@ users.users.dan = { isNormalUser = true; description = "John"; - extraGroups = [ "networkmanager" "wheel" "docker" "fuse" "video" "wireshark" ]; + extraGroups = [ "networkmanager" "wheel" "docker" "fuse" "video" "wireshark" "gamemode"]; shell = pkgs.fish; packages = with pkgs; [ kdePackages.kate zen-browser.packages."${system}".specific ]; }; - home-manager.useGlobalPkgs = true; - home-manager.users.dan = import ./home.nix; - home-manager.backupFileExtension = "backup"; # Other defaults are set in home.nix environment.sessionVariables.DEFAULT_BROWSER = "firefox"; programs.firefox.enable = true; nix.settings = { - substituters = ["https://hyprland.cachix.org" "https://cache.nixos.org"]; - trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; + substituters = [ + "https://hyprland.cachix.org" + "https://cache.nixos.org" + "https://nix-gaming.cachix.org" + ]; + trusted-public-keys = [ + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" + ]; }; # Comment out below for the first time to avoid cache miss, if using flake @@ -134,6 +142,7 @@ # programs.hyprland.enable = true; programs.hyprlock.enable = true; services.hypridle.enable = true; + programs.gamemode.enable = true; programs.fish.enable = true; programs.nix-ld.enable = true; # Fix dynamic binaries from outside of nix services.openssh.enable = true; diff --git a/flake.lock b/flake.lock index a2e8c92..8993cc9 100644 --- a/flake.lock +++ b/flake.lock @@ -33,6 +33,24 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1725234343, + "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -94,11 +112,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1725962797, - "narHash": "sha256-YNw4NcdxyqKCXyO+SWeP5+9fdm7dqf8w9XNPOkfpc2s=", + "lastModified": 1725976150, + "narHash": "sha256-Dv4XEWRcVFZhBDbj11/zuuXyf7TGHFVU1IGH9W/yPX8=", "ref": "refs/heads/main", - "rev": "c67b257e51133a2aaeec050fc4d283e2eaea6375", - "revCount": 5207, + "rev": "155d44016d0cb11332c454db73d59030cdbd7b13", + "revCount": 5209, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -245,6 +263,26 @@ "type": "github" } }, + "nix-gaming": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_2", + "umu": "umu" + }, + "locked": { + "lastModified": 1725977377, + "narHash": "sha256-4ll5NCT25Ex9dqTrNaiTbmL9IrVgTVFOn7/oxaxqoL0=", + "owner": "fufexan", + "repo": "nix-gaming", + "rev": "5e1b352744abed2d9a8619f8ed916dd06a88f548", + "type": "github" + }, + "original": { + "owner": "fufexan", + "repo": "nix-gaming", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1725885300, @@ -276,6 +314,18 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" + } + }, "nixpkgs-unstable": { "locked": { "lastModified": 1725634671, @@ -293,6 +343,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1725534445, + "narHash": "sha256-Yd0FK9SkWy+ZPuNqUgmVPXokxDgMJoGuNpMEtkfcf84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9bb1e7571aadf31ddb4af77fc64b2d59580f9a39", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1725634671, "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", @@ -308,7 +374,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1724819573, "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", @@ -329,8 +395,9 @@ "home-manager": "home-manager", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", + "nix-gaming": "nix-gaming", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", "zen-browser": "zen-browser" } @@ -350,6 +417,31 @@ "type": "github" } }, + "umu": { + "inputs": { + "nixpkgs": [ + "nix-gaming", + "nixpkgs" + ] + }, + "locked": { + "dir": "packaging/nix", + "lastModified": 1725408497, + "narHash": "sha256-wyJPWwHzHpFwc9XP9nM/Lpbvahusp2NcUtWXlErGi1g=", + "ref": "refs/heads/main", + "rev": "2d3c948a51bc1d2880a90bf985947f9afc89e8d1", + "revCount": 713, + "submodules": true, + "type": "git", + "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" + }, + "original": { + "dir": "packaging/nix", + "submodules": true, + "type": "git", + "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" + } + }, "xdph": { "inputs": { "hyprland-protocols": "hyprland-protocols", @@ -367,11 +459,11 @@ ] }, "locked": { - "lastModified": 1725203932, - "narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=", + "lastModified": 1725228143, + "narHash": "sha256-kbSiPA5oXiz1+1eVoRslMi5wylHD6SDT8dS9eZAxXAM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251", + "rev": "11e15b437e7efc39e452f36e15a183225d6bfa39", "type": "github" }, "original": { @@ -382,7 +474,7 @@ }, "zen-browser": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1725529174, diff --git a/flake.nix b/flake.nix index f9c1897..2304277 100644 --- a/flake.nix +++ b/flake.nix @@ -11,17 +11,36 @@ }; home-manager.url = "github:nix-community/home-manager"; # /release-24.11 home-manager.inputs.nixpkgs.follows = "nixpkgs"; + + nix-gaming.url = "github:fufexan/nix-gaming"; # kwin-effects-forceblur.url = "https://gist.githubusercontent.com/taj-ny/c1abdde710f33e34dc39dc53a5dc2c09/raw/7078265012c37b6f6bc397e9a7893bc6004e7b6c/kwin-effects-forceblur.nix"; }; - outputs = { nixpkgs, ... }@attrs: { + outputs = { nixpkgs, home-manager, ... }@attrs: { nixosConfigurations.lenovo-nix = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = attrs; - modules = with attrs; [ - home-manager.nixosModules.default + modules = [ + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.users.dan = (import ./home.nix) { nix-gaming = attrs.nix-gaming; }; + home-manager.backupFileExtension = "backup"; + } ./configuration.nix ]; }; + + # homeConfigurations.lenovo-nix = home-manager.lib.homeManagerConfiguration { + # pkgs = import nixpkgs { + # system = "x86_64-linux"; + # config.allowUnfree = true; + # }; + + # extraSpecialArgs = {inherit attrs;}; + + # modules = [ + # ./home.nix + # ]; + # }; }; } \ No newline at end of file diff --git a/home.nix b/home.nix index ace030e..ebd2045 100644 --- a/home.nix +++ b/home.nix @@ -1,3 +1,4 @@ +{ nix-gaming, ... }: { pkgs, hyprland-plugins, ...}: let unstable-pkgs = import {}; @@ -8,6 +9,8 @@ in packages = with pkgs; [ # acpilight + nix-gaming.packages.${pkgs.system}.osu-lazer-bin + obsidian betaflight-configurator glxinfo pciutils