chore: merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
Ahwx 2025-10-03 15:35:30 +02:00
commit 3a8ce89d0b
24 changed files with 502 additions and 570 deletions

264
flake.lock generated
View file

@ -190,24 +190,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flakeCompat": { "flakeCompat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -253,11 +235,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757578556, "lastModified": 1758593331,
"narHash": "sha256-w1PGkTGow5XzsjccV364No46rkuGxTqo7m/4cfhnkIk=", "narHash": "sha256-p+904PfmINyekyA/LieX3IYGsiFtExC00v5gSYfJtpM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b7112b12ea5b8c3aa6af344498ed9ca27dd03ba3", "rev": "9a2dc0efbc569ce9352a6ffb8e8ec8dbc098e142",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -271,11 +253,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1755680610, "lastModified": 1758531979,
"narHash": "sha256-g7/g5o0spemkZCzPa8I21RgCmN0Kv41B5z9Z5HQWraY=", "narHash": "sha256-iRv5afKzuu6SkwztqMwZ33161CzBJsyeRHp0uviN9TI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "04721247f417256ca96acf28cdfe946cf1006263", "rev": "de79078fd59140067e53cd00ebdf17f96ce27846",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -329,11 +311,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756891319, "lastModified": 1758192433,
"narHash": "sha256-/e6OXxzbAj/o97Z1dZgHre4bNaVjapDGscAujSCQSbI=", "narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "621e2e00f1736aa18c68f7dfbf2b9cff94b8cc4d", "rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -360,11 +342,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1757508065, "lastModified": 1758542519,
"narHash": "sha256-aZCTbfKkxsEinY5V7R0NYuuitKLYc8ig8T91+yDMGJ0=", "narHash": "sha256-NHEzK6MN8Tv9YrnJb2A9KxcOI2cCsKRqZOC5kUeG8Aw=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "46174f78b374b6cea669c48880877a8bdcf7802f", "rev": "70a7047ee175d2e7fca1575d50a3738ac40fd2c6",
"revCount": 6418, "revCount": 6446,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -480,11 +462,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1753819801, "lastModified": 1757694755,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=", "narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qtutils", "repo": "hyprland-qtutils",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc", "rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -559,11 +541,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1750371999, "lastModified": 1757972732,
"narHash": "sha256-de87tFOEhJiXTHNzG3LcwxGR1a/D6v+nC+9+V1GW1Zs=", "narHash": "sha256-V2lQfZyVMzlyQNtY7VZbJhh+fg9KsNztJynXBs3OgUc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprpicker", "repo": "hyprpicker",
"rev": "d6a1363a86cd99460f0020134e455d921e8bacd8", "rev": "6f32582d2282fd97f18e54db0f45f53f18edde4f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -582,11 +564,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1756066004, "lastModified": 1757678186,
"narHash": "sha256-L5AX14cRzCikpSkL4jgC7WKdVzZ9K4c3dWe445ogZ+o=", "narHash": "sha256-YuvkWCVZKiUoUC2tx/N5KkPXWmje2UbeENYkOc2C31Y=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprsunset", "repo": "hyprsunset",
"rev": "fa2f7dde11eba8a6835ecedbbd144c48017156af", "rev": "72071709f58bc2fed8546288af295aa9153a287f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -745,26 +727,6 @@
"type": "github" "type": "github"
} }
}, },
"iamb": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_6",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1756876216,
"narHash": "sha256-ZVRwUbMrGeH3XZrFt/YoCOxXR6TWwkXcqWwWAA+F+Rs=",
"owner": "ulyssa",
"repo": "iamb",
"rev": "7b1dc93f3a01f4e8b138922a27bb3ce60d7be1f9",
"type": "github"
},
"original": {
"owner": "ulyssa",
"repo": "iamb",
"type": "github"
}
},
"ixx": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -797,11 +759,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1757103352, "lastModified": 1757943327,
"narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", "narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "11b2a10c7be726321bb854403fdeec391e798bf0", "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -843,43 +805,11 @@
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1742800061, "lastModified": 1758262103,
"narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", "narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", "rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1757487488,
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1757034884,
"narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ca77296380960cd497a765102eeb1356eb80fed0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -955,53 +885,21 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1756542300, "lastModified": 1758427187,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": {
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1757487488,
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1743315132, "lastModified": 1743315132,
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
@ -1017,10 +915,42 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": {
"locked": {
"lastModified": 1742800061,
"narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1758427187,
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_9", "nixpkgs": "nixpkgs_7",
"nixvim": "nixvim_2" "nixvim": "nixvim_2"
}, },
"locked": { "locked": {
@ -1040,7 +970,7 @@
"nixvim_2": { "nixvim_2": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_10", "nixpkgs": "nixpkgs_8",
"nuschtosSearch": "nuschtosSearch" "nuschtosSearch": "nuschtosSearch"
}, },
"locked": { "locked": {
@ -1060,14 +990,14 @@
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_11" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1757591071, "lastModified": 1758640565,
"narHash": "sha256-u5Xr/Tx5mYIcrVz7zwx9YvOWQJEei0T8mRJsr3/aBoA=", "narHash": "sha256-ElrlkD9NTp27BR+K8RO6KYF/5gHURj6b9Vpan/bf8wk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "a625a24a40e4a4c21fcb7bbaa5869b0766fc0eab", "rev": "af2e804a55892665adfd0b30c75088b1ad1b462c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1078,7 +1008,7 @@
}, },
"nuschtosSearch": { "nuschtosSearch": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils",
"ixx": "ixx", "ixx": "ixx",
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
@ -1110,11 +1040,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757239681, "lastModified": 1758108966,
"narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1132,9 +1062,8 @@
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprpicker": "hyprpicker", "hyprpicker": "hyprpicker",
"hyprsunset": "hyprsunset", "hyprsunset": "hyprsunset",
"iamb": "iamb",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_6",
"nixvim": "nixvim", "nixvim": "nixvim",
"nur": "nur", "nur": "nur",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
@ -1157,34 +1086,16 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay": {
"inputs": {
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1756694554,
"narHash": "sha256-z/Iy4qvcMqzhA2IAAg71Sw4BrMwbBHvCS90ZoPLsnIk=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "b29e5365120f344fe7161f14fc9e272fcc41ee56",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_12" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1757503115, "lastModified": 1758425756,
"narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", "narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1253,21 +1164,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": [ "hyprland-protocols": [

View file

@ -16,7 +16,6 @@
nixvim.url = "github:ahwxorg/nixvim-config"; nixvim.url = "github:ahwxorg/nixvim-config";
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
disko.url = "github:nix-community/disko/latest"; disko.url = "github:nix-community/disko/latest";
iamb.url = "github:ulyssa/iamb";
}; };
outputs = outputs =
@ -25,7 +24,6 @@
nixpkgs, nixpkgs,
sops-nix, sops-nix,
disko, disko,
iamb,
... ...
}@inputs: }@inputs:
let let

View file

@ -35,20 +35,20 @@
allowedUDPPorts = [ allowedUDPPorts = [
5201 5201
]; ];
interfaces."ens4s1".allowedTCPPorts = [ #interfaces."ens4s1".allowedTCPPorts = [
# allow everything for local link # # allow everything for local link
{ # {
from = 1; # from = 0;
to = 65354; # to = 60000;
} # }
]; #];
interfaces."ens4s1".allowedUDPPorts = [ #interfaces."ens4s1".allowedUDPPorts = [
# allow everything for local link # # allow everything for local link
{ # {
from = 1; # from = 0;
to = 65354; # to = 65536;
} # }
]; #];
}; };
}; };
@ -82,6 +82,7 @@
services.zfs = { services.zfs = {
autoScrub.enable = true; autoScrub.enable = true;
autoScrub.interval = "weekly";
trim.enable = true; trim.enable = true;
}; };

