summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/default.nix2
-rw-r--r--common/home/default.nix11
-rw-r--r--common/home/hyprland/default.nix11
-rw-r--r--common/home/programs/firefox/default.nix3
-rw-r--r--common/home/programs/waybar/default.nix2
-rw-r--r--common/home/services/hyprpaper/default.nix19
-rw-r--r--flake.lock231
-rw-r--r--flake.nix17
-rw-r--r--hosts/workstation/default.nix7
-rw-r--r--hosts/workstation/hardware.nix4
-rw-r--r--modules/usbauth/default.nix62
-rw-r--r--modules/usbauth/usbauth.sh6
12 files changed, 185 insertions, 190 deletions
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