From 64c9728e0c73e35787b2e69393a69c9d2815f936 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Sat, 6 Jun 2026 23:35:03 +0200 Subject: update to 26.05 --- common/default.nix | 2 +- common/home/default.nix | 11 +- common/home/hyprland/default.nix | 11 +- common/home/programs/firefox/default.nix | 3 +- common/home/programs/waybar/default.nix | 2 +- common/home/services/hyprpaper/default.nix | 19 ++- flake.lock | 231 ++++++++++++++--------------- flake.nix | 17 +-- hosts/workstation/default.nix | 7 - hosts/workstation/hardware.nix | 4 +- modules/usbauth/default.nix | 62 ++++---- modules/usbauth/usbauth.sh | 6 + 12 files changed, 185 insertions(+), 190 deletions(-) create mode 100644 modules/usbauth/usbauth.sh diff --git a/common/default.nix b/common/default.nix index d61b66c..2dfa553 100644 --- a/common/default.nix +++ b/common/default.nix @@ -87,7 +87,7 @@ documentation = { man = { enable = true; - generateCaches = true; + cache.enable = true; man-db.enable = true; mandoc.enable = false; }; diff --git a/common/home/default.nix b/common/home/default.nix index 94737b7..4a33662 100644 --- a/common/home/default.nix +++ b/common/home/default.nix @@ -33,13 +33,13 @@ packages = [ pkgs.pciutils pkgs.usbutils pkgs.acpi - pkgs.nixfmt-rfc-style - pkgs.blueberry + pkgs.nixfmt + pkgs.blueman pkgs.gimp pkgs.inkscape pkgs.hicolor-icon-theme pkgs.bat - pkgs.blender-hip + pkgs.blender pkgs.pinentry-qt pkgs.ripgrep pkgs.tenacity @@ -79,6 +79,7 @@ packages = [ pkgs.libsecret pkgs.w3m pkgs.android-tools + pkgs.fido2-manage ]; in { @@ -89,6 +90,7 @@ packages = [ value = (import ./programs/${n} { inherit pkgs; inherit lib; + inherit config; home = config.home-manager.users.n8.home; }); }) programs @@ -122,6 +124,8 @@ packages = [ name = "gruvbox-dark"; }; + gtk4.theme = null; + iconTheme = { package = pkgs.flat-remix-icon-theme; name = "Flat-Remix-Blue-Light"; @@ -167,6 +171,7 @@ packages = [ publicShare = null; templates = null; videos = "${config.home-manager.users.n8.home.homeDirectory}/global/media/videos"; + setSessionVariables = true; }; }; diff --git a/common/home/hyprland/default.nix b/common/home/hyprland/default.nix index 8ddc0a4..5ce838d 100644 --- a/common/home/hyprland/default.nix +++ b/common/home/hyprland/default.nix @@ -6,13 +6,14 @@ variables = [ "--all" ]; }; xwayland.enable = true; - plugins = [ pkgs.hyprlandPlugins.hyprsplit ]; + #plugins = [ pkgs.hyprlandPlugins.hyprsplit ]; + configType = "hyprlang"; settings = { plugin = { - hyprsplit = { - num_workspaces = 10; - persistent_workspaces = false; - }; + #hyprsplit = { + # num_workspaces = 10; + # persistent_workspaces = false; + #}; }; "$mod" = "SUPER"; bind = [ diff --git a/common/home/programs/firefox/default.nix b/common/home/programs/firefox/default.nix index 451e011..62e009c 100644 --- a/common/home/programs/firefox/default.nix +++ b/common/home/programs/firefox/default.nix @@ -1,4 +1,4 @@ -{ ... }: +{ config, ... }: let lock-false = { Value = false; @@ -11,6 +11,7 @@ let in { enable = true; + configPath = "${config.home-manager.users.n8.xdg.configHome}/mozilla/firefox"; policies = { DefaultDownloadDirectory = "/home/n8"; diff --git a/common/home/programs/waybar/default.nix b/common/home/programs/waybar/default.nix index 75588b7..5cdf011 100644 --- a/common/home/programs/waybar/default.nix +++ b/common/home/programs/waybar/default.nix @@ -66,7 +66,7 @@ format-off = "󰂲"; format-on = ""; format-connected = "󰂱"; - on-click = "blueberry"; + on-click = "blueman"; }; battery = { diff --git a/common/home/services/hyprpaper/default.nix b/common/home/services/hyprpaper/default.nix index 82c7777..2854021 100644 --- a/common/home/services/hyprpaper/default.nix +++ b/common/home/services/hyprpaper/default.nix @@ -1,12 +1,15 @@ { ... }: { - enable = true; - settings = { - ipc = "on"; - splash = false; - splash_offset = 2.0; + enable = true; + settings = { + ipc = "on"; + splash = false; + splash_offset = 2; - preload = [ "~/global/media/photos/0e5873df5f97d5869ce110c4029a2298.jpg" ]; - wallpaper = [ ",~/global/media/photos/0e5873df5f97d5869ce110c4029a2298.jpg" ]; - }; + wallpaper = [{ + fit_mode = "cover"; + monitor = ""; + path = "~/global/media/photos/0e5873df5f97d5869ce110c4029a2298.jpg"; + } ]; + }; } diff --git a/flake.lock b/flake.lock index b94e88b..b8373f4 100644 --- a/flake.lock +++ b/flake.lock @@ -2,16 +2,14 @@ "nodes": { "blueprint": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1776877923, - "narHash": "sha256-oPtbCeKEZa2r6MsxaakItcOb91vFvLakMmi27RpqlDM=", + "lastModified": 1780768701, + "narHash": "sha256-MeBSFcGOPRORLvpvsX/sl9Y1C1aT1lLDoXoU1lcZ4ZU=", "ref": "refs/heads/master", - "rev": "c8d79c2a149153eba15fc7729b2349199dff362f", - "revCount": 11, + "rev": "7204d9df744173e981506a3e76b875fa565c6344", + "revCount": 12, "type": "git", "url": "https://git.nathanreiner.xyz/blueprint" }, @@ -28,11 +26,11 @@ ] }, "locked": { - "lastModified": 1768135262, - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { @@ -41,96 +39,112 @@ "type": "github" } }, - "flake-utils": { + "home-manager": { "inputs": { - "systems": "systems" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "lastModified": 1780361225, + "narHash": "sha256-wnV9ttf4fPWNonBIQmvlrSlNpQYgx5HgWWd007mwIFA=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "e28654b71096e08c019d4861ca26acb646f583d8", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "nix-community", + "ref": "release-26.05", + "repo": "home-manager", "type": "github" } }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, + "nixpkgs": { "locked": { - "lastModified": 1778606796, - "narHash": "sha256-P2krpSkFVYJ89bgsnAZ9RtQiGwiTW77sfSJp9SEDscM=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "e1fd7350f4410972bcb8c42a697d8c924ffe642a", + "lastModified": 1776169885, + "narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", "type": "github" }, "original": { - "owner": "nix-community", - "ref": "release-25.11", - "repo": "home-manager", + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, - "ixx": { - "inputs": { - "flake-utils": [ - "nixvim", - "nuschtosSearch", - "flake-utils" - ], - "nixpkgs": [ - "nixvim", - "nuschtosSearch", - "nixpkgs" - ] + "nixpkgs-unstable": { + "locked": { + "lastModified": 1780243769, + "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", + "type": "github" }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { - "lastModified": 1754860581, - "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "lastModified": 1779971959, + "narHash": "sha256-R5nauXyqyfRUFiZycFFZdkF7wl6eaUpPLst35+2nJQY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ec942ba042dad5ef097e2ef3a3effc034241f011", "type": "github" }, "original": { - "owner": "NuschtOS", - "ref": "v0.1.1", - "repo": "ixx", + "owner": "NixOS", + "ref": "nixos-26.05", + "repo": "nixpkgs", "type": "github" } }, - "nixpkgs": { + "nixpkgs_3": { "locked": { - "lastModified": 1778430510, - "narHash": "sha256-Ti+ZBvW6yrWWAg2szExVTwCd4qOJ3KlVr1tFHfyfi8Q=", + "lastModified": 1780453794, + "narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8fd9daa3db09ced9700431c5b7ad0e8ba199b575", + "rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-25.11", + "ref": "nixos-26.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs_4": { + "locked": { + "lastModified": 1780453794, + "narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-26.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { - "lastModified": 1778443072, - "narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", + "lastModified": 1780243769, + "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", + "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", "type": "github" }, "original": { @@ -140,50 +154,40 @@ "type": "github" } }, - "nixvim": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], - "nuschtosSearch": "nuschtosSearch", - "systems": "systems_2" - }, + "nixpkgs_6": { "locked": { - "lastModified": 1769049374, - "narHash": "sha256-h0Os2qqNyycDY1FyZgtbn28VF1ySP74/n0f+LDd8j+w=", - "owner": "nix-community", - "repo": "nixvim", - "rev": "b8f76bf5751835647538ef8784e4e6ee8deb8f95", + "lastModified": 1780243769, + "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", "type": "github" }, "original": { - "owner": "nix-community", - "ref": "nixos-25.11", - "repo": "nixvim", + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, - "nuschtosSearch": { + "nixvim": { "inputs": { - "flake-utils": "flake-utils", - "ixx": "ixx", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_4", + "systems": "systems" }, "locked": { - "lastModified": 1768249818, - "narHash": "sha256-ANfn5OqIxq3HONPIXZ6zuI5sLzX1sS+2qcf/Pa0kQEc=", - "owner": "NuschtOS", - "repo": "search", - "rev": "b6f77b88e9009bfde28e2130e218e5123dc66796", + "lastModified": 1780766315, + "narHash": "sha256-KeuY7VKvH1Bq7mrhaxCDVMlGnDlXRbmZCasG+ufee1c=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "ef82d28845422339c4ca1d8ed7b7034b857f416d", "type": "github" }, "original": { - "owner": "NuschtOS", - "repo": "search", + "owner": "nix-community", + "ref": "nixos-26.05", + "repo": "nixvim", "type": "github" } }, @@ -191,7 +195,7 @@ "inputs": { "blueprint": "blueprint", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", "webtray": "webtray", @@ -213,33 +217,16 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "webtray": { "inputs": { - "nixpkgs": [ - "nixpkgs-unstable" - ] + "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1773216018, - "narHash": "sha256-TnxjNNv9h2hyMLUDjkAqE8NYZ8FwADJqAiXKg/wYDrs=", + "lastModified": 1780768460, + "narHash": "sha256-qW81iPQSacG01SoUdnOp7a6xrG4oM1abAwORuo/6oRw=", "ref": "refs/heads/master", - "rev": "558f6cf92b9c9d3cd3ff8f36c49de11dd99d20ca", - "revCount": 49, + "rev": "0f68823dd92bf809d6449d6bc8f8a89d40faeafb", + "revCount": 50, "type": "git", "url": "https://git.nathanreiner.xyz/webtray" }, @@ -250,16 +237,14 @@ }, "wofi-pass": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1726842078, - "narHash": "sha256-KBl1YlZNpM2UXh+52Mu05l5WnFKrGB9rxwKUTbch6cA=", + "lastModified": 1780768688, + "narHash": "sha256-CMkWnJ8gJh88ZaTO5M961EHys7uPc1vBX6OrENlJka8=", "ref": "refs/heads/master", - "rev": "e0def1ed8657c2289493b77fcc06f54f0dfe1fae", - "revCount": 2, + "rev": "be3eab6f09aa7c8f615bbc129dc4bf2bada7dbc7", + "revCount": 4, "type": "git", "url": "https://git.nathanreiner.xyz/wofi-pass" }, diff --git a/flake.nix b/flake.nix index a3fac75..45aec5c 100644 --- a/flake.nix +++ b/flake.nix @@ -2,40 +2,35 @@ description = "n8 NixOS Configuration Flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { - url = "github:/nix-community/home-manager/release-25.11"; - inputs.nixpkgs.follows = "nixpkgs"; + url = "github:/nix-community/home-manager/release-26.05"; }; nixvim = { - url = "github:/nix-community/nixvim/nixos-25.11"; - inputs.nixpkgs.follows = "nixpkgs"; + url = "github:/nix-community/nixvim/nixos-26.05"; }; webtray = { url = "git+https://git.nathanreiner.xyz/webtray"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; }; wofi-pass = { url = "git+https://git.nathanreiner.xyz/wofi-pass"; - inputs.nixpkgs.follows = "nixpkgs"; }; blueprint = { url = "git+https://git.nathanreiner.xyz/blueprint"; - inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, nixpkgs-unstable, webtray, ... }@attrs: let - system = "x86_64-linux"; + localSystem = { system = "x86_64-linux"; }; pkgs = import nixpkgs { - stdenv.hostPlatform = { inherit system; }; + inherit localSystem; }; overlay-unstable = final: prev: { unstable = import nixpkgs-unstable { - system = prev.stdenv.hostPlatform.system; + inherit localSystem; config.allowUnfree = true; }; }; diff --git a/hosts/workstation/default.nix b/hosts/workstation/default.nix index 6e63dae..69ff662 100644 --- a/hosts/workstation/default.nix +++ b/hosts/workstation/default.nix @@ -81,13 +81,6 @@ }; }; - usbauth = { - enable = true; - device = "root"; - uuid = "543f281c-4feb-4a5a-b51b-99114fa4b8a1"; - keyname = "n8"; - }; - hardware.graphics = { enable = true; enable32Bit = true; diff --git a/hosts/workstation/hardware.nix b/hosts/workstation/hardware.nix index 7f12b5a..2f91bf3 100644 --- a/hosts/workstation/hardware.nix +++ b/hosts/workstation/hardware.nix @@ -45,7 +45,9 @@ modulesPath, fsType = "btrfs"; }; - boot.initrd.luks.devices."root".device = "/dev/disk/by-uuid/df2e1c34-093a-4678-9665-8c96ca42b1a2"; + boot.initrd.luks.devices."root" = { + device = "/dev/disk/by-uuid/df2e1c34-093a-4678-9665-8c96ca42b1a2"; + }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/72B1-F610"; diff --git a/modules/usbauth/default.nix b/modules/usbauth/default.nix index 1784221..7054efa 100644 --- a/modules/usbauth/default.nix +++ b/modules/usbauth/default.nix @@ -1,37 +1,41 @@ { - config, - lib, - modulesPath, - pkgs, - ... + config, + lib, + modulesPath, + pkgs, + ... }: { - imports = [ (modulesPath + "/profiles/all-hardware.nix") ]; + imports = [ (modulesPath + "/profiles/all-hardware.nix") ]; - options.usbauth = lib.mkOption { - description = "USB Auth"; - type = lib.types.submodule { - options = { - enable = lib.mkOption { type = lib.types.bool; }; - device = lib.mkOption { type = lib.types.str; }; - keyname = lib.mkOption { type = lib.types.str; }; - uuid = lib.mkOption { type = lib.types.str; }; - }; - }; - }; + options.usbauth = lib.mkOption { + description = "USB Auth"; + type = lib.types.submodule { + options = { + enable = lib.mkOption { type = lib.types.bool; default = false; }; + device = lib.mkOption { type = lib.types.str; }; + keyname = lib.mkOption { type = lib.types.str; }; + uuid = lib.mkOption { type = lib.types.str; }; + }; + }; + }; - config = lib.mkIf config.usbauth.enable { - boot.initrd.postDeviceCommands = pkgs.lib.mkBefore '' - mkdir -m 0755 -p /key - while ! findfs UUID=${config.usbauth.uuid} 2> /dev/null; do sleep 0.1; done > /dev/null - cryptsetup open $(findfs UUID=${config.usbauth.uuid}) _key - mount -o ro "/dev/mapper/_key" /key - ''; + config = lib.mkIf config.usbauth.enable { + boot.initrd.systemd.services.usb-auth-setup = { + description = "USBAuth Setup"; + before = [ "cryptsetup-pre.target" ]; - boot.initrd.luks.devices."${config.usbauth.device}" = { - keyFile = "/key/.keys/${config.usbauth.keyname}"; - preLVM = false; - }; - }; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.bash}/bin/bash ${./usbauth.sh} ${config.usbauth.uuid}"; + }; + + wantedBy = [ "sysinit.target" ]; + }; + + boot.initrd.luks.devices."${config.usbauth.device}" = { + keyFile = "/key/.keys/${config.usbauth.keyname}"; + }; + }; } diff --git a/modules/usbauth/usbauth.sh b/modules/usbauth/usbauth.sh new file mode 100644 index 0000000..b88954c --- /dev/null +++ b/modules/usbauth/usbauth.sh @@ -0,0 +1,6 @@ +UUID=$1 + +mkdir -m 0755 -p /key +while ! findfs UUID=$UUID 2> /dev/null; do sleep 0.1; done > /dev/null +cryptsetup open $(findfs UUID=$UUID) _key +mount -o ro "/dev/mapper/_key" /key -- cgit v1.2.3-70-g09d2