View file

@ -9,7 +9,7 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./../../modules/core ./../../modules/core
# ./../../modules/home/nfs.nix ./../../modules/home/steam.nix
./../../modules/core/virtualization.nix ./../../modules/core/virtualization.nix
./../../modules/services/tailscale.nix ./../../modules/services/tailscale.nix
./../../modules/services/mpd.nix ./../../modules/services/mpd.nix
@ -27,17 +27,15 @@
networkmanager.enable = true; networkmanager.enable = true;
}; };
systemd.network.networks."99-local" = { networking = {
matchConfig.name = "enp68s0"; interfaces.ens4d1 = {
address = [ ipv4.addresses = [
"192.168.1.100/24" {
]; address = "192.168.1.101";
routes = [ prefixLength = 24;
{ }
Gateway = "172.16.10.1"; ];
GatewayOnLink = false; };
}
];
}; };
liv = { liv = {

View file

@ -3,7 +3,7 @@
imports = imports =
[ (import ./docker.nix) ] [ (import ./docker.nix) ]
++ [ (import ./hardware.nix) ] ++ [ (import ./hardware.nix) ]
++ [ (import ./displaylink.nix) ] # ++ [ (import ./displaylink.nix) ]
# ++ [(import ./printing.nix)] # ++ [(import ./printing.nix)]
++ [ (import ./xserver.nix) ] ++ [ (import ./xserver.nix) ]
++ [ (import ./network.nix) ] ++ [ (import ./network.nix) ]

View file

@ -1,12 +1,13 @@
{ ... }: { ... }:
{ {
imports = imports =
[(import ./hardware.nix)] [ (import ./hardware.nix) ]
++ [(import ./network.nix)] ++ [ (import ./network.nix) ]
++ [(import ./program.nix)] ++ [ (import ./program.nix) ]
++ [(import ./sshd.nix)] ++ [ (import ./sshd.nix) ]
++ [(import ./security.nix)] ++ [ (import ./security.nix) ]
++ [(import ./services.nix)] ++ [ (import ./services.nix) ]
++ [(import ./system.nix)] ++ [ (import ./system.nix) ]
++ [(import ./user.nix)]; ++ [ (import ./user.nix) ]
++ [ (import ./virtualization.nix) ];
} }

View file

@ -15,6 +15,5 @@
git git
dig dig
traceroute traceroute
inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default
]; ];
} }

View file

