Compare commits
9 Commits
3deca06206
...
monitors
| Author | SHA1 | Date | |
|---|---|---|---|
| b1a4574f17 | |||
| 3d8deae6f3 | |||
| cd978f5eb6 | |||
| 64df7abad5 | |||
| 8efa649d47 | |||
| 2dc09e23a0 | |||
| 8fd2a7d9ad | |||
| 113892b75d | |||
| 001dfbf27f |
98
flake.lock
generated
98
flake.lock
generated
@@ -8,11 +8,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754433428,
|
||||
"narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=",
|
||||
"lastModified": 1760836749,
|
||||
"narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d",
|
||||
"rev": "2f0f812f69f3eb4140157fe15e12739adf82e32a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -153,11 +153,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760148209,
|
||||
"narHash": "sha256-ssMUeLk1cmLqzNMW6l9dgGoLtOY9F9dEGplJlWJmNis=",
|
||||
"lastModified": 1760747305,
|
||||
"narHash": "sha256-SsuuyaFp4TbJ+ofti9EXot9gIOk4vZqccat/zERVQN4=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "b51bb724939dbfa264f08522efffce2bb47b6135",
|
||||
"rev": "9838e14b30857ac0a50dbe98a5ba2233d6ccb2de",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -212,11 +212,11 @@
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760164678,
|
||||
"narHash": "sha256-yxcfwZCysR6zPaFv7is3/FWd1h0h6kXME0vueSwTBhU=",
|
||||
"lastModified": 1760856120,
|
||||
"narHash": "sha256-yH1K/WDJpwIIw7e3wKdRgwHAZ38LXgcGE2Ecvk3I6GU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "2579f163559b902959cc420a6d3bfbd98c46a323",
|
||||
"rev": "b435bfccee71c6591dbce2fcfabe3e17e98c09fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -332,11 +332,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759362264,
|
||||
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
|
||||
"lastModified": 1760813311,
|
||||
"narHash": "sha256-lbHQ7FXGzt6/IygWvJ1lCq+Txcut3xYYd6VIpF1ojkg=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
|
||||
"rev": "4e627ac2e1b8f1de7f5090064242de9a259dbbc8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -491,11 +491,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759523803,
|
||||
"narHash": "sha256-PTod9NG+i3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM=",
|
||||
"lastModified": 1760663237,
|
||||
"narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "cfc9f7bb163ad8542029d303e599c0f7eee09835",
|
||||
"rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -590,11 +590,11 @@
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759850138,
|
||||
"narHash": "sha256-fYHIxjTvVIAEDWzenUROuzDPxy1rBCXZNPgh4b1dfgo=",
|
||||
"lastModified": 1760832569,
|
||||
"narHash": "sha256-wg925OdUZdhjJub5XfpBTWQ3EOJYH7JnaBWHfh849J4=",
|
||||
"owner": "helix-editor",
|
||||
"repo": "helix",
|
||||
"rev": "5b0563419eeeaf0595c848865c46be4abad246a7",
|
||||
"rev": "97aee4950fd9a08a78415cd8992354ae5cf3aaf0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -610,11 +610,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760130406,
|
||||
"narHash": "sha256-GKMwBaFRw/C1p1VtjDz4DyhyzjKUWyi1K50bh8lgA2E=",
|
||||
"lastModified": 1760887455,
|
||||
"narHash": "sha256-/xU8iYZjolWbMUNBQF6af5zgGs73Qw21WMgz1tLs3Yw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d305eece827a3fe317a2d70138f53feccaf890a1",
|
||||
"rev": "aeabc1ac63e6ebb8ba4714c4abdfe0556f2de765",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -652,11 +652,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760061988,
|
||||
"narHash": "sha256-CeuMo7fjWm3XaoK+b1PGyaVIlE1GHudoxk9jrJFvfbY=",
|
||||
"lastModified": 1760662441,
|
||||
"narHash": "sha256-mlDqR1Ntgs9uYYEAUR1IhamKBO0lxoNS4zGLzEZaY0A=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c7f4214faca2f196c551b767c12a70bfa0614510",
|
||||
"rev": "722792af097dff5790f1a66d271a47759f477755",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -803,11 +803,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760143218,
|
||||
"narHash": "sha256-OhJPROcRcwBkjOKkXr/f3/7wuSjhAIqr8WfmEUF9Uuo=",
|
||||
"lastModified": 1760874867,
|
||||
"narHash": "sha256-w2JettCPyqWKMYoJRCTc5/nsSvGrSV9jG4kbn8Q0pZk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland",
|
||||
"rev": "d599513d4a72d66ac62ffdedc41d6653fa81b39e",
|
||||
"rev": "59ff7b2f891d06f4097128faf7027a3863542167",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1191,11 +1191,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759815224,
|
||||
"narHash": "sha256-HbdOyjqHm38j6o5mV24i0bn+r5ykS+VJBnWJuZ0fE+A=",
|
||||
"lastModified": 1760534924,
|
||||
"narHash": "sha256-OIOCC86DxTxp1VG7xAiM+YABtVqp6vTkYIoAiGQMqso=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "ee974f496a080c61b3164992c850f43741edcc52",
|
||||
"rev": "100b4e000032b865563a9754e5bca189bc544764",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1278,11 +1278,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760146997,
|
||||
"narHash": "sha256-x2sF8Q4tWz3DI166s+KFDXySrK+cN+/YEd3DfhnhBLQ=",
|
||||
"lastModified": 1760839259,
|
||||
"narHash": "sha256-9KYm1Oh3jB2Xf0LiFxIBFgOuqRN4FNW4PKfrxXDV418=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "ad505387568d024654da88fef03d9c5319cba92f",
|
||||
"rev": "6aa0613ecf363840e011006b05aefa094b78b053",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1363,11 +1363,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1760038930,
|
||||
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1760703608,
|
||||
"narHash": "sha256-MMIIShabm9KnYTmm0WbJ2h+jxI86gfE7NcByVOaBNNU=",
|
||||
"owner": "PedroHLC",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
||||
"rev": "95d8e5f411dc2fcc7f73a72766aaabfab1a1c456",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1443,11 +1443,11 @@
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1760038930,
|
||||
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
||||
"lastModified": 1760524057,
|
||||
"narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
||||
"rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1626,11 +1626,11 @@
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1760090851,
|
||||
"narHash": "sha256-XGkBjf4Dzg6tXd0KGgKzeW4oVX/iLzLhD3rQ1cATpqM=",
|
||||
"lastModified": 1760714286,
|
||||
"narHash": "sha256-WOt9KquZ1BXjMcVyHpMeliqNRL6BfRvBHFGfRDriDx4=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "b93180b4f2cb3c81ac7f17f46e3dfcb30ecc7843",
|
||||
"rev": "1e20331e42449dfc0b44bce84147a06772d045d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1648,11 +1648,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760063676,
|
||||
"narHash": "sha256-s5Fjh43skH2L+avOGioLmEHoYZffDbg3abV5h0gjeew=",
|
||||
"lastModified": 1760668505,
|
||||
"narHash": "sha256-Ed0cGwPZtLRiSvMx4KgPx8bhLYzn5jiJ7s5o5vj4oG0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "897deed0923cc5a1d560c5176abe0d172ec9716d",
|
||||
"rev": "18234d2c11b10eaec9ccc3a1089a5ea872ec8858",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1815,11 +1815,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760120816,
|
||||
"narHash": "sha256-gq9rdocpmRZCwLS5vsHozwB6b5nrOBDNc2kkEaTXHfg=",
|
||||
"lastModified": 1760889407,
|
||||
"narHash": "sha256-ppIp04fmz+BaTpJs1nIOmPADg02asfQFrFbhb3SmxsE=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "761ae7aff00907b607125b2f57338b74177697ed",
|
||||
"rev": "3f258dead9fed51f53862366d3a6bc1b622ee7cb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -73,8 +73,8 @@
|
||||
enable = false;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
withUWSM = false;
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
inkscape = {
|
||||
enable = false;
|
||||
@@ -86,7 +86,7 @@
|
||||
enable = true;
|
||||
};
|
||||
niri = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
};
|
||||
pkgs = {
|
||||
enable = true;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
name = "DP-3";
|
||||
width = 2560;
|
||||
height = 1440;
|
||||
refreshRate = 240;
|
||||
refreshRate = "240";
|
||||
position = "0x0";
|
||||
transform = 0;
|
||||
bitDepth = 10;
|
||||
@@ -20,7 +20,7 @@
|
||||
name = "HDMI-A-1";
|
||||
width = 1920;
|
||||
height = 1080;
|
||||
refreshRate = 60;
|
||||
refreshRate = "60";
|
||||
position = "2560x0";
|
||||
# transform = 3;
|
||||
workspace = "5";
|
||||
@@ -29,7 +29,7 @@
|
||||
name = "eDP-1";
|
||||
width = 1920;
|
||||
height = 1200;
|
||||
refreshRate = 60;
|
||||
refreshRate = "60";
|
||||
workspace = "1";
|
||||
}
|
||||
];
|
||||
|
||||
@@ -4,9 +4,11 @@
|
||||
homeImports,
|
||||
self,
|
||||
...
|
||||
}: {
|
||||
flake.nixosConfigurations = let
|
||||
# clib = import ../lib inputs.nixpkgs.lib;
|
||||
}:
|
||||
{
|
||||
flake.nixosConfigurations =
|
||||
let
|
||||
clib = import ../lib inputs.nixpkgs.lib;
|
||||
userConfig = "${self}/home";
|
||||
systemConfig = "${self}/system";
|
||||
hostConfig = "${self}/hosts";
|
||||
@@ -22,7 +24,6 @@
|
||||
|
||||
specialArgs = {
|
||||
inherit
|
||||
# clib
|
||||
inputs
|
||||
outputs
|
||||
self
|
||||
@@ -35,16 +36,20 @@
|
||||
smodPath
|
||||
;
|
||||
};
|
||||
in {
|
||||
specialArgsWithClib = specialArgs // {
|
||||
inherit clib;
|
||||
};
|
||||
in
|
||||
{
|
||||
kima = nixosSystem {
|
||||
inherit specialArgs;
|
||||
specialArgs = specialArgsWithClib;
|
||||
modules = [
|
||||
./kima
|
||||
"${self}/nix"
|
||||
{
|
||||
home-manager = {
|
||||
users.cnst.imports = homeImports."cnst@kima";
|
||||
extraSpecialArgs = specialArgs;
|
||||
extraSpecialArgs = specialArgsWithClib;
|
||||
};
|
||||
}
|
||||
self.nixosModules.nixos
|
||||
@@ -54,14 +59,14 @@
|
||||
];
|
||||
};
|
||||
bunk = nixosSystem {
|
||||
inherit specialArgs;
|
||||
specialArgs = specialArgsWithClib;
|
||||
modules = [
|
||||
./bunk
|
||||
"${self}/nix"
|
||||
{
|
||||
home-manager = {
|
||||
users.cnst.imports = homeImports."cnst@bunk";
|
||||
extraSpecialArgs = specialArgs;
|
||||
extraSpecialArgs = specialArgsWithClib;
|
||||
};
|
||||
}
|
||||
self.nixosModules.nixos
|
||||
@@ -94,14 +99,14 @@
|
||||
];
|
||||
};
|
||||
toothpc = nixosSystem {
|
||||
inherit specialArgs;
|
||||
specialArgs = specialArgsWithClib;
|
||||
modules = [
|
||||
./toothpc
|
||||
"${self}/nix"
|
||||
{
|
||||
home-manager = {
|
||||
users.toothpick.imports = homeImports."toothpick@toothpc";
|
||||
extraSpecialArgs = specialArgs;
|
||||
extraSpecialArgs = specialArgsWithClib;
|
||||
};
|
||||
}
|
||||
self.nixosModules.nixos
|
||||
|
||||
@@ -82,8 +82,8 @@
|
||||
enable = false;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
withUWSM = false;
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
inkscape = {
|
||||
enable = false;
|
||||
@@ -98,7 +98,7 @@
|
||||
enable = true;
|
||||
};
|
||||
niri = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
};
|
||||
pkgs = {
|
||||
enable = true;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
name = "DP-3";
|
||||
width = 2560;
|
||||
height = 1440;
|
||||
refreshRate = 240;
|
||||
refreshRate = "143.99";
|
||||
position = "0x0";
|
||||
transform = 0;
|
||||
bitDepth = 10;
|
||||
@@ -20,7 +20,7 @@
|
||||
name = "HDMI-A-1";
|
||||
width = 1920;
|
||||
height = 1080;
|
||||
refreshRate = 60;
|
||||
refreshRate = "60";
|
||||
position = "2560x0";
|
||||
transform = 3;
|
||||
workspace = "5";
|
||||
@@ -29,7 +29,7 @@
|
||||
name = "eDP-1";
|
||||
width = 1920;
|
||||
height = 1200;
|
||||
refreshRate = 60;
|
||||
refreshRate = "60";
|
||||
workspace = "1";
|
||||
}
|
||||
];
|
||||
|
||||
@@ -73,6 +73,18 @@
|
||||
category = "Services";
|
||||
};
|
||||
};
|
||||
ollama = {
|
||||
enable = true;
|
||||
subdomain = "ai";
|
||||
exposure = "local";
|
||||
port = 8001;
|
||||
homepage = {
|
||||
name = "ollama";
|
||||
description = "AI platform";
|
||||
icon = "ollama.svg";
|
||||
category = "Services";
|
||||
};
|
||||
};
|
||||
bazarr = {
|
||||
enable = true;
|
||||
subdomain = "bazarr";
|
||||
@@ -91,7 +103,7 @@
|
||||
exposure = "local";
|
||||
port = 9696;
|
||||
homepage = {
|
||||
name = "prowlarr";
|
||||
name = "Prowlarr";
|
||||
description = "PVR indexer";
|
||||
icon = "prowlarr.svg";
|
||||
category = "Arr";
|
||||
@@ -153,7 +165,7 @@
|
||||
homepage = {
|
||||
name = "Jellyseerr";
|
||||
description = "Media request and discovery manager";
|
||||
icon = "jellyserr.svg";
|
||||
icon = "jellyseerr.svg";
|
||||
category = "Arr";
|
||||
};
|
||||
};
|
||||
@@ -209,7 +221,7 @@
|
||||
homepage = {
|
||||
name = "Vaultwarden";
|
||||
description = "Password manager";
|
||||
icon = "vaultwarden.svg";
|
||||
icon = "vaultwarden-light.svg";
|
||||
category = "Services";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
name = "DVI-D-1";
|
||||
width = 1920;
|
||||
height = 1080;
|
||||
refreshRate = 144;
|
||||
refreshRate = "144";
|
||||
position = "0x0";
|
||||
transform = 0;
|
||||
workspace = "1";
|
||||
|
||||
@@ -1,24 +1,18 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
osConfig,
|
||||
clib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
inherit (lib) mkIf;
|
||||
cfg = osConfig.nixos.programs.hyprland;
|
||||
|
||||
hyprlockFlake = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
|
||||
# hyprlockPkg = pkgs.hyprlock;
|
||||
#
|
||||
bg = osConfig.settings.theme.background;
|
||||
inherit (clib.theme.bgs) resolve;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
package = hyprlockFlake;
|
||||
settings = {
|
||||
general = {
|
||||
# disable_loading_bar = true;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"group/system"
|
||||
],
|
||||
"modules-center": [
|
||||
"niri/workspaces"
|
||||
"hyprland/workspaces"
|
||||
],
|
||||
"modules-right": [
|
||||
"custom/progress",
|
||||
@@ -126,9 +126,13 @@
|
||||
"all-outputs": false,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"urgent": "",
|
||||
"visible": "",
|
||||
"empty": ""
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"active": "_",
|
||||
"default": "_"
|
||||
},
|
||||
"on-click": "activate",
|
||||
"show-special": false,
|
||||
|
||||
@@ -28,8 +28,8 @@ tooltip label {
|
||||
margin: 0 0px;
|
||||
background-color: transparent;
|
||||
color: #fbf1c7;
|
||||
border-top: 3px solid transparent;
|
||||
border-bottom: 3px solid transparent;
|
||||
border-top: 2px solid transparent;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
@@ -45,7 +45,7 @@ tooltip label {
|
||||
background-image: url("assets/button.svg");
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 18px 15px;
|
||||
background-size: 24px 20px;
|
||||
}
|
||||
|
||||
#custom-trayicon {
|
||||
|
||||
@@ -1,22 +1,14 @@
|
||||
{
|
||||
osConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
cfg = osConfig.nixos.programs.hyprland;
|
||||
|
||||
hypridleFlake = inputs.hypridle.packages.${pkgs.system}.hypridle;
|
||||
# hypridlePkg = pkgs.hypridle;
|
||||
in
|
||||
{
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
package = hypridleFlake;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "hyprlock";
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
osConfig,
|
||||
clib,
|
||||
...
|
||||
@@ -9,7 +7,6 @@
|
||||
inherit (lib) mkIf;
|
||||
|
||||
cfg = osConfig.nixos.programs.hyprland;
|
||||
hyprpaperFlake = inputs.hyprpaper.packages.${pkgs.system}.default;
|
||||
bg = osConfig.settings.theme.background;
|
||||
bgs = clib.theme.bgs;
|
||||
|
||||
@@ -35,7 +32,6 @@ in {
|
||||
config = mkIf cfg.enable {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
package = hyprpaperFlake;
|
||||
|
||||
settings = {
|
||||
ipc = "on";
|
||||
|
||||
@@ -18,9 +18,7 @@ in
|
||||
gaps_in = 2;
|
||||
gaps_out = "4, 4, 4, 4";
|
||||
border_size = 3;
|
||||
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
#col.inactive_border = rgba(595959aa)
|
||||
"col.active_border" = "rgb(4c7a5d)"; # rgba(b16286ee) 45deg
|
||||
"col.active_border" = "rgb(4c7a5d)";
|
||||
"col.inactive_border" = "rgb(504945)";
|
||||
layout = "dwindle";
|
||||
resize_on_border = true;
|
||||
|
||||
@@ -37,9 +37,9 @@ in
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
# workspace_swipe = true;
|
||||
workspace_swipe_distance = 400;
|
||||
workspace_swipe_fingers = 3;
|
||||
# workspace_swipe_fingers = 3;
|
||||
workspace_swipe_cancel_ratio = 0.2;
|
||||
workspace_swipe_min_speed_to_force = 5;
|
||||
workspace_swipe_direction_lock = true;
|
||||
|
||||
@@ -99,7 +99,7 @@ in
|
||||
|
||||
(mkIf (host == "kima") {
|
||||
programs.hyprland.settings = {
|
||||
"$terminal" = "ghostty";
|
||||
"$terminal" = "alacritty";
|
||||
"$browser" = "zen";
|
||||
"$browserinc" = "zen --private-window";
|
||||
"$mod" = "SUPER";
|
||||
@@ -111,7 +111,7 @@ in
|
||||
|
||||
(mkIf (host == "bunk") {
|
||||
programs.hyprland.settings = {
|
||||
"$terminal" = "foot";
|
||||
"$terminal" = "alacritty";
|
||||
"$browser" = "zen";
|
||||
"$browserinc" = "zen --private-window";
|
||||
"$mod" = "ALT_L";
|
||||
|
||||
@@ -21,7 +21,7 @@ in
|
||||
let
|
||||
resolution =
|
||||
if m.width != null && m.height != null then
|
||||
"${toString m.width}x${toString m.height}@${toString m.refreshRate}"
|
||||
"${toString m.width}x${toString m.height}@${m.refreshRate}"
|
||||
else
|
||||
"preferred";
|
||||
|
||||
|
||||
@@ -19,6 +19,9 @@ in
|
||||
keyboards.hhkbse = {
|
||||
extraDefCfg = ''
|
||||
process-unmapped-keys yes
|
||||
linux-dev-names-include (
|
||||
"HHKB-Hybrid_1 Keyboard"
|
||||
)
|
||||
'';
|
||||
devices = [
|
||||
"/dev/input/by-id/usb-PFU_Limited_HHKB-Hybrid-event-kbd"
|
||||
|
||||
@@ -157,6 +157,38 @@ in {
|
||||
];
|
||||
};
|
||||
})
|
||||
(lib.mkIf cfg.ollama.enable {
|
||||
intel-llm = {
|
||||
autoStart = true;
|
||||
image = "intelanalytics/ipex-llm-inference-cpp-xpu:latest";
|
||||
devices = [
|
||||
"/dev/dri:/dev/dri:rwm"
|
||||
];
|
||||
volumes = [
|
||||
"/var/lib/ollama:/models"
|
||||
];
|
||||
environment = {
|
||||
OLLAMA_ORIGINS = "http://192.168.*";
|
||||
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS = "1";
|
||||
ONEAPI_DEVICE_SELECTOR = "level_zero:0";
|
||||
OLLAMA_HOST = "[::]:11434";
|
||||
no_proxy = "localhost,127.0.0.1";
|
||||
DEVICE = "Arc";
|
||||
OLLAMA_NUM_GPU = "999";
|
||||
ZES_ENABLE_SYSMAN = "1";
|
||||
};
|
||||
cmd = [
|
||||
"/bin/sh"
|
||||
"-c"
|
||||
"/llm/scripts/start-ollama.sh && echo 'Startup script finished, container is now idling.' && sleep infinity"
|
||||
];
|
||||
extraOptions = [
|
||||
"--net=host"
|
||||
"--memory=32G"
|
||||
"--shm-size=16g"
|
||||
];
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,25 +11,6 @@
|
||||
cfg = config.server.infra.traefik;
|
||||
srv = config.server;
|
||||
|
||||
# Generates all Traefik routers from the central service list
|
||||
# generateRouters = services:
|
||||
# lib.mapAttrs' (
|
||||
# name: service: let
|
||||
# domain =
|
||||
# if service.exposure == "tunnel"
|
||||
# then "cnst.dev"
|
||||
# else if service.exposure == "tailscale"
|
||||
# then "ts.cnst.dev"
|
||||
# else srv.domain;
|
||||
# in
|
||||
# lib.nameValuePair "${service.subdomain}" {
|
||||
# entryPoints = ["websecure"];
|
||||
# rule = "Host(`${service.subdomain}.${domain}`)";
|
||||
# service = service.subdomain;
|
||||
# tls.certResolver = "letsencrypt";
|
||||
# }
|
||||
# ) (lib.filterAttrs (name: service: service.enable) services);
|
||||
|
||||
generateRouters = services: config:
|
||||
lib.mapAttrs' (
|
||||
name: service:
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
./lidarr
|
||||
./n8n
|
||||
./nextcloud
|
||||
./ollama
|
||||
./prowlarr
|
||||
./radarr
|
||||
./sonarr
|
||||
|
||||
@@ -24,6 +24,13 @@ in {
|
||||
environmentFile = config.age.secrets.homepageEnvironment.path;
|
||||
|
||||
settings = {
|
||||
color = "stone";
|
||||
theme = "dark";
|
||||
headerStyle = "clean";
|
||||
statusStyle = "dot";
|
||||
hideVersion = true;
|
||||
useEqualHeights = true;
|
||||
|
||||
layout = [
|
||||
{
|
||||
Glances = {
|
||||
@@ -57,10 +64,6 @@ in {
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
headerStyle = "clean";
|
||||
statusStyle = "dot";
|
||||
hideVersion = "true";
|
||||
};
|
||||
|
||||
widgets = [
|
||||
@@ -117,79 +120,101 @@ in {
|
||||
"${service.homepage.name}" = {
|
||||
icon = service.homepage.icon;
|
||||
description = service.homepage.description;
|
||||
href = "https://${domain}";
|
||||
siteMonitor = "https://${domain}";
|
||||
href = "https://${service.subdomain}.${domain}${service.homepage.path or ""}";
|
||||
siteMonitor = "https://${service.subdomain}.${domain}${x.homepage.path or ""}";
|
||||
};
|
||||
});
|
||||
})
|
||||
++ [
|
||||
{
|
||||
Glances = let
|
||||
port = toString config.services.glances.port;
|
||||
glancesShared = {
|
||||
type = "glances";
|
||||
url = "http://localhost:${toString config.services.glances.port}";
|
||||
chart = true;
|
||||
version = 4;
|
||||
};
|
||||
in [
|
||||
{
|
||||
Info = {
|
||||
widget = {
|
||||
type = "glances";
|
||||
url = "http://localhost:${port}";
|
||||
metric = "info";
|
||||
chart = false;
|
||||
version = 4;
|
||||
Memory = {
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "memory";
|
||||
refreshInterval = 2000;
|
||||
pointsLimit = 30;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
"CPU Usage" = {
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "cpu";
|
||||
refreshInterval = 2000;
|
||||
pointsLimit = 30;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
"CPU Temp" = {
|
||||
widget = {
|
||||
type = "glances";
|
||||
url = "http://localhost:${port}";
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "sensor:Tctl";
|
||||
chart = false;
|
||||
version = 4;
|
||||
refreshInterval = 5000;
|
||||
pointsLimit = 20;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
"GPU Radeon" = {
|
||||
widget = {
|
||||
type = "glances";
|
||||
url = "http://localhost:${port}";
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "sensor:junction";
|
||||
chart = false;
|
||||
version = 4;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
"GPU Intel" = {
|
||||
widget = {
|
||||
type = "glances";
|
||||
url = "http://localhost:${port}";
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "sensor:pkg";
|
||||
chart = false;
|
||||
version = 4;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
"ZFS Pool" = {
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "fs:/mnt/data";
|
||||
refreshInterval = 30000;
|
||||
pointsLimit = 20;
|
||||
diskUnits = "bytes";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
Processes = {
|
||||
widget = {
|
||||
type = "glances";
|
||||
url = "http://localhost:${port}";
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "process";
|
||||
chart = false;
|
||||
version = 4;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
Network = {
|
||||
widget = {
|
||||
type = "glances";
|
||||
url = "http://localhost:${port}";
|
||||
widget =
|
||||
glancesShared
|
||||
// {
|
||||
metric = "network:enp6s0";
|
||||
chart = false;
|
||||
version = 4;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
27
modules/server/services/ollama/default.nix
Normal file
27
modules/server/services/ollama/default.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
unit = "ollama";
|
||||
cfg = config.server.services.${unit};
|
||||
in {
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
intel-compute-runtime
|
||||
intel-graphics-compiler
|
||||
level-zero
|
||||
];
|
||||
services.open-webui = {
|
||||
enable = true;
|
||||
host = "0.0.0.0";
|
||||
port = 8001;
|
||||
environment = {
|
||||
ANONYMIZED_TELEMETRY = "False";
|
||||
BYPASS_MODEL_ACCESS_CONTROL = "True";
|
||||
OLLAMA_BASE_URL = "http://localhost:11434";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -21,8 +21,8 @@ in
|
||||
example = 1080;
|
||||
};
|
||||
refreshRate = mkOption {
|
||||
type = types.int;
|
||||
default = 60;
|
||||
type = types.str;
|
||||
default = "60";
|
||||
};
|
||||
transform = mkOption {
|
||||
type = types.int;
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
"aarch64-linux"
|
||||
];
|
||||
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
perSystem = {pkgs, ...}: {
|
||||
packages = {
|
||||
# instant repl with automatic flake loading
|
||||
repl = pkgs.callPackage ./repl {};
|
||||
|
||||
Reference in New Issue
Block a user