Compare commits

..

27 commits

Author SHA1 Message Date
1b640675b3 chore(mpd): stable isn't this far yet 2026-01-26 22:51:44 +01:00
817a83119f chore: merge remote-tracking branch 'refs/remotes/origin/master' 2026-01-26 22:43:54 +01:00
887dc41b02 feat: switch to vicinae; adds various window rules 2026-01-26 22:40:53 +01:00
71a935e805 feat: import htop 2026-01-26 22:40:26 +01:00
36aa522f60 feat: adds htop configuration (and thus move htop to own file) 2026-01-26 22:40:17 +01:00
17f3a7f07f feat: adds move xdg defaults 2026-01-26 22:39:30 +01:00
a5223cd0c0 fix: do not import displaylink for now 2026-01-26 22:39:00 +01:00
299b2f1a56 feat: adds power-profiles-daemon to waybar; remove tooltip for powerdraw module 2026-01-26 21:05:18 +01:00
7a844ee3cb chore: disable eDP-1 on sakura when connected to monitor at main desk 2026-01-26 21:03:02 +01:00
4846b393d0 feat: adds spellcheck dictionaries 2026-01-26 21:02:35 +01:00
d3dac79665 feat: adds matchBlocks for git hosts 2026-01-26 21:02:13 +01:00
ad76b07bbc feat: import ssh and xdg 2026-01-26 21:01:57 +01:00
a2ae9bfa4b feat: write first little bit of xdg.mimeApps options 2026-01-26 21:01:35 +01:00
00eab67bfb chore: move displaylink over to laptop role 2026-01-26 21:01:17 +01:00
81516955ec feat: enable logitech wireless hardware support for trackball 2026-01-26 21:01:03 +01:00
378ca5fa00 feat: adds various networking programs/packages, move tailscale to core instead of services 2026-01-26 21:00:51 +01:00
30e5f08e76 chore: cleanup 2026-01-26 21:00:22 +01:00
f2abfb68e4 feat: enable envfs 2026-01-26 21:00:11 +01:00
576a8a3780 feat: set new power profiles; move displaylink to laptop role as it is wasted cpu usage on desktops 2026-01-26 21:00:04 +01:00
cdbfd663be chore: adds things 2026-01-19 21:57:41 +01:00
5853cc3a4e feat: import nixocaine 2026-01-17 16:36:39 +01:00
6f900e4339 chore: enable/disable services 2026-01-17 16:36:31 +01:00
80de195146 feat: import virtualization everywhere, toggle inside virtualization.nix which hosts have access to it 2026-01-17 16:31:11 +01:00
6895cff885 feat: proxy services from dandelion through violet to not require vpn for immich 2026-01-17 16:30:25 +01:00
33b7e75120 chore: remove empty import block 2026-01-17 16:29:24 +01:00
b5e2d7ef1e chore: acme things; stupidity 2026-01-17 16:28:57 +01:00
7e0b85be45 flake: switch to stable; adds nixocaine 2026-01-17 16:28:31 +01:00
23 changed files with 606 additions and 138 deletions

446
flake.lock generated
View file