@ -23,6 +23,7 @@
owner = "matrix-synapse"; owner = "matrix-synapse";
}; };
"smbLoginDetails" = { }; "smbLoginDetails" = { };
"syncplay" = { };
} }
else if (host == "sakura") then else if (host == "sakura") then
{ {

View file

@ -12,6 +12,8 @@
libvirtd.enable = libvirtd.enable =
if (host == "violet") then if (host == "violet") then
true true
else if (host == "dandelion") then
true
else if (host == "sakura") then else if (host == "sakura") then
true true
else if (host == "yoshino") then else if (host == "yoshino") then
@ -36,7 +38,7 @@
# { }; # { };
users.groups.libvirtd.members = users.groups.libvirtd.members =
if (config.virtualisation.waydroid.enable == true) then [ username ] else [ ]; if (config.virtualisation.libvirtd.enable == true) then [ username ] else [ ];
# Enable qemu etc # Enable qemu etc
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -18,8 +18,8 @@
}; };
services = { services = {
login.u2fAuth = true; login.u2fAuth = false;
greetd.u2fAuth = true; greetd.u2fAuth = false;
sudo.u2fAuth = true; sudo.u2fAuth = true;
swaylock.fprintAuth = swaylock.fprintAuth =
if (host == "sakura") then if (host == "sakura") then
@ -29,7 +29,7 @@
else else
false; false;
# No longer using Hyprlock, might stay here for if I ever switch to it again. # No longer using Hyprlock, might stay here for if I ever switch to it again.
hyprlock.u2fAuth = true; hyprlock.u2fAuth = false;
hyprlock.fprintAuth = hyprlock.fprintAuth =
if (host == "sakura") then if (host == "sakura") then
true true

View file

@ -23,12 +23,12 @@
size = 14; size = 14;
}; };
theme = { theme = {
name = "Gruvbox-Green-Dark"; name = "Juno";
package = pkgs.gruvbox-gtk-theme.override { package = pkgs.juno-theme; # .override {
colorVariants = [ "dark" ]; # colorVariants = [ "dark" ];
themeVariants = [ "green" ]; # themeVariants = [ "green" ];
tweakVariants = [ "macos" ]; # tweakVariants = [ "macos" ];
}; # };
}; };
iconTheme = { iconTheme = {
name = "Papirus-Dark"; name = "Papirus-Dark";

3
modules/home/steam.nix Normal file
View file

@ -0,0 +1,3 @@
{
programs.steam.enable = true;
}

View file

@ -22,347 +22,349 @@
home.file = { home.file = {
"/home/${username}/.config/waybar/config" = { "/home/${username}/.config/waybar/config" = {
text = '' text = ''
[{ [{
"layer": "bottom", "layer": "top",
"position": "bottom", "position": "top",
"modules-left": [ "modules-left": [
"privacy", "privacy",
"network", "network",
"custom/vpn", "custom/vpn",
"custom/devices", "custom/devices",
"custom/spotify", "custom/spotify",
"tray", "tray",
], ],
"modules-center": [ "modules-center": [
"hyprland/workspaces", "hyprland/workspaces",
], ],
"modules-right": [ "modules-right": [
"custom/yubikey#icon", "custom/yubikey#icon",
"custom/yubikey#data", "custom/yubikey#data",
"group/hardware", "group/hardware",
"group/resources", "group/resources",
"bluetooth", "bluetooth",
// "wireplumber", // "wireplumber",
"group/audio", "group/audio",
"group/battery", "group/battery",
"group/clock" "group/clock"
], ],
"hyprland/window": { "hyprland/window": {
"format": "{}", "format": "{}",
"rewrite": { "rewrite": {
"(.*) - zsh": "> [$1]" "(.*) - zsh": "> [$1]"
}, },
"separate-outputs": true "separate-outputs": true
}, },
"sway/workspaces": { "sway/workspaces": {
"all-outputs": true, "all-outputs": true,
"disable-scroll": true, "disable-scroll": true,
"format": "{name}" "format": "{name}"
}, },
"hyprland/workspaces": { "hyprland/workspaces": {
"all-outputs": true, "all-outputs": true,
"disable-scroll": true, "disable-scroll": true,
"format": "{name}" "format": "{name}"
}, },
// "group/network": { // "group/network": {
// "orientation": "horizontal", // "orientation": "horizontal",
// "modules": [ // "modules": [
// "network", // "network",
// "custom/vpn", // "custom/vpn",
// ], // ],
// "drawer": { // "drawer": {
// "transition-left-to-right": true, // "transition-left-to-right": true,
// "transition-duration": 500 // "transition-duration": 500
// } // }
// }, // },
"network": { "network": {
"format": "󰈀 {ifname}", "format": "󰈀 {ifname}",
"format-wifi": " {essid} - {ipaddr}/{cidr} <span color='#aaaaaa'>{signalStrength}%</span>", // "format-wifi": "<span color='#aaaaaa'>WLAN:</span> {essid} - {ipaddr}/{cidr} <span color='#aaaaaa'>{signalStrength}%</span>",
"format-ethernet": "󰈀 {ipaddr}/{cidr}", "format-wifi": "<span color='#aaaaaa'>WLAN:</span> {ipaddr}/{cidr} <span color='#aaaaaa'>{signalStrength}%</span>",
"format-disconnected": "󰈂", "format-ethernet": "<span color='#aaaaaa'>LAN:</span> {ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}", "format-disconnected": "<span color='#aaaaaa'>WLAN:</span> down",
"tooltip-format-wifi": "{essid} ({signalStrength}%)", "tooltip-format": "{ifname} via {gwaddr}",
"tooltip-format-ethernet": "{ifname}", "tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-disconnected": "Disconnected" "tooltip-format-ethernet": "{ifname}",
}, "tooltip-format-disconnected": "Disconnected"
},
"custom/vpn": { "custom/vpn": {
"format": "{icon}", "format": "{icon}",
"tooltip-format": "{text}", "tooltip-format": "{text}",
"format-icons": [ "","" ], "format-icons": [ "","" ],
"return-type": "json", "return-type": "json",
"exec": "~/.local/bin/waybar-vpn", "exec": "~/.local/bin/waybar-vpn",
"interval": 30 "interval": 30
}, },
"custom/spotify": { "custom/spotify": {
"interval": 5, "interval": 5,
"return-type": "json", "return-type": "json",
"exec": "~/.local/bin/waybar-music", "exec": "~/.local/bin/waybar-music",
"on-click": "playerctl play-pause", "on-click": "playerctl play-pause",
"escape": true "escape": true
}, },
"custom/devices": { "custom/devices": {
"interval": 60, "interval": 60,
"font-size": 14, "font-size": 14,
// "return-type": "json", // "return-type": "json",
"exec": "~/.local/bin/waybar-devices", "exec": "~/.local/bin/waybar-devices",
}, },
"privacy": { "privacy": {
"icon-spacing": 8, "icon-spacing": 8,
"icon-size": 14, "icon-size": 14,
"transition-duration": 250, "transition-duration": 250,
"modules": [ "modules": [
{ {
"type": "screenshare", "type": "screenshare",
"tooltip": true, "tooltip": true,
"tooltip-icon-size": 24 "tooltip-icon-size": 24
}, },
{ {
"type": "audio-out", "type": "audio-out",
"tooltip": true, "tooltip": true,
"tooltip-icon-size": 24 "tooltip-icon-size": 24
}, },
{ {
"type": "audio-in", "type": "audio-in",
"tooltip": true, "tooltip": true,
"tooltip-icon-size": 24 "tooltip-icon-size": 24
} }
] ]
}, },
"tray": { "tray": {
"icon-size": 12, "icon-size": 12,
"spacing": 0 "spacing": 0
}, },
"sway/mode": { "sway/mode": {
"format": " {}", "format": " {}",
"tooltip": false "tooltip": false
}, },
"custom/yubikey#icon": { "custom/yubikey#icon": {
"exec": "~/.local/bin/waybar-yubikey 0", "exec": "~/.local/bin/waybar-yubikey 0",
"return-type": "json" "return-type": "json"
}, },
"custom/yubikey#data": { "custom/yubikey#data": {
"exec": "~/.local/bin/waybar-yubikey 1", "exec": "~/.local/bin/waybar-yubikey 1",
"return-type": "json" "return-type": "json"
}, },
"group/hardware": { "group/hardware": {
"orientation": "horizontal", "orientation": "horizontal",
"modules": [ "modules": [
"cpu", "cpu",
"temperature#cpu", "temperature#cpu",
"temperature#gpu", "temperature#gpu",
"temperature#nvme", "temperature#nvme",
"temperature#wifi" "temperature#wifi"
], ],
"drawer": { "drawer": {
"transition-left-to-right": false, "transition-left-to-right": false,
"transition-duration": 500 "transition-duration": 500
} }
}, },
"cpu": { "cpu": {
"interval": 30, "interval": 30,
"format": " {avg_frequency:3.2f}GHz <span color='#aaaaaa'>{usage}%</span>", "format": "<span color='#aaaaaa'>FREQ:</span> {avg_frequency:3.2f}GHz <span color='#aaaaaa'>{usage}%</span> ",
"states": { "states": {
"warning": 70, "warning": 70,
"critical": 90 "critical": 90
}, },
}, },
"temperature#cpu": { "temperature#cpu": {
"hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input", "hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input",
"critical-threshold": 80, "critical-threshold": 80,
"format": " CPU <span color='#aaaaaa'>{temperatureC}°C</span>" "format": "CPU <span color='#aaaaaa'>{temperatureC}°C</span>"
}, },
"temperature#gpu": { "temperature#gpu": {
"hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input", "hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input",
"critical-threshold": 80, "critical-threshold": 80,
"format": "· GPU <span color='#aaaaaa'>{temperatureC}°C</span>" "format": "GPU <span color='#aaaaaa'>{temperatureC}°C</span>"
}, },
"temperature#nvme": { "temperature#nvme": {
"hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input", "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input",
"critical-threshold": 80, "critical-threshold": 80,
"format": "· NVMe <span color='#aaaaaa'>{temperatureC}°C</span>" "format": "NVMe <span color='#aaaaaa'>{temperatureC}°C</span>"
}, },
"temperature#wifi": { "temperature#wifi": {
"hwmon-path": "/sys/class/hwmon/hwmon11/temp1_input", "hwmon-path": "/sys/class/hwmon/hwmon11/temp1_input",
"critical-threshold": 80, "critical-threshold": 80,
"format": "· WiFi <span color='#aaaaaa'>{temperatureC}°C</span>" "format": "WiFi <span color='#aaaaaa'>{temperatureC}°C</span>"
}, },
"group/resources": { "group/resources": {
"orientation": "horizontal", "orientation": "horizontal",
"modules": [ "memory", "disk#root" ], "modules": [ "memory", "disk#root" ],
"drawer": { "drawer": {
"transition-left-to-right": false, "transition-left-to-right": false,
"transition-duration": 500 "transition-duration": 500
} }
}, },
"memory": { "memory": {
"interval": 60, "interval": 60,
"format": "󰘚 {used:3.1f}GiB/<span color='#aaaaaa'>{total:3.1f}GiB</span>" "format": "<span color='#aaaaaa'>RAM:</span> {used:3.1f}GiB/<span color='#aaaaaa'>{total:3.1f}GiB</span> "
}, },
"disk#root": { "disk#root": {
"interval": 360, "interval": 360,
"format": " {used}/<span color='#aaaaaa'>{total}</span>", "format": "DISK: {used}/<span color='#aaaaaa'>{total}</span>",
"path": "/" "path": "/"
}, },
"bluetooth": { "bluetooth": {
// "controller": "controller1", // "controller": "controller1",
"on-click": "~/.local/bin/waybar-bluetooth toggle", "on-click": "~/.local/bin/waybar-bluetooth toggle",
"format": "<span color='#aaaaaa'>󰂲</span>", "format": "<span color='#aaaaaa'>󰂲</span>",
"format-disabled": "<span color='#333333'></span>", "format-disabled": "<span color='#333333'></span>",
"format-connected": "", "format-connected": "",
"format-connected-battery": " {device_battery_percentage}%", "format-connected-battery": " {device_battery_percentage}%",
"tooltip-format": "{controller_alias}\t\t[{controller_address}]", "tooltip-format": "{controller_alias}\t\t[{controller_address}]",
"tooltip-format-connected": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", "tooltip-format-connected": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}",
"tooltip-format-connected-battery": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", "tooltip-format-connected-battery": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t\t[{device_address}]", "tooltip-format-enumerate-connected": "{device_alias}\t\t[{device_address}]",
"tooltip-format-enumerate-connected-battery": "{device_alias} ({device_battery_percentage})\t\t[{device_address}]" "tooltip-format-enumerate-connected-battery": "{device_alias} ({device_battery_percentage})\t\t[{device_address}]"
}, },
"group/audio": { "group/audio": {
"orientation": "horizontal", "orientation": "horizontal",
"modules": [ "modules": [
"wireplumber", "wireplumber",
"custom/audio-internal", "custom/audio-internal",
"custom/audio-headphones", "custom/audio-headphones",
"custom/audio-hdmi" "custom/audio-hdmi"
], ],
"drawer": { "drawer": {
"transition-left-to-right": false, "transition-left-to-right": false,
"transition-duration": 500 "transition-duration": 500
} }
}, },
"wireplumber": { "wireplumber": {
"format": "{icon} {node_name}/<span color='#aaaaaa'>{volume}</span>", "format": "{icon} {node_name}/{volume}",
"format-muted": "", "format-muted": "",
"on-click": "pavucontrol-qt", "on-click": "pavucontrol-qt",
"on-click-right": "helvum", "on-click-right": "helvum",
"format-icons": ["", "", ""] "format-icons": ["", "", ""]
}, },
"custom/audio-internal": { "custom/audio-internal": {
"format": "󱡬 ", "format": "󱡬 ",
"tooltip-format": "Internal", "tooltip-format": "Internal",
"on-click": "audio-router analog", "on-click": "audio-router analog",
"interval": "once" "interval": "once"
}, },
"custom/audio-hdmi": { "custom/audio-hdmi": {
"format": "󰡁 ", "format": "󰡁 ",
"tooltip-format": "HDMI", "tooltip-format": "HDMI",
"on-click": "audio-router hdmi", "on-click": "audio-router hdmi",
"interval": "once" "interval": "once"
}, },
"group/battery": { "group/battery": {
"orientation": "horizontal", "orientation": "horizontal",
"modules": [ "modules": [
"battery", "battery",
"custom/powerdraw" "custom/powerdraw"
], ],
"drawer": { "drawer": {
"transition-left-to-right": false, "transition-left-to-right": false,
"transition-duration": 500 "transition-duration": 500
} }
}, },
"battery": { "battery": {
"bat": "BAT1", "bat": "BAT1",
"interval": 30, "interval": 20,
"states": { "states": {
"warning": 20, "warning": 20,
"critical": 10 "critical": 10
}, },
"format-time": "{H}:{m}", "format-time": "{H}:{m}",
"format": "{icon} {time} <span color='#aaaaaa'>{capacity}%</span>", "format": "<span color='#aaaaaa'>BATT:</span> {time} {capacity}%",
"format-discharging": "{icon} <span color='#aaaaaa'>{capacity}%</span>", "format-alt": "<span color='#aaaaaa'>BATT: {time}</span> ",
"format-discharging-warning": "{icon} <span color='#FF5F1F'>{capacity}%</span>", "format-discharging": "<span color='#aaaaaa'>BATT:</span> {capacity}%",
"format-discharging-critical": "{icon} <span color='#FF3131'>{capacity}%</span>", "format-discharging-warning": "<span color='#aaaaaa'>BATT:</span> <span color='#FF5F1F'>{capacity}%</span>",
"format-charging": "{icon} <span color='#DAF7A6'>{capacity}%</span><span color='#aaaaaa'> @ {power:2.0f}W</span>", "format-discharging-critical": "<span color='#aaaaaa'>BATT:</span> <span color='#FF3131'>{capacity}%</span>",
"format-full": "󱐥 <span color='#aaaaaa'>{capacity}%</span>", "format-charging": "<span color='#aaaaaa'>BATT:</span> <span color='#DAF7A6'>{capacity}%</span><span color='#aaaaaa'> @ {power:2.0f}W</span>",
"format-not-charging": "󱐤 <span color='#aaaaaa'>{capacity}%</span>", "format-full": "<span color='#aaaaaa'>BATT:</span> 󱐥 {capacity}%",
"format-icons": [" ", " ", " ", " ", " "], "format-not-charging": "<span color='#aaaaaa'>BATT:</span> 󱐤 {capacity}%",
}, // "format-icons": [" ", " ", " ", " ", " "], // use {icon}
},
"custom/powerdraw": { "custom/powerdraw": {
"interval": 60, "interval": 60,
"exec": "~/.local/bin/waybar-powerdraw", "exec": "~/.local/bin/waybar-powerdraw",
}, },
"group/clock": { "group/clock": {
"orientation": "horizontal", "orientation": "horizontal",
"modules": [ "clock#time", "custom/clock#minutes", "clock#date" ], "modules": [ "clock#time", "custom/clock#minutes", "clock#date" ],
"drawer": { "drawer": {
"transition-left-to-right": false, "transition-left-to-right": false,
"transition-duration": 500 "transition-duration": 500
} }
}, },
"clock#date": { "clock#date": {
"interval": 60, "interval": 60,
"format": " <span color='#ffffff'> {:%a %e %b %Y}</span>", "format": "<span color='#ffffff'> {:%a %e %b %Y}</span>",
"tooltip-format": "<big>{:%B %Y}</big>\n<tt>{calendar}</tt>", "tooltip-format": "<big>{:%B %Y}</big>\n<tt>{calendar}</tt>",
"calendar": { "calendar": {
"mode" : "year", "mode" : "year",
"mode-mon-col" : 2, "mode-mon-col" : 2,
"weeks-pos" : "right", "weeks-pos" : "right",
"on-scroll" : 1, "on-scroll" : 1,
"format": { "format": {
"months": "<span color='#ffead3'><b>{}</b></span>", "months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>", "days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>", "weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>", "weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>" "today": "<span color='#ff6699'><b><u>{}</u></b></span>"
} }
}, },
"actions": { "actions": {
"on-click-right": "mode", "on-click-right": "mode",
"on-scroll-up": "shift_up", "on-scroll-up": "shift_up",
"on-scroll-down": "shift_down" "on-scroll-down": "shift_down"
} }
}, },
"clock#time": { "clock#time": {
"interval": 60, "interval": 60,
"format": " <span color='#aaaaaa'>{:%I:%M %p}</span>", "format": "<span color='#aaaaaa'>CEST:</span> {:%I:%M %p}",
"actions": { "actions": {
"on-scroll-up": "tz_up", "on-scroll-up": "tz_up",
"on-scroll-down": "tz_down" "on-scroll-down": "tz_down"
} }
}, },
"custom/clock#minutes": { "custom/clock#minutes": {
"interval": 60, "interval": 60,
"format": " <span color='#aaaaaa'>{}</span> ", "format": "CEST: <span color='#aaaaaa'>{}</span> ",
"exec": "~/.local/bin/waybar-minutes" "exec": "~/.local/bin/waybar-minutes"
} }
} }
] ]
''; '';
}; };
"/home/${username}/.config/waybar/style.css" = { "/home/${username}/.config/waybar/style.css" = {
@ -377,17 +379,18 @@
/* margin: 0 0px; */ /* margin: 0 0px; */
} }
window#waybar.bottom { window#waybar.top {
/* background-color: rgba(115, 116, 116, 0.22); */ /* background-color: rgba(115, 116, 116, 0.22); */
background-color: rgba(0, 0, 0, 0.25); background-color: rgba(0, 0, 0, 0.25);
border-bottom: none; border-top: none;
color: #eeeeee; color: #eeeeee;
transition-property: background-color; transition-property: background-color;
transition-duration: .5s; transition-duration: .5s;
} }
window#waybar.hidden { window#waybar.hidden {
opacity: 0.25; /* opacity: 0.25; */
opacity: 0.00;
} }
label#window { label#window {
@ -439,7 +442,7 @@
#workspaces button { #workspaces button {
/*padding: 4px 6px;*/ /*padding: 4px 6px;*/
padding: 4px 6px; padding: 4px 6px;
color: #555555; color: #aaaaaa;
border-radius: 0px; border-radius: 0px;
/*min-width: 32px;*/ /*min-width: 32px;*/
} }

