Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f70a569755 | ||
|
|
6a99106ca4 | ||
|
|
2bf51abad5 | ||
|
|
31e0a03dc2 | ||
|
|
3a84cfd7b8 | ||
|
|
f132da0433 | ||
|
|
a0870e42ca | ||
|
|
47e2b0caf8 |
296
flake.lock
generated
296
flake.lock
generated
@@ -60,6 +60,74 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"base16": {
|
||||||
|
"inputs": {
|
||||||
|
"fromYaml": "fromYaml"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1755819240,
|
||||||
|
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "base16.nix",
|
||||||
|
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "base16.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-fish": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754405784,
|
||||||
|
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
||||||
|
"owner": "tomyun",
|
||||||
|
"repo": "base16-fish",
|
||||||
|
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tomyun",
|
||||||
|
"repo": "base16-fish",
|
||||||
|
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-helix": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752979451,
|
||||||
|
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-vim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1732806396,
|
||||||
|
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"brew-src": {
|
"brew-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -174,6 +242,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"firefox-gnome-theme": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1758112371,
|
||||||
|
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
|
||||||
|
"owner": "rafaelmardojai",
|
||||||
|
"repo": "firefox-gnome-theme",
|
||||||
|
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rafaelmardojai",
|
||||||
|
"repo": "firefox-gnome-theme",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -307,6 +391,27 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-parts_3": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756770412,
|
||||||
|
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-schemas": {
|
"flake-schemas": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721999734,
|
"lastModified": 1721999734,
|
||||||
@@ -397,6 +502,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fromYaml": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731966426,
|
||||||
|
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "fromYaml",
|
||||||
|
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "fromYaml",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -440,6 +561,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gnome-shell": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"host": "gitlab.gnome.org",
|
||||||
|
"lastModified": 1762869044,
|
||||||
|
"narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=",
|
||||||
|
"owner": "GNOME",
|
||||||
|
"repo": "gnome-shell",
|
||||||
|
"rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"host": "gitlab.gnome.org",
|
||||||
|
"owner": "GNOME",
|
||||||
|
"ref": "gnome-49",
|
||||||
|
"repo": "gnome-shell",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -1222,6 +1362,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nur": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": [
|
||||||
|
"stylix",
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1758998580,
|
||||||
|
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pre-commit-hooks-nix": {
|
"pre-commit-hooks-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
@@ -1347,6 +1512,7 @@
|
|||||||
"snowfall-lib": "snowfall-lib",
|
"snowfall-lib": "snowfall-lib",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"steam-rom-manager": "steam-rom-manager",
|
"steam-rom-manager": "steam-rom-manager",
|
||||||
|
"stylix": "stylix",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1475,6 +1641,40 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"stylix": {
|
||||||
|
"inputs": {
|
||||||
|
"base16": "base16",
|
||||||
|
"base16-fish": "base16-fish",
|
||||||
|
"base16-helix": "base16-helix",
|
||||||
|
"base16-vim": "base16-vim",
|
||||||
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
|
"flake-parts": "flake-parts_3",
|
||||||
|
"gnome-shell": "gnome-shell",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nur": "nur",
|
||||||
|
"systems": "systems_4",
|
||||||
|
"tinted-foot": "tinted-foot",
|
||||||
|
"tinted-kitty": "tinted-kitty",
|
||||||
|
"tinted-schemes": "tinted-schemes",
|
||||||
|
"tinted-tmux": "tinted-tmux",
|
||||||
|
"tinted-zed": "tinted-zed"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1764550443,
|
||||||
|
"narHash": "sha256-ArO2V1YEHmEILilTj4KPtqF4gqc1q2HBrrrmygQ/UyU=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "stylix",
|
||||||
|
"rev": "794b6e1fa75177ebfeb32967f135858a1ab1ba15",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "stylix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
@@ -1520,6 +1720,102 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-foot": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726913040,
|
||||||
|
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-foot",
|
||||||
|
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-foot",
|
||||||
|
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-kitty": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735730497,
|
||||||
|
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-kitty",
|
||||||
|
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-kitty",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-schemes": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1757716333,
|
||||||
|
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "schemes",
|
||||||
|
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "schemes",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-tmux": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1757811970,
|
||||||
|
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-tmux",
|
||||||
|
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-tmux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-zed": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1757811247,
|
||||||
|
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-zed",
|
||||||
|
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-zed",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|||||||
@@ -91,6 +91,11 @@
|
|||||||
url = "github:cpick/nix-rosetta-builder";
|
url = "github:cpick/nix-rosetta-builder";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
url = "github:nix-community/stylix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# We will handle this in the next section.
|
# We will handle this in the next section.
|
||||||
@@ -117,6 +122,7 @@
|
|||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
nix-index-database.nixosModules.nix-index
|
nix-index-database.nixosModules.nix-index
|
||||||
|
stylix.nixosModules.stylix
|
||||||
];
|
];
|
||||||
|
|
||||||
# common darwin modules
|
# common darwin modules
|
||||||
@@ -126,6 +132,7 @@
|
|||||||
nix-plist-manager.darwinModules.default
|
nix-plist-manager.darwinModules.default
|
||||||
nix-rosetta-builder.darwinModules.default
|
nix-rosetta-builder.darwinModules.default
|
||||||
nix-index-database.darwinModules.nix-index
|
nix-index-database.darwinModules.nix-index
|
||||||
|
stylix.darwinModules.stylix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Host config
|
# Host config
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
namespace,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
update-switch = "darwin-rebuild switch --flake ~/nix-config";
|
update-switch = "darwin-rebuild switch --flake ~/nix-config";
|
||||||
update-flake = "nix flake update ~/nix-config";
|
update-flake = "nix flake update ~/nix-config";
|
||||||
@@ -135,9 +137,9 @@ in
|
|||||||
};
|
};
|
||||||
dock = {
|
dock = {
|
||||||
animateOpeningApplications = true;
|
animateOpeningApplications = true;
|
||||||
automaticallyHideAndShowTheDock.enabled = false;
|
automaticallyHideAndShowTheDock = enabled;
|
||||||
doubleClickAWindowsTitleBarTo = "Minimize";
|
doubleClickAWindowsTitleBarTo = "Minimize";
|
||||||
magnification.enabled = false;
|
magnification = disabled;
|
||||||
minimizeWindowsIntoApplicationIcon = true;
|
minimizeWindowsIntoApplicationIcon = true;
|
||||||
minimizeWindowsUsing = "Genie Effect";
|
minimizeWindowsUsing = "Genie Effect";
|
||||||
positionOnScreen = "Bottom";
|
positionOnScreen = "Bottom";
|
||||||
@@ -254,11 +256,11 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Manage bug in compilations - who uses manpages in 2024 anyways? :P
|
# Manage bug in compilations - who uses manpages in 2024 anyways? :P
|
||||||
manual.manpages.enable = false;
|
manual.manpages = enabled;
|
||||||
|
|
||||||
# Override defaults that arent supported
|
# Override defaults that arent supported
|
||||||
programs = {
|
programs = {
|
||||||
mangohud.enable = lib.mkForce false;
|
mangohud = lib.mkForce disabled;
|
||||||
|
|
||||||
nh = {
|
nh = {
|
||||||
flake = lib.mkForce "/Users/mattjallen/nix-config";
|
flake = lib.mkForce "/Users/mattjallen/nix-config";
|
||||||
@@ -266,8 +268,8 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
pass-secret-service.enable = lib.mkForce false;
|
pass-secret-service = lib.mkForce disabled;
|
||||||
nextcloud-client.enable = lib.mkForce false;
|
nextcloud-client = lib.mkForce disabled;
|
||||||
kdeconnect = {
|
kdeconnect = {
|
||||||
enable = false;
|
enable = false;
|
||||||
indicator = false;
|
indicator = false;
|
||||||
|
|||||||
@@ -1,19 +1,17 @@
|
|||||||
{
|
{
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
namespace,
|
namespace,
|
||||||
config,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
theme = config.mjallen.theme.palette;
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
||||||
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3";
|
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3";
|
||||||
update-flake = "nix flake update mac-nixpkgs mac-nixos-apple-silicon mac-home-manager mac-impermanence mac-sops-nix --flake /etc/nixos";
|
update-flake = "nix flake update mac-nixpkgs mac-nixos-apple-silicon mac-home-manager mac-impermanence mac-sops-nix --flake /etc/nixos";
|
||||||
update-nas = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.3 --build-host admin@10.0.1.3 --flake ~/nix-config#jallen-nas";
|
update-nas = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.3 --build-host admin@10.0.1.3 --flake ~/nix-config#jallen-nas";
|
||||||
};
|
};
|
||||||
fontName = "JetBrainsMono NFM";
|
|
||||||
fontPackage = pkgs.nerd-fonts.jetbrains-mono;
|
|
||||||
# Displays
|
# Displays
|
||||||
display = {
|
display = {
|
||||||
input = "eDP-1";
|
input = "eDP-1";
|
||||||
@@ -77,20 +75,15 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
btop.enable = true;
|
btop = enabled;
|
||||||
kitty = {
|
kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
|
||||||
name = fontName;
|
|
||||||
package = fontPackage;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
mako = {
|
mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
fontName = fontName;
|
|
||||||
};
|
};
|
||||||
nwg-dock.enable = true;
|
nwg-dock = enabled;
|
||||||
nwg-drawer.enable = true;
|
nwg-drawer = enabled;
|
||||||
nwg-panel = {
|
nwg-panel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApps = {
|
defaultApps = {
|
||||||
@@ -103,8 +96,8 @@ in
|
|||||||
layer = "bottom";
|
layer = "bottom";
|
||||||
|
|
||||||
temperature = {
|
temperature = {
|
||||||
cpu.enable = true;
|
cpu = enabled;
|
||||||
gpu.enable = true;
|
gpu = enabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraModules = {
|
extraModules = {
|
||||||
@@ -120,21 +113,20 @@ in
|
|||||||
|
|
||||||
extraModulesStyle = ''
|
extraModulesStyle = ''
|
||||||
#custom-lights {
|
#custom-lights {
|
||||||
color: ${theme.frost.nord8};
|
color: @base0C;
|
||||||
background-color: ${theme.polarNight.nord0};
|
opacity: 0.85;
|
||||||
${theme.defaultOpacity}
|
background-color: @base00;
|
||||||
${theme.borderLeft}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-lights:hover {
|
#custom-lights:hover {
|
||||||
background: ${theme.polarNight.nord3};
|
background: @base03;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
windowOffset = 75;
|
windowOffset = 75;
|
||||||
};
|
};
|
||||||
wlogout.enable = true;
|
wlogout = enabled;
|
||||||
wofi.enable = true;
|
wofi = enabled;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -149,7 +141,7 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
password-store.enable = true;
|
password-store = enabled;
|
||||||
|
|
||||||
zsh.shellAliases = shellAliases;
|
zsh.shellAliases = shellAliases;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
{ lib, namespace, ... }:
|
{ lib, namespace, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
home.username = "matt";
|
home.username = "matt";
|
||||||
|
|
||||||
@@ -53,11 +56,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
mangohud.enable = lib.mkForce true;
|
mangohud = lib.mkForce enabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
nextcloud-client.enable = lib.mkForce false;
|
nextcloud-client = lib.mkForce disabled;
|
||||||
kdeconnect = {
|
kdeconnect = {
|
||||||
enable = false;
|
enable = false;
|
||||||
indicator = false;
|
indicator = false;
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
||||||
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3";
|
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3";
|
||||||
@@ -59,7 +62,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
nextcloud-client.enable = false;
|
nextcloud-client = lib.mkForce disabled;
|
||||||
kdeconnect = {
|
kdeconnect = {
|
||||||
enable = false;
|
enable = false;
|
||||||
indicator = false;
|
indicator = false;
|
||||||
|
|||||||
18
homes/aarch64-linux/root@macbook-pro-nixos/default.nix
Normal file
18
homes/aarch64-linux/root@macbook-pro-nixos/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.username = "root";
|
||||||
|
services = {
|
||||||
|
nextcloud-client = lib.mkForce disabled;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = false;
|
||||||
|
indicator = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
homes/aarch64-linux/root@pi4/default.nix
Normal file
18
homes/aarch64-linux/root@pi4/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.username = "root";
|
||||||
|
services = {
|
||||||
|
nextcloud-client = lib.mkForce disabled;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = false;
|
||||||
|
indicator = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
homes/aarch64-linux/root@pi5/default.nix
Normal file
18
homes/aarch64-linux/root@pi5/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.username = "root";
|
||||||
|
services = {
|
||||||
|
nextcloud-client = lib.mkForce disabled;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = false;
|
||||||
|
indicator = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
{ pkgs, namespace, ... }:
|
{ lib, pkgs, namespace, ... }:
|
||||||
let
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
||||||
update-switch = "sudo nixos-rebuild switch --max-jobs 10";
|
update-switch = "sudo nixos-rebuild switch --max-jobs 10";
|
||||||
@@ -10,7 +11,7 @@ in
|
|||||||
{
|
{
|
||||||
home.username = "deck";
|
home.username = "deck";
|
||||||
|
|
||||||
${namespace}.desktop.gnome.enable = true;
|
${namespace}.desktop.gnome = enabled;
|
||||||
|
|
||||||
sops = {
|
sops = {
|
||||||
age.keyFile = "/home/deck/.config/sops/age/keys.txt";
|
age.keyFile = "/home/deck/.config/sops/age/keys.txt";
|
||||||
@@ -40,7 +41,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
emulators = {
|
emulators = {
|
||||||
ryujinx.enable = true;
|
ryujinx = enabled;
|
||||||
|
|
||||||
dolphin-gamecube = {
|
dolphin-gamecube = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -58,8 +59,8 @@ in
|
|||||||
extraArgs = "-b -e \"\${filePath}\"";
|
extraArgs = "-b -e \"\${filePath}\"";
|
||||||
};
|
};
|
||||||
|
|
||||||
pcsx2.enable = true;
|
pcsx2 = enabled;
|
||||||
mgba.enable = true;
|
mgba = enabled;
|
||||||
|
|
||||||
"Non-SRM Shortcuts" = {
|
"Non-SRM Shortcuts" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ let
|
|||||||
displayLeft = {
|
displayLeft = {
|
||||||
input = "DP-1";
|
input = "DP-1";
|
||||||
resolution = "3840x2160";
|
resolution = "3840x2160";
|
||||||
refreshRate = "240.00000";
|
refreshRate = "120.00000";
|
||||||
};
|
};
|
||||||
displayRight = {
|
displayRight = {
|
||||||
input = "DP-2";
|
input = "DP-2";
|
||||||
@@ -104,17 +104,8 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
btop = enabled;
|
btop = enabled;
|
||||||
kitty = {
|
kitty = enabled;
|
||||||
enable = true;
|
mako = enabled;
|
||||||
font = {
|
|
||||||
name = "JetBrainsMono NFM";
|
|
||||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
mako = {
|
|
||||||
enable = true;
|
|
||||||
fontName = "JetBrainsMono NFM";
|
|
||||||
};
|
|
||||||
nwg-dock = enabled;
|
nwg-dock = enabled;
|
||||||
nwg-drawer = enabled;
|
nwg-drawer = enabled;
|
||||||
nwg-panel = {
|
nwg-panel = {
|
||||||
@@ -130,8 +121,8 @@ in
|
|||||||
|
|
||||||
network.interface = "wlp9s0";
|
network.interface = "wlp9s0";
|
||||||
temperature = {
|
temperature = {
|
||||||
cpu.enable = true;
|
cpu = enabled;
|
||||||
gpu.enable = true;
|
gpu = enabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraModules = {
|
extraModules = {
|
||||||
@@ -147,14 +138,14 @@ in
|
|||||||
|
|
||||||
extraModulesStyle = ''
|
extraModulesStyle = ''
|
||||||
#custom-lights {
|
#custom-lights {
|
||||||
color: ${theme.frost.nord8};
|
color: @base0C;
|
||||||
background-color: ${theme.polarNight.nord0};
|
background-color: @base00;
|
||||||
${theme.defaultOpacity}
|
opacity: 0.85;
|
||||||
border-left: 5px solid ${theme.frost.nord8};
|
border-left: 5px solid @base0C;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-lights:hover {
|
#custom-lights:hover {
|
||||||
background: ${theme.polarNight.nord3};
|
background: @base03;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
18
homes/x86_64-linux/root@jallen-nas/default.nix
Normal file
18
homes/x86_64-linux/root@jallen-nas/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.username = "root";
|
||||||
|
services = {
|
||||||
|
nextcloud-client = lib.mkForce disabled;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = false;
|
||||||
|
indicator = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
homes/x86_64-linux/root@matt-nixos/default.nix
Normal file
18
homes/x86_64-linux/root@matt-nixos/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.username = "root";
|
||||||
|
services = {
|
||||||
|
nextcloud-client = lib.mkForce disabled;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = false;
|
||||||
|
indicator = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
homes/x86_64-linux/root@nuc-nixos/default.nix
Normal file
18
homes/x86_64-linux/root@nuc-nixos/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.username = "root";
|
||||||
|
services = {
|
||||||
|
nextcloud-client = lib.mkForce disabled;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = false;
|
||||||
|
indicator = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
homes/x86_64-linux/root@steamdeck/default.nix
Normal file
18
homes/x86_64-linux/root@steamdeck/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
namespace,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.username = "root";
|
||||||
|
services = {
|
||||||
|
nextcloud-client = lib.mkForce disabled;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = false;
|
||||||
|
indicator = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
sops-nix.homeManagerModules.sops
|
sops-nix.homeManagerModules.sops
|
||||||
nix-plist-manager.homeManagerModules.default
|
nix-plist-manager.homeManagerModules.default
|
||||||
nix-index-database.homeModules.nix-index
|
nix-index-database.homeModules.nix-index
|
||||||
|
stylix.homeModules.stylix
|
||||||
# Add any other external HM modules here
|
# Add any other external HM modules here
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,191 +0,0 @@
|
|||||||
{ config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.mjallen.theme;
|
|
||||||
|
|
||||||
mkPalettePath = name: lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/${name}.nix";
|
|
||||||
|
|
||||||
cap =
|
|
||||||
s:
|
|
||||||
let
|
|
||||||
len = builtins.stringLength s;
|
|
||||||
in
|
|
||||||
(lib.toUpper (builtins.substring 0 1 s)) + (builtins.substring 1 (len - 1) s);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.mjallen.theme = {
|
|
||||||
name = mkOption {
|
|
||||||
type = types.enum [
|
|
||||||
"nord"
|
|
||||||
"dracula"
|
|
||||||
"everforest"
|
|
||||||
];
|
|
||||||
default = "nord";
|
|
||||||
description = "Global theme palette name.";
|
|
||||||
};
|
|
||||||
|
|
||||||
# This is the palette file other modules should import.
|
|
||||||
# It exports a normalized schema with colors, tokens, and compat maps.
|
|
||||||
paletteFile = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = mkPalettePath "nord";
|
|
||||||
description = "Path to a palette nix file exporting a normalized schema (and compat maps).";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Exposed tokens (derived from paletteFile)
|
|
||||||
tokens = mkOption {
|
|
||||||
type = types.attrs;
|
|
||||||
default = { };
|
|
||||||
description = "Derived tokens from the selected palette (set automatically).";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Expose the imported palette (actual colors + compat groups)
|
|
||||||
palette = mkOption {
|
|
||||||
type = types.attrs;
|
|
||||||
default = { };
|
|
||||||
description = "Imported palette attrset from the selected paletteFile (set automatically).";
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
description = "Manage GTK theme using global theme settings.";
|
|
||||||
};
|
|
||||||
|
|
||||||
# e.g. Colloid-Dark-Compact-*
|
|
||||||
color = mkOption {
|
|
||||||
type = types.enum [
|
|
||||||
"dark"
|
|
||||||
"light"
|
|
||||||
];
|
|
||||||
default = "dark";
|
|
||||||
description = "GTK color variant.";
|
|
||||||
};
|
|
||||||
|
|
||||||
size = mkOption {
|
|
||||||
type = types.enum [
|
|
||||||
"standard"
|
|
||||||
"compact"
|
|
||||||
];
|
|
||||||
default = "compact";
|
|
||||||
description = "GTK size variant.";
|
|
||||||
};
|
|
||||||
|
|
||||||
accent = mkOption {
|
|
||||||
type = types.enum [
|
|
||||||
"default"
|
|
||||||
"purple"
|
|
||||||
"pink"
|
|
||||||
"red"
|
|
||||||
"orange"
|
|
||||||
"yellow"
|
|
||||||
"green"
|
|
||||||
"teal"
|
|
||||||
"grey"
|
|
||||||
"all"
|
|
||||||
];
|
|
||||||
default = "all";
|
|
||||||
description = "GTK accent (Colloid themeVariants).";
|
|
||||||
};
|
|
||||||
|
|
||||||
tweak = mkOption {
|
|
||||||
type = types.enum [
|
|
||||||
"normal"
|
|
||||||
"rimless"
|
|
||||||
"float"
|
|
||||||
"black"
|
|
||||||
];
|
|
||||||
default = "normal";
|
|
||||||
description = "GTK tweak (Colloid tweaks).";
|
|
||||||
};
|
|
||||||
|
|
||||||
themeName = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
default = null;
|
|
||||||
description = "Explicit GTK theme name override. If null, computed from color/size/accent.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
icons = {
|
|
||||||
# Colloid icon scheme usually supports several named schemes. Default follows palette name.
|
|
||||||
scheme = mkOption {
|
|
||||||
type = types.enum [
|
|
||||||
"default"
|
|
||||||
"nord"
|
|
||||||
"dracula"
|
|
||||||
"gruvbox"
|
|
||||||
"everforest"
|
|
||||||
"catppuccin"
|
|
||||||
];
|
|
||||||
default = cfg.name;
|
|
||||||
description = "Icon scheme to use (Colloid schemeVariants).";
|
|
||||||
};
|
|
||||||
|
|
||||||
variant = mkOption {
|
|
||||||
type = types.enum [
|
|
||||||
"default"
|
|
||||||
"purple"
|
|
||||||
"pink"
|
|
||||||
"red"
|
|
||||||
"orange"
|
|
||||||
"yellow"
|
|
||||||
"green"
|
|
||||||
"teal"
|
|
||||||
"grey"
|
|
||||||
"all"
|
|
||||||
];
|
|
||||||
default = "all";
|
|
||||||
description = "Icon variant (Colloid colorVariants).";
|
|
||||||
};
|
|
||||||
|
|
||||||
themeName = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
default = null;
|
|
||||||
description = "Explicit icon theme name override. If null, computed from scheme/variant.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Wire derived defaults that depend on other options.
|
|
||||||
config = {
|
|
||||||
# Keep paletteFile following the chosen name unless user overrides it explicitly.
|
|
||||||
mjallen.theme.paletteFile = mkDefault (mkPalettePath cfg.name);
|
|
||||||
|
|
||||||
# Pull tokens directly from the palette file for convenience
|
|
||||||
mjallen.theme.tokens = mkDefault (
|
|
||||||
let
|
|
||||||
pal = import cfg.paletteFile;
|
|
||||||
in
|
|
||||||
pal.tokens or { }
|
|
||||||
);
|
|
||||||
|
|
||||||
# Expose the imported palette for convenience
|
|
||||||
mjallen.theme.palette = mkDefault (import cfg.paletteFile);
|
|
||||||
|
|
||||||
# Default per-program palette path (can still be overridden per program)
|
|
||||||
mjallen.programs.waybar.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
mjallen.programs.kitty.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
mjallen.programs.mako.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
mjallen.programs.wofi.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
mjallen.programs.btop.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
mjallen.programs.nwg-dock.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
mjallen.programs.nwg-drawer.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
mjallen.programs.wlogout.theme.file = mkDefault cfg.paletteFile;
|
|
||||||
|
|
||||||
# Computed GTK/Icon theme names if not overridden
|
|
||||||
_module.args.mjallenThemeComputed = {
|
|
||||||
gtkTheme =
|
|
||||||
if cfg.gtk.themeName != null then
|
|
||||||
cfg.gtk.themeName
|
|
||||||
else
|
|
||||||
"Colloid-${cap cfg.gtk.color}-${cap cfg.gtk.size}";
|
|
||||||
|
|
||||||
iconTheme =
|
|
||||||
if cfg.icons.themeName != null then
|
|
||||||
cfg.icons.themeName
|
|
||||||
else
|
|
||||||
"Colloid-${cap cfg.icons.scheme}-${cap cfg.gtk.color}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
# Nord colors
|
|
||||||
# Opacity Hex alpha
|
|
||||||
# 100% FF
|
|
||||||
# 75% BF
|
|
||||||
# 50% 80
|
|
||||||
# 25% 40
|
|
||||||
# 10% 1A
|
|
||||||
# 0% 00
|
|
||||||
polarNight = {
|
|
||||||
nord0 = "#2e3440";
|
|
||||||
nord1 = "#3b4252";
|
|
||||||
nord2 = "#434c5e";
|
|
||||||
nord3 = "#4c566a";
|
|
||||||
};
|
|
||||||
snowStorm = {
|
|
||||||
nord4 = "#d8dee9";
|
|
||||||
nord5 = "#e5e9f0";
|
|
||||||
nord6 = "#eceff4";
|
|
||||||
};
|
|
||||||
frost = {
|
|
||||||
nord7 = "#8fbcbb";
|
|
||||||
nord8 = "#88c0d0";
|
|
||||||
nord9 = "#81a1c1";
|
|
||||||
nord10 = "#5e81ac";
|
|
||||||
};
|
|
||||||
aurora = {
|
|
||||||
nord11 = "#bf616a";
|
|
||||||
nord12 = "#d08770";
|
|
||||||
nord13 = "#ebcb8b";
|
|
||||||
nord14 = "#a3be8c";
|
|
||||||
nord15 = "#b48ead";
|
|
||||||
};
|
|
||||||
|
|
||||||
defaultOpacity = "opacity: 0.85;";
|
|
||||||
defaultBorderRadius = "border-radius: 1rem;";
|
|
||||||
defaultCenterOptions = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
'';
|
|
||||||
borderRight = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 0rem 1rem 1rem 0rem;
|
|
||||||
margin-right: 0.5rem;
|
|
||||||
'';
|
|
||||||
borderLeft = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 1rem 0rem 0rem 1rem;
|
|
||||||
margin-left: 0.5rem;
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
rec {
|
|
||||||
# Normalized semantic colors (theme-agnostic) - Dracula
|
|
||||||
colors = {
|
|
||||||
bg = "#282a36";
|
|
||||||
bgAlt = "#343746";
|
|
||||||
surface = "#343746";
|
|
||||||
surfaceAlt = "#44475a";
|
|
||||||
border = "#44475a";
|
|
||||||
|
|
||||||
text = "#f8f8f2";
|
|
||||||
textMuted = "#e2e2dc";
|
|
||||||
|
|
||||||
primary = "#6272a4"; # dark blue
|
|
||||||
info = "#8be9fd"; # cyan
|
|
||||||
accent = "#bd93f9"; # purple
|
|
||||||
success = "#50fa7b"; # green
|
|
||||||
warning = "#f1fa8c"; # yellow
|
|
||||||
danger = "#ff5555"; # red
|
|
||||||
};
|
|
||||||
|
|
||||||
# Shared styling tokens for CSS consumers
|
|
||||||
tokens = {
|
|
||||||
opacity = "opacity: 0.90;";
|
|
||||||
borderRadius = "border-radius: 0.8rem;";
|
|
||||||
|
|
||||||
centerOptions = ''
|
|
||||||
padding-top: 0.25rem;
|
|
||||||
padding-bottom: 0.25rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
'';
|
|
||||||
|
|
||||||
borderRight = ''
|
|
||||||
padding-top: 0.25rem;
|
|
||||||
padding-bottom: 0.25rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 0rem 0.8rem 0.8rem 0rem;
|
|
||||||
margin-right: 0.5rem;
|
|
||||||
'';
|
|
||||||
|
|
||||||
borderLeft = ''
|
|
||||||
padding-top: 0.25rem;
|
|
||||||
padding-bottom: 0.25rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 0.8rem 0rem 0rem 0.8rem;
|
|
||||||
margin-left: 0.5rem;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Legacy token aliases for back-compat
|
|
||||||
defaultOpacity = tokens.opacity;
|
|
||||||
defaultBorderRadius = tokens.borderRadius;
|
|
||||||
defaultCenterOptions = tokens.centerOptions;
|
|
||||||
borderRight = tokens.borderRight;
|
|
||||||
borderLeft = tokens.borderLeft;
|
|
||||||
|
|
||||||
# Back-compat: Nord-shaped groups for existing modules (approximate mappings)
|
|
||||||
polarNight = {
|
|
||||||
nord0 = "#282a36";
|
|
||||||
nord1 = "#343746";
|
|
||||||
nord2 = "#3b3e4a";
|
|
||||||
nord3 = "#44475a";
|
|
||||||
};
|
|
||||||
|
|
||||||
snowStorm = {
|
|
||||||
nord4 = "#e2e2dc";
|
|
||||||
nord5 = "#f1f1ea";
|
|
||||||
nord6 = "#f8f8f2";
|
|
||||||
};
|
|
||||||
|
|
||||||
frost = {
|
|
||||||
nord7 = "#50fa7b"; # using green as one of the frost group
|
|
||||||
nord8 = "#8be9fd"; # cyan
|
|
||||||
nord9 = "#6272a4"; # blue
|
|
||||||
nord10 = "#bd93f9"; # purple (as highlight)
|
|
||||||
};
|
|
||||||
|
|
||||||
aurora = {
|
|
||||||
nord11 = "#ff5555"; # red
|
|
||||||
nord12 = "#ffb86c"; # orange
|
|
||||||
nord13 = "#f1fa8c"; # yellow
|
|
||||||
nord14 = "#50fa7b"; # green
|
|
||||||
nord15 = "#bd93f9"; # magenta/purple
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
rec {
|
|
||||||
# Normalized semantic colors (Everforest - Dark)
|
|
||||||
colors = {
|
|
||||||
bg = "#2b3339";
|
|
||||||
bgAlt = "#323c41";
|
|
||||||
surface = "#323c41";
|
|
||||||
surfaceAlt = "#3a444a";
|
|
||||||
border = "#414b51";
|
|
||||||
|
|
||||||
text = "#d3c6aa";
|
|
||||||
textMuted = "#9da9a0";
|
|
||||||
|
|
||||||
primary = "#7fbbb3"; # blue/aqua
|
|
||||||
info = "#83c092"; # teal
|
|
||||||
accent = "#d699b6"; # magenta
|
|
||||||
success = "#a7c080"; # green
|
|
||||||
warning = "#dbbc7f"; # yellow
|
|
||||||
danger = "#e67e80"; # red
|
|
||||||
};
|
|
||||||
|
|
||||||
# Shared styling tokens for CSS consumers
|
|
||||||
tokens = {
|
|
||||||
opacity = "opacity: 0.85;";
|
|
||||||
borderRadius = "border-radius: 1rem;";
|
|
||||||
|
|
||||||
centerOptions = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
'';
|
|
||||||
|
|
||||||
borderRight = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 0rem 1rem 1rem 0rem;
|
|
||||||
margin-right: 0.5rem;
|
|
||||||
'';
|
|
||||||
|
|
||||||
borderLeft = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 1rem 0rem 0rem 1rem;
|
|
||||||
margin-left: 0.5rem;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Legacy token aliases for back-compat
|
|
||||||
defaultOpacity = tokens.opacity;
|
|
||||||
defaultBorderRadius = tokens.borderRadius;
|
|
||||||
defaultCenterOptions = tokens.centerOptions;
|
|
||||||
borderRight = tokens.borderRight;
|
|
||||||
borderLeft = tokens.borderLeft;
|
|
||||||
|
|
||||||
# Back-compat: Nord-shaped groups for existing modules (approximate mappings)
|
|
||||||
polarNight = {
|
|
||||||
nord0 = "#2b3339";
|
|
||||||
nord1 = "#323c41";
|
|
||||||
nord2 = "#3a444a";
|
|
||||||
nord3 = "#414b51";
|
|
||||||
};
|
|
||||||
|
|
||||||
snowStorm = {
|
|
||||||
nord4 = "#c6d0b5";
|
|
||||||
nord5 = "#e0dcc7";
|
|
||||||
nord6 = "#d3c6aa";
|
|
||||||
};
|
|
||||||
|
|
||||||
frost = {
|
|
||||||
nord7 = "#a7c080"; # green
|
|
||||||
nord8 = "#83c092"; # teal
|
|
||||||
nord9 = "#7fbbb3"; # aqua/blue
|
|
||||||
nord10 = "#7fbbb3"; # reuse
|
|
||||||
};
|
|
||||||
|
|
||||||
aurora = {
|
|
||||||
nord11 = "#e67e80"; # red
|
|
||||||
nord12 = "#e69875"; # orange
|
|
||||||
nord13 = "#dbbc7f"; # yellow
|
|
||||||
nord14 = "#a7c080"; # green
|
|
||||||
nord15 = "#d699b6"; # magenta
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
rec {
|
|
||||||
# Normalized semantic colors (theme-agnostic)
|
|
||||||
colors = {
|
|
||||||
bg = "#2e3440";
|
|
||||||
bgAlt = "#3b4252";
|
|
||||||
surface = "#3b4252";
|
|
||||||
surfaceAlt = "#434c5e";
|
|
||||||
border = "#4c566a";
|
|
||||||
|
|
||||||
text = "#eceff4";
|
|
||||||
textMuted = "#e5e9f0";
|
|
||||||
|
|
||||||
primary = "#5e81ac"; # blue
|
|
||||||
info = "#88c0d0"; # cyan/teal
|
|
||||||
accent = "#b48ead"; # purple
|
|
||||||
success = "#a3be8c"; # green
|
|
||||||
warning = "#ebcb8b"; # yellow
|
|
||||||
danger = "#bf616a"; # red
|
|
||||||
};
|
|
||||||
|
|
||||||
# Shared styling tokens for CSS consumers
|
|
||||||
tokens = {
|
|
||||||
opacity = "opacity: 0.85;";
|
|
||||||
borderRadius = "border-radius: 1rem;";
|
|
||||||
|
|
||||||
centerOptions = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
'';
|
|
||||||
|
|
||||||
borderRight = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 0rem 1rem 1rem 0rem;
|
|
||||||
margin-right: 0.5rem;
|
|
||||||
'';
|
|
||||||
|
|
||||||
borderLeft = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 1rem 0rem 0rem 1rem;
|
|
||||||
margin-left: 0.5rem;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Legacy token aliases for back-compat
|
|
||||||
defaultOpacity = tokens.opacity;
|
|
||||||
defaultBorderRadius = tokens.borderRadius;
|
|
||||||
defaultCenterOptions = tokens.centerOptions;
|
|
||||||
borderRight = tokens.borderRight;
|
|
||||||
borderLeft = tokens.borderLeft;
|
|
||||||
|
|
||||||
# Back-compat: Nord-shaped groups for existing modules
|
|
||||||
polarNight = {
|
|
||||||
nord0 = "#2e3440";
|
|
||||||
nord1 = "#3b4252";
|
|
||||||
nord2 = "#434c5e";
|
|
||||||
nord3 = "#4c566a";
|
|
||||||
};
|
|
||||||
|
|
||||||
snowStorm = {
|
|
||||||
nord4 = "#d8dee9";
|
|
||||||
nord5 = "#e5e9f0";
|
|
||||||
nord6 = "#eceff4";
|
|
||||||
};
|
|
||||||
|
|
||||||
frost = {
|
|
||||||
nord7 = "#8fbcbb";
|
|
||||||
nord8 = "#88c0d0";
|
|
||||||
nord9 = "#81a1c1";
|
|
||||||
nord10 = "#5e81ac";
|
|
||||||
};
|
|
||||||
|
|
||||||
aurora = {
|
|
||||||
nord11 = "#bf616a";
|
|
||||||
nord12 = "#d08770";
|
|
||||||
nord13 = "#ebcb8b";
|
|
||||||
nord14 = "#a3be8c";
|
|
||||||
nord15 = "#b48ead";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -2,9 +2,13 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
namespace,
|
||||||
hasDestopEnvironment ? true,
|
hasDestopEnvironment ? true,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib.${namespace}) enabled disabled;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
enableNixpkgsReleaseCheck = lib.mkDefault false;
|
enableNixpkgsReleaseCheck = lib.mkDefault false;
|
||||||
@@ -51,15 +55,15 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
nix-index-database.comma.enable = true;
|
nix-index-database.comma = enabled;
|
||||||
btop.enable = lib.mkDefault true;
|
btop = lib.mkDefault enabled;
|
||||||
fastfetch.enable = lib.mkDefault true;
|
fastfetch = lib.mkDefault enabled;
|
||||||
home-manager.enable = lib.mkDefault true;
|
home-manager = lib.mkDefault enabled;
|
||||||
java = {
|
java = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
mangohud.enable = lib.mkDefault hasDestopEnvironment;
|
mangohud.enable = lib.mkDefault hasDestopEnvironment;
|
||||||
password-store.enable = true;
|
password-store = enabled;
|
||||||
nh = {
|
nh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flake = "/etc/nixos";
|
flake = "/etc/nixos";
|
||||||
@@ -122,7 +126,7 @@
|
|||||||
|
|
||||||
services = {
|
services = {
|
||||||
nextcloud-client.enable = lib.mkDefault hasDestopEnvironment;
|
nextcloud-client.enable = lib.mkDefault hasDestopEnvironment;
|
||||||
pass-secret-service.enable = lib.mkDefault true;
|
pass-secret-service = lib.mkDefault enabled;
|
||||||
kdeconnect = {
|
kdeconnect = {
|
||||||
enable = lib.mkDefault hasDestopEnvironment;
|
enable = lib.mkDefault hasDestopEnvironment;
|
||||||
indicator = lib.mkDefault true;
|
indicator = lib.mkDefault true;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.mjallen.programs.btop;
|
cfg = config.mjallen.programs.btop;
|
||||||
palette = import cfg.theme.file;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
@@ -10,8 +9,6 @@ in
|
|||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
color_theme = "global";
|
|
||||||
theme_background = true;
|
|
||||||
truecolor = true;
|
truecolor = true;
|
||||||
force_tty = false;
|
force_tty = false;
|
||||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty";
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty";
|
||||||
@@ -75,52 +72,6 @@ in
|
|||||||
selected_battery = "Auto";
|
selected_battery = "Auto";
|
||||||
log_level = "WARNING";
|
log_level = "WARNING";
|
||||||
};
|
};
|
||||||
themes = {
|
|
||||||
global = ''
|
|
||||||
theme[main_bg]="${palette.colors.bg}"
|
|
||||||
theme[main_fg]="${palette.colors.text}"
|
|
||||||
theme[title]="${palette.colors.text}"
|
|
||||||
theme[hi_fg]="${palette.colors.info}"
|
|
||||||
theme[selected_bg]="${palette.colors.bgAlt}"
|
|
||||||
theme[selected_fg]="${palette.colors.info}"
|
|
||||||
theme[inactive_fg]="${palette.colors.surfaceAlt}"
|
|
||||||
theme[graph_text]="${palette.colors.text}"
|
|
||||||
theme[meter_bg]="${palette.colors.bgAlt}"
|
|
||||||
theme[proc_misc]="${palette.colors.text}"
|
|
||||||
theme[cpu_box]="${palette.colors.accent}"
|
|
||||||
theme[mem_box]="${palette.colors.success}"
|
|
||||||
theme[net_box]="${palette.colors.warning}"
|
|
||||||
theme[proc_box]="${palette.colors.danger}"
|
|
||||||
theme[div_line]="${palette.colors.bgAlt}"
|
|
||||||
theme[temp_start]="${palette.colors.success}"
|
|
||||||
theme[temp_mid]="${palette.colors.warning}"
|
|
||||||
theme[temp_end]="${palette.colors.danger}"
|
|
||||||
theme[cpu_start]="${palette.colors.accent}"
|
|
||||||
theme[cpu_mid]="${palette.colors.warning}"
|
|
||||||
theme[cpu_end]="${palette.colors.danger}"
|
|
||||||
theme[free_start]="${palette.colors.success}"
|
|
||||||
theme[free_mid]="${palette.colors.warning}"
|
|
||||||
theme[free_end]="${palette.colors.warning}"
|
|
||||||
theme[cached_start]="${palette.colors.success}"
|
|
||||||
theme[cached_mid]="${palette.colors.warning}"
|
|
||||||
theme[cached_end]="${palette.colors.warning}"
|
|
||||||
theme[available_start]="${palette.colors.text}"
|
|
||||||
theme[available_mid]="${palette.colors.danger}"
|
|
||||||
theme[available_end]="${palette.colors.danger}"
|
|
||||||
theme[used_start]="${palette.colors.success}"
|
|
||||||
theme[used_mid]="${palette.colors.warning}"
|
|
||||||
theme[used_end]="${palette.colors.danger}"
|
|
||||||
theme[download_start]="${palette.colors.info}"
|
|
||||||
theme[download_mid]="${palette.colors.info}"
|
|
||||||
theme[download_end]="${palette.colors.warning}"
|
|
||||||
theme[upload_start]="${palette.colors.info}"
|
|
||||||
theme[upload_mid]="${palette.colors.info}"
|
|
||||||
theme[upload_end]="${palette.colors.warning}"
|
|
||||||
theme[process_start]="${palette.colors.accent}"
|
|
||||||
theme[process_mid]="${palette.colors.warning}"
|
|
||||||
theme[process_end]="${palette.colors.danger}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,19 +3,5 @@ with lib;
|
|||||||
{
|
{
|
||||||
options.mjallen.programs.btop = {
|
options.mjallen.programs.btop = {
|
||||||
enable = mkEnableOption "enable btop";
|
enable = mkEnableOption "enable btop";
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "btop theme palette configuration.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,11 @@
|
|||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.mjallen.programs.hyprland;
|
cfg = config.mjallen.programs.hyprland;
|
||||||
drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i ${config.gtk.iconTheme.name}";
|
drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i ${config.stylix.icons.dark}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./options.nix
|
./options.nix
|
||||||
./theme.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -83,8 +82,8 @@ in
|
|||||||
GTK_CSD = "0";
|
GTK_CSD = "0";
|
||||||
GTK_THEME = config.gtk.theme.name;
|
GTK_THEME = config.gtk.theme.name;
|
||||||
GTK_USE_PORTAL = "1";
|
GTK_USE_PORTAL = "1";
|
||||||
HYPRCURSOR_THEME = config.home.pointerCursor.name;
|
HYPRCURSOR_THEME = config.stylix.cursor.name;
|
||||||
HYPRCURSOR_SIZE = config.home.pointerCursor.size;
|
HYPRCURSOR_SIZE = config.stylix.cursor.size;
|
||||||
MOZ_ENABLE_WAYLAND = "1";
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
||||||
@@ -95,8 +94,8 @@ in
|
|||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
SDL_VIDEODRIVER = "wayland";
|
SDL_VIDEODRIVER = "wayland";
|
||||||
TERMINAL = "${cfg.defaultApps.terminal.pname}";
|
TERMINAL = "${cfg.defaultApps.terminal.pname}";
|
||||||
XCURSOR_THEME = config.home.pointerCursor.name;
|
XCURSOR_THEME = config.stylix.cursor.name;
|
||||||
XCURSOR_SIZE = config.home.pointerCursor.size;
|
XCURSOR_SIZE = config.stylix.cursor.size;
|
||||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
@@ -176,14 +175,14 @@ in
|
|||||||
{
|
{
|
||||||
monitor = "";
|
monitor = "";
|
||||||
path = "/run/wallpaper.jpg"; # supports png, jpg, webp (no animations, though)
|
path = "/run/wallpaper.jpg"; # supports png, jpg, webp (no animations, though)
|
||||||
color = "rgba(25, 20, 20, 1.0)";
|
color = mkForce "rgba(25, 20, 20, 1.0)";
|
||||||
|
|
||||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||||
blur_passes = "3"; # 0 disables blurring
|
blur_passes = mkForce "3"; # 0 disables blurring
|
||||||
blur_size = "7";
|
blur_size = mkForce "7";
|
||||||
noise = "0.0117";
|
noise = "0.0117";
|
||||||
contrast = "0.8916";
|
contrast = "0.8916";
|
||||||
brightness = "0.8172";
|
brightness = mkForce "0.8172";
|
||||||
vibrancy = "0.1696";
|
vibrancy = "0.1696";
|
||||||
vibrancy_darkness = "0.0";
|
vibrancy_darkness = "0.0";
|
||||||
}
|
}
|
||||||
@@ -193,9 +192,9 @@ in
|
|||||||
{
|
{
|
||||||
monitor = cfg.primaryDisplay;
|
monitor = cfg.primaryDisplay;
|
||||||
text = "cmd[update:1000] echo -e \"$(LC_TIME=en_US.UTF-8 date +\"%A, %B %d\")\"";
|
text = "cmd[update:1000] echo -e \"$(LC_TIME=en_US.UTF-8 date +\"%A, %B %d\")\"";
|
||||||
color = "#eceff4";
|
color = config.lib.stylix.colors.base06;
|
||||||
font_size = "25";
|
font_size = "25";
|
||||||
font_family = "JetBrainsMono NFM";
|
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||||
position = "0, 350";
|
position = "0, 350";
|
||||||
halign = "center";
|
halign = "center";
|
||||||
valign = "center";
|
valign = "center";
|
||||||
@@ -204,9 +203,9 @@ in
|
|||||||
{
|
{
|
||||||
monitor = cfg.primaryDisplay;
|
monitor = cfg.primaryDisplay;
|
||||||
text = "cmd[update:1000] echo \"<span>$(date +\"%I:%M\")</span>\"";
|
text = "cmd[update:1000] echo \"<span>$(date +\"%I:%M\")</span>\"";
|
||||||
color = "#eceff4";
|
color = config.lib.stylix.colors.base06;
|
||||||
font_size = "120";
|
font_size = "120";
|
||||||
font_family = "JetBrainsMono NFM Bold";
|
font_family = lib.mkDefault "${config.stylix.fonts.monospace.name} Bold";
|
||||||
position = "0, 230";
|
position = "0, 230";
|
||||||
halign = "center";
|
halign = "center";
|
||||||
valign = "center";
|
valign = "center";
|
||||||
@@ -214,13 +213,13 @@ in
|
|||||||
{
|
{
|
||||||
monitor = cfg.primaryDisplay;
|
monitor = cfg.primaryDisplay;
|
||||||
text = "$USER";
|
text = "$USER";
|
||||||
color = "#eceff4";
|
color = config.lib.stylix.colors.base06;
|
||||||
outline_thickness = 2;
|
outline_thickness = 2;
|
||||||
dots_size = 0.2;
|
dots_size = 0.2;
|
||||||
dots_spacing = 0.2;
|
dots_spacing = 0.2;
|
||||||
dots_center = true;
|
dots_center = true;
|
||||||
font_size = 18;
|
font_size = 18;
|
||||||
font_family = "JetBrainsMono NFM Bold";
|
font_family = lib.mkDefault "${config.stylix.fonts.monospace.name} Bold";
|
||||||
position = "0, 0";
|
position = "0, 0";
|
||||||
halign = "center";
|
halign = "center";
|
||||||
valign = "center";
|
valign = "center";
|
||||||
@@ -229,9 +228,9 @@ in
|
|||||||
{
|
{
|
||||||
monitor = cfg.primaryDisplay;
|
monitor = cfg.primaryDisplay;
|
||||||
text = "cmd[update:30000] waybar-weather --hyprlock";
|
text = "cmd[update:30000] waybar-weather --hyprlock";
|
||||||
color = "#eceff4";
|
color = config.lib.stylix.colors.base06;
|
||||||
font_size = "25";
|
font_size = "25";
|
||||||
font_family = "JetBrainsMono NFM";
|
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||||
position = "-100, 100";
|
position = "-100, 100";
|
||||||
halign = "right";
|
halign = "right";
|
||||||
valign = "bottom";
|
valign = "bottom";
|
||||||
@@ -240,9 +239,9 @@ in
|
|||||||
{
|
{
|
||||||
monitor = cfg.primaryDisplay;
|
monitor = cfg.primaryDisplay;
|
||||||
text = "cmd[update:1000] waybar-media";
|
text = "cmd[update:1000] waybar-media";
|
||||||
color = "#eceff4";
|
color = config.lib.stylix.colors.base06;
|
||||||
font_size = "15";
|
font_size = "15";
|
||||||
font_family = "JetBrainsMono NFM";
|
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||||
position = "100, 100";
|
position = "100, 100";
|
||||||
halign = "left";
|
halign = "left";
|
||||||
valign = "bottom";
|
valign = "bottom";
|
||||||
@@ -265,16 +264,16 @@ in
|
|||||||
{
|
{
|
||||||
size = "200, 50";
|
size = "200, 50";
|
||||||
position = "0, -80";
|
position = "0, -80";
|
||||||
font_family = "JetBrainsMono NFM";
|
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||||
monitor = cfg.primaryDisplay;
|
monitor = cfg.primaryDisplay;
|
||||||
dots_center = true;
|
dots_center = true;
|
||||||
fade_on_empty = true;
|
fade_on_empty = true;
|
||||||
font_color = "#eceff4";
|
font_color = config.lib.stylix.colors.base06;
|
||||||
inner_color = "#4c566a";
|
inner_color = config.lib.stylix.colors.base03;
|
||||||
outer_color = "#2e3440";
|
outer_color = config.lib.stylix.colors.base00;
|
||||||
bothlock_color = -1;
|
bothlock_color = -1;
|
||||||
outline_thickness = 5;
|
outline_thickness = 5;
|
||||||
placeholder_text = ''<span foreground="##2e3440">Password...</span>'';
|
placeholder_text = ''<span foreground="#${config.lib.stylix.colors.base00}">Password...</span>'';
|
||||||
shadow_passes = 2;
|
shadow_passes = 2;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@@ -486,8 +485,8 @@ in
|
|||||||
gaps_in = 5;
|
gaps_in = 5;
|
||||||
gaps_out = 10;
|
gaps_out = 10;
|
||||||
border_size = 1;
|
border_size = 1;
|
||||||
"col.active_border" = "rgb(8aadf4) rgb(24273A) rgb(24273A) rgb(8aadf4) 45deg";
|
# "col.active_border" = "rgb(8aadf4) rgb(24273A) rgb(24273A) rgb(8aadf4) 45deg";
|
||||||
"col.inactive_border" = "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
# "col.inactive_border" = "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
allow_tearing = cfg.allowTearing;
|
allow_tearing = cfg.allowTearing;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -152,18 +152,6 @@ with lib;
|
|||||||
description = "Any extra configuration options";
|
description = "Any extra configuration options";
|
||||||
};
|
};
|
||||||
|
|
||||||
iconThemeName = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Colloid-Dark";
|
|
||||||
description = "Icon theme name";
|
|
||||||
};
|
|
||||||
|
|
||||||
gtkThemeName = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Colloid-Dark";
|
|
||||||
description = "GTK theme name";
|
|
||||||
};
|
|
||||||
|
|
||||||
defaultApps = mkOption {
|
defaultApps = mkOption {
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
options = {
|
options = {
|
||||||
|
|||||||
@@ -1,100 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
mjallenThemeComputed,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.mjallen.programs.hyprland;
|
|
||||||
|
|
||||||
# Pull from global theme options
|
|
||||||
themeSize = config.mjallen.theme.gtk.size; # "standard" | "compact"
|
|
||||||
themeAccent = config.mjallen.theme.gtk.accent; # "default" | ... | "all"
|
|
||||||
themeTweak = config.mjallen.theme.gtk.tweak; # "normal" | "rimless" | "float" | "black"
|
|
||||||
themeColor = config.mjallen.theme.gtk.color; # "light" | "dark"
|
|
||||||
iconThemeVariant = config.mjallen.theme.icons.variant; # "default" | ... | "all"
|
|
||||||
iconScheme = config.mjallen.theme.icons.scheme; # "default" | "nord" | "dracula" | ...
|
|
||||||
|
|
||||||
# Cursor
|
|
||||||
cursorTheme = "macOS";
|
|
||||||
cursorThemePkg = pkgs.apple-cursor;
|
|
||||||
cursorSize = 24;
|
|
||||||
|
|
||||||
# GTK
|
|
||||||
gtkTheme = mjallenThemeComputed.gtkTheme;
|
|
||||||
gtkThemePkg = pkgs.colloid-gtk-theme.override {
|
|
||||||
sizeVariants = [ themeSize ];
|
|
||||||
colorVariants = [ themeColor ];
|
|
||||||
themeVariants = [ themeAccent ];
|
|
||||||
tweaks = [ themeTweak ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Icons
|
|
||||||
iconTheme = mjallenThemeComputed.iconTheme;
|
|
||||||
iconThemePkg = pkgs.colloid-icon-theme.override {
|
|
||||||
schemeVariants = [ iconScheme ];
|
|
||||||
colorVariants = [ iconThemeVariant ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
fontName = "JetBrainsMono NFM";
|
|
||||||
fontPackage = pkgs.nerd-fonts.jetbrains-mono;
|
|
||||||
fontSize = 12;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
home = {
|
|
||||||
pointerCursor = {
|
|
||||||
gtk.enable = true;
|
|
||||||
package = cursorThemePkg;
|
|
||||||
name = cursorTheme;
|
|
||||||
size = cursorSize;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
|
||||||
"org/gnome/desktop/interface".cursor-theme = cursorTheme;
|
|
||||||
"org/gnome/desktop/interface".gtk-theme = gtkTheme;
|
|
||||||
"org/gnome/desktop/interface".icon-theme = iconTheme;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
cursorTheme = {
|
|
||||||
name = cursorTheme;
|
|
||||||
package = cursorThemePkg;
|
|
||||||
};
|
|
||||||
|
|
||||||
theme = {
|
|
||||||
name = gtkTheme;
|
|
||||||
package = gtkThemePkg;
|
|
||||||
};
|
|
||||||
|
|
||||||
iconTheme = {
|
|
||||||
name = iconTheme;
|
|
||||||
package = iconThemePkg;
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk3.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk4.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
font = {
|
|
||||||
name = fontName;
|
|
||||||
package = fontPackage;
|
|
||||||
size = fontSize;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.mjallen.programs.kitty;
|
cfg = config.mjallen.programs.kitty;
|
||||||
palette = import cfg.theme.file;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
@@ -12,94 +11,14 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
shellIntegration.enableZshIntegration = true;
|
shellIntegration.enableZshIntegration = true;
|
||||||
|
|
||||||
font = {
|
|
||||||
name = cfg.font.name;
|
|
||||||
package = cfg.font.package;
|
|
||||||
size = cfg.font.size;
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
bold_font = "auto";
|
bold_font = "auto";
|
||||||
italic_font = "auto";
|
italic_font = "auto";
|
||||||
bold_italic_font = "auto";
|
bold_italic_font = "auto";
|
||||||
mouse_hide_wait = "2.0";
|
mouse_hide_wait = "2.0";
|
||||||
cursor_shape = "block";
|
cursor_shape = "block";
|
||||||
url_style = "dotted";
|
url_style = "dotted";
|
||||||
confirm_os_window_close = "0";
|
confirm_os_window_close = "0";
|
||||||
background_opacity = "0.85";
|
|
||||||
|
|
||||||
# The basic colors
|
|
||||||
foreground = palette.colors.text;
|
|
||||||
background = palette.colors.bg;
|
|
||||||
selection_foreground = palette.colors.bg;
|
|
||||||
selection_background = palette.colors.accent;
|
|
||||||
|
|
||||||
# Cursor colors
|
|
||||||
cursor = palette.colors.accent;
|
|
||||||
cursor_text_color = palette.colors.bg;
|
|
||||||
|
|
||||||
# URL underline color when hovering with mouse
|
|
||||||
url_color = palette.colors.accent;
|
|
||||||
|
|
||||||
# Kitty window border colors
|
|
||||||
active_border_color = palette.colors.primary;
|
|
||||||
inactive_border_color = palette.colors.bgAlt;
|
|
||||||
bell_border_color = palette.colors.warning;
|
|
||||||
|
|
||||||
# OS Window titlebar colors
|
|
||||||
wayland_titlebar_color = palette.colors.bg;
|
|
||||||
macos_titlebar_color = palette.colors.bg;
|
|
||||||
|
|
||||||
# Tab bar colors
|
|
||||||
active_tab_foreground = palette.colors.border;
|
|
||||||
active_tab_background = palette.colors.accent;
|
|
||||||
inactive_tab_foreground = palette.colors.text;
|
|
||||||
inactive_tab_background = palette.colors.bgAlt;
|
|
||||||
tab_bar_background = palette.colors.border;
|
|
||||||
|
|
||||||
# Colors for marks (marked text in the terminal)
|
|
||||||
mark1_foreground = palette.colors.bg;
|
|
||||||
mark1_background = palette.colors.primary;
|
|
||||||
mark2_foreground = palette.colors.bg;
|
|
||||||
mark2_background = palette.colors.accent;
|
|
||||||
mark3_foreground = palette.colors.bg;
|
|
||||||
mark3_background = palette.colors.info;
|
|
||||||
|
|
||||||
# The 16 terminal colors
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 = palette.colors.bg;
|
|
||||||
|
|
||||||
# Autosuggestion
|
|
||||||
color8 = palette.colors.primary;
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 = palette.colors.danger;
|
|
||||||
color9 = palette.colors.danger;
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 = palette.colors.success;
|
|
||||||
color10 = palette.colors.success;
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 = palette.colors.warning;
|
|
||||||
color11 = palette.colors.warning;
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 = palette.colors.primary;
|
|
||||||
color12 = palette.colors.primary;
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 = palette.colors.accent;
|
|
||||||
color13 = palette.colors.accent;
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 = palette.colors.info;
|
|
||||||
color14 = palette.colors.info;
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 = palette.colors.textMuted;
|
|
||||||
color15 = palette.colors.text;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,34 +6,5 @@ in
|
|||||||
{
|
{
|
||||||
options.mjallen.programs.kitty = {
|
options.mjallen.programs.kitty = {
|
||||||
enable = mkEnableOption "enable kitty terminal";
|
enable = mkEnableOption "enable kitty terminal";
|
||||||
|
|
||||||
font = {
|
|
||||||
name = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "DejaVu Sans";
|
|
||||||
};
|
|
||||||
|
|
||||||
package = mkOpt types.package pkgs.dejavu_fonts "Default font package";
|
|
||||||
|
|
||||||
size = mkOption {
|
|
||||||
type = with types; int;
|
|
||||||
default = 12;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
# Fallback default; global theme module sets this via mkDefault
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "Kitty theme palette configuration.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.mjallen.programs.mako;
|
cfg = config.mjallen.programs.mako;
|
||||||
palette = import cfg.theme.file;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
@@ -10,7 +9,7 @@ in
|
|||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
font = cfg.fontName;
|
font = mkDefault cfg.fontName;
|
||||||
icons = true;
|
icons = true;
|
||||||
ignore-timeout = true;
|
ignore-timeout = true;
|
||||||
sort = "-time";
|
sort = "-time";
|
||||||
@@ -22,10 +21,10 @@ in
|
|||||||
max-icon-size = 64;
|
max-icon-size = 64;
|
||||||
default-timeout = 5000;
|
default-timeout = 5000;
|
||||||
|
|
||||||
background-color = palette.colors.bg;
|
# background-color = mkDefault config.lib.stylix.colors.base00;
|
||||||
text-color = palette.colors.text;
|
# text-color = mkDefault config.lib.stylix.colors.base06;
|
||||||
border-color = palette.colors.primary;
|
# border-color = mkDefault config.lib.stylix.colors.base0F;
|
||||||
progress-color = "over ${palette.colors.info}";
|
# progress-color = mkDefault "over ${config.lib.stylix.colors.base0C}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,19 +8,5 @@ with lib;
|
|||||||
type = types.str;
|
type = types.str;
|
||||||
default = "DejaVu Sans";
|
default = "DejaVu Sans";
|
||||||
};
|
};
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "Mako theme palette configuration.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ in
|
|||||||
home.file = {
|
home.file = {
|
||||||
".config/nwg-dock-hyprland/drawer.css".text = ''
|
".config/nwg-dock-hyprland/drawer.css".text = ''
|
||||||
window {
|
window {
|
||||||
background: ${palette.colors.bg};
|
background: ${config.lib.stylix.colors.base00};
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border-style: none;
|
border-style: none;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
border-color: ${palette.colors.accent}b0
|
border-color: ${config.lib.stylix.colors.base0E}b0
|
||||||
}
|
}
|
||||||
|
|
||||||
#box {
|
#box {
|
||||||
@@ -33,14 +33,14 @@ in
|
|||||||
active {
|
active {
|
||||||
/* This is to underline the button representing the currently active window */
|
/* This is to underline the button representing the currently active window */
|
||||||
border-bottom: solid 1px;
|
border-bottom: solid 1px;
|
||||||
border-color: ${palette.colors.success}1a
|
border-color: ${config.lib.stylix.colors.base0B}1a
|
||||||
}
|
}
|
||||||
|
|
||||||
button, image {
|
button, image {
|
||||||
background: none;
|
background: none;
|
||||||
border-style: none;
|
border-style: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
color: ${palette.colors.primary}
|
color: ${config.lib.stylix.colors.base0F}
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
@@ -52,7 +52,7 @@ in
|
|||||||
}
|
}
|
||||||
|
|
||||||
button:hover {
|
button:hover {
|
||||||
background-color: ${palette.colors.bg}1a;
|
background-color: ${config.lib.stylix.colors.base00}1a;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,19 +3,5 @@ with lib;
|
|||||||
{
|
{
|
||||||
options.mjallen.programs.nwg-dock = {
|
options.mjallen.programs.nwg-dock = {
|
||||||
enable = mkEnableOption "enable nwg-dock";
|
enable = mkEnableOption "enable nwg-dock";
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "nwg-dock theme palette configuration.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ in
|
|||||||
home.file = {
|
home.file = {
|
||||||
".config/nwg-drawer/drawer.css".text = ''
|
".config/nwg-drawer/drawer.css".text = ''
|
||||||
window {
|
window {
|
||||||
background-color: ${palette.colors.bg}bf;
|
background-color: ${config.lib.stylix.colors.base00}bf;
|
||||||
color: ${palette.colors.textMuted}00
|
color: ${config.lib.stylix.colors.base05}00
|
||||||
}
|
}
|
||||||
|
|
||||||
/* search entry */
|
/* search entry */
|
||||||
entry {
|
entry {
|
||||||
background-color: ${palette.colors.bgAlt}0f
|
background-color: ${config.lib.stylix.colors.base01}0f
|
||||||
}
|
}
|
||||||
|
|
||||||
button, image {
|
button, image {
|
||||||
@@ -33,7 +33,7 @@ in
|
|||||||
}
|
}
|
||||||
|
|
||||||
button:hover {
|
button:hover {
|
||||||
background-color: ${palette.colors.primary}1a
|
background-color: ${config.lib.stylix.colors.base0F}1a
|
||||||
}
|
}
|
||||||
|
|
||||||
/* in case you wanted to give category buttons a different look */
|
/* in case you wanted to give category buttons a different look */
|
||||||
@@ -43,12 +43,12 @@ in
|
|||||||
|
|
||||||
#pinned-box {
|
#pinned-box {
|
||||||
padding-bottom: 5px;
|
padding-bottom: 5px;
|
||||||
border-bottom: 1px dotted ${palette.colors.border}
|
border-bottom: 1px dotted ${config.lib.stylix.colors.base03}
|
||||||
}
|
}
|
||||||
|
|
||||||
#files-box {
|
#files-box {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px dotted ${palette.colors.border};
|
border: 1px dotted ${config.lib.stylix.colors.base03};
|
||||||
border-radius: 15px
|
border-radius: 15px
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -3,19 +3,5 @@ with lib;
|
|||||||
{
|
{
|
||||||
options.mjallen.programs.nwg-drawer = {
|
options.mjallen.programs.nwg-drawer = {
|
||||||
enable = mkEnableOption "enable nwg-drawer";
|
enable = mkEnableOption "enable nwg-drawer";
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "nwg-drawer theme palette configuration.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,324 +2,233 @@
|
|||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.mjallen.programs.waybar;
|
cfg = config.mjallen.programs.waybar;
|
||||||
palette = import cfg.theme.file;
|
|
||||||
|
|
||||||
defaultOpacity = palette.tokens.opacity or "opacity: 0.85;";
|
|
||||||
defaultBorderRadius = palette.tokens.borderRadius or "border-radius: 1rem;";
|
|
||||||
defaultCenterOptions =
|
|
||||||
palette.tokens.centerOptions or ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
'';
|
|
||||||
borderRight =
|
|
||||||
palette.tokens.borderRight or ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 0rem 1rem 1rem 0rem;
|
|
||||||
margin-right: 0.5rem;
|
|
||||||
'';
|
|
||||||
borderLeft = ''
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
padding-bottom: 0.2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
margin: 3px 0;
|
|
||||||
border-radius: 1rem 0rem 0rem 1rem;
|
|
||||||
margin-left: 0.5rem;
|
|
||||||
'';
|
|
||||||
|
|
||||||
baseStyle =
|
baseStyle =
|
||||||
if cfg.style.file != null then
|
if cfg.style.file != null then
|
||||||
builtins.readFile cfg.style.file
|
builtins.readFile cfg.style.file
|
||||||
else
|
else
|
||||||
''
|
''
|
||||||
.blink_me {
|
/* =============================================================================
|
||||||
animation: blinker 1s linear infinite;
|
ANIMATIONS & GLOBAL OVERRIDES
|
||||||
}
|
============================================================================= */
|
||||||
|
|
||||||
@keyframes blinker {
|
@keyframes blinker {
|
||||||
50% {
|
50% { color: @base08; }
|
||||||
color: ${palette.colors.danger};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Override Stylix font settings */
|
||||||
* {
|
* {
|
||||||
font-family:
|
font-family: "Jetbrains Mono Nerd Font", monospace;
|
||||||
Jetbrains Mono Nerd Font,
|
|
||||||
monospace;
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
MAIN BAR & TOOLTIPS
|
||||||
|
============================================================================= */
|
||||||
|
window#waybar {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
#waybar {
|
#waybar {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: ${palette.colors.text};
|
color: @base06;
|
||||||
margin: 5px 5px;
|
margin: 5px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultBorderRadius}
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
margin-left: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
color: ${palette.colors.primary};
|
|
||||||
${defaultBorderRadius}
|
|
||||||
padding: 0.4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
color: ${palette.colors.info};
|
|
||||||
${defaultBorderRadius}
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
color: ${palette.colors.info};
|
|
||||||
${defaultBorderRadius}
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
color: ${palette.colors.text};
|
|
||||||
background: ${palette.colors.warning};
|
|
||||||
${defaultBorderRadius}
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
color: ${palette.colors.bg};
|
|
||||||
background: ${palette.colors.text};
|
|
||||||
${defaultBorderRadius}
|
|
||||||
}
|
|
||||||
|
|
||||||
#tooltip {
|
#tooltip {
|
||||||
background: ${palette.colors.bg};
|
background: @base00;
|
||||||
border-color: ${palette.colors.bg};
|
border-color: @base00;
|
||||||
${defaultBorderRadius}
|
border-radius: 1rem;
|
||||||
border-width: 1rem;
|
border-width: 2px; /* Reduced from 1rem which is usually too thick */
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window {
|
/* Right-click menu styling */
|
||||||
color: ${palette.colors.accent};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultBorderRadius}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
margin-left: 4rem;
|
|
||||||
margin-right: ${toString cfg.windowOffset}rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* make window module transparent when no windows present */
|
|
||||||
#window.empty {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-power {
|
|
||||||
color: ${palette.colors.primary};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
menu {
|
menu {
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
background: ${palette.colors.bg};
|
background: @base00;
|
||||||
color: ${palette.colors.text};
|
color: @base06;
|
||||||
}
|
}
|
||||||
menuitem {
|
menuitem {
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-weather {
|
/* =============================================================================
|
||||||
color: ${palette.colors.primary};
|
WORKSPACES
|
||||||
background-color: ${palette.colors.bg};
|
============================================================================= */
|
||||||
${defaultOpacity}
|
#workspaces {
|
||||||
${defaultCenterOptions}
|
background-color: @base00;
|
||||||
border-radius: 0;
|
border-radius: 1rem;
|
||||||
|
opacity: 0.85;
|
||||||
|
padding: 0.2rem 0.5rem;
|
||||||
|
margin: 3px 0 3px 0.6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-notifications {
|
#workspaces button {
|
||||||
color: ${palette.colors.primary};
|
color: @base0F;
|
||||||
background-color: ${palette.colors.bg};
|
border-radius: 1rem;
|
||||||
${defaultOpacity}
|
padding: 0.4rem;
|
||||||
${defaultCenterOptions}
|
/* Border handled by stylix, but we add specific colors below */
|
||||||
border-radius: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-notifications.notify {
|
#workspaces button.active,
|
||||||
color: ${palette.colors.danger};
|
#workspaces button:hover {
|
||||||
|
color: @base0C;
|
||||||
|
border-radius: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
color: @base06;
|
||||||
|
background: @base0A;
|
||||||
|
border-radius: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
color: @base00;
|
||||||
|
background: @base06;
|
||||||
|
border-radius: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
WINDOW TITLE
|
||||||
|
============================================================================= */
|
||||||
|
#window {
|
||||||
|
color: @base0E;
|
||||||
|
background-color: @base00;
|
||||||
|
opacity: 0.85;
|
||||||
|
border-radius: 1rem;
|
||||||
|
padding: 0.2rem 0.5rem;
|
||||||
|
margin: 3px 0;
|
||||||
|
|
||||||
|
margin-left: 4rem;
|
||||||
|
margin-right: 75rem; /* This is very large, likely a centering hack */
|
||||||
|
}
|
||||||
|
|
||||||
|
#window.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
SHARED MODULE STYLES
|
||||||
|
============================================================================= */
|
||||||
|
/* This block applies the standard "Nord Background" style to all modules
|
||||||
|
to avoid repeating code for every single ID. */
|
||||||
|
#custom-power,
|
||||||
|
#custom-weather,
|
||||||
|
#custom-notifications,
|
||||||
|
#battery,
|
||||||
|
#clock,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#network,
|
||||||
|
#bluetooth,
|
||||||
|
#wireplumber,
|
||||||
|
#keyboard-state,
|
||||||
|
#temperature,
|
||||||
|
#custom-left-end,
|
||||||
|
#custom-right-end,
|
||||||
|
#custom-lights,
|
||||||
|
#tray {
|
||||||
|
background-color: @base00;
|
||||||
|
opacity: 0.85;
|
||||||
|
padding: 0.2rem 0.5rem;
|
||||||
|
margin: 3px 0;
|
||||||
|
border-radius: 0; /* Default to square, rounded manually below */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Common Hover Effect */
|
||||||
|
#idle_inhibitor:hover,
|
||||||
|
#network:hover,
|
||||||
|
#bluetooth:hover,
|
||||||
|
#wireplumber:hover,
|
||||||
|
#temperature:hover,
|
||||||
|
#custom-lights:hover {
|
||||||
|
background: @base02;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
MODULE SPECIFIC COLORS
|
||||||
|
============================================================================= */
|
||||||
|
|
||||||
|
#custom-power,
|
||||||
|
#custom-weather,
|
||||||
|
#custom-notifications {
|
||||||
|
color: @base0F;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notifications.notify { color: @base08; }
|
||||||
#custom-notifications.alert {
|
#custom-notifications.alert {
|
||||||
animation-name: blinker;
|
animation: blinker 3s linear infinite;
|
||||||
animation-duration: 3s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery {
|
#battery {
|
||||||
color: ${palette.colors.accent};
|
color: @base0E;
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
min-width: 3rem;
|
min-width: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#clock { color: @base0F; }
|
||||||
color: ${palette.colors.primary};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ------------- */
|
|
||||||
|
|
||||||
#idle_inhibitor {
|
#idle_inhibitor {
|
||||||
color: ${palette.colors.primary};
|
color: @base0F;
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
padding-right: 1rem;
|
padding-right: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#idle_inhibitor:hover {
|
|
||||||
background: ${palette.colors.surfaceAlt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#network {
|
#network {
|
||||||
color: ${palette.colors.accent};
|
color: @base0E;
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#network:hover {
|
#bluetooth { color: @base0F; }
|
||||||
background: ${palette.colors.surfaceAlt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#bluetooth {
|
/* --- Audio source/sink --- */
|
||||||
color: ${palette.colors.primary};
|
#wireplumber.source,
|
||||||
background-color: ${palette.colors.bg};
|
#wireplumber.sink {
|
||||||
${defaultOpacity}
|
color: @base0C;
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#bluetooth:hover {
|
|
||||||
background: ${palette.colors.surfaceAlt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#wireplumber.source {
|
|
||||||
color: ${palette.colors.info};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#wireplumber.source.muted {
|
#wireplumber.source.muted {
|
||||||
animation-name: blinker;
|
animation: blinker 2s linear infinite;
|
||||||
animation-duration: 2s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
padding-right: 1rem;
|
padding-right: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#wireplumber.source:hover {
|
|
||||||
background: ${palette.colors.surfaceAlt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#wireplumber.sink {
|
|
||||||
color: ${palette.colors.info};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wireplumber.sink.muted {
|
#wireplumber.sink.muted {
|
||||||
animation-name: blinker;
|
animation: blinker 5s linear infinite;
|
||||||
animation-duration: 5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#wireplumber.sink:hover {
|
/* --- Keyboard --- */
|
||||||
background: ${palette.colors.surfaceAlt};
|
#keyboard-state.numlock { color: @base0C; }
|
||||||
}
|
#keyboard-state.capslock { color: @base0F; }
|
||||||
|
|
||||||
#keyboard-state.numlock {
|
|
||||||
color: ${palette.colors.info};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#keyboard-state.capslock {
|
|
||||||
color: ${palette.colors.primary};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/* --- Temperature --- */
|
||||||
|
#temperature,
|
||||||
#temperature.gpu {
|
#temperature.gpu {
|
||||||
color: ${palette.colors.primary};
|
color: @base0F;
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#temperature.gpu:hover {
|
/* --- Tray --- */
|
||||||
background: ${palette.colors.surfaceAlt};
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature {
|
|
||||||
color: ${palette.colors.primary};
|
|
||||||
background-color: ${palette.colors.bg};
|
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
border-radius: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ------------- */
|
|
||||||
|
|
||||||
#tray {
|
#tray {
|
||||||
background-color: ${palette.colors.bg};
|
border-radius: 1rem;
|
||||||
${defaultOpacity}
|
|
||||||
${defaultCenterOptions}
|
|
||||||
${defaultBorderRadius}
|
|
||||||
margin-right: 0.6rem;
|
margin-right: 0.6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------- */
|
/* =============================================================================
|
||||||
|
DECORATIVE END CAPS & EXTRAS
|
||||||
|
============================================================================= */
|
||||||
#custom-left-end {
|
#custom-left-end {
|
||||||
background-color: ${palette.colors.bg};
|
border-radius: 1rem 0 0 1rem;
|
||||||
${defaultOpacity}
|
margin-left: 0.5rem;
|
||||||
${borderLeft}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-right-end {
|
#custom-right-end {
|
||||||
background-color: ${palette.colors.bg};
|
border-radius: 0 1rem 1rem 0;
|
||||||
${defaultOpacity}
|
margin-right: 0.5rem;
|
||||||
${borderRight}
|
}
|
||||||
|
|
||||||
|
#custom-lights {
|
||||||
|
color: @base0C;
|
||||||
|
/* Re-declaring background here to ensure specific override logic if needed */
|
||||||
|
background-color: @base00;
|
||||||
|
border-radius: 1rem 0 0 1rem;
|
||||||
|
margin-left: 0.5rem;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
@@ -596,10 +505,10 @@ in
|
|||||||
calendar = {
|
calendar = {
|
||||||
mode = "month";
|
mode = "month";
|
||||||
format = {
|
format = {
|
||||||
months = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
months = "<span color='@base0F'><b>{}</b></span>";
|
||||||
days = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
days = "<span color='@base0F'><b>{}</b></span>";
|
||||||
weekdays = "<span color='${palette.colors.info}'><b>{}</b></span>";
|
weekdays = "<span color='@base0C'><b>{}</b></span>";
|
||||||
today = "<span color='${palette.colors.success}'><b><u>{}</u></b></span>";
|
today = "<span color='${config.lib.stylix.colors.base0B}'><b><u>{}</u></b></span>";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -41,21 +41,6 @@ in
|
|||||||
description = "Right margin offset for the hyprland/window module (in rem).";
|
description = "Right margin offset for the hyprland/window module (in rem).";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Theme
|
|
||||||
theme = mkOption {
|
|
||||||
type = submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = path;
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset (e.g., Nord).";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "Theme configuration.";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Layout
|
# Layout
|
||||||
layout = mkOption {
|
layout = mkOption {
|
||||||
type = submodule {
|
type = submodule {
|
||||||
|
|||||||
@@ -53,13 +53,13 @@ in
|
|||||||
}
|
}
|
||||||
|
|
||||||
window {
|
window {
|
||||||
background-color: ${palette.colors.bg}f0
|
background-color: ${config.lib.stylix.colors.base00}f0
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
color: ${palette.colors.info};
|
color: ${config.lib.stylix.colors.base0C};
|
||||||
background-color: ${palette.colors.bgAlt};
|
background-color: ${config.lib.stylix.colors.base01};
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 2px;
|
border-width: 2px;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
@@ -70,8 +70,8 @@ in
|
|||||||
button:active,
|
button:active,
|
||||||
button:focus,
|
button:focus,
|
||||||
button:hover {
|
button:hover {
|
||||||
color: ${palette.colors.info};
|
color: ${config.lib.stylix.colors.base0C};
|
||||||
background-color: ${palette.colors.surfaceAlt};
|
background-color: ${config.lib.stylix.colors.base02Alt};
|
||||||
outline-style: none;
|
outline-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,24 +3,5 @@ with lib;
|
|||||||
{
|
{
|
||||||
options.mjallen.programs.wlogout = {
|
options.mjallen.programs.wlogout = {
|
||||||
enable = mkEnableOption "enable wlogout";
|
enable = mkEnableOption "enable wlogout";
|
||||||
|
|
||||||
fontName = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Deja Vu Sans";
|
|
||||||
};
|
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "wlogout theme palette configuration.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ in
|
|||||||
window {
|
window {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: 0.16em solid ${palette.colors.accent};
|
border: 0.16em solid ${config.lib.stylix.colors.base0E};
|
||||||
border-radius: 0.1em;
|
border-radius: 0.1em;
|
||||||
background-color: ${palette.colors.bg};
|
background-color: ${config.lib.stylix.colors.base00};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Inner Box */
|
/* Inner Box */
|
||||||
@@ -30,7 +30,7 @@ in
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: ${palette.colors.bg};
|
background-color: ${config.lib.stylix.colors.base00};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Outer Box */
|
/* Outer Box */
|
||||||
@@ -38,7 +38,7 @@ in
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: ${palette.colors.bg};
|
background-color: ${config.lib.stylix.colors.base00};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Scroll */
|
/* Scroll */
|
||||||
@@ -46,7 +46,7 @@ in
|
|||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: ${palette.colors.bg};
|
background-color: ${config.lib.stylix.colors.base00};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Input */
|
/* Input */
|
||||||
@@ -55,46 +55,46 @@ in
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0.1em;
|
border-radius: 0.1em;
|
||||||
color: ${palette.colors.text};
|
color: ${config.lib.stylix.colors.base06};
|
||||||
background-color: ${palette.colors.bg};
|
background-color: ${config.lib.stylix.colors.base00};
|
||||||
}
|
}
|
||||||
|
|
||||||
#input image {
|
#input image {
|
||||||
border: none;
|
border: none;
|
||||||
color: ${palette.colors.danger};
|
color: ${config.lib.stylix.colors.base08};
|
||||||
}
|
}
|
||||||
|
|
||||||
#input * {
|
#input * {
|
||||||
outline: 4px solid ${palette.colors.danger}!important;
|
outline: 4px solid ${config.lib.stylix.colors.base08}!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Text */
|
/* Text */
|
||||||
#text {
|
#text {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
border: none;
|
border: none;
|
||||||
color: ${palette.colors.text};
|
color: ${config.lib.stylix.colors.base06};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry {
|
#entry {
|
||||||
background-color: ${palette.colors.bg};
|
background-color: ${config.lib.stylix.colors.base00};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry arrow {
|
#entry arrow {
|
||||||
border: none;
|
border: none;
|
||||||
color: ${palette.colors.accent};
|
color: ${config.lib.stylix.colors.base0E};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Selected Entry */
|
/* Selected Entry */
|
||||||
#entry:selected {
|
#entry:selected {
|
||||||
border: 0.11em solid ${palette.colors.accent};
|
border: 0.11em solid ${config.lib.stylix.colors.base0E};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:selected #text {
|
#entry:selected #text {
|
||||||
color: ${palette.colors.info};
|
color: ${config.lib.stylix.colors.base0C};
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:drop(active) {
|
#entry:drop(active) {
|
||||||
background-color: ${palette.colors.accent}!important;
|
background-color: ${config.lib.stylix.colors.base0E}!important;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,19 +8,5 @@ with lib;
|
|||||||
type = types.str;
|
type = types.str;
|
||||||
default = "Deja Vu Sans";
|
default = "Deja Vu Sans";
|
||||||
};
|
};
|
||||||
|
|
||||||
theme = mkOption {
|
|
||||||
type = types.submodule {
|
|
||||||
options = {
|
|
||||||
file = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
|
||||||
description = "Nix file exporting a palette attrset.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
default = { };
|
|
||||||
description = "Wofi theme palette configuration.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
86
modules/home/stylix/default.nix
Normal file
86
modules/home/stylix/default.nix
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
# # Pull from global theme options
|
||||||
|
# themeSize = "standard"; # "standard" | "compact"
|
||||||
|
# themeAccent = "default"; # "default" | ... | "all"
|
||||||
|
# themeTweak = "normal"; # "normal" | "rimless" | "float" | "black"
|
||||||
|
# themeColor = "dark"; # "light" | "dark"
|
||||||
|
# iconThemeVariant = "default"; # "default" | ... | "all"
|
||||||
|
# iconScheme = "nord"; # "default" | "nord" | "dracula" | ...
|
||||||
|
|
||||||
|
# # GTK
|
||||||
|
# gtkTheme = "Colloid-dark-standard";
|
||||||
|
# gtkThemePkg = pkgs.colloid-gtk-theme.override {
|
||||||
|
# sizeVariants = [ themeSize ];
|
||||||
|
# colorVariants = [ themeColor ];
|
||||||
|
# themeVariants = [ themeAccent ];
|
||||||
|
# tweaks = [ themeTweak ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# # Icons
|
||||||
|
# iconTheme = "Colloid-nord-dark";
|
||||||
|
# iconThemePkg = pkgs.colloid-icon-theme.override {
|
||||||
|
# schemeVariants = [ iconScheme ];
|
||||||
|
# colorVariants = [ iconThemeVariant ];
|
||||||
|
# };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
stylix = {
|
||||||
|
enable = true;
|
||||||
|
enableReleaseChecks = false;
|
||||||
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml";
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "macOS";
|
||||||
|
size = 24;
|
||||||
|
package = pkgs.apple-cursor;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
serif = {
|
||||||
|
package = pkgs.dejavu_fonts;
|
||||||
|
name = "DejaVu Serif";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.dejavu_fonts;
|
||||||
|
name = "DejaVu Sans";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrainsMono NFM";
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
|
||||||
|
sizes = {
|
||||||
|
applications = 12;
|
||||||
|
desktop = 14;
|
||||||
|
popups = config.stylix.fonts.sizes.desktop;
|
||||||
|
terminal = config.stylix.fonts.sizes.applications;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
icons = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.colloid-icon-theme;
|
||||||
|
dark = "Colloid-nord-dark";
|
||||||
|
light = "Colloid-nord-light";
|
||||||
|
};
|
||||||
|
|
||||||
|
opacity = {
|
||||||
|
terminal = 0.85;
|
||||||
|
};
|
||||||
|
|
||||||
|
targets = {
|
||||||
|
hyprlock.enable = false;
|
||||||
|
gnome.enable = false;
|
||||||
|
# gtk.enable = false;
|
||||||
|
qt.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -65,6 +65,7 @@ in
|
|||||||
sops-nix.homeManagerModules.sops
|
sops-nix.homeManagerModules.sops
|
||||||
nix-plist-manager.homeManagerModules.default
|
nix-plist-manager.homeManagerModules.default
|
||||||
nix-index-database.homeModules.nix-index
|
nix-index-database.homeModules.nix-index
|
||||||
|
stylix.homeModules.stylix
|
||||||
# Add any other external HM modules here
|
# Add any other external HM modules here
|
||||||
]
|
]
|
||||||
++ (if (!isArm) then with inputs; [ steam-rom-manager.homeManagerModules.default ] else [ ])
|
++ (if (!isArm) then with inputs; [ steam-rom-manager.homeManagerModules.default ] else [ ])
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ in
|
|||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
nix-index-database.comma.enable = true;
|
nix-index-database.comma.enable = true;
|
||||||
zsh.enable = lib.mkDefault true;
|
zsh.enable = lib.mkForce true;
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
enableSSHSupport = lib.mkDefault true;
|
enableSSHSupport = lib.mkDefault true;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ lib, pkgs, ... }:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
|
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
hwRender = true;
|
hwRender = true;
|
||||||
fonts = [
|
fonts = [
|
||||||
{
|
{
|
||||||
name = "JetBrainsMono NFM";
|
name = lib.mkDefault config.stylix.fonts.monospace;
|
||||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
package = lib.mkDefault config.stylix.fonts.monospace.package;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
zsh.enable = lib.mkDefault true;
|
zsh.enable = lib.mkForce true;
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
enableSSHSupport = lib.mkDefault true;
|
enableSSHSupport = lib.mkDefault true;
|
||||||
|
|||||||
@@ -69,51 +69,58 @@ in
|
|||||||
users = {
|
users = {
|
||||||
mutableUsers = cfg.mutableUsers;
|
mutableUsers = cfg.mutableUsers;
|
||||||
groups.${cfg.group}.gid = lib.mkForce (if cfg.group != "wheel" then cfg.gid else 1);
|
groups.${cfg.group}.gid = lib.mkForce (if cfg.group != "wheel" then cfg.gid else 1);
|
||||||
users.${cfg.name} = {
|
users = {
|
||||||
inherit (cfg)
|
root = {
|
||||||
name
|
isSystemUser = true;
|
||||||
uid
|
isNormalUser = false;
|
||||||
linger
|
shell = lib.mkForce pkgs.zsh;
|
||||||
packages
|
};
|
||||||
password
|
${cfg.name} = {
|
||||||
hashedPassword
|
inherit (cfg)
|
||||||
hashedPasswordFile
|
name
|
||||||
;
|
uid
|
||||||
|
linger
|
||||||
|
packages
|
||||||
|
password
|
||||||
|
hashedPassword
|
||||||
|
hashedPasswordFile
|
||||||
|
;
|
||||||
|
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"keys"
|
"keys"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
"ratbagd"
|
"ratbagd"
|
||||||
"scanner"
|
"scanner"
|
||||||
"systemd-journal"
|
"systemd-journal"
|
||||||
"mpd"
|
"mpd"
|
||||||
"audio"
|
"audio"
|
||||||
"video"
|
"video"
|
||||||
"input"
|
"input"
|
||||||
"plugdev"
|
"plugdev"
|
||||||
"lp"
|
"lp"
|
||||||
"tss"
|
"tss"
|
||||||
"power"
|
"power"
|
||||||
"nix"
|
"nix"
|
||||||
"i2c"
|
"i2c"
|
||||||
"media"
|
"media"
|
||||||
"nscd"
|
"nscd"
|
||||||
"avahi"
|
"avahi"
|
||||||
"podman"
|
"podman"
|
||||||
"libvirtd"
|
"libvirtd"
|
||||||
]
|
]
|
||||||
++ cfg.extraGroups;
|
++ cfg.extraGroups;
|
||||||
|
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
home = "/home/${cfg.name}";
|
home = "/home/${cfg.name}";
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
shell = lib.mkForce pkgs.zsh;
|
shell = lib.mkForce pkgs.zsh;
|
||||||
|
|
||||||
# SSH keys - combine user-specific and common keys
|
# SSH keys - combine user-specific and common keys
|
||||||
openssh.authorizedKeys.keys = cfg.sshKeys ++ (lib.optionals cfg.enableCommonSshKeys commonSshKeys);
|
openssh.authorizedKeys.keys = cfg.sshKeys ++ (lib.optionals cfg.enableCommonSshKeys commonSshKeys);
|
||||||
}
|
}
|
||||||
// cfg.extraOptions;
|
// cfg.extraOptions;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||||
|
|
||||||
{
|
{
|
||||||
pkgs,
|
lib,
|
||||||
|
config,
|
||||||
namespace,
|
namespace,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -77,8 +78,8 @@
|
|||||||
hwRender = true;
|
hwRender = true;
|
||||||
fonts = [
|
fonts = [
|
||||||
{
|
{
|
||||||
name = "JetBrainsMono NFM";
|
name = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
package = lib.mkDefault config.stylix.fonts.monospace.package;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user