@ -1,5 +1,21 @@
{ {
"nodes": { "nodes": {
"ai-robots-txt": {
"flake": false,
"locked": {
"lastModified": 1766279226,
"narHash": "sha256-O/W/gX7EazxzR+ghdxg4i6S0SHEUZoX1afB//HKUNgY=",
"owner": "ai-robots-txt",
"repo": "ai.robots.txt",
"rev": "aa8519ec107d7cfa29b03005c9176708e1269965",
"type": "github"
},
"original": {
"owner": "ai-robots-txt",
"repo": "ai.robots.txt",
"type": "github"
}
},
"alejandra": { "alejandra": {
"inputs": { "inputs": {
"fenix": "fenix", "fenix": "fenix",
@ -41,11 +57,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765900596, "lastModified": 1767024902,
"narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=", "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace", "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,6 +70,40 @@
"type": "github" "type": "github"
} }
}, },
"avalanche": {
"inputs": {
"nixpkgs": [
"nixocaine",
"nam-shub-of-enki",
"nixpkgs"
],
"nixpkgs-2505": "nixpkgs-2505",
"pre-commit-hooks": [
"nixocaine",
"nam-shub-of-enki",
"pre-commit-hooks"
],
"systems": "systems_3",
"treefmt-nix": [
"nixocaine",
"nam-shub-of-enki",
"treefmt-nix"
]
},
"locked": {
"lastModified": 1765198317,
"narHash": "sha256-IQoB7lK8cJzWG3hEZrPe0Zoa8/1LRwcgTSoX9mpr20E=",
"ref": "refs/heads/main",
"rev": "01af515b690125cb0b636a86ab95cace3c0cc8c6",
"revCount": 160,
"type": "git",
"url": "https://git.madhouse-project.org/algernon/avalanche.git"
},
"original": {
"type": "git",
"url": "https://git.madhouse-project.org/algernon/avalanche.git"
}
},
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
@ -98,11 +148,27 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1761588595, "lastModified": 1767039857,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -174,7 +240,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -206,24 +272,6 @@
"type": "github" "type": "github"
} }
}, },
"funkwhale": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1715161072,
"narHash": "sha256-idIdylmqPibBVePO2T67X4y6b9EZoAQq5w1hZZn38rY=",
"owner": "mmai",
"repo": "funkwhale-flake",
"rev": "4a744ac59a55323eefc6a0f263aa55ebdc61146e",
"type": "github"
},
"original": {
"owner": "mmai",
"repo": "funkwhale-flake",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -246,6 +294,28 @@
"type": "github" "type": "github"
} }
}, },
"gitignore_2": {
"inputs": {
"nixpkgs": [
"nixocaine",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -253,11 +323,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767104570, "lastModified": 1768018810,
"narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=", "narHash": "sha256-WREj1ZQ2wSGtyPAhQJ3SX/7PJ29PNKv04h/7NgqUS+M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf", "rev": "7c5d9345ad7cc38832cd4007f5cd03daad64d75b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -268,7 +338,7 @@
}, },
"hypr-contrib": { "hypr-contrib": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1766066098, "lastModified": 1766066098,
@ -329,11 +399,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763733840, "lastModified": 1766946335,
"narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", "rev": "4af02a3925b454deb1c36603843da528b67ded6c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -361,11 +431,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1767300597, "lastModified": 1768000181,
"narHash": "sha256-lGE1j1bEuNp7XoDP+oyyF/c+MzYAs6S+sz0NK71nXZE=", "narHash": "sha256-7p4kVQGlhlt6em/yDV787uSKs9C8WzkvtjwXHWZ34Ok=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "31d3181e1ee91e338fb4fb8207d64b8d689310fc", "rev": "81e7498ec27156ee97aabba6fe4993412d98d1ab",
"revCount": 6766, "revCount": 6803,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -409,11 +479,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765643131, "lastModified": 1767023960,
"narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=", "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-guiutils", "repo": "hyprland-guiutils",
"rev": "e50ae912813bdfa8372d62daf454f48d6df02297", "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -439,11 +509,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767304464, "lastModified": 1767723101,
"narHash": "sha256-HsdfmPf5291Y3yXScMoj53P/9SS1DK3KgbprBuR8A4k=", "narHash": "sha256-jObY8O7OI+91hoE137APsDxm0235/Yx+HhFIip187zM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "7a8521112361997d071fd1fef06d6becc7e53240", "rev": "fef398ed5e4faf59bc43b915e46a75cfe8b16697",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -570,11 +640,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766160771, "lastModified": 1766253372,
"narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=", "narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f", "rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -624,11 +694,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766253200, "lastModified": 1767473322,
"narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=", "narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwire", "repo": "hyprwire",
"rev": "1079777525b30a947c8d657fac158e00ae85de9d", "rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -637,6 +707,34 @@
"type": "github" "type": "github"
} }
}, },
"iocaine-stable": {
"inputs": {
"nixpkgs": [
"nixocaine",
"nixpkgs"
],
"pre-commit-hooks": [
"nixocaine",
"pre-commit-hooks"
],
"systems": "systems_2",
"treefmt-nix": [
"nixocaine",
"treefmt-nix"
]
},
"locked": {
"lastModified": 1766482669,
"narHash": "sha256-4aSH+StMUiWbscwvZcqaWOsnAMaxueNEx+FK85Mro/w=",
"rev": "bfecc81e0164a8f248c88d40d968be50e66fbdda",
"type": "tarball",
"url": "https://git.madhouse-project.org/api/v1/repos/iocaine/iocaine/archive/bfecc81e0164a8f248c88d40d968be50e66fbdda.tar.gz?rev=bfecc81e0164a8f248c88d40d968be50e66fbdda"
},
"original": {
"type": "tarball",
"url": "https://git.madhouse-project.org/iocaine/iocaine/archive/iocaine-3.1.0.tar.gz"
}
},
"ixx": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -667,6 +765,59 @@
"type": "github" "type": "github"
} }
}, },
"nam-shub-of-enki": {
"inputs": {
"avalanche": "avalanche",
"iocaine": [
"nixocaine",
"iocaine-stable"
],
"nixpkgs": [
"nixocaine",
"nixpkgs"
],
"pre-commit-hooks": [
"nixocaine",
"pre-commit-hooks"
],
"treefmt-nix": [
"nixocaine",
"treefmt-nix"
]
},
"locked": {
"lastModified": 1766487857,
"narHash": "sha256-Inkx0g6Dvn/lAC2bQh/rNKvoP8NGpm/YqPDiagfAdKQ=",
"rev": "9e333811b45c7245b8744c0d9f292912513459b0",
"type": "tarball",
"url": "https://git.madhouse-project.org/api/v1/repos/iocaine/nam-shub-of-enki/archive/9e333811b45c7245b8744c0d9f292912513459b0.tar.gz?rev=9e333811b45c7245b8744c0d9f292912513459b0"
},
"original": {
"type": "tarball",
"url": "https://git.madhouse-project.org/iocaine/nam-shub-of-enki/archive/iocaine-3.x.tar.gz"
}
},
"nixocaine": {
"inputs": {
"iocaine-stable": "iocaine-stable",
"nam-shub-of-enki": "nam-shub-of-enki",
"nixpkgs": "nixpkgs_4",
"pre-commit-hooks": "pre-commit-hooks_2",
"systems": "systems_4",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1766487985,
"narHash": "sha256-1lf9iyBmFrDdoH1r5h56FvximUHs+PQktU/S5EFGlrI=",
"rev": "1e607be339fd1864328708dc80ec9b266a2bd7f5",
"type": "tarball",
"url": "https://git.madhouse-project.org/api/v1/repos/iocaine/nixocaine/archive/1e607be339fd1864328708dc80ec9b266a2bd7f5.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://git.madhouse-project.org/iocaine/nixocaine/archive/stable.tar.gz"
}
},
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1767185284, "lastModified": 1767185284,
@ -698,6 +849,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-2505": {
"locked": {
"lastModified": 1764939437,
"narHash": "sha256-4TLFHUwXraw9Df5mXC/vCrJgb50CRr3CzUzF0Mn3CII=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "00d2457e2f608b4be6fe8b470b0a36816324b0ae",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1740877520, "lastModified": 1740877520,
@ -715,11 +882,11 @@
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1766651565, "lastModified": 1767379071,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", "rev": "fb7944c166a3b630f177938e478f0378e64ce108",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -746,22 +913,6 @@
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1704290814,
"narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1712163089, "lastModified": 1712163089,
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
@ -777,18 +928,34 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1767116409, "lastModified": 1766201043,
"narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cad22e7d996aea55ecab064e84834289143e44a0", "rev": "b3aad468604d3e488d627c0b43984eb60e75e782",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1767799921,
"narHash": "sha256-r4GVX+FToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d351d0653aeb7877273920cd3e823994e7579b0b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -827,11 +994,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1767116409, "lastModified": 1767892417,
"narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", "narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cad22e7d996aea55ecab064e84834289143e44a0", "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -843,11 +1010,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1766840161, "lastModified": 1767364772,
"narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=", "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1", "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -903,11 +1070,11 @@
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1767347500, "lastModified": 1768038731,
"narHash": "sha256-v+O3SCBPq5qSmz+trAvcizq+cKrd8qco7Z2XG+YLRC8=", "narHash": "sha256-1M1EhmredaBSkT/IsHWEVDXJjNyvsM6slDBiNfDj+HA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "91f6328555690ffc84ab2ada1d21f544940811ac", "rev": "3cb7022a0e5b669bc765dcb9c280b6653730362c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -943,7 +1110,7 @@
"oisd": { "oisd": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-FAfdtuHCMBZtkhSqHUCQj5AtMcfiem8/D3VuV+pOfo4=", "narHash": "sha256-wEkqluvwxLyfwqhKKn0d4NohXzenTZjX3gJGxtDes74=",
"type": "file", "type": "file",
"url": "https://big.oisd.nl/domainswild" "url": "https://big.oisd.nl/domainswild"
}, },
@ -962,11 +1129,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765911976, "lastModified": 1767281941,
"narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -975,15 +1142,39 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore_2",
"nixpkgs": [
"nixocaine",
"nixpkgs"
]
},
"locked": {
"lastModified": 1763032142,
"narHash": "sha256-M+2QBQoC0lzkCdUQRXylR2RkcT6BCRfW3KDs+c/IGLw=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "84255025dee4c8701a99fbff65ac3c9095952f99",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"ai-robots-txt": "ai-robots-txt",
"alejandra": "alejandra", "alejandra": "alejandra",
"disko": "disko", "disko": "disko",
"funkwhale": "funkwhale",
"home-manager": "home-manager", "home-manager": "home-manager",
"hypr-contrib": "hypr-contrib", "hypr-contrib": "hypr-contrib",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"nixocaine": "nixocaine",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"nixvim": "nixvim", "nixvim": "nixvim",
@ -1015,11 +1206,11 @@
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1766894905, "lastModified": 1768032389,
"narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=", "narHash": "sha256-BVpTd93G0XmAK1iXiBdhUA5Uvt+WmM1YL0mA4REcT68=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7", "rev": "a8cfe238b93166f9f96c0df67a94e572554ee624",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1031,14 +1222,14 @@
"spicetify-nix": { "spicetify-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_10", "nixpkgs": "nixpkgs_10",
"systems": "systems_3" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1767195736, "lastModified": 1767502559,
"narHash": "sha256-0xvPSbhIGeJzsJXNTkgJ3PjwdVItKm85wzYKA9NmSzI=", "narHash": "sha256-om0IPjW850vhhIrNZ5tiXjsYuqyoI44IdE+I9AwZ96I=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "465adc0ab6ff0c4b9b1db1c6e7fd7eeb553b3261", "rev": "806c1fdeb7af3e013215d14f5d9f06685fa6650f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1072,9 +1263,8 @@
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "id": "systems",
"repo": "default", "type": "indirect"
"type": "github"
} }
}, },
"systems_3": { "systems_3": {
@ -1087,8 +1277,72 @@
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "systems",
"type": "indirect"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"id": "systems",
"type": "indirect"
}
},
"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"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixocaine",
"nixpkgs"
]
},
"locked": {
"lastModified": 1762938485,
"narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github" "type": "github"
} }
}, },