View file

@ -181,12 +181,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
if [[ "$(hostname)" == "sakura" ]]; then if [[ "$(hostname)" == "sakura" ]]; then
if [[ $(cat /proc/acpi/button/lid/LID0/state | grep "open") ]]; then
LTEXT="󰌢 "
else
LTEXT="󰛧 "
fi
MICROPHONE_STATE="$(sudo framework_tool --privacy | tail -n2 | head -n1)" MICROPHONE_STATE="$(sudo framework_tool --privacy | tail -n2 | head -n1)"
CAMERA_STATE="$(sudo framework_tool --privacy | tail -n1)" CAMERA_STATE="$(sudo framework_tool --privacy | tail -n1)"
@ -206,7 +200,7 @@
CTEXT="󰗟 " CTEXT="󰗟 "
fi fi
echo "$LTEXT $CTEXT $MTEXT" echo "$CTEXT $MTEXT"
fi fi
''; '';
}; };

View file

@ -3,7 +3,7 @@
services = { services = {
anubis.instances.librey = { anubis.instances.librey = {
settings = { settings = {
TARGET = "http://localhost:8080"; TARGET = "http://localhost:8078";
BIND = ":8079"; BIND = ":8079";
BIND_NETWORK = "tcp"; BIND_NETWORK = "tcp";
}; };

View file

@ -2,6 +2,7 @@
{ {
services.murmur = { services.murmur = {
enable = true; enable = true;
openFirewall = false; openFirewall = true;
bandwidth = 192000;
}; };
} }

View file

@ -9,7 +9,7 @@
# Network shares # Network shares
samba = { samba = {
package = pkgs.samba; package = pkgs.samba;
# ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba` # ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba`. samba4Full gives issue, however)
# Required for samba to register mDNS records for auto discovery # Required for samba to register mDNS records for auto discovery
# See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268 # See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268
enable = true; enable = true;
@ -19,6 +19,16 @@
writable = "true"; writable = "true";
comment = "Hello world!"; comment = "Hello world!";
}; };
shares.violet = {
path = "/spinners/violet";
writable = "true";
comment = "Hello world!";
};
shares.ahwx = {
path = "/spinners/ahwx";
writable = "true";
comment = "Hello world!";
};
}; };
avahi = { avahi = {
publish.enable = true; publish.enable = true;

View file

@ -5,5 +5,5 @@
# loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"]; # loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"];
# acceleration = "rocm"; # nope, 5700XT is too old for this # acceleration = "rocm"; # nope, 5700XT is too old for this
}; };
services.open-webui.enable = true; services.open-webui.enable = false;
} }

