From 532c97cf00548bbc689e684e91981632aaf87776 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Sun, 29 Jun 2025 14:50:34 -0500 Subject: [PATCH] so much organization --- flake.lock | 88 ++----- flake.nix | 84 ++++--- hosts/base/base-gui/default.nix | 8 + hosts/base/base-gui/hardware.nix | 11 + .../base/base-gui/programs.nix | 20 +- {base => hosts/base}/base-gui/services.nix | 0 {base => hosts/base}/base-nogui/boot.nix | 0 {base => hosts/base}/base-nogui/default.nix | 28 +-- .../base}/base-nogui/environment.nix | 0 hosts/base/base-nogui/hardware.nix | 12 + .../base}/base-nogui/nix-settings.nix | 0 hosts/base/base-nogui/programs.nix | 15 ++ {base => hosts/base}/base-nogui/security.nix | 0 {base => hosts/base}/base-nogui/services.nix | 0 {base => hosts/base}/default.nix | 0 {base => hosts/base}/options.nix | 0 hosts/deck/configuration.nix | 1 - hosts/deck/home.nix | 2 +- hosts/default.nix | 233 ------------------ hosts/desktop/configuration.nix | 58 ----- hosts/desktop/netboot.nix | 206 ---------------- hosts/desktop/nix.nix | 3 - hosts/nas/configuration.nix | 1 - hosts/pi4/configuration.nix | 6 - hosts/pi5/configuration.nix | 1 - {share => modules}/amd/default.nix | 0 {share => modules}/amd/options.nix | 0 .../hyprland/config/btop/default.nix | 86 +++---- .../hyprland/config/hypr/default.nix | 23 +- .../hyprland/config/kitty/default.nix | 86 +++---- .../hyprland/config/mako/default.nix | 12 +- .../hyprland/config/nwg-dock/default.nix | 12 +- .../hyprland/config/nwg-drawer/default.nix | 14 +- .../hyprland/config/nwg-panel/default.nix | 10 +- .../hyprland/config/waybar/default.nix | 78 +++--- .../hyprland/config/wlogout/default.nix | 12 +- .../hyprland/config/wofi/default.nix | 34 +-- .../desktop-environments/hyprland/default.nix | 36 +-- .../hyprland/environment.nix | 1 + .../desktop-environments/hyprland/home.nix | 69 +++--- .../hyprland/{theme.nix => settings.nix} | 3 + {share => modules}/disko/disko.nix | 0 {share => modules}/disko/pi-uefi-disko.nix | 0 {share => modules}/gaming/default.nix | 0 {share => modules}/gaming/options.nix | 0 {share => modules}/home/defaults.nix | 0 {share => modules}/home/git.nix | 0 {share => modules}/home/gnome.nix | 0 {share => modules}/home/librewolf.nix | 0 {share => modules}/home/office.nix | 0 {share => modules}/home/shell.nix | 0 {share => modules}/home/vscode.nix | 0 {share => modules}/impermanence/default.nix | 0 {share => modules}/nvidia/default.nix | 0 {share => modules}/nvidia/options.nix | 0 {share => modules}/root-user/default.nix | 0 share/default.nix | 8 - test.sh | 85 ------- 58 files changed, 354 insertions(+), 992 deletions(-) create mode 100644 hosts/base/base-gui/default.nix create mode 100644 hosts/base/base-gui/hardware.nix rename base/base-gui/default.nix => hosts/base/base-gui/programs.nix (64%) rename {base => hosts/base}/base-gui/services.nix (100%) rename {base => hosts/base}/base-nogui/boot.nix (100%) rename {base => hosts/base}/base-nogui/default.nix (51%) rename {base => hosts/base}/base-nogui/environment.nix (100%) create mode 100644 hosts/base/base-nogui/hardware.nix rename {base => hosts/base}/base-nogui/nix-settings.nix (100%) create mode 100644 hosts/base/base-nogui/programs.nix rename {base => hosts/base}/base-nogui/security.nix (100%) rename {base => hosts/base}/base-nogui/services.nix (100%) rename {base => hosts/base}/default.nix (100%) rename {base => hosts/base}/options.nix (100%) delete mode 100755 hosts/default.nix delete mode 100644 hosts/desktop/netboot.nix rename {share => modules}/amd/default.nix (100%) rename {share => modules}/amd/options.nix (100%) rename modules/desktop-environments/hyprland/{theme.nix => settings.nix} (99%) rename {share => modules}/disko/disko.nix (100%) rename {share => modules}/disko/pi-uefi-disko.nix (100%) rename {share => modules}/gaming/default.nix (100%) rename {share => modules}/gaming/options.nix (100%) rename {share => modules}/home/defaults.nix (100%) rename {share => modules}/home/git.nix (100%) rename {share => modules}/home/gnome.nix (100%) rename {share => modules}/home/librewolf.nix (100%) rename {share => modules}/home/office.nix (100%) rename {share => modules}/home/shell.nix (100%) rename {share => modules}/home/vscode.nix (100%) rename {share => modules}/impermanence/default.nix (100%) rename {share => modules}/nvidia/default.nix (100%) rename {share => modules}/nvidia/options.nix (100%) rename {share => modules}/root-user/default.nix (100%) delete mode 100755 share/default.nix delete mode 100755 test.sh diff --git a/flake.lock b/flake.lock index 4cc7bcd..3883233 100755 --- a/flake.lock +++ b/flake.lock @@ -260,25 +260,6 @@ "type": "github" } }, - "edit": { - "inputs": { - "nixpkgs": "nixpkgs_2", - "rust-overlay": "rust-overlay_4" - }, - "locked": { - "lastModified": 1749050246, - "narHash": "sha256-1C6r6XTZTKOjdrJNDNPQvUW6Kh3TEBFuFs18uQn+d/Q=", - "ref": "refs/heads/master", - "rev": "b47344a028809b471f6106780fef6e8cd690d1ab", - "revCount": 2, - "type": "git", - "url": "https://gitea.mjallen.dev/mjallen/ms-edit-nix" - }, - "original": { - "type": "git", - "url": "https://gitea.mjallen.dev/mjallen/ms-edit-nix" - } - }, "flake-compat": { "flake": false, "locked": { @@ -788,7 +769,7 @@ "nas-nixpkgs-stable" ], "nixpkgs-stable": "nixpkgs-stable_3", - "rust-overlay": "rust-overlay_5" + "rust-overlay": "rust-overlay_4" }, "locked": { "lastModified": 1750590485, @@ -869,7 +850,7 @@ "nas-nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix_2", - "rust-overlay": "rust-overlay_6" + "rust-overlay": "rust-overlay_5" }, "locked": { "lastModified": 1737639419, @@ -889,7 +870,7 @@ "nas-nix-vscode-extensions": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1749002682, @@ -908,7 +889,7 @@ "nas-nixai": { "inputs": { "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1749000216, @@ -1110,7 +1091,7 @@ "inputs": { "argononed": "argononed", "nixos-images": "nixos-images", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1749156319, @@ -1286,21 +1267,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1749048037, - "narHash": "sha256-bcugmD6yaFBzlmq7XmYJmQ/IpsJkIL/HBo7moDkTGQc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7569eca88e82f75c4ddb1ed2def9b2975844179a", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1744868846, "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", @@ -1316,7 +1282,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1748693115, "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", @@ -1332,7 +1298,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1748882666, "narHash": "sha256-z2uanxifOXGEqdiprquIGZu0XaRYih3FHXDQwLc1xis=", @@ -1348,7 +1314,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1750506804, "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=", @@ -1479,7 +1445,7 @@ "pi5-nixpkgs" ], "nixpkgs-stable": "nixpkgs-stable_6", - "rust-overlay": "rust-overlay_7" + "rust-overlay": "rust-overlay_6" }, "locked": { "lastModified": 1749770917, @@ -1745,7 +1711,6 @@ "desktop-nixpkgs": "desktop-nixpkgs", "desktop-sops-nix": "desktop-sops-nix", "desktop-steam-rom-manager": "desktop-steam-rom-manager", - "edit": "edit", "nas-authentik-nix": "nas-authentik-nix", "nas-cosmic": "nas-cosmic", "nas-crowdsec": "nas-crowdsec", @@ -1851,27 +1816,6 @@ } }, "rust-overlay_4": { - "inputs": { - "nixpkgs": [ - "edit", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1749004659, - "narHash": "sha256-zaZrcC5UwHPGkgfnhTPx5sZfSSnUJdvYHhgex10RadQ=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "c52e346aedfa745564599558a096e88f9a5557f9", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_5": { "inputs": { "nixpkgs": [ "nas-cosmic", @@ -1892,7 +1836,7 @@ "type": "github" } }, - "rust-overlay_6": { + "rust-overlay_5": { "inputs": { "nixpkgs": [ "nas-lanzaboote", @@ -1913,7 +1857,7 @@ "type": "github" } }, - "rust-overlay_7": { + "rust-overlay_6": { "inputs": { "nixpkgs": [ "pi5-cosmic", @@ -1934,7 +1878,7 @@ "type": "github" } }, - "rust-overlay_8": { + "rust-overlay_7": { "inputs": { "nixpkgs": [ "steamdeck-chaotic", @@ -1955,7 +1899,7 @@ "type": "github" } }, - "rust-overlay_9": { + "rust-overlay_8": { "inputs": { "nixpkgs": [ "steamdeck-lanzaboote", @@ -1981,8 +1925,8 @@ "flake-schemas": "flake-schemas_2", "home-manager": "home-manager_2", "jovian": "jovian_2", - "nixpkgs": "nixpkgs_6", - "rust-overlay": "rust-overlay_8" + "nixpkgs": "nixpkgs_5", + "rust-overlay": "rust-overlay_7" }, "locked": { "lastModified": 1750764101, @@ -2085,7 +2029,7 @@ "steamdeck-nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix_3", - "rust-overlay": "rust-overlay_9" + "rust-overlay": "rust-overlay_8" }, "locked": { "lastModified": 1737639419, diff --git a/flake.nix b/flake.nix index a64676b..845a119 100755 --- a/flake.nix +++ b/flake.nix @@ -283,8 +283,6 @@ # Common # ##################################################### - edit.url = "git+https://gitea.mjallen.dev/mjallen/ms-edit-nix"; - nixpkgs-unstable = { url = "github:NixOS/nixpkgs/nixos-unstable"; }; @@ -358,7 +356,6 @@ nix-darwin, # Common - edit, nixpkgs-unstable, nixpkgs-stable, }@inputs: @@ -376,10 +373,16 @@ inherit inputs outputs; }; modules = [ - ./base/base-nogui - ./base/base-gui + ./hosts/base/base-nogui + ./hosts/base/base-gui ./hosts/desktop/configuration.nix + ./modules/desktop-environments/gnome + ./modules/desktop-environments/cosmic/specialisation.nix + ./modules/desktop-environments/hyprland/specialisation.nix + + ./modules/amd + ./modules/gaming # Lanzaboote desktop-lanzaboote.nixosModules.lanzaboote @@ -389,7 +392,7 @@ # Impermanence desktop-impermanence.nixosModules.impermanence - ./share/impermanence + ./modules/impermanence desktop-sops-nix.nixosModules.sops @@ -403,13 +406,13 @@ { imports = [ ./hosts/desktop/home.nix - ./share/home/defaults.nix - ./share/home/git.nix - ./share/home/gnome.nix - ./share/home/librewolf.nix - ./share/home/office.nix - ./share/home/shell.nix - ./share/home/vscode.nix + ./modules/home/defaults.nix + ./modules/home/git.nix + ./modules/home/gnome.nix + ./modules/home/librewolf.nix + ./modules/home/office.nix + ./modules/home/shell.nix + ./modules/home/vscode.nix desktop-steam-rom-manager.homeManagerModules.default desktop-sops-nix.homeManagerModules.sops ]; @@ -418,7 +421,7 @@ { ... }: { imports = [ - ./share/root-user + ./modules/root-user desktop-sops-nix.homeManagerModules.sops ]; }; @@ -442,10 +445,11 @@ inherit inputs outputs; }; modules = [ - ./base/base-nogui - ./base/base-gui + ./hosts/base/base-nogui + ./hosts/base/base-gui ./hosts/nas/configuration.nix ./modules/desktop-environments/cosmic + ./modules/nvidia nas-lanzaboote.nixosModules.lanzaboote @@ -465,11 +469,11 @@ { imports = [ ./hosts/nas/home.nix - ./share/home/defaults.nix - ./share/home/git.nix - ./share/home/librewolf.nix - ./share/home/shell.nix - ./share/home/vscode.nix + ./modules/home/defaults.nix + ./modules/home/git.nix + ./modules/home/librewolf.nix + ./modules/home/shell.nix + ./modules/home/vscode.nix nas-sops-nix.homeManagerModules.sops # nas-nixai.homeManagerModules.x86_64-linux.default ]; @@ -478,7 +482,7 @@ { ... }: { imports = [ - ./share/root-user + ./modules/root-user nas-sops-nix.homeManagerModules.sops ]; }; @@ -518,8 +522,8 @@ }; system = "aarch64-linux"; modules = [ - ./base/base-nogui - ./base/base-gui + ./hosts/base/base-nogui + ./hosts/base/base-gui pi5-disko.nixosModules.disko ./hosts/pi5/disko.nix pi5-cosmic.nixosModules.default @@ -553,7 +557,7 @@ { ... }: { imports = [ - ./share/root-user + ./modules/root-user pi5-sops-nix.homeManagerModules.sops ]; }; @@ -569,9 +573,9 @@ }; system = "aarch64-linux"; modules = [ - ./base/base-nogui + ./hosts/base/base-nogui pi4-disko.nixosModules.disko - ./share/disko/pi-uefi-disko.nix + ./modules/disko/pi-uefi-disko.nix pi4-nixos-hardware.nixosModules.raspberry-pi-4 { # Hardware specific configuration, see section below for a more complete @@ -603,7 +607,7 @@ { ... }: { imports = [ - ./share/root-user + ./modules/root-user pi4-sops-nix.homeManagerModules.sops ]; }; @@ -617,18 +621,18 @@ inherit inputs outputs; }; modules = [ - ./base/base-nogui - ./base/base-gui + ./hosts/base/base-nogui + ./hosts/base/base-gui ./hosts/deck/configuration.nix ./modules/desktop-environments/gnome steamdeck-lanzaboote.nixosModules.lanzaboote steamdeck-disko.nixosModules.disko - ./share/disko/disko.nix + ./modules/disko/disko.nix steamdeck-impermanence.nixosModules.impermanence - ./share/impermanence + ./modules/impermanence steamdeck-home-manager.nixosModules.home-manager { @@ -639,13 +643,13 @@ { imports = [ ./hosts/deck/home.nix - ./share/home/defaults.nix - ./share/home/git.nix - ./share/home/gnome.nix - ./share/home/librewolf.nix - ./share/home/office.nix - ./share/home/shell.nix - ./share/home/vscode.nix + ./modules/home/defaults.nix + ./modules/home/git.nix + ./modules/home/gnome.nix + ./modules/home/librewolf.nix + ./modules/home/office.nix + ./modules/home/shell.nix + ./modules/home/vscode.nix steamdeck-sops-nix.homeManagerModules.sops steamdeck-steam-rom-manager.homeManagerModules.default ]; @@ -654,7 +658,7 @@ { ... }: { imports = [ - ./share/root-user + ./modules/root-user steamdeck-sops-nix.homeManagerModules.sops ]; }; diff --git a/hosts/base/base-gui/default.nix b/hosts/base/base-gui/default.nix new file mode 100644 index 0000000..b4d14d9 --- /dev/null +++ b/hosts/base/base-gui/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + imports = [ + ./hardware.nix + ./programs.nix + ./services.nix + ]; +} \ No newline at end of file diff --git a/hosts/base/base-gui/hardware.nix b/hosts/base/base-gui/hardware.nix new file mode 100644 index 0000000..1b3aa0a --- /dev/null +++ b/hosts/base/base-gui/hardware.nix @@ -0,0 +1,11 @@ +{ lib, ... }: +{ + # Hardware configs + hardware = { + # Enable graphics + graphics = { + enable = lib.mkDefault true; + enable32Bit = lib.mkDefault true; + }; + }; +} \ No newline at end of file diff --git a/base/base-gui/default.nix b/hosts/base/base-gui/programs.nix similarity index 64% rename from base/base-gui/default.nix rename to hosts/base/base-gui/programs.nix index 38d50f4..7d01242 100644 --- a/base/base-gui/default.nix +++ b/hosts/base/base-gui/programs.nix @@ -1,10 +1,8 @@ -{ pkgs, ... }: +{ lib, pkgs, ... }: { - imports = [ ./services.nix ]; - programs = { nix-ld = { - enable = true; + enable = lib.mkDefault true; libraries = with pkgs; [ alsa-lib bash @@ -29,15 +27,5 @@ zlib ]; }; - seahorse.enable = true; - }; - - # Hardware configs - hardware = { - # Enable graphics - graphics = { - enable = true; - enable32Bit = true; - }; - }; -} \ No newline at end of file + seahorse.enable = lib.mkDefault true; + };} \ No newline at end of file diff --git a/base/base-gui/services.nix b/hosts/base/base-gui/services.nix similarity index 100% rename from base/base-gui/services.nix rename to hosts/base/base-gui/services.nix diff --git a/base/base-nogui/boot.nix b/hosts/base/base-nogui/boot.nix similarity index 100% rename from base/base-nogui/boot.nix rename to hosts/base/base-nogui/boot.nix diff --git a/base/base-nogui/default.nix b/hosts/base/base-nogui/default.nix similarity index 51% rename from base/base-nogui/default.nix rename to hosts/base/base-nogui/default.nix index d2f2256..e17276f 100644 --- a/base/base-nogui/default.nix +++ b/hosts/base/base-nogui/default.nix @@ -6,43 +6,19 @@ in imports = [ ./boot.nix ./environment.nix + ./hardware.nix ./nix-settings.nix + ./programs.nix ./security.nix ./services.nix - ../../share ]; - # Hardware configs - hardware = { - # Bluetooth - bluetooth.enable = lib.mkDefault true; - - i2c.enable = true; - - # Enable all firmware - enableAllFirmware = lib.mkForce true; - }; - # Time config time = { # Set your time zone. timeZone = timezone; }; - programs = { - zsh.enable = lib.mkDefault true; - gnupg.agent = { - enable = lib.mkDefault true; - enableSSHSupport = lib.mkDefault true; - }; - command-not-found.enable = lib.mkForce false; - nix-index = { - enable = true; - enableBashIntegration = false; - enableZshIntegration = true; - }; - }; - fonts.packages = with pkgs; [ font-awesome noto-fonts diff --git a/base/base-nogui/environment.nix b/hosts/base/base-nogui/environment.nix similarity index 100% rename from base/base-nogui/environment.nix rename to hosts/base/base-nogui/environment.nix diff --git a/hosts/base/base-nogui/hardware.nix b/hosts/base/base-nogui/hardware.nix new file mode 100644 index 0000000..f6c6ecd --- /dev/null +++ b/hosts/base/base-nogui/hardware.nix @@ -0,0 +1,12 @@ +{ lib, ... }: +{ + hardware = { + # Bluetooth + bluetooth.enable = lib.mkDefault true; + + i2c.enable = lib.mkDefault true; + + # Enable all firmware + enableAllFirmware = lib.mkForce true; + }; +} diff --git a/base/base-nogui/nix-settings.nix b/hosts/base/base-nogui/nix-settings.nix similarity index 100% rename from base/base-nogui/nix-settings.nix rename to hosts/base/base-nogui/nix-settings.nix diff --git a/hosts/base/base-nogui/programs.nix b/hosts/base/base-nogui/programs.nix new file mode 100644 index 0000000..9bdba54 --- /dev/null +++ b/hosts/base/base-nogui/programs.nix @@ -0,0 +1,15 @@ +{ lib, ... }: +{ + programs = { + zsh.enable = lib.mkDefault true; + gnupg.agent = { + enable = lib.mkDefault true; + enableSSHSupport = lib.mkDefault true; + }; + nix-index = { + enable = lib.mkDefault true; + enableBashIntegration = lib.mkDefault false; + enableZshIntegration = lib.mkDefault true; + }; + }; +} \ No newline at end of file diff --git a/base/base-nogui/security.nix b/hosts/base/base-nogui/security.nix similarity index 100% rename from base/base-nogui/security.nix rename to hosts/base/base-nogui/security.nix diff --git a/base/base-nogui/services.nix b/hosts/base/base-nogui/services.nix similarity index 100% rename from base/base-nogui/services.nix rename to hosts/base/base-nogui/services.nix diff --git a/base/default.nix b/hosts/base/default.nix similarity index 100% rename from base/default.nix rename to hosts/base/default.nix diff --git a/base/options.nix b/hosts/base/options.nix similarity index 100% rename from base/options.nix rename to hosts/base/options.nix diff --git a/hosts/deck/configuration.nix b/hosts/deck/configuration.nix index 9b39307..e7964ae 100755 --- a/hosts/deck/configuration.nix +++ b/hosts/deck/configuration.nix @@ -7,7 +7,6 @@ { imports = [ - ../default.nix ./boot.nix ./jovian.nix ./networking.nix diff --git a/hosts/deck/home.nix b/hosts/deck/home.nix index 0f88bac..b2bae0a 100755 --- a/hosts/deck/home.nix +++ b/hosts/deck/home.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: let shellAliases = { update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18"; diff --git a/hosts/default.nix b/hosts/default.nix deleted file mode 100755 index 5a06e66..0000000 --- a/hosts/default.nix +++ /dev/null @@ -1,233 +0,0 @@ -{ lib, pkgs, outputs, ... }: -let - timezone = "America/Chicago"; - - update-script = pkgs.writeScriptBin "update" '' - #!/usr/bin/env bash - set -euo pipefail - - # ===== Config ===== - REPO_DIR="/etc/nixos" - HOST=$(hostname) - FLAKE="$REPO_DIR#$HOST" - PROFILE_DIR="/nix/var/nix/profiles/system-profiles" - - # ===== Parse arguments ===== - MODE=''${1:-"switch"} - VALID_MODES=("boot" "switch" "test" "build") - if [[ ! " ''${VALID_MODES[*]} " =~ " $MODE " ]]; then - echo "❌ Invalid mode: '$MODE'. Use one of: $VALID_MODES[*]" - exit 1 - fi - - # ===== Git status check ===== - cd "$REPO_DIR" - DIRTY_TAG= - if [[ -n "$(git status --porcelain)" ]]; then - echo "⚠️ Git repo is dirty — rebuilding with dirty tag." - DIRTY_TAG="dirty-" - fi - - SHORT_HASH=$(git rev-parse --short HEAD) - COMMIT_MSG=$(git log -1 --pretty=%s | tr ' ' '_' | tr -dc '[:alnum:]_-') - TIMESTAMP=$(date -u +%Y%m%dT%H%M%SZ) - PROFILE_NAME=$TIMESTAMP-$DIRTY_TAG$SHORT_HASH-$COMMIT_MSG - echo "✅ Building profile: $PROFILE_NAME" - - # Use --profile-name only when MODE is 'switch' or 'boot' - if [[ "$MODE" == "switch" || "$MODE" == "boot" ]]; then - sudo nixos-rebuild "$MODE" --flake "$FLAKE" --profile-name "$PROFILE_NAME" - else - sudo nixos-rebuild "$MODE" --flake "$FLAKE" - fi - ''; -in -{ - imports = [ - ../share - ]; - - # Enable nix flakes and nix-command tools - nix = { - settings = { - substituters = [ - "https://nix-community.cachix.org" - "https://cache.nixos.org/" - ]; - trusted-public-keys = [ - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - ]; - warn-dirty = lib.mkForce false; - experimental-features = lib.mkForce [ - "nix-command" - "flakes" - ]; - trusted-users = [ "@wheel" ]; - }; - - # Garbage collect automatically every week - gc.automatic = lib.mkDefault true; - gc.options = lib.mkDefault "--delete-older-than 30d"; - - optimise.automatic = lib.mkDefault true; - }; - - # Nixpkgs configuration - nixpkgs = { - # add unstable and stable overlays - overlays = [ - outputs.overlays.nixpkgs-unstable - outputs.overlays.nixpkgs-stable - ]; - config = { - allowUnfree = lib.mkForce true; - permittedInsecurePackages = [ - # ... - ]; - }; - }; - - # Hardware configs - hardware = { - # Bluetooth - bluetooth.enable = lib.mkDefault true; - - # Enable all firmware - enableAllFirmware = lib.mkForce true; - }; - - # Services configs - services = { - openssh.enable = lib.mkDefault true; - - # Enable firmware updates - fwupd.enable = lib.mkForce true; - - fstrim.enable = lib.mkDefault true; - - pcscd.enable = lib.mkDefault true; - - # Enable CUPS to print documents. - printing.enable = lib.mkDefault true; - - # configure pipewire - pipewire = { - enable = lib.mkDefault true; - alsa.enable = lib.mkDefault true; - alsa.support32Bit = lib.mkDefault true; - pulse.enable = lib.mkDefault true; - }; - - # Enable Avahi for .local hostname resolution - avahi = { - enable = lib.mkDefault true; - nssmdns4 = lib.mkDefault true; # For modern systems, use nssmdns4 instead of nssmdns - publish = { - enable = lib.mkDefault true; - addresses = lib.mkDefault true; - domain = lib.mkDefault true; - workstation = lib.mkDefault true; - }; - }; - }; - - # Time config - time = { - # Set your time zone. - timeZone = timezone; - }; - - boot = { - # Enable AppImage - binfmt.registrations.appimage = { - wrapInterpreterInShell = lib.mkDefault false; - interpreter = "${pkgs.appimage-run}/bin/appimage-run"; - recognitionType = "magic"; - offset = 0; - mask = "\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\xff\\xff\\xff"; - magicOrExtension = "\\x7fELF....AI\\x02"; - }; - }; - - programs = { - zsh.enable = lib.mkDefault true; - gnupg.agent = { - enable = lib.mkDefault true; - enableSSHSupport = lib.mkDefault true; - }; - command-not-found.enable = lib.mkForce false; - nix-index = { - enable = true; - enableBashIntegration = false; - enableZshIntegration = true; - }; - }; - - environment.systemPackages = with pkgs; [ - uutils-coreutils - uutils-diffutils - uutils-findutils - coreutils - update-script - nixd - pinentry-curses - ]; - - # users.mutableUsers = lib.mkDefault false; - - # Security config - security = { - - wrappers."mount.nfs" = { - setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.nfs-utils.out}/bin/mount.nfs"; - }; - - rtkit.enable = lib.mkDefault true; - - # configure sudo - sudo.enable = lib.mkDefault false; - sudo-rs = { - enable = lib.mkDefault true; - extraRules = [ - { - commands = [ - { - command = "${pkgs.systemd}/bin/systemctl suspend"; - options = [ "NOPASSWD" ]; - } - { - command = "${pkgs.systemd}/bin/reboot"; - options = [ "NOPASSWD" ]; - } - { - command = "${pkgs.systemd}/bin/poweroff"; - options = [ "NOPASSWD" ]; - } - ]; - groups = [ "wheel" ]; - } - ]; - }; - }; - - # This option defines the first version of NixOS you have installed on this particular machine, - # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. - # - # Most users should NEVER change this value after the initial install, for any reason, - # even if you've upgraded your system to a new NixOS release. - # - # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, - # so changing it will NOT upgrade your system. - # - # This value being lower than the current NixOS release does NOT mean your system is - # out of date, out of support, or vulnerable. - # - # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, - # and migrated your data accordingly. - # - # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . - system.stateVersion = "23.11"; # Did you read the comment? -} diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index a971db1..8fb3648 100755 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -33,7 +33,6 @@ let kdePackages.ksvg memtest86-efi memtest86plus - # occt os-prober nil qemu_full @@ -50,57 +49,6 @@ let unzip winetricks ]; - lactConfig = '' - daemon: - log_level: info - admin_groups: - - wheel - - sudo - disable_clocks_cleanup: false - apply_settings_timer: 5 - gpus: - 1002:73BF-1002:0E3A-0000:03:00.0: - fan_control_enabled: true - fan_control_settings: - mode: curve - static_speed: 1.0 - temperature_key: edge - interval_ms: 500 - curve: - 30: 0.0 - 40: 0.2 - 50: 0.35 - 60: 0.5 - 70: 0.75 - 80: 1.0 - spindown_delay_ms: 0 - change_threshold: 0 - pmfw_options: {} - power_cap: 293.0 - performance_level: auto - voltage_offset: 0 - power_states: {} - ''; - # occt = pkgs.stdenv.mkDerivation { - # pname = "occt"; - # version = "14.0.10"; - - # src = pkgs.fetchurl { - # url = "https://www.ocbase.com/download-bin/edition:Personal/os:Linux"; - # sha256 = "sha256-AomQNi7ODGaznFaHqxlFUcrV36QeLNC65MoCV2y6HZ8="; - # }; - - # dontUnpack = true; - - # buildPhase = '' - # mkdir -p $out/bin - # cp $src $out/bin/OCCT - # chmod +x $out/bin/OCCT - # ''; - - - # installPhase = "true"; - # }; in { imports = [ @@ -112,10 +60,6 @@ in ./services.nix ./sops.nix ./users.nix - ../default.nix - ../../modules/desktop-environments/cosmic/specialisation.nix - ../../modules/desktop-environments/hyprland/specialisation.nix - ../../share/amd ]; nix = { @@ -135,8 +79,6 @@ in environment = { systemPackages = systemPackages; - # etc."lact/config.yaml".text = lactConfig; - variables = environmentVariables; }; diff --git a/hosts/desktop/netboot.nix b/hosts/desktop/netboot.nix deleted file mode 100644 index 4eb553c..0000000 --- a/hosts/desktop/netboot.nix +++ /dev/null @@ -1,206 +0,0 @@ -{ config, lib, pkgs, ... }: -let - pkgsVersion = pkgs; #.unstable; - kernel = pkgs.linuxPackages_cachyos; - environmentVariables = { - STEAM_FORCE_DESKTOPUI_SCALING = "1.0"; - GDK_SCALE = "1"; - EDITOR = "${pkgs.vscodium}/bin/codium --wait"; - VISUAL = "${pkgs.vscodium}/bin/codium --wait"; - }; - systemPackages = with pkgsVersion; [ - aha - aspell - aspellDicts.en - aspellDicts.en-computers - aspellDicts.en-science - borgbackup - # brscan5 - efibootmgr - kdePackages.ksvg - memtest86-efi - memtest86plus - # occt - os-prober - nil - qemu_full - rclone - rclone-browser - restic - restic-browser - restic-integrity - sane-frontends - sbctl - tpm2-tools - tpm2-tss - udisks2 - unzip - winetricks - - edk2-uefi-shell - ]; - lactConfig = '' - daemon: - log_level: info - admin_groups: - - wheel - - sudo - disable_clocks_cleanup: false - apply_settings_timer: 5 - gpus: - 1002:73BF-1002:0E3A-0000:03:00.0: - fan_control_enabled: true - fan_control_settings: - mode: curve - static_speed: 1.0 - temperature_key: edge - interval_ms: 500 - curve: - 30: 0.0 - 40: 0.2 - 50: 0.35 - 60: 0.5 - 70: 0.75 - 80: 1.0 - spindown_delay_ms: 0 - change_threshold: 0 - pmfw_options: {} - power_cap: 293.0 - performance_level: auto - voltage_offset: 0 - power_states: {} - ''; -in -{ - imports = [ - ./filesystems.nix - ./networking.nix - ./nix.nix - ./services.nix - ./sops.nix - ./users.nix - ../default.nix - ../../share/amd - ]; - - nix = { - settings = { - substituters = [ - "https://cache.mjallen.dev" - ]; - trusted-public-keys = [ - "cache.mjallen.dev-1:IzFmKCd8/gggI6lcCXsW65qQwiCLGFFN9t9s2iw7Lvc=" - ]; - }; - }; - - chaotic.mesa-git.enable = true; - - # Environment configuration - environment = { - systemPackages = systemPackages; - - etc."lact/config.yaml".text = lactConfig; - - variables = environmentVariables; - }; - - # Hardware configuration - hardware = { - # Enable the QMK firmware flashing tool. - keyboard = { - qmk.enable = true; - }; - - # Enable Sane and Brother printer support. - sane = { - enable = true; - brscan5.enable = false; - # extraBackends = [ pkgsVersion.brscan5 ]; - }; - }; - - # Common Configuration - share = { - gaming.enable = true; - hardware.amd = { - enable = lib.mkDefault true; - lact.enable = lib.mkDefault true; - }; - }; - - programs.coolercontrol.enable = true; - - # Time configuration - time = { - hardwareClockInLocalTime = lib.mkDefault false; - }; - - # Virtualisation configuration - virtualisation = { - libvirtd.enable = lib.mkDefault true; - waydroid.enable = lib.mkDefault true; - }; - - # Network boot specifics - boot = { - initrd = { - network.enable = true; - supportedFilesystems = [ "tmpfs" "squashfs" ]; - # extraFiles."/.ro-store".source = "${config.system.build.toplevel}"; - systemd.enable = true; - availableKernelModules = [ - "xhci_pci" - "nvme" - "ahci" - "usbhid" - "uas" - "usb_storage" - "sd_mod" - ]; - }; - - loader = { - grub.enable = lib.mkForce false; - systemd-boot.enable = lib.mkForce false; # already replaced by lanzaboote; included explicitly for clarity - generic-extlinux-compatible.enable = lib.mkForce true; # required for PXE NetBoot - timeout = 0; - efi.canTouchEfiVariables = lib.mkForce false; - }; - kernelModules = [ - "nct6775" - "kvm-amd" - ]; - kernelParams = [ - "ip=dhcp" - "boot.shell_on_fail" - "quiet" - "splash" - # needed cause ssd powersaving is broken af I guess - "nvme_core.default_ps_max_latency_us=0" - "pcie_aspm=off" - ]; - - plymouth = { - enable = true; - }; - }; - - zramSwap.enable = true; - - networking.hostName = lib.mkForce "matt-netboot"; - - # Stateless filesystem (tmpfs) - fileSystems = lib.mkForce { - "/" = { - device = "tmpfs"; - fsType = "tmpfs"; - options = [ "defaults" "size=25%" ]; - }; - # "/nix" = { - # device = "/.ro-store"; - # fsType = "none"; - # options = [ "bind" "ro" ]; - # }; - }; -} \ No newline at end of file diff --git a/hosts/desktop/nix.nix b/hosts/desktop/nix.nix index 479dc2e..9fdd262 100644 --- a/hosts/desktop/nix.nix +++ b/hosts/desktop/nix.nix @@ -7,12 +7,9 @@ in settings = { substituters = [ "https://cache.mjallen.dev/nas-cache" - "https://nix-community.cachix.org" - "https://cache.nixos.org/" ]; trusted-public-keys = [ "nas-cache:5ibTWOXJYlKBaoNtdDEPmvdLPtfnbwf9jvdnfwi5dUs=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; warn-dirty = lib.mkForce false; experimental-features = lib.mkForce [ diff --git a/hosts/nas/configuration.nix b/hosts/nas/configuration.nix index cbf0e3b..ac7abdb 100755 --- a/hosts/nas/configuration.nix +++ b/hosts/nas/configuration.nix @@ -72,7 +72,6 @@ llama-cpp ninja inputs.nas-nixai.packages.x86_64-linux.nixai - inputs.edit.packages.${pkgs.system}.edit networkmanagerapplet nmon nut diff --git a/hosts/pi4/configuration.nix b/hosts/pi4/configuration.nix index 1c57ce0..b11e6c41 100755 --- a/hosts/pi4/configuration.nix +++ b/hosts/pi4/configuration.nix @@ -11,11 +11,9 @@ in { imports = [ ./adguard.nix - # ./argononed.nix ./boot.nix ./impermanence.nix ./networking.nix - # ./pi4-hw.nix ./sops.nix ]; @@ -86,10 +84,6 @@ in raspberrypiWirelessFirmware raspberrypi-armstubs ]; - # etc = { - # "ssh/ssh_host_ed25519_key".source = config.sops.secrets."pi4/sys-priv-key".path; - # "ssh/ssh_host_ed25519_key.pub".source = config.sops.secrets."pi4/sys-public-key".path; - # }; }; users = { diff --git a/hosts/pi5/configuration.nix b/hosts/pi5/configuration.nix index 1fc7cdb..fa25295 100755 --- a/hosts/pi5/configuration.nix +++ b/hosts/pi5/configuration.nix @@ -11,7 +11,6 @@ in { imports = [ ./boot.nix - # ./hardware-configuration.nix ./impermanence.nix ./networking.nix ./services.nix diff --git a/share/amd/default.nix b/modules/amd/default.nix similarity index 100% rename from share/amd/default.nix rename to modules/amd/default.nix diff --git a/share/amd/options.nix b/modules/amd/options.nix similarity index 100% rename from share/amd/options.nix rename to modules/amd/options.nix diff --git a/modules/desktop-environments/hyprland/config/btop/default.nix b/modules/desktop-environments/hyprland/config/btop/default.nix index b8ffb3e..d82f34f 100755 --- a/modules/desktop-environments/hyprland/config/btop/default.nix +++ b/modules/desktop-environments/hyprland/config/btop/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { programs.btop = { @@ -73,48 +73,48 @@ in }; themes = { nord = '' - theme[main_bg]="${theme.nord.polarNight.nord0}" - theme[main_fg]="${theme.nord.snowStorm.nord6}" - theme[title]="${theme.nord.snowStorm.nord6}" - theme[hi_fg]="${theme.nord.frost.nord7}" - theme[selected_bg]="${theme.nord.polarNight.nord1}" - theme[selected_fg]="${theme.nord.frost.nord7}" - theme[inactive_fg]="${theme.nord.polarNight.nord2}" - theme[graph_text]="${theme.nord.snowStorm.nord6}" - theme[meter_bg]="${theme.nord.polarNight.nord1}" - theme[proc_misc]="${theme.nord.snowStorm.nord6}" - theme[cpu_box]="${theme.nord.aurora.nord15}" - theme[mem_box]="${theme.nord.aurora.nord14}" - theme[net_box]="${theme.nord.aurora.nord12}" - theme[proc_box]="${theme.nord.aurora.nord11}" - theme[div_line]="${theme.nord.polarNight.nord1}" - theme[temp_start]="${theme.nord.aurora.nord14}" - theme[temp_mid]="${theme.nord.aurora.nord13}" - theme[temp_end]="${theme.nord.aurora.nord11}" - theme[cpu_start]="${theme.nord.aurora.nord15}" - theme[cpu_mid]="${theme.nord.aurora.nord12}" - theme[cpu_end]="${theme.nord.aurora.nord11}" - theme[free_start]="${theme.nord.aurora.nord14}" - theme[free_mid]="${theme.nord.aurora.nord13}" - theme[free_end]="${theme.nord.aurora.nord12}" - theme[cached_start]="${theme.nord.aurora.nord14}" - theme[cached_mid]="${theme.nord.aurora.nord13}" - theme[cached_end]="${theme.nord.aurora.nord12}" - theme[available_start]="${theme.nord.snowStorm.nord6}" - theme[available_mid]="${theme.nord.aurora.nord11}" - theme[available_end]="${theme.nord.aurora.nord11}" - theme[used_start]="${theme.nord.aurora.nord14}" - theme[used_mid]="${theme.nord.aurora.nord13}" - theme[used_end]="${theme.nord.aurora.nord11}" - theme[download_start]="${theme.nord.frost.nord8}" - theme[download_mid]="${theme.nord.frost.nord8}" - theme[download_end]="${theme.nord.aurora.nord12}" - theme[upload_start]="${theme.nord.frost.nord7}" - theme[upload_mid]="${theme.nord.frost.nord7}" - theme[upload_end]="${theme.nord.aurora.nord12}" - theme[process_start]="${theme.nord.aurora.nord15}" - theme[process_mid]="${theme.nord.aurora.nord12}" - theme[process_end]="${theme.nord.aurora.nord11}" + theme[main_bg]="${settings.nord.polarNight.nord0}" + theme[main_fg]="${settings.nord.snowStorm.nord6}" + theme[title]="${settings.nord.snowStorm.nord6}" + theme[hi_fg]="${settings.nord.frost.nord7}" + theme[selected_bg]="${settings.nord.polarNight.nord1}" + theme[selected_fg]="${settings.nord.frost.nord7}" + theme[inactive_fg]="${settings.nord.polarNight.nord2}" + theme[graph_text]="${settings.nord.snowStorm.nord6}" + theme[meter_bg]="${settings.nord.polarNight.nord1}" + theme[proc_misc]="${settings.nord.snowStorm.nord6}" + theme[cpu_box]="${settings.nord.aurora.nord15}" + theme[mem_box]="${settings.nord.aurora.nord14}" + theme[net_box]="${settings.nord.aurora.nord12}" + theme[proc_box]="${settings.nord.aurora.nord11}" + theme[div_line]="${settings.nord.polarNight.nord1}" + theme[temp_start]="${settings.nord.aurora.nord14}" + theme[temp_mid]="${settings.nord.aurora.nord13}" + theme[temp_end]="${settings.nord.aurora.nord11}" + theme[cpu_start]="${settings.nord.aurora.nord15}" + theme[cpu_mid]="${settings.nord.aurora.nord12}" + theme[cpu_end]="${settings.nord.aurora.nord11}" + theme[free_start]="${settings.nord.aurora.nord14}" + theme[free_mid]="${settings.nord.aurora.nord13}" + theme[free_end]="${settings.nord.aurora.nord12}" + theme[cached_start]="${settings.nord.aurora.nord14}" + theme[cached_mid]="${settings.nord.aurora.nord13}" + theme[cached_end]="${settings.nord.aurora.nord12}" + theme[available_start]="${settings.nord.snowStorm.nord6}" + theme[available_mid]="${settings.nord.aurora.nord11}" + theme[available_end]="${settings.nord.aurora.nord11}" + theme[used_start]="${settings.nord.aurora.nord14}" + theme[used_mid]="${settings.nord.aurora.nord13}" + theme[used_end]="${settings.nord.aurora.nord11}" + theme[download_start]="${settings.nord.frost.nord8}" + theme[download_mid]="${settings.nord.frost.nord8}" + theme[download_end]="${settings.nord.aurora.nord12}" + theme[upload_start]="${settings.nord.frost.nord7}" + theme[upload_mid]="${settings.nord.frost.nord7}" + theme[upload_end]="${settings.nord.aurora.nord12}" + theme[process_start]="${settings.nord.aurora.nord15}" + theme[process_mid]="${settings.nord.aurora.nord12}" + theme[process_end]="${settings.nord.aurora.nord11}" ''; }; }; diff --git a/modules/desktop-environments/hyprland/config/hypr/default.nix b/modules/desktop-environments/hyprland/config/hypr/default.nix index 2252a10..76097c3 100755 --- a/modules/desktop-environments/hyprland/config/hypr/default.nix +++ b/modules/desktop-environments/hyprland/config/hypr/default.nix @@ -1,7 +1,7 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; - drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i ${theme.iconTheme}"; + settings = import ../../settings.nix { inherit pkgs; }; + drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i ${settings.iconTheme}"; in { wayland.windowManager.hyprland = { @@ -33,7 +33,7 @@ in # https://wiki.hyprland.org/Configuring/Binds/#mouse-buttons bind = [ - "$mod, Return, exec, ${theme.defaultApps.terminal.pname}" + "$mod, Return, exec, ${settings.defaultApps.terminal.pname}" "$mod, SPACE, exec, wofi --show drun" "$mod, Q, killactive, " "$mod, M, exec, wlogout --protocol layer-shell" @@ -47,8 +47,8 @@ in "$mod,F,exec,hyprctl dispatch fullscreen active" "$mod SHIFT, E, exec, smile" - "$mod, mouse:276, movecurrentworkspacetomonitor, ${theme.displayLeft.input}" - "$mod, mouse:275, movecurrentworkspacetomonitor, ${theme.displayRight.input}" + "$mod, mouse:276, movecurrentworkspacetomonitor, ${settings.displayLeft.input}" + "$mod, mouse:275, movecurrentworkspacetomonitor, ${settings.displayRight.input}" # alt-tab between workspaces on active monitor "$mod, Tab, workspace, m+1" @@ -91,7 +91,7 @@ in "$mod SHIFT, k, movewindow, u" "$mod SHIFT, j, movewindow, d" - "$mod, b, exec, ${theme.defaultApps.browser.pname}" + "$mod, b, exec, ${settings.defaultApps.browser.pname}" ]; bindm = [ @@ -115,8 +115,8 @@ in ]; monitor = [ - "${theme.displayLeft.input},${theme.displayLeft.resolution}@${theme.displayLeft.refreshRate},0x0,1" - "${theme.displayRight.input},${theme.displayRight.resolution}@${theme.displayRight.refreshRate},3840x0,1" + "${settings.displayLeft.input},${settings.displayLeft.resolution}@${settings.displayLeft.refreshRate},0x0,1" + "${settings.displayRight.input},${settings.displayRight.resolution}@${settings.displayRight.refreshRate},3840x0,1" ]; misc = { @@ -180,9 +180,9 @@ in }; workspace = [ - "name:firefox, monitor:${theme.displayRight.input}, default:false, special, class:(.*firefox.*)" - "name:discord, monitor:${theme.displayRight.input}, default:true, special, title:(.*vesktop.*), title:(.*Apple Music.*)" - "name:steam, monitor:${theme.displayLeft.input}, default:false, special, class:(.*[Ss]team.*)" + "name:firefox, monitor:${settings.displayRight.input}, default:false, special, class:(.*firefox.*)" + "name:discord, monitor:${settings.displayRight.input}, default:true, special, title:(.*vesktop.*), title:(.*Apple Music.*)" + "name:steam, monitor:${settings.displayLeft.input}, default:false, special, class:(.*[Ss]team.*)" ]; windowrule = [ @@ -194,6 +194,7 @@ in "float, title:(.*[Ee]rror.*)" "float, title:(.*[Ss]plash.*)" "float, title:(.*[Cc]onfirmreset.*)" + "float, title:(.*[Ss]ign [Ii]n - .*)" "float, title:(.*[Oo]pen [Ff]ile.*)" "float, title:(.*branchdialog.*)" "float, class:(.*pavucontrol.*)" diff --git a/modules/desktop-environments/hyprland/config/kitty/default.nix b/modules/desktop-environments/hyprland/config/kitty/default.nix index 3066fe9..14e3159 100755 --- a/modules/desktop-environments/hyprland/config/kitty/default.nix +++ b/modules/desktop-environments/hyprland/config/kitty/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { programs.kitty = { @@ -8,9 +8,9 @@ in shellIntegration.enableZshIntegration = true; font = { - name = theme.fontName; - package = theme.fontPackage; - size = theme.fontSize; + name = settings.fontName; + package = settings.fontPackage; + size = settings.fontSize; }; settings = { @@ -24,77 +24,77 @@ in background_opacity = "0.85"; # The basic colors - foreground = theme.nord.snowStorm.nord6; - background = theme.nord.polarNight.nord0; - selection_foreground = theme.nord.polarNight.nord0; - selection_background = theme.nord.aurora.nord15; + foreground = settings.nord.snowStorm.nord6; + background = settings.nord.polarNight.nord0; + selection_foreground = settings.nord.polarNight.nord0; + selection_background = settings.nord.aurora.nord15; # Cursor colors - cursor = theme.nord.aurora.nord15; - cursor_text_color = theme.nord.polarNight.nord0; + cursor = settings.nord.aurora.nord15; + cursor_text_color = settings.nord.polarNight.nord0; # URL underline color when hovering with mouse - url_color = theme.nord.aurora.nord15; + url_color = settings.nord.aurora.nord15; # Kitty window border colors - active_border_color = theme.nord.frost.nord10; - inactive_border_color = theme.nord.polarNight.nord1; - bell_border_color = theme.nord.aurora.nord13; + active_border_color = settings.nord.frost.nord10; + inactive_border_color = settings.nord.polarNight.nord1; + bell_border_color = settings.nord.aurora.nord13; # OS Window titlebar colors - wayland_titlebar_color = theme.nord.polarNight.nord0; - macos_titlebar_color = theme.nord.polarNight.nord0; + wayland_titlebar_color = settings.nord.polarNight.nord0; + macos_titlebar_color = settings.nord.polarNight.nord0; # Tab bar colors - active_tab_foreground = theme.nord.polarNight.nord3; - active_tab_background = theme.nord.aurora.nord15; - inactive_tab_foreground = theme.nord.snowStorm.nord6; - inactive_tab_background = theme.nord.polarNight.nord1; - tab_bar_background = theme.nord.polarNight.nord3; + active_tab_foreground = settings.nord.polarNight.nord3; + active_tab_background = settings.nord.aurora.nord15; + inactive_tab_foreground = settings.nord.snowStorm.nord6; + inactive_tab_background = settings.nord.polarNight.nord1; + tab_bar_background = settings.nord.polarNight.nord3; # Colors for marks (marked text in the terminal) - mark1_foreground = theme.nord.polarNight.nord0; - mark1_background = theme.nord.frost.nord10; - mark2_foreground = theme.nord.polarNight.nord0; - mark2_background = theme.nord.aurora.nord15; - mark3_foreground = theme.nord.polarNight.nord0; - mark3_background = theme.nord.frost.nord8; + mark1_foreground = settings.nord.polarNight.nord0; + mark1_background = settings.nord.frost.nord10; + mark2_foreground = settings.nord.polarNight.nord0; + mark2_background = settings.nord.aurora.nord15; + mark3_foreground = settings.nord.polarNight.nord0; + mark3_background = settings.nord.frost.nord8; # The 16 terminal colors # black - color0 = theme.nord.polarNight.nord0; + color0 = settings.nord.polarNight.nord0; # Autosuggestion - color8 = theme.nord.frost.nord10; + color8 = settings.nord.frost.nord10; # red - color1 = theme.nord.aurora.nord11; - color9 = theme.nord.aurora.nord11; + color1 = settings.nord.aurora.nord11; + color9 = settings.nord.aurora.nord11; # green - color2 = theme.nord.aurora.nord14; - color10 = theme.nord.aurora.nord14; + color2 = settings.nord.aurora.nord14; + color10 = settings.nord.aurora.nord14; # yellow - color3 = theme.nord.aurora.nord13; - color11 = theme.nord.aurora.nord13; + color3 = settings.nord.aurora.nord13; + color11 = settings.nord.aurora.nord13; # blue - color4 = theme.nord.frost.nord10; - color12 = theme.nord.frost.nord10; + color4 = settings.nord.frost.nord10; + color12 = settings.nord.frost.nord10; # magenta - color5 = theme.nord.aurora.nord15; - color13 = theme.nord.aurora.nord15; + color5 = settings.nord.aurora.nord15; + color13 = settings.nord.aurora.nord15; # cyan - color6 = theme.nord.frost.nord8; - color14 = theme.nord.frost.nord8; + color6 = settings.nord.frost.nord8; + color14 = settings.nord.frost.nord8; # white - color7 = theme.nord.snowStorm.nord5; - color15 = theme.nord.snowStorm.nord4; + color7 = settings.nord.snowStorm.nord5; + color15 = settings.nord.snowStorm.nord4; }; }; } diff --git a/modules/desktop-environments/hyprland/config/mako/default.nix b/modules/desktop-environments/hyprland/config/mako/default.nix index e645c51..b19c80c 100755 --- a/modules/desktop-environments/hyprland/config/mako/default.nix +++ b/modules/desktop-environments/hyprland/config/mako/default.nix @@ -1,12 +1,12 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { services.mako = { enable = true; settings = { - font = theme.fontName; + font = settings.fontName; icons = true; ignore-timeout = true; sort = "-time"; @@ -18,10 +18,10 @@ in max-icon-size = 64; default-timeout = 5000; - background-color = theme.nord.polarNight.nord0; - text-color = theme.nord.snowStorm.nord6; - border-color = theme.nord.frost.nord10; - progress-color = "over ${theme.nord.frost.nord8}"; + background-color = settings.nord.polarNight.nord0; + text-color = settings.nord.snowStorm.nord6; + border-color = settings.nord.frost.nord10; + progress-color = "over ${settings.nord.frost.nord8}"; }; }; } diff --git a/modules/desktop-environments/hyprland/config/nwg-dock/default.nix b/modules/desktop-environments/hyprland/config/nwg-dock/default.nix index 0e865b6..4f3a4d9 100644 --- a/modules/desktop-environments/hyprland/config/nwg-dock/default.nix +++ b/modules/desktop-environments/hyprland/config/nwg-dock/default.nix @@ -1,16 +1,16 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { home.file = { ".config/nwg-dock-hyprland/drawer.css".text = '' window { - background: ${theme.nord.polarNight.nord0}; + background: ${settings.nord.polarNight.nord0}; border-radius: 10px; border-style: none; border-width: 1px; - border-color: ${theme.nord.aurora.nord15}b0 + border-color: ${settings.nord.aurora.nord15}b0 } #box { @@ -21,14 +21,14 @@ in active { /* This is to underline the button representing the currently active window */ border-bottom: solid 1px; - border-color: ${theme.nord.aurora.nord14}1a + border-color: ${settings.nord.aurora.nord14}1a } button, image { background: none; border-style: none; box-shadow: none; - color: ${theme.nord.frost.nord10} + color: ${settings.nord.frost.nord10} } button { @@ -40,7 +40,7 @@ in } button:hover { - background-color: ${theme.nord.polarNight.nord0}1a; + background-color: ${settings.nord.polarNight.nord0}1a; border-radius: 2px; } diff --git a/modules/desktop-environments/hyprland/config/nwg-drawer/default.nix b/modules/desktop-environments/hyprland/config/nwg-drawer/default.nix index 19a961d..a0cda85 100644 --- a/modules/desktop-environments/hyprland/config/nwg-drawer/default.nix +++ b/modules/desktop-environments/hyprland/config/nwg-drawer/default.nix @@ -1,18 +1,18 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { home.file = { ".config/nwg-drawer/drawer.css".text = '' window { - background-color: ${theme.nord.polarNight.nord0}bf; - color: ${theme.nord.snowStorm.nord5}00 + background-color: ${settings.nord.polarNight.nord0}bf; + color: ${settings.nord.snowStorm.nord5}00 } /* search entry */ entry { - background-color: ${theme.nord.polarNight.nord1}0f + background-color: ${settings.nord.polarNight.nord1}0f } button, image { @@ -21,7 +21,7 @@ in } button:hover { - background-color: ${theme.nord.frost.nord10}1a + background-color: ${settings.nord.frost.nord10}1a } /* in case you wanted to give category buttons a different look */ @@ -31,12 +31,12 @@ in #pinned-box { padding-bottom: 5px; - border-bottom: 1px dotted ${theme.nord.polarNight.nord3} + border-bottom: 1px dotted ${settings.nord.polarNight.nord3} } #files-box { padding: 5px; - border: 1px dotted ${theme.nord.polarNight.nord3}; + border: 1px dotted ${settings.nord.polarNight.nord3}; border-radius: 15px } ''; diff --git a/modules/desktop-environments/hyprland/config/nwg-panel/default.nix b/modules/desktop-environments/hyprland/config/nwg-panel/default.nix index aa0b02a..421a690 100644 --- a/modules/desktop-environments/hyprland/config/nwg-panel/default.nix +++ b/modules/desktop-environments/hyprland/config/nwg-panel/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { home.file = { @@ -9,12 +9,12 @@ in ''; ".config/nwg-panel/preferred-apps.json".text = '' { - "\\.pdf$": "${theme.defaultApps.browser.pname}", + "\\.pdf$": "${settings.defaultApps.browser.pname}", "\\.svg$": "inkscape", - "\\.(jpg|png|tiff|gif)$": "${theme.defaultApps.imageViewer.pname}", + "\\.(jpg|png|tiff|gif)$": "${settings.defaultApps.imageViewer.pname}", "\\.(mp3|ogg|flac|wav|wma)$": "audacious", - "\\.(avi|mp4|mkv|mov|wav)$": "${theme.defaultApps.video.pname}", - "\\.(doc|docx|xls|xlsx)$": "${theme.defaultApps.office.pname}" + "\\.(avi|mp4|mkv|mov|wav)$": "${settings.defaultApps.video.pname}", + "\\.(doc|docx|xls|xlsx)$": "${settings.defaultApps.office.pname}" } ''; }; diff --git a/modules/desktop-environments/hyprland/config/waybar/default.nix b/modules/desktop-environments/hyprland/config/waybar/default.nix index d16dcc1..4082e38 100755 --- a/modules/desktop-environments/hyprland/config/waybar/default.nix +++ b/modules/desktop-environments/hyprland/config/waybar/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; defaultOpacity = "opacity: 0.85;"; defaultBorderRadius = "border-radius: 1rem;"; @@ -209,10 +209,10 @@ in calendar = { mode = "month"; format = { - months = "{}"; - days = "{}"; - weekdays = "{}"; - today = "{}"; + months = "{}"; + days = "{}"; + weekdays = "{}"; + today = "{}"; }; }; }; @@ -238,12 +238,12 @@ in #waybar { background: transparent; - color: ${theme.nord.snowStorm.nord6}; + color: ${settings.nord.snowStorm.nord6}; margin: 5px 5px; } #workspaces { - background-color: ${theme.nord.polarNight.nord0}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultBorderRadius} ${defaultOpacity} ${defaultCenterOptions} @@ -251,44 +251,44 @@ in } #workspaces button { - color: ${theme.nord.frost.nord10}; + color: ${settings.nord.frost.nord10}; ${defaultBorderRadius} padding: 0.4rem; } #workspaces button.active { - color: ${theme.nord.frost.nord8}; + color: ${settings.nord.frost.nord8}; ${defaultBorderRadius} } #workspaces button:hover { - color: ${theme.nord.frost.nord7}; + color: ${settings.nord.frost.nord7}; ${defaultBorderRadius} } #workspaces button.focused { - color: ${theme.nord.snowStorm.nord6}; - background: ${theme.nord.aurora.nord13}; + color: ${settings.nord.snowStorm.nord6}; + background: ${settings.nord.aurora.nord13}; ${defaultBorderRadius} } #workspaces button.urgent { - color: ${theme.nord.polarNight.nord0}; - background: ${theme.nord.snowStorm.nord6}; + color: ${settings.nord.polarNight.nord0}; + background: ${settings.nord.snowStorm.nord6}; ${defaultBorderRadius} } #tooltip { - background: ${theme.nord.polarNight.nord0}; - border-color: ${theme.nord.polarNight.nord0}; + background: ${settings.nord.polarNight.nord0}; + border-color: ${settings.nord.polarNight.nord0}; ${defaultBorderRadius} border-width: 1rem; border-style: solid; } #window { - color: ${theme.nord.aurora.nord15}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.aurora.nord15}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultBorderRadius} ${defaultCenterOptions} @@ -297,15 +297,15 @@ in } #custom-weather { - color: ${theme.nord.frost.nord10}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord10}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${borderRight} } #clock { - color: ${theme.nord.frost.nord9}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord9}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${borderLeft} } @@ -313,63 +313,63 @@ in /* ------------- */ #bluetooth { - color: ${theme.nord.frost.nord9}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord9}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${borderRight} } #wireplumber.source { - color: ${theme.nord.frost.nord8}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord8}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultCenterOptions} border-radius: 0; } #wireplumber.sink { - color: ${theme.nord.frost.nord7}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord7}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultCenterOptions} border-radius: 0; } #keyboard-state.numlock { - color: ${theme.nord.frost.nord8}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord8}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultCenterOptions} border-radius: 0; } #keyboard-state.capslock { - color: ${theme.nord.frost.nord9}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord9}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultCenterOptions} border-radius: 0; } #temperature.gpu { - color: ${theme.nord.frost.nord10}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord10}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultCenterOptions} border-radius: 0; } #temperature { - color: ${theme.nord.frost.nord9}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord9}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultCenterOptions} border-radius: 0; } #custom-lights { - color: ${theme.nord.frost.nord8}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.frost.nord8}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${borderLeft} } @@ -377,7 +377,7 @@ in /* ------------- */ #tray { - background-color: ${theme.nord.polarNight.nord0}; + background-color: ${settings.nord.polarNight.nord0}; ${defaultOpacity} ${defaultCenterOptions} ${defaultBorderRadius} diff --git a/modules/desktop-environments/hyprland/config/wlogout/default.nix b/modules/desktop-environments/hyprland/config/wlogout/default.nix index 6d4d3a2..a66d10f 100644 --- a/modules/desktop-environments/hyprland/config/wlogout/default.nix +++ b/modules/desktop-environments/hyprland/config/wlogout/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { programs.wlogout = { @@ -49,13 +49,13 @@ in } window { - background-color: ${theme.nord.polarNight.nord0}f0 + background-color: ${settings.nord.polarNight.nord0}f0 } button { margin: 8px; - color: ${theme.nord.frost.nord7}; - background-color: ${theme.nord.polarNight.nord1}; + color: ${settings.nord.frost.nord7}; + background-color: ${settings.nord.polarNight.nord1}; border-style: solid; border-width: 2px; background-repeat: no-repeat; @@ -66,8 +66,8 @@ in button:active, button:focus, button:hover { - color: ${theme.nord.frost.nord8}; - background-color: ${theme.nord.polarNight.nord2}; + color: ${settings.nord.frost.nord8}; + background-color: ${settings.nord.polarNight.nord2}; outline-style: none; } diff --git a/modules/desktop-environments/hyprland/config/wofi/default.nix b/modules/desktop-environments/hyprland/config/wofi/default.nix index c09723c..f086a02 100755 --- a/modules/desktop-environments/hyprland/config/wofi/default.nix +++ b/modules/desktop-environments/hyprland/config/wofi/default.nix @@ -1,13 +1,13 @@ { pkgs, ... }: let - theme = import ../../theme.nix { inherit pkgs; }; + settings = import ../../settings.nix { inherit pkgs; }; in { programs.wofi = { enable = true; style = '' * { - font-family: "${theme.fontName}", monospace; + font-family: "${settings.fontName}", monospace; font-size: 14px; } @@ -15,9 +15,9 @@ in window { margin: 0px; padding: 10px; - border: 0.16em solid ${theme.nord.aurora.nord15}; + border: 0.16em solid ${settings.nord.aurora.nord15}; border-radius: 0.1em; - background-color: ${theme.nord.polarNight.nord0}; + background-color: ${settings.nord.polarNight.nord0}; } /* Inner Box */ @@ -25,7 +25,7 @@ in margin: 5px; padding: 10px; border: none; - background-color: ${theme.nord.polarNight.nord0}; + background-color: ${settings.nord.polarNight.nord0}; } /* Outer Box */ @@ -33,7 +33,7 @@ in margin: 5px; padding: 10px; border: none; - background-color: ${theme.nord.polarNight.nord0}; + background-color: ${settings.nord.polarNight.nord0}; } /* Scroll */ @@ -41,7 +41,7 @@ in margin: 0px; padding: 10px; border: none; - background-color: ${theme.nord.polarNight.nord0}; + background-color: ${settings.nord.polarNight.nord0}; } /* Input */ @@ -50,46 +50,46 @@ in padding: 10px; border: none; border-radius: 0.1em; - color: ${theme.nord.snowStorm.nord6}; - background-color: ${theme.nord.polarNight.nord0}; + color: ${settings.nord.snowStorm.nord6}; + background-color: ${settings.nord.polarNight.nord0}; } #input image { border: none; - color: ${theme.nord.aurora.nord11}; + color: ${settings.nord.aurora.nord11}; } #input * { - outline: 4px solid ${theme.nord.aurora.nord11}!important; + outline: 4px solid ${settings.nord.aurora.nord11}!important; } /* Text */ #text { margin: 5px; border: none; - color: ${theme.nord.snowStorm.nord6}; + color: ${settings.nord.snowStorm.nord6}; } #entry { - background-color: ${theme.nord.polarNight.nord0}; + background-color: ${settings.nord.polarNight.nord0}; } #entry arrow { border: none; - color: ${theme.nord.aurora.nord15}; + color: ${settings.nord.aurora.nord15}; } /* Selected Entry */ #entry:selected { - border: 0.11em solid ${theme.nord.aurora.nord15}; + border: 0.11em solid ${settings.nord.aurora.nord15}; } #entry:selected #text { - color: ${theme.nord.frost.nord7}; + color: ${settings.nord.frost.nord7}; } #entry:drop(active) { - background-color: ${theme.nord.aurora.nord15}!important; + background-color: ${settings.nord.aurora.nord15}!important; } ''; }; diff --git a/modules/desktop-environments/hyprland/default.nix b/modules/desktop-environments/hyprland/default.nix index 47f7b3e..684f5d6 100755 --- a/modules/desktop-environments/hyprland/default.nix +++ b/modules/desktop-environments/hyprland/default.nix @@ -1,6 +1,6 @@ { pkgs, lib, ... }: let - theme = import ./theme.nix { inherit pkgs; }; + settings = import ./settings.nix { inherit pkgs; }; bing-wallpaper = pkgs.writeScriptBin "bing-wallpaper" '' # Directory to store wallpapers @@ -19,19 +19,19 @@ in ./environment.nix ]; - home-manager.users.matt = import ./home.nix; + home-manager.users."${settings.user}" = import ./home.nix; services = { displayManager = { sddm = { enable = true; package = pkgs.kdePackages.sddm; - extraPackages = [ theme.sddm.package ]; - theme = theme.sddm.themeName; + extraPackages = [ settings.sddm.package ]; + theme = settings.sddm.themeName; wayland.enable = true; settings = { Theme = { - ThemeDir = "${theme.sddm.package}/share/sddm/themes"; + ThemeDir = "${settings.sddm.package}/share/sddm/themes"; }; }; }; @@ -89,19 +89,19 @@ in }; }; }; - user.services.polkit-gnome-authentication-agent-1 = { - description = "polkit-gnome-authentication-agent-1"; - wantedBy = [ "graphical-session.target" ]; - wants = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; + # user.services.polkit-gnome-authentication-agent-1 = { + # description = "polkit-gnome-authentication-agent-1"; + # wantedBy = [ "graphical-session.target" ]; + # wants = [ "graphical-session.target" ]; + # after = [ "graphical-session.target" ]; + # serviceConfig = { + # Type = "simple"; + # ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + # Restart = "on-failure"; + # RestartSec = 1; + # TimeoutStopSec = 10; + # }; + # }; extraConfig = '' DefaultTimeoutStopSec=10s ''; diff --git a/modules/desktop-environments/hyprland/environment.nix b/modules/desktop-environments/hyprland/environment.nix index 98631cd..fe391f4 100755 --- a/modules/desktop-environments/hyprland/environment.nix +++ b/modules/desktop-environments/hyprland/environment.nix @@ -20,6 +20,7 @@ hyprcursor hyprland hyprshot + hyprsysteminfo kdePackages.qtmultimedia libnotify mako diff --git a/modules/desktop-environments/hyprland/home.nix b/modules/desktop-environments/hyprland/home.nix index 4899a9e..a2e6908 100755 --- a/modules/desktop-environments/hyprland/home.nix +++ b/modules/desktop-environments/hyprland/home.nix @@ -1,6 +1,6 @@ { lib, pkgs, ... }: let - theme = import ./theme.nix { inherit pkgs; }; + settings = import ./settings.nix { inherit pkgs; }; wallpaper = "/run/wallpaper.jpg"; in { @@ -63,7 +63,7 @@ in ", edge:r:l, workspace, +1" # swipe up from bottom edge - ", edge:d:u, exec, ${theme.defaultApps.browser.pname}" + ", edge:d:u, exec, ${settings.defaultApps.browser.pname}" # swipe down from left edge ", edge:l:d, exec, pactl set-sink-volume @DEFAULT_SINK@ -4%" @@ -93,13 +93,14 @@ in }; services = { + hyprpolkitagent.enable = true; hyprpaper = { enable = true; settings = { preload = [ "/run/wallpaper.jpg" wallpaper ]; wallpaper = [ - "${theme.displayLeft.input}, /run/wallpaper.jpg" - "${theme.displayRight.input}, /run/wallpaper.jpg" + "${settings.displayLeft.input}, /run/wallpaper.jpg" + "${settings.displayRight.input}, /run/wallpaper.jpg" ]; splash = false; }; @@ -121,16 +122,16 @@ in # on-resume = "brightnessctl -r"; # monitor backlight restore. # } { - timeout = theme.lockScreenTimer; + timeout = settings.lockScreenTimer; on-timeout = "loginctl lock-session"; # lock screen when timeout has passed } { - timeout = theme.screenOffTimer; + timeout = settings.screenOffTimer; on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired. } { - timeout = theme.suspendTimer; + timeout = settings.suspendTimer; on-timeout = "systemctl suspend"; # suspend pc } ]; @@ -162,7 +163,7 @@ in { size = "200, 50"; position = "0, -80"; - monitor = theme.displayLeft.input; + monitor = settings.displayLeft.input; dots_center = true; fade_on_empty = true; font_color = "rgb(202, 211, 245)"; @@ -181,16 +182,16 @@ in home = { sessionVariables = { - BROWSER = "${theme.defaultApps.browser.pname}"; + BROWSER = "${settings.defaultApps.browser.pname}"; CLUTTER_BACKEND = "wayland"; - EDITOR = "${theme.defaultApps.editor.pname}"; - VISUAL = "${theme.defaultApps.visual.pname}"; - ICON_THEME = theme.iconTheme; + EDITOR = "${settings.defaultApps.editor.pname}"; + VISUAL = "${settings.defaultApps.visual.pname}"; + ICON_THEME = settings.iconTheme; GTK_CSD = "0"; - GTK_THEME = theme.gtkTheme; + GTK_THEME = settings.gtkTheme; GTK_USE_PORTAL = "1"; - HYPRCURSOR_THEME = theme.cursorTheme; - HYPRCURSOR_SIZE = theme.cursorSize; + HYPRCURSOR_THEME = settings.cursorTheme; + HYPRCURSOR_SIZE = settings.cursorSize; MOZ_ENABLE_WAYLAND = "1"; NIXOS_OZONE_WL = "1"; NIXOS_XDG_OPEN_USE_PORTAL = "1"; @@ -200,9 +201,9 @@ in QT_SCALE_FACTOR = "1"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; SDL_VIDEODRIVER = "wayland"; - TERMINAL = "${theme.defaultApps.terminal.pname}"; - XCURSOR_THEME = theme.cursorTheme; - XCURSOR_SIZE = theme.cursorSize; + TERMINAL = "${settings.defaultApps.terminal.pname}"; + XCURSOR_THEME = settings.cursorTheme; + XCURSOR_SIZE = settings.cursorSize; XDG_CACHE_HOME = "\${HOME}/.cache"; XDG_CONFIG_HOME = "\${HOME}/.config"; XDG_CURRENT_DESKTOP = "Hyprland"; @@ -213,21 +214,21 @@ in pointerCursor = { gtk.enable = true; - package = theme.cursorThemePkg; - name = theme.cursorTheme; - size = theme.cursorSize; + package = settings.cursorThemePkg; + name = settings.cursorTheme; + size = settings.cursorSize; }; - packages = theme.requiredPkgs; + packages = settings.requiredPkgs; }; dconf = { enable = true; settings = { "org/gnome/desktop/interface".color-scheme = "prefer-dark"; - "org/gnome/desktop/interface".cursor-theme = theme.cursorTheme; - "org/gnome/desktop/interface".gtk-theme = theme.gtkTheme; - "org/gnome/desktop/interface".icon-theme = theme.iconTheme; + "org/gnome/desktop/interface".cursor-theme = settings.cursorTheme; + "org/gnome/desktop/interface".gtk-theme = settings.gtkTheme; + "org/gnome/desktop/interface".icon-theme = settings.iconTheme; }; }; @@ -235,18 +236,18 @@ in enable = true; cursorTheme = { - name = theme.cursorTheme; - package = theme.cursorThemePkg; + name = settings.cursorTheme; + package = settings.cursorThemePkg; }; theme = { - name = theme.gtkTheme; - package = theme.gtkThemePkg; + name = settings.gtkTheme; + package = settings.gtkThemePkg; }; iconTheme = { - name = theme.iconTheme; - package = theme.iconThemePkg; + name = settings.iconTheme; + package = settings.iconThemePkg; }; gtk3.extraConfig = { @@ -258,9 +259,9 @@ in }; font = { - name = theme.fontName; - package = theme.fontPackage; - size = theme.fontSize; + name = settings.fontName; + package = settings.fontPackage; + size = settings.fontSize; }; }; } diff --git a/modules/desktop-environments/hyprland/theme.nix b/modules/desktop-environments/hyprland/settings.nix similarity index 99% rename from modules/desktop-environments/hyprland/theme.nix rename to modules/desktop-environments/hyprland/settings.nix index a068a45..ccb2aec 100644 --- a/modules/desktop-environments/hyprland/theme.nix +++ b/modules/desktop-environments/hyprland/settings.nix @@ -15,6 +15,9 @@ let }; in { + # Username + user = "matt"; + # Displays displayLeft = { input = "DP-1"; diff --git a/share/disko/disko.nix b/modules/disko/disko.nix similarity index 100% rename from share/disko/disko.nix rename to modules/disko/disko.nix diff --git a/share/disko/pi-uefi-disko.nix b/modules/disko/pi-uefi-disko.nix similarity index 100% rename from share/disko/pi-uefi-disko.nix rename to modules/disko/pi-uefi-disko.nix diff --git a/share/gaming/default.nix b/modules/gaming/default.nix similarity index 100% rename from share/gaming/default.nix rename to modules/gaming/default.nix diff --git a/share/gaming/options.nix b/modules/gaming/options.nix similarity index 100% rename from share/gaming/options.nix rename to modules/gaming/options.nix diff --git a/share/home/defaults.nix b/modules/home/defaults.nix similarity index 100% rename from share/home/defaults.nix rename to modules/home/defaults.nix diff --git a/share/home/git.nix b/modules/home/git.nix similarity index 100% rename from share/home/git.nix rename to modules/home/git.nix diff --git a/share/home/gnome.nix b/modules/home/gnome.nix similarity index 100% rename from share/home/gnome.nix rename to modules/home/gnome.nix diff --git a/share/home/librewolf.nix b/modules/home/librewolf.nix similarity index 100% rename from share/home/librewolf.nix rename to modules/home/librewolf.nix diff --git a/share/home/office.nix b/modules/home/office.nix similarity index 100% rename from share/home/office.nix rename to modules/home/office.nix diff --git a/share/home/shell.nix b/modules/home/shell.nix similarity index 100% rename from share/home/shell.nix rename to modules/home/shell.nix diff --git a/share/home/vscode.nix b/modules/home/vscode.nix similarity index 100% rename from share/home/vscode.nix rename to modules/home/vscode.nix diff --git a/share/impermanence/default.nix b/modules/impermanence/default.nix similarity index 100% rename from share/impermanence/default.nix rename to modules/impermanence/default.nix diff --git a/share/nvidia/default.nix b/modules/nvidia/default.nix similarity index 100% rename from share/nvidia/default.nix rename to modules/nvidia/default.nix diff --git a/share/nvidia/options.nix b/modules/nvidia/options.nix similarity index 100% rename from share/nvidia/options.nix rename to modules/nvidia/options.nix diff --git a/share/root-user/default.nix b/modules/root-user/default.nix similarity index 100% rename from share/root-user/default.nix rename to modules/root-user/default.nix diff --git a/share/default.nix b/share/default.nix deleted file mode 100755 index e22b739..0000000 --- a/share/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: -{ - imports = [ - # ./amd - ./nvidia - ./gaming - ]; -} diff --git a/test.sh b/test.sh deleted file mode 100755 index ebf77de..0000000 --- a/test.sh +++ /dev/null @@ -1,85 +0,0 @@ - #!/usr/bin/env bash - - # Pull latest changes if in a git repo - if [ -d .git ]; then - git pull || echo "Warning: Could not pull latest changes" - fi - - # echo "Starting build of matt-nixos at $(date)" - # # if nix flake update desktop-nixpkgs desktop-chaotic desktop-home-manager desktop-impermanence desktop-lanzaboote desktop-nixos-hardware desktop-sops-nix desktop-steam-rom-manager nixpkgs-unstable nixpkgs-stable nix-darwin; then - # # echo "matt-nixos flake updated successfully at $(date)" - # # else - # # echo "matt-nixos failed to build at $(date)" - # # fi - # if nix build .\#nixosConfigurations.matt-nixos.config.system.build.toplevel --no-link; then - # echo "matt-nixos built successfully at $(date)" - # # sudo -u admin -g jallen-nas git add . - # # sudo -u admin -g jallen-nas git commit -m "Desktop Updates $(date)" - # else - # echo "matt-nixos failed to build at $(date)" - # # sudo -u admin -g jallen-nas git reset --hard - # fi - - # echo "Starting build of steamdeck at $(date)" - # # if nix flake update steamdeck-nixpkgs steamdeck-chaotic steamdeck-home-manager steamdeck-impermanence steamdeck-jovian steamdeck-lanzaboote steamdeck-nixos-hardware steamdeck-sops-nix steamdeck-steam-rom-manager; then - # # echo "steamdeck flake updated successfully at $(date)" - # # else - # # echo "steamdeck flake failed to update at $(date)" - # # git reset --hard - # # fi - # if nix build .\#nixosConfigurations.steamdeck.config.system.build.toplevel --no-link; then - # echo "steamdeck built successfully at $(date)" - # # sudo -u admin -g jallen-nas git add . - # # sudo -u admin -g jallen-nas git commit -m "Dteamdeck Updates $(date)" - # else - # echo "steamdeck failed to build at $(date)" - # # sudo -u admin -g jallen-nas git reset --hard - # fi - - echo "Starting build of pi4 at $(date)" - # if nix flake update pi4-nixpkgs pi4-home-manager pi4-impermanence pi4-sops-nix pi4-nixos-hardware pi4-nixos-raspberrypi pi4-disko; then - # echo "pi4 flake updated successfully at $(date)" - # else - # echo "pif flake failed to update at $(date)" - # fi - if nix build .\#nixosConfigurations.pi4.config.system.build.toplevel --no-link --impure; then - echo "pi4 built successfully at $(date)" - # sudo -u admin -g jallen-nas git add . - # sudo -u admin -g jallen-nas git commit -m "Pi4 Updates $(date)" - else - echo "pi4 failed to build at $(date)" - # sudo -u admin -g jallen-nas git reset --hard - fi - - echo "Starting build of pi5 at $(date)" - # if nix flake update pi5-nixpkgs pi5-home-manager pi5-impermanence pi5-nixos-hardware pi5-sops-nix nixos-raspberrypi; then - # echo "pi5 flake updated successfully at $(date)" - # else - # echo "pi5 flake failed to update at $(date)" - # fi - if nix build .\#nixosConfigurations.pi5.config.system.build.toplevel --no-link; then - echo "pi5 built successfully at $(date)" - # sudo -u admin -g jallen-nas git add . - # sudo -u admin -g jallen-nas git commit -m "Pi5 Updates $(date)" - else - echo "pi5 failed to build at $(date)" - # sudo -u admin -g jallen-nas git reset --hard - fi - - echo "Starting build of jallen-nas at $(date)" - # if nix flake update nas-nixpkgs nas-authentik-nix nas-cosmic nas-crowdsec nas-home-manager nas-impermanence nas-lanzaboote nas-nixos-hardware nas-sops-nix; then - # echo "jallen-nas flake updated successfully at $(date)" - # else - # echo "jallen-nas flake failed to update at $(date)" - # fi - export NIXPKGS_ALLOW_UNFREE=1 - if nix build .\#nixosConfigurations.jallen-nas.config.system.build.toplevel --no-link --impure; then - echo "jallen-nas built successfully at $(date)" - # sudo -u admin -g jallen-nas git add . - # sudo -u admin -g jallen-nas git commit -m "Jallen-NAS Updates $(date)" - else - echo "jallen-nas failed to build at $(date)" - # sudo -u admin -g jallen-nas git reset --hard - fi - - # git push \ No newline at end of file