View file

@ -10,7 +10,7 @@
hyprland-plugins.url = "github:hyprwm/hyprland-plugins"; hyprland-plugins.url = "github:hyprwm/hyprland-plugins";
hyprland-plugins.inputs.hyprland.follows = "hyprland"; hyprland-plugins.inputs.hyprland.follows = "hyprland";
hypr-contrib.url = "github:hyprwm/contrib"; hypr-contrib.url = "github:hyprwm/contrib";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";
nixos-hardware.url = "github:nixos/nixos-hardware"; nixos-hardware.url = "github:nixos/nixos-hardware";
nixvim.url = "github:ahwxorg/nixvim-config"; nixvim.url = "github:ahwxorg/nixvim-config";
@ -19,7 +19,9 @@
spicetify-nix.url = "github:Gerg-L/spicetify-nix"; spicetify-nix.url = "github:Gerg-L/spicetify-nix";
oisd.url = "https://big.oisd.nl/domainswild"; oisd.url = "https://big.oisd.nl/domainswild";
oisd.flake = false; oisd.flake = false;
funkwhale.url = "github:mmai/funkwhale-flake"; nixocaine.url = "https://git.madhouse-project.org/iocaine/nixocaine/archive/stable.tar.gz";
ai-robots-txt.url = "github:ai-robots-txt/ai.robots.txt";
ai-robots-txt.flake = false;
}; };
outputs = outputs =