View file

@ -0,0 +1,8 @@
{ config, ... }:
{
services.syncplay = {
enable = true;
passwordFile = config.sops.secrets.syncplay.path;
};
networking.firewall.allowedTCPPorts = [ 8999 ];
}

View file

@ -13,6 +13,7 @@
++ [ (import ./guacamole.nix) ] ++ [ (import ./guacamole.nix) ]
++ [ (import ./gokapi.nix) ] ++ [ (import ./gokapi.nix) ]
++ [ (import ./jellyfin.nix) ] ++ [ (import ./jellyfin.nix) ]
# ++ [ (import ./jitsi-meet.nix) ]
++ [ (import ./librey-proxy.nix) ] ++ [ (import ./librey-proxy.nix) ]
++ [ (import ./lidarr.nix) ] ++ [ (import ./lidarr.nix) ]
++ [ (import ./matrix/default.nix) ] ++ [ (import ./matrix/default.nix) ]
@ -34,5 +35,4 @@
++ [ (import ./tailscale.nix) ] ++ [ (import ./tailscale.nix) ]
++ [ (import ./vaultwarden.nix) ]; ++ [ (import ./vaultwarden.nix) ];
# ++ [ (import ./smart-monitoring.nix) ] # ++ [ (import ./smart-monitoring.nix) ]
# ++ [ (import ./jitsi-meet.nix) ]
} }

