diff --git a/flake.lock b/flake.lock index 86d3042..f6aa768 100644 --- a/flake.lock +++ b/flake.lock @@ -280,11 +280,11 @@ ] }, "locked": { - "lastModified": 1706134977, - "narHash": "sha256-KwNb1Li3K6vuVwZ77tFjZ89AWBo7AiCs9t0Cens4BsM=", + "lastModified": 1706221476, + "narHash": "sha256-T4b8YafVjHXvtDY8ARec1WrXO8uyyNZOpNgv9yoQy2M=", "owner": "nix-community", "repo": "home-manager", - "rev": "6359d40f6ec0b72a38e02b333f343c3d4929ec10", + "rev": "c7ce343d9bf1a329056a4dd5b32ea8cc43b55e15", "type": "github" }, "original": { @@ -420,6 +420,22 @@ "type": "github" } }, + "nixpkgs-master": { + "locked": { + "lastModified": 1706234771, + "narHash": "sha256-mccsE0408Rbad2Alz4tzyxEqjyWhcBC6PWJY3GXspTQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6ce373f8ebee695e09af872200541fa61cdc6466", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1704874635, @@ -438,11 +454,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1705916986, - "narHash": "sha256-iBpfltu6QvN4xMpen6jGGEb6jOqmmVQKUrXdOJ32u8w=", + "lastModified": 1706098335, + "narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7f206b723e42edb09d9d753020a84b3061a79d8", + "rev": "a77ab169a83a4175169d78684ddd2e54486ac651", "type": "github" }, "original": { @@ -559,11 +575,11 @@ "pre-commit-hooks": "pre-commit-hooks_2" }, "locked": { - "lastModified": 1706111147, - "narHash": "sha256-4VtYk79oJExuHxwN/5NIzLBzq4VVcfbnXawJMUIXrrc=", + "lastModified": 1706198703, + "narHash": "sha256-7INiYw039cf5202QxnIlOVXx+QMI8qsUGzbg5mnFSF4=", "owner": "nix-community", "repo": "nixvim", - "rev": "ddce82d0d1fb88c957ecb7debed2ae6c63b60750", + "rev": "7164a89f72c28305e9ee7833220913d27aca9bd4", "type": "github" }, "original": { @@ -637,6 +653,7 @@ "kde2nix": "kde2nix", "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs_4", + "nixpkgs-master": "nixpkgs-master", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", diff --git a/flake.nix b/flake.nix index c3541b4..b0e0741 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-master.url = "github:nixos/nixpkgs/master"; # Home manageKr home-manager = { diff --git a/home-manager/features/kitty.nix b/home-manager/features/kitty.nix index 6213b26..1897e7e 100644 --- a/home-manager/features/kitty.nix +++ b/home-manager/features/kitty.nix @@ -2,7 +2,7 @@ programs.kitty = { enable = true; shellIntegration.mode = "enabled"; - theme = "Tomorrow Night"; + theme = "Tokyo Night Storm"; environment = { DIRENV_LOG_FORMAT = ""; }; @@ -11,7 +11,6 @@ background_opacity = "0.82"; font_size = lib.mkDefault 12; hide_window_decorations = "no"; - linux_display_server = "x11"; confirm_os_window_close = 0; remember_window_size = "no"; initial_window_width = "82c"; diff --git a/nixos/client.nix b/nixos/client.nix index b51fe8a..8fd1ae6 100644 --- a/nixos/client.nix +++ b/nixos/client.nix @@ -7,7 +7,7 @@ boot.loader.systemd-boot.enable = lib.mkDefault true; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; - boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_zen; + boot.kernelPackages = lib.mkDefault pkgs.unstable.linuxPackages_zen; environment.systemPackages = with pkgs; [ firefox diff --git a/nixos/features/no-rgb.nix b/nixos/features/no-rgb.nix new file mode 100644 index 0000000..adf3042 --- /dev/null +++ b/nixos/features/no-rgb.nix @@ -0,0 +1,26 @@ +{ pkgs, lib, ... }: +let + no-rgb = pkgs.writeScriptBin "no-rgb" '' + #!/bin/sh + NUM_DEVICES=$(${pkgs.openrgb}/bin/openrgb --noautoconnect --list-devices | grep -E '^[0-9]+: ' | wc -l) + + for i in $(seq 0 $(($NUM_DEVICES - 1))); do + ${pkgs.openrgb}/bin/openrgb --noautoconnect --device $i --mode static --color 000000 + done + ''; +in { + config = { + services.udev.packages = [ pkgs.openrgb ]; + boot.kernelModules = [ "i2c-dev" ]; + hardware.i2c.enable = true; + + systemd.services.no-rgb = { + description = "no-rgb"; + serviceConfig = { + ExecStart = "${no-rgb}/bin/no-rgb"; + Type = "oneshot"; + }; + wantedBy = [ "multi-user.target" ]; + }; + }; +} diff --git a/nixos/features/nvidia.nix b/nixos/features/nvidia.nix index 3010b97..9c5a834 100644 --- a/nixos/features/nvidia.nix +++ b/nixos/features/nvidia.nix @@ -1,21 +1,32 @@ -{ lib, config, pkgs, ... }: { +{ lib, config, pkgs, inputs, ... }: let + pkgsMaster = import inputs.nixpkgs-master { inherit (pkgs) system; config.allowUnfree = true; }; +in { + hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; extraPackages = with pkgs; [ vaapiVdpau + libvdpau-va-gl + vulkan-validation-layers ]; }; environment.systemPackages = with pkgs; [ glxinfo + clinfo + virtualglLib + vulkan-loader + vulkan-tools + ]; services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { modesetting.enable = true; + nvidiaPersistenced = true; powerManagement.enable = true; powerManagement.finegrained = false; @@ -24,6 +35,8 @@ nvidiaSettings = true; - package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.beta; + package = config.boot.kernelPackages.nvidiaPackages.beta; }; + + boot.kernelPackages = pkgsMaster.linuxPackages_latest; } diff --git a/nixos/hosts/aerial/default.nix b/nixos/hosts/aerial/default.nix index aac716c..bb530f5 100644 --- a/nixos/hosts/aerial/default.nix +++ b/nixos/hosts/aerial/default.nix @@ -11,6 +11,7 @@ ../../features/dns-cache.nix ../../features/podman.nix ../../features/bluetooth.nix + ../../features/no-rgb.nix ]; home-manager.users.noe = import ../../../home-manager/noe/hosts/aerial.nix; diff --git a/overlays/default.nix b/overlays/default.nix index 4618130..dba01e3 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -29,5 +29,10 @@ system = final.system; config.allowUnfree = true; }; + + master = import inputs.nixpkgs-unstable { + system = final.system; + config.allowUnfree = true; + }; }; }