View file

@ -4,7 +4,6 @@
[ (import ./docker.nix) ] [ (import ./docker.nix) ]
++ [ (import ../security/default.nix) ] ++ [ (import ../security/default.nix) ]
++ [ (import ./hardware.nix) ] ++ [ (import ./hardware.nix) ]
++ [ (import ./displaylink.nix) ]
# ++ [(import ./printing.nix)] # ++ [(import ./printing.nix)]
++ [ (import ./xserver.nix) ] ++ [ (import ./xserver.nix) ]
++ [ (import ./network.nix) ] ++ [ (import ./network.nix) ]
@ -18,5 +17,6 @@
++ [ (import ./user.nix) ] ++ [ (import ./user.nix) ]
++ [ (import ./bluetooth.nix) ] ++ [ (import ./bluetooth.nix) ]
++ [ (import ./yubikey.nix) ] ++ [ (import ./yubikey.nix) ]
++ [ (import ./wayland.nix) ]; ++ [ (import ./wayland.nix) ]
++ [ (import ./virtualization.nix) ];
} }

View file

@ -4,4 +4,8 @@
enable = true; enable = true;
autodetect = true; autodetect = true;
}; };
hardware.logitech.wireless = {
enable = true;
enableGraphical = true;
};
} }

View file

@ -12,5 +12,29 @@
}; };
services = { services = {
avahi.enable = lib.mkDefault false; avahi.enable = lib.mkDefault false;
tailscale = {
enable = true;
useRoutingFeatures = "client";
extraUpFlags = [
# "--accept-dns=false"
"--accept-routes"
];
}; };
};
programs = {
wireshark.enable = true;
};
environment.systemPackages = with pkgs; [
dig
iftop
inetutils
ipcalc
iperf
nmap
tcpdump
traceroute
tshark
];
} }

View file

@ -8,11 +8,4 @@
# pinentryFlavor = ""; # pinentryFlavor = "";
}; };
}; };
environment.systemPackages = with pkgs; [
wget
git
dig
traceroute
];
} }

View file

@ -25,6 +25,12 @@
"matrixRegistrationSecret" = { "matrixRegistrationSecret" = {
owner = "matrix-synapse"; owner = "matrix-synapse";
}; };
"matrixWhatsAppBridgeSecret" = {
owner = "mautrix-signal";
};
"matrixSignalBridgeSecret" = {
owner = "mautrix-whatsapp";
};
"smbLoginDetails" = { }; "smbLoginDetails" = { };
"syncplay" = { }; "syncplay" = { };
"funkwhaleDjangoSecret" = { }; "funkwhaleDjangoSecret" = { };

View file

@ -30,6 +30,8 @@
libraries = with pkgs; [ ]; libraries = with pkgs; [ ];
}; };
services.envfs.enable = true;
nixpkgs = { nixpkgs = {
overlays = [ overlays = [
self.overlays.default self.overlays.default
@ -47,6 +49,7 @@
overlays = [ overlays = [
self.overlays.default self.overlays.default
inputs.nur.overlay inputs.nur.overlay
inputs.nixocaine.overlays.default
]; ];
}; };

View file

@ -5,6 +5,7 @@
++ [ (import ./swaync/default.nix) ] ++ [ (import ./swaync/default.nix) ]
++ [ (import ./sway/default.nix) ] ++ [ (import ./sway/default.nix) ]
++ [ (import ./fonts.nix) ] ++ [ (import ./fonts.nix) ]
++ [ (import ./htop.nix) ]
++ [ (import ./hyprland) ] ++ [ (import ./hyprland) ]
++ [ (import ./hyprlock) ] ++ [ (import ./hyprlock) ]
++ [ (import ./kitty.nix) ] ++ [ (import ./kitty.nix) ]
@ -16,8 +17,10 @@
++ [ (import ./packages.nix) ] ++ [ (import ./packages.nix) ]
++ [ (import ./scripts/scripts.nix) ] ++ [ (import ./scripts/scripts.nix) ]
++ [ (import ./spotify.nix) ] ++ [ (import ./spotify.nix) ]
++ [ (import ./ssh.nix) ]
++ [ (import ./waybar) ] ++ [ (import ./waybar) ]
++ [ (import ./zsh.nix) ] ++ [ (import ./zsh.nix) ]
++ [ (import ./qutebrowser.nix) ] ++ [ (import ./qutebrowser.nix) ]
++ [ (import ./xdg.nix) ]
++ [ (import ./tmux.nix) ]; ++ [ (import ./tmux.nix) ];
} }