View file

@ -16,6 +16,7 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ cifs-utils ];
home-manager = { home-manager = {
users.${username} = { users.${username} = {
home.packages = with pkgs; [ home.packages = with pkgs; [

View file

@ -27,7 +27,7 @@ in
home-manager.users.${username}.home.packages = with pkgs; [ home-manager.users.${username}.home.packages = with pkgs; [
element-desktop element-desktop
gajim dino
signal-desktop signal-desktop
mumble mumble
anki-bin anki-bin

View file

@ -1,13 +1,25 @@
{ lib, pkgs, config, username, home-manager, ... }: {
lib,
pkgs,
config,
username,
home-manager,
...
}:
with lib; with lib;
let let
cfg = config.liv.laptop; cfg = config.liv.laptop;
in { in
{
options.liv.laptop = { options.liv.laptop = {
enable = mkEnableOption "Enable laptop"; enable = mkEnableOption "Enable laptop";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
cifs-utils
powertop
];
home-manager = { home-manager = {
users.${username} = { users.${username} = {
home.packages = with pkgs; [ home.packages = with pkgs; [
@ -17,22 +29,25 @@ in {
}; };
}; };
# DisplayLink
services.xserver.videoDrivers = [
"displaylink"
"modesetting"
];
systemd.services.dlm.wantedBy = [ "multi-user.target" ];
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
environment.systemPackages = with pkgs; [
# powertop
];
boot = { boot = {
kernelModules = ["acpi_call"]; kernelModules = [ "acpi_call" ];
extraModulePackages = with config.boot.kernelPackages; extraModulePackages = with config.boot.kernelPackages; [
[ acpi_call
acpi_call ];
]; };
}; services = {
services = {
thermald.enable = true; thermald.enable = true;
power-profiles-daemon.enable = true; power-profiles-daemon.enable = true;
upower = { upower = {
enable = true; enable = true;
percentageLow = 20; percentageLow = 20;
@ -41,6 +56,6 @@ in {
criticalPowerAction = "Hibernate"; criticalPowerAction = "Hibernate";
}; };
}; };
# powerManagement.powertop.enable = true; powerManagement.powertop.enable = true;
}; };
} }

View file

@ -3,6 +3,7 @@ forgejoWorkerSecret: ENC[AES256_GCM,data:kmUjukTJ9SP6nJvfhIMFVTu5vAc9TIfZidUgejC
matrixRegistrationSecret: ENC[AES256_GCM,data:xDFYVpBJa+FHWjmLlZspJAzJcoav53nWPoctQ5+gAnDYMurtSCkmoQn8r5j6fOmiy56KQyk8AD2/kT1HeFFNKA==,iv:82eIoh1ePc0VxfTbBPxpwGhYrcdRMI6WjFhlUJhxuHk=,tag:FAYUXUy0lEQU56ni2dxvbg==,type:str] matrixRegistrationSecret: ENC[AES256_GCM,data:xDFYVpBJa+FHWjmLlZspJAzJcoav53nWPoctQ5+gAnDYMurtSCkmoQn8r5j6fOmiy56KQyk8AD2/kT1HeFFNKA==,iv:82eIoh1ePc0VxfTbBPxpwGhYrcdRMI6WjFhlUJhxuHk=,tag:FAYUXUy0lEQU56ni2dxvbg==,type:str]
minioRootCredentials: ENC[AES256_GCM,data:/IrpspB6Puy+6scHheBSBp6zQVh8uwpu4nFPLSkueuohSUESPHbRb0w1XAp4V5HraMtOThFqlm0JeBW0XbhY4E8L1P+S3/aMLKjp2voA928l9AjF6sTaSKsO7qh6LEmo90qm9Jo0nDo=,iv:M5NOGfSsl+LggLyEjV49vcWCaYmbG0eJcgwI2v7AKcI=,tag:A+CrDTL+TkEayOqBUII4aQ==,type:str] minioRootCredentials: ENC[AES256_GCM,data:/IrpspB6Puy+6scHheBSBp6zQVh8uwpu4nFPLSkueuohSUESPHbRb0w1XAp4V5HraMtOThFqlm0JeBW0XbhY4E8L1P+S3/aMLKjp2voA928l9AjF6sTaSKsO7qh6LEmo90qm9Jo0nDo=,iv:M5NOGfSsl+LggLyEjV49vcWCaYmbG0eJcgwI2v7AKcI=,tag:A+CrDTL+TkEayOqBUII4aQ==,type:str]
smbLoginDetails: ENC[AES256_GCM,data:Puv+Vewv0TDpiYM+Uym180CLT+vXKoeSW/uNxAX7f9y0NvG2Uqqglj/HcCMhyQn9GpCIQyb+xidlLWn3Ywdg6ybaf4WN5EdAEXMK/FRQyVIvvOcCcwG+IeUc1Wc5NmM2qEbxLqLNDWxiH8/QsrT9rWWxxx4c4eD1HOpIv9LCuavXXLmKy6JvtxYwtOv4u8ukp+e0uP7pLN7d,iv:XH+6soi7lZiGz9ZGlQb49f44API715ib/Y7Zh3hFnDM=,tag:iz8RYRSwNxrMxy+rqeM07Q==,type:str] smbLoginDetails: ENC[AES256_GCM,data:Puv+Vewv0TDpiYM+Uym180CLT+vXKoeSW/uNxAX7f9y0NvG2Uqqglj/HcCMhyQn9GpCIQyb+xidlLWn3Ywdg6ybaf4WN5EdAEXMK/FRQyVIvvOcCcwG+IeUc1Wc5NmM2qEbxLqLNDWxiH8/QsrT9rWWxxx4c4eD1HOpIv9LCuavXXLmKy6JvtxYwtOv4u8ukp+e0uP7pLN7d,iv:XH+6soi7lZiGz9ZGlQb49f44API715ib/Y7Zh3hFnDM=,tag:iz8RYRSwNxrMxy+rqeM07Q==,type:str]
syncplay: ENC[AES256_GCM,data:Vrn1GmmUnIikiTKIQtP3qBfZIZRW2Za2Xhhegp7PAulujxumLGMAz9lBnTPBy3uofpayP8NJuU9v8cpU4a4w5A==,iv:s4RFaZwftqmI3BhpO1msvpfO2u3AGlPik7nMX2hjnyE=,tag:13zft7dmd85udoi7CnfWYg==,type:str]
sops: sops:
age: age:
- recipient: age1yzapmznelujajfyrpw5mxmy86ckg377494w5ap4yej39jatewursfxls9w - recipient: age1yzapmznelujajfyrpw5mxmy86ckg377494w5ap4yej39jatewursfxls9w
@ -23,7 +24,7 @@ sops:
S3pjSjlhZjZiSDBNakhLVzNKMjd3bWsKC2geLVXFp190lkjxtmZKq8aLN0XMNeAI S3pjSjlhZjZiSDBNakhLVzNKMjd3bWsKC2geLVXFp190lkjxtmZKq8aLN0XMNeAI
VqbwIY3a30iuWAaxqf8h1ZuCGJvbAZZBevFZraj9yktRHc54JV3Aww== VqbwIY3a30iuWAaxqf8h1ZuCGJvbAZZBevFZraj9yktRHc54JV3Aww==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-08-19T12:23:05Z" lastmodified: "2025-09-19T10:22:44Z"
mac: ENC[AES256_GCM,data:hH3cTyHeFMTH5zYpCWyM1uqLta/uzQcLc5HPSdsR52Skh89/5h51vC666g0JuVm/sXh3gv6XQ1AGidPMAmx60qmHjiWE/LRli7xDwKk3p4mldC7RC2FrR0JPmfhDzXIo7VL60PCq4CPWevyRpAWMEMgnc3Z/IzmfDObUsvU+rg0=,iv:CrL4uqV8keGMw+tuqvkNrpKoM0qqr1vsdhESPUb+Hig=,tag:O2NKejf2dpkrkTzX1IfQcA==,type:str] mac: ENC[AES256_GCM,data:aJcXcdCR9nKbiaGEcGIQxr0kW7D8p2OzC2YDh18AFinWhdUSUDh6B8vkHR3ScIgUOYWc70/vSVsn3+M5JmtH3+mKMwMwSKF2plhicSBGdRELkeeowy6tCZGOVUvRsBhUpynd86qxxvWbJO4Q6mCSNbBQ/cr8493OZWenzB/fedQ=,iv:UqgIWA4ZK3cVn0iepeBPF8KuNREuGKNnijo/oGd4/q0=,tag:CT2uFz+flsZyNAM6SnhveA==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.10.2 version: 3.10.2