so much organization
This commit is contained in:
88
flake.lock
generated
88
flake.lock
generated
@@ -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,
|
||||
|
||||
84
flake.nix
84
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
|
||||
];
|
||||
};
|
||||
|
||||
8
hosts/base/base-gui/default.nix
Normal file
8
hosts/base/base-gui/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware.nix
|
||||
./programs.nix
|
||||
./services.nix
|
||||
];
|
||||
}
|
||||
11
hosts/base/base-gui/hardware.nix
Normal file
11
hosts/base/base-gui/hardware.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
# Hardware configs
|
||||
hardware = {
|
||||
# Enable graphics
|
||||
graphics = {
|
||||
enable = lib.mkDefault true;
|
||||
enable32Bit = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
seahorse.enable = lib.mkDefault true;
|
||||
};}
|
||||
@@ -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
|
||||
12
hosts/base/base-nogui/hardware.nix
Normal file
12
hosts/base/base-nogui/hardware.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
hardware = {
|
||||
# Bluetooth
|
||||
bluetooth.enable = lib.mkDefault true;
|
||||
|
||||
i2c.enable = lib.mkDefault true;
|
||||
|
||||
# Enable all firmware
|
||||
enableAllFirmware = lib.mkForce true;
|
||||
};
|
||||
}
|
||||
15
hosts/base/base-nogui/programs.nix
Normal file
15
hosts/base/base-nogui/programs.nix
Normal file
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -7,7 +7,6 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../default.nix
|
||||
./boot.nix
|
||||
./jovian.nix
|
||||
./networking.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";
|
||||
|
||||
@@ -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?
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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" ];
|
||||
# };
|
||||
};
|
||||
}
|
||||
@@ -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 [
|
||||
|
||||
@@ -72,7 +72,6 @@
|
||||
llama-cpp
|
||||
ninja
|
||||
inputs.nas-nixai.packages.x86_64-linux.nixai
|
||||
inputs.edit.packages.${pkgs.system}.edit
|
||||
networkmanagerapplet
|
||||
nmon
|
||||
nut
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -11,7 +11,6 @@ in
|
||||
{
|
||||
imports = [
|
||||
./boot.nix
|
||||
# ./hardware-configuration.nix
|
||||
./impermanence.nix
|
||||
./networking.nix
|
||||
./services.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}"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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.*)"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
'';
|
||||
|
||||
@@ -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}"
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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 = "<span color='${theme.nord.frost.nord9}'><b>{}</b></span>";
|
||||
days = "<span color='${theme.nord.frost.nord10}'><b>{}</b></span>";
|
||||
weekdays = "<span color='${theme.nord.frost.nord8}'><b>{}</b></span>";
|
||||
today = "<span color='${theme.nord.aurora.nord14}'><b><u>{}</u></b></span>";
|
||||
months = "<span color='${settings.nord.frost.nord9}'><b>{}</b></span>";
|
||||
days = "<span color='${settings.nord.frost.nord10}'><b>{}</b></span>";
|
||||
weekdays = "<span color='${settings.nord.frost.nord8}'><b>{}</b></span>";
|
||||
today = "<span color='${settings.nord.aurora.nord14}'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -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}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
hyprcursor
|
||||
hyprland
|
||||
hyprshot
|
||||
hyprsysteminfo
|
||||
kdePackages.qtmultimedia
|
||||
libnotify
|
||||
mako
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,6 +15,9 @@ let
|
||||
};
|
||||
in
|
||||
{
|
||||
# Username
|
||||
user = "matt";
|
||||
|
||||
# Displays
|
||||
displayLeft = {
|
||||
input = "DP-1";
|
||||
@@ -1,8 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
# ./amd
|
||||
./nvidia
|
||||
./gaming
|
||||
];
|
||||
}
|
||||
85
test.sh
85
test.sh
@@ -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
|
||||
Reference in New Issue
Block a user