59
modules/home/htop.nix Normal file
View file

@ -0,0 +1,59 @@
{ pkgs, ... }:
{
programs.htop = {
enable = true;
package = pkgs.htop;
};
home.file.".config/htop/htoprc" = {
text = ''
fields=0 48 38 39 40 2 46 109 110 47 49 1
hide_kernel_threads=1
hide_userland_threads=0
hide_running_in_container=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=1
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
header_margin=1
screen_tabs=1
detailed_cpu_time=1
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=1
show_cpu_temperature=1
degree_fahrenheit=0
show_cached_memory=1
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=6
enable_mouse=1
delay=15
hide_function_bar=0
header_layout=two_50_50
column_meters_0=LeftCPUs2 MemorySwap PressureStallMemoryFull PressureStallIOFull DiskIO NetworkIO Uptime
column_meter_modes_0=1 1 2 2 2 2 2
column_meters_1=RightCPUs2 CPU PressureStallCPUSome LoadAverage Tasks System Systemd Battery
column_meter_modes_1=1 1 2 2 2 2 2 2
tree_view=0
sort_key=46
tree_sort_key=0
sort_direction=-1
tree_sort_direction=1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU IO_READ_RATE IO_WRITE_RATE PERCENT_MEM TIME Command
'';
};
}

View file

@ -124,6 +124,7 @@
"nwg-dock-hyprland -l top &" "nwg-dock-hyprland -l top &"
"nextcloud &" "nextcloud &"
"hyprland-monitor-attached dock-on-all-monitors dock-on-all-monitors &" "hyprland-monitor-attached dock-on-all-monitors dock-on-all-monitors &"
"vicinae server &"
]; ];
input = { input = {
@ -279,7 +280,8 @@
"$mainMod SHIFT, X, exec, footclient --title 'float_foot' zsh -c 'bash ~/.local/src/bw-fzf/bw-fzf.sh" "$mainMod SHIFT, X, exec, footclient --title 'float_foot' zsh -c 'bash ~/.local/src/bw-fzf/bw-fzf.sh"
# clipboard manager # clipboard manager
"$mainMod SHIFT, V, exec, cliphist list | bemenu -l 5 --ignorecase | cliphist decode | wl-copy" # "$mainMod SHIFT, V, exec, cliphist list | bemenu -l 5 --ignorecase | cliphist decode | wl-copy"
"$mainMod SHIFT, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history"
"$mainMod SHIFT, F, exec, librewolf" "$mainMod SHIFT, F, exec, librewolf"
"$mainMod SHIFT, C, exec, chromium" "$mainMod SHIFT, C, exec, chromium"
@ -398,6 +400,14 @@
# "opacity 0.5 0.5, match:class nwg-dock-hyprland" # "opacity 0.5 0.5, match:class nwg-dock-hyprland"
"no_blur on, match:class ungoogled-chromium" "no_blur on, match:class ungoogled-chromium"
"no_blur on, match:class librewolf" "no_blur on, match:class librewolf"
"no_screen_share on, match:class element-desktop"
"match:title ^(.*Bitwarden Password Manager.*)$, float on"
"match:title ^(Picture-in-Picture)$, float on"
"match:title ^(Picture-in-Picture)$, pin on"
# stop idle when watching videos
"match:class ^(mpv|.+exe|celluloid)$, idle_inhibit focus"
"match:class ^(chromium)$, match:title ^(.*YouTube.*)$, idle_inhibit focus"
"match:class ^(chromium)$, idle_inhibit fullscreen"
# "noanim, class:^(bemenu)$" # "noanim, class:^(bemenu)$"
# "float, title:^(Picture-in-Picture)$" # "float, title:^(Picture-in-Picture)$"
# "opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$" # "opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$"
@ -430,7 +440,10 @@
# "float,title:^(float_foot)$" # "float,title:^(float_foot)$"
# "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" # "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
]; ];
layerrule = [
"match:class vicinae, blur on"
"match:class vicinae, ignore_alpha 0"
];
}; };
extraConfig = " extraConfig = "

View file

@ -86,7 +86,7 @@
} }
{ {
criteria = "eDP-1"; criteria = "eDP-1";
status = if (host == "sakura") then "enable" else "disable"; status = if (host == "sakura") then "disable" else "disable";
position = if (host == "sakura") then "152,1440" else "300,1440"; position = if (host == "sakura") then "152,1440" else "300,1440";
} }
]; ];

View file

@ -43,7 +43,6 @@
pwgen pwgen
jq jq
tmux tmux
htop
eza eza
file file
fzf fzf
@ -66,6 +65,19 @@
nmap nmap
aerc aerc
aspell
aspellDicts.de
aspellDicts.nl
aspellDicts.uk
# Hunspell dictionaries for spell checking
hunspell
hunspellDicts.de_DE # German
hunspellDicts.en_GB-ise # UK English with -ise spellings
hunspellDicts.en_US
hunspellDicts.nl_NL # Dutch
hunspellDicts.nl_nl # Dutch (alternative)
# Install pip packages # Install pip packages
# python3 # python3
# python3Packages.pip # python3Packages.pip

9
modules/home/ssh.nix Normal file
View file

@ -0,0 +1,9 @@
{
programs.ssh = {
matchBlocks = {
"github.com gitlab.com" = {
user = "git";
};
};
};
}

View file

@ -288,7 +288,8 @@
"orientation": "horizontal", "orientation": "horizontal",
"modules": [ "modules": [
"battery", "battery",
"custom/powerdraw" "custom/powerdraw",
"power-profiles-daemon"
], ],
"drawer": { "drawer": {
"transition-left-to-right": false, "transition-left-to-right": false,
@ -318,6 +319,14 @@
"custom/powerdraw": { "custom/powerdraw": {
"interval": 60, "interval": 60,
"exec": "~/.local/bin/waybar-powerdraw", "exec": "~/.local/bin/waybar-powerdraw",
"tooltip": false,
},
"power-profiles-daemon": {
"interval": 60,
"format": "{profile}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
}, },
"group/clock": { "group/clock": {

41
modules/home/xdg.nix Normal file
View file

@ -0,0 +1,41 @@
{
xdg.mimeApps = {
enable = true;
defaultApplications = {
"image/tiff" = "nsxiv.desktop";
"image/jp2" = "nsxiv.desktop";
"image/jxl" = "nsxiv.desktop";
"image/jpeg" = "nsxiv.desktop";
"image/x-canon-cr2" = "nsxiv.desktop";
"image/x-jp2-codestream" = "nsxiv.desktop";
"image/webp" = "nsxiv.desktop";
"image/x-nikon-nef" = "nsxiv.desktop";
"image/x-sony-arw" = "nsxiv.desktop";
"image/gif" = "nsxiv.desktop";
"image/x-fuji-raf" = "nsxiv.desktop";
"image/heif" = "nsxiv.desktop";
"audio/mpeg" = "mpv.desktop";
"audio/mp3" = "mpv.desktop";
"audio/vnd.wave" = "mpv.desktop";
"video/mp4" = "mpv.desktop";
"video/mkv" = "mpv.desktop";
"x-scheme-handler/sgnl" = "signal-desktop.desktop";
"x-scheme-handler/signalcaptcha" = "signal-desktop.desktop";
"x-scheme-handler/http" = "chromium-browser.desktop";
"x-scheme-handler/https" = "chromium-browser.desktop";
"x-scheme-handler/about" = "chromium-browser.desktop";
"x-scheme-handler/unknown" = "chromium-browser.desktop";
"x-scheme-handler/mailto" = "thunderbird.desktop";
"x-scheme-handler/chrome" = "thunderbird.desktop";
"text/calendar" = "thunderbird.desktop";
"application/pdf" = "org.pwmt.zathura-pdf-mupdf.desktop";
"application/x-extension-htm" = "chromium-browser.desktop";
"application/x-extension-html" = "chromium-browser.desktop";
"application/x-extension-shtml" = "chromium-browser.desktop";
"application/x-extension-xht" = "chromium-browser.desktop";
"application/x-extension-xhtml" = "chromium-browser.desktop";
"application/x-zerosize" = "nsxiv.desktop";
"application/xhtml+xml" = "chromium-browser.desktop";
};
};
}

View file

@ -0,0 +1,14 @@
{
services = {
nginx.virtualHosts."photos.liv.town" = {
forceSSL = true;
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
locations."/" = {
# proxyPass = "http://unix:${toString config.services.anubis.instances.librey.settings.BIND}";
proxyPass = "http://172.16.10.130:2283";
proxyWebsockets = true;
};
};
};
}

View file

@ -14,19 +14,17 @@
services.mpd = { services.mpd = {
enable = true; enable = true;
settings = { playlistDirectory = "/home/${username}/Music/.playlists";
playlist_directory = "/home/${username}/Music/.playlists"; musicDirectory = "/home/${username}/Music";
music_directory = "/home/${username}/Music"; extraConfig = ''
restore_paused = "yes"; restore_paused "yes"
auto_update = "yes"; auto_update "yes"
audio_output = [ audio_output {
{ type "pipewire"
type = "pipewire"; name "pipewire"
name = "pipewire";
} }
]; '';
};
user = "${username}"; # PipeWire requires this as it runs as the normal user and mpd normally runs as a system user. user = "${username}"; # PipeWire requires this as it runs as the normal user and mpd normally runs as a system user.
# Optional: # Optional:

View file

@ -1,4 +1,3 @@
{ ... }:
{ {
services.murmur = { services.murmur = {
enable = true; enable = true;

View file

@ -6,10 +6,17 @@
}: }:
{ {
#imports = [
# (import ./iocaine.nix)
#];
security.acme = { security.acme = {
acceptTerms = true; acceptTerms = true;
defaults.email = lib.mkDefault "ahwx@ahwx.org"; defaults.email = lib.mkDefault "ahwx@ahwx.org";
maxConcurrentRenewals = 1;
defaults = { defaults = {
validMinDays = 30;
renewInterval = "daily";
# server = "https://acme-staging-v02.api.letsencrypt.org/directory"; # server = "https://acme-staging-v02.api.letsencrypt.org/directory";
# dnsPropagationCheck = false; # dnsPropagationCheck = false;
extraLegoFlags = [ "--dns.propagation-wait=300s" ]; extraLegoFlags = [ "--dns.propagation-wait=300s" ];

View file

@ -7,22 +7,21 @@
++ [ (import ./borg.nix) ] ++ [ (import ./borg.nix) ]
++ [ (import ./binternet-proxy.nix) ] ++ [ (import ./binternet-proxy.nix) ]
++ [ (import ./bluemap-proxy.nix) ] ++ [ (import ./bluemap-proxy.nix) ]
++ [ (import ./dandelion-proxies.nix) ]
++ [ (import ./torrent.nix) ]
++ [ (import ./docker.nix) ] ++ [ (import ./docker.nix) ]
++ [ (import ./email.nix) ] ++ [ (import ./email.nix) ]
++ [ (import ./forgejo.nix) ] ++ [ (import ./forgejo.nix) ]
# ++ [ (import ./funkwhale.nix) ]
++ [ (import ./grafana.nix) ] ++ [ (import ./grafana.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) ]
++ [ (import ./mumble.nix) ] ++ [ (import ./mumble.nix) ]
++ [ (import ./monitoring.nix) ] ++ [ (import ./monitoring.nix) ]
# ++ [ (import ./minio.nix) ] # ++ [ (import ./minio.nix) ]
# ++ [ (import ./nextcloud.nix) ] ++ [ (import ./nextcloud.nix) ]
++ [ (import ./ntfy.nix) ] ++ [ (import ./ntfy.nix) ]
++ [ (import ./nginx.nix) ] ++ [ (import ./nginx.nix) ]
++ [ (import ./nix-serve.nix) ] ++ [ (import ./nix-serve.nix) ]
@ -33,7 +32,6 @@
++ [ (import ./remote-build.nix) ] ++ [ (import ./remote-build.nix) ]
++ [ (import ./readarr.nix) ] ++ [ (import ./readarr.nix) ]
++ [ (import ./sharkey-proxy.nix) ] ++ [ (import ./sharkey-proxy.nix) ]
# ++ [ (import ./komga.nix) ]
++ [ (import ./tailscale.nix) ] ++ [ (import ./tailscale.nix) ]
++ [ (import ./uptime-kuma.nix) ] ++ [ (import ./uptime-kuma.nix) ]
++ [ (import ./vaultwarden.nix) ]; ++ [ (import ./vaultwarden.nix) ];

View file

@ -30,11 +30,7 @@ in
}; };
# DisplayLink # DisplayLink
services.xserver.videoDrivers = [ # imports = [ ../modules/core/displaylink.nix ];
"displaylink"
"modesetting"
];
systemd.services.dlm.wantedBy = [ "multi-user.target" ];
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -48,6 +44,13 @@ in
thermald.enable = true; thermald.enable = true;
power-profiles-daemon.enable = true; power-profiles-daemon.enable = true;
udev.extraRules = ''
# Switch to power-save profile when on battery
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set power-saver", RUN+="/bin/sh -c 'echo 30 | tee /sys/class/backlight/amdgpu_bl1/brightness'"
# Switch to balanced profile when plugged in
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set balanced", RUN+="/bin/sh -c 'cat /sys/class/backlight/amdgpu_bl1/max_brightness > /sys/class/backlight/amdgpu_bl1/brightness'"
'';
upower = { upower = {
enable = true; enable = true;
percentageLow = 20; percentageLow = 20;
@ -55,6 +58,21 @@ in
percentageAction = 5; percentageAction = 5;
criticalPowerAction = "Hibernate"; criticalPowerAction = "Hibernate";
}; };
#auto-cpufreq = {
# enable = true;
# settings = {
# battery = {
# governor = "powersave";
# turbo = "never";
# energy_performance_preference = "balance_power";
# };
# charger = {
# governor = "performance";
# turbo = "auto";
# energy_performance_preference = "performance";
# };
# };
#};
}; };
# powerManagement.powertop.enable = false; # somehow figure out how to let this not apply to specific USB devices, as they will auto suspend and that is annoying. # powerManagement.powertop.enable = false; # somehow figure out how to let this not apply to specific USB devices, as they will auto suspend and that is annoying.
}; };

View file

@ -1,6 +1,8 @@
systemMailerPassword: ENC[AES256_GCM,data:b1fvCLZMiA9xDu/9BKQGnCTbwj46uixlo37qer66DK09U7CEB8ZBqe+Y+DqjcOJUHHHSo8Qk1XGvGQWypkGICxmxNP8KWvmY42Woh3677APvotUdjW5fVKTgB+Y1m/6/cvXKicJFjbw5LOzZ2/JcXP01KPSkRxWb/X4xzvawSMY=,iv:vbchTqHaH2PB9Mll/s8q4zLhN6ThAsCVvhoggOhj7H4=,tag:6b+TiV1YYHWOn0P9qJZ/bQ==,type:str] systemMailerPassword: ENC[AES256_GCM,data:b1fvCLZMiA9xDu/9BKQGnCTbwj46uixlo37qer66DK09U7CEB8ZBqe+Y+DqjcOJUHHHSo8Qk1XGvGQWypkGICxmxNP8KWvmY42Woh3677APvotUdjW5fVKTgB+Y1m/6/cvXKicJFjbw5LOzZ2/JcXP01KPSkRxWb/X4xzvawSMY=,iv:vbchTqHaH2PB9Mll/s8q4zLhN6ThAsCVvhoggOhj7H4=,tag:6b+TiV1YYHWOn0P9qJZ/bQ==,type:str]
forgejoWorkerSecret: ENC[AES256_GCM,data:AEWtWSjEPMbArrPYa6sTjiYp0GiePcTQ4gXKk1LP6UDK7auX1y7eOQ==,iv:TGEerZVCfL0TMka4/vBGb0ejhqxA5GbUpQIRbXnuCNs=,tag:IUKoyT9dmq65oWu/D7K1ag==,type:str] forgejoWorkerSecret: ENC[AES256_GCM,data:AEWtWSjEPMbArrPYa6sTjiYp0GiePcTQ4gXKk1LP6UDK7auX1y7eOQ==,iv:TGEerZVCfL0TMka4/vBGb0ejhqxA5GbUpQIRbXnuCNs=,tag:IUKoyT9dmq65oWu/D7K1ag==,type:str]
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]
matrixSignalBridgeSecret: ENC[AES256_GCM,data:eDkFyLMXd4qk3XjYtMeaspSgCy2tfvLwwJPJ4cg9TPywSb68jq9r0r5r8/mKTiS/4ViAvnSrl6irkeam5fOG6g==,iv:tUVKWRm+uH9Qb1Uji6vz4qCo6ZMmGKss4X0XgQhjS1s=,tag:lNYvdcUTYJr7psXSZg6kRA==,type:str]
matrixWhatsAppBridgeSecret: ENC[AES256_GCM,data:RzIJ+2tkDZkDLiXxeN8yZvtTigvqhRXNdPBXNb+o8OR/LqIYQ/I3mjB+hlne3mCvTnXTAGX+992Y9BQLMuPdUA==,iv:JhkxdbjC9Gkth+FbOV/QI3PnQVQQ84FlVWIaX/W66C4=,tag:5hFDdP0hDWuIxl8Ad/i95g==,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] syncplay: ENC[AES256_GCM,data:Vrn1GmmUnIikiTKIQtP3qBfZIZRW2Za2Xhhegp7PAulujxumLGMAz9lBnTPBy3uofpayP8NJuU9v8cpU4a4w5A==,iv:s4RFaZwftqmI3BhpO1msvpfO2u3AGlPik7nMX2hjnyE=,tag:13zft7dmd85udoi7CnfWYg==,type:str]
@ -28,7 +30,7 @@ sops:
S3pjSjlhZjZiSDBNakhLVzNKMjd3bWsKC2geLVXFp190lkjxtmZKq8aLN0XMNeAI S3pjSjlhZjZiSDBNakhLVzNKMjd3bWsKC2geLVXFp190lkjxtmZKq8aLN0XMNeAI
VqbwIY3a30iuWAaxqf8h1ZuCGJvbAZZBevFZraj9yktRHc54JV3Aww== VqbwIY3a30iuWAaxqf8h1ZuCGJvbAZZBevFZraj9yktRHc54JV3Aww==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-12-24T10:35:47Z" lastmodified: "2026-01-17T16:49:19Z"
mac: ENC[AES256_GCM,data:PTxBUZtXp11oBJhMM7oLJ2kj7xQRyuopfF1Ab5A22vxCncJV4utMa0IkL374rWCZWmBREVb7SykezN+5tDvhr0e8Bmq0Xy1wLfvFscD2PH2BNjpcTe6bhHatMCkRlkL3GMMv/UHjqEilIzoTAw+BC0Oxq/X08xhIyHIBHg38d3s=,iv:kgOzQTTSG5Oqfs85n20SB5MwsnyB8mFjnVG573nFH+4=,tag:+U5Tus51DqCASBSfNIBDsA==,type:str] mac: ENC[AES256_GCM,data:v2fmXdzWYHAmYYdneyb7+FotqpqsSJS/8EAHmL2BBftIw3Ia7K+6NXVbmWdqYFlgPBysRoTHHwiylt5sXKKjPs70iBmsnoxmuu7gDyneGOArHXhRstRY5wnWp/u2Lfw18jCsQkgiC3SIiEka1X+usOHtk65hhHG3Qrdggh22BqI=,iv:lb0VMvQ11eux47tFTWBMTX+9ouwhmab+IXGi2m/n8yU=,tag:N/U8nziBu9SXdLs+oMnU9A==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.11.0