Compare commits
66 Commits
c499cf9f7a
...
feature/pi
| Author | SHA1 | Date | |
|---|---|---|---|
| e3e50400c1 | |||
| 1614015fca | |||
| 0a215cb588 | |||
| e802e32e58 | |||
| a52250876b | |||
| 9db5a4c073 | |||
| 0f4c578c40 | |||
| aa945446a6 | |||
| 21fe5efd26 | |||
| ccff72ace2 | |||
| b1cb79e39f | |||
| 0745540839 | |||
| 5f8cd26ac8 | |||
| 49f4303af0 | |||
| 1397f3bce8 | |||
| 31ca3ebc18 | |||
| 65cfa5a29c | |||
| 14d2998fcb | |||
| f5e22ad04a | |||
| 96ac9384c3 | |||
| 6d1e44b219 | |||
| 49f6858484 | |||
| 141d893493 | |||
| 670a19f27f | |||
| 2b53e6d478 | |||
| 158bfad61c | |||
| d247c38cb1 | |||
| 70dc094061 | |||
| 701199c12e | |||
| 5f3a4edbda | |||
| 5aa5ccc98c | |||
| f9f5c535f5 | |||
| 068327df3d | |||
| 6befd45a07 | |||
| 4c6789d7bd | |||
|
|
4526457fa4 | ||
| abf5b8d041 | |||
| adbb055c59 | |||
| 431abe92e5 | |||
| f27594da16 | |||
| c242cdbea5 | |||
| a121d46d8c | |||
| 5046eb07cb | |||
|
|
e812f1c64c | ||
| 4a8210ad63 | |||
| 0e13615778 | |||
| f575e870d1 | |||
|
|
786fcbd344 | ||
| ef49cb654b | |||
| b08aed8fb2 | |||
| e6fa868437 | |||
| ba9ae1d48a | |||
| eeb9b33101 | |||
| d7aae917d3 | |||
| 7ef516d2bf | |||
| 570cb3033e | |||
| abdc88b3a0 | |||
| 01d67b2b13 | |||
|
|
ec72d2ecba | ||
| 50f86e7996 | |||
| 727f1544d9 | |||
| 8b2f4b4ba5 | |||
| 424003027e | |||
| a8572caa7f | |||
| 8667a9ba69 | |||
| 6d1716fbef |
108
flake.lock
generated
108
flake.lock
generated
@@ -76,11 +76,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1766117060,
|
||||
"narHash": "sha256-wOPdAVKLiI1vE3IzNVR5mx0eM6Mf6+WWOsMETuKEyoU=",
|
||||
"lastModified": 1768536226,
|
||||
"narHash": "sha256-d1VSTNa7ajTxT39QBp3gKSbgmgn7yx8RxTZuvZwNX9Y=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "0f011296901c43d84590b262ce64259b79dee3ac",
|
||||
"rev": "b092ea4a7d083e09e0aa2de909c1b35b9efb3ee0",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@@ -93,11 +93,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764724327,
|
||||
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
|
||||
"lastModified": 1764873433,
|
||||
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
|
||||
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -125,11 +125,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765835352,
|
||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
||||
"lastModified": 1768135262,
|
||||
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
|
||||
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -146,11 +146,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"lastModified": 1767609335,
|
||||
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -220,11 +220,11 @@
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"lastModified": 1764524476,
|
||||
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
|
||||
"lastModified": 1767737596,
|
||||
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
|
||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@@ -242,11 +242,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766171975,
|
||||
"narHash": "sha256-47Ee0bTidhF/3/sHuYnWRuxcCrrm0mBNDxBkOTd3wWQ=",
|
||||
"lastModified": 1768530555,
|
||||
"narHash": "sha256-EBXKDho4t1YSgodAL6C8M3UTm8MGMZNQ9rQnceR5+6c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "bb35f07cc95a73aacbaf1f7f46bb8a3f40f265b5",
|
||||
"rev": "d21bee5abf9fb4a42b2fa7728bf671f8bb246ba6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -283,11 +283,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766066098,
|
||||
"narHash": "sha256-d3HmUbmfTDIt9mXEHszqyo2byqQMoyJtUJCZ9U1IqHQ=",
|
||||
"lastModified": 1768426687,
|
||||
"narHash": "sha256-CopNx3j//gZ2mE0ggEK9dZ474UcbDhpTw+KMor8mSxI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "contrib",
|
||||
"rev": "41dbcac8183bb1b3a4ade0d8276b2f2df6ae4690",
|
||||
"rev": "541628cebe42792ddf5063c4abd6402c2f1bd68f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -417,11 +417,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1764440730,
|
||||
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
|
||||
"lastModified": 1768583413,
|
||||
"narHash": "sha256-tF5UD4D/s0kERXxhu5mzTo7FF/2jnU8PYf7wWk8guB0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
|
||||
"rev": "45bf76ef956c7ac771b56c54a3009506dc6c7af6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -440,11 +440,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765760415,
|
||||
"narHash": "sha256-IWqUDFoagKlofu68/8Q1yqkn1BHMLpgsx9fnrSZNH4s=",
|
||||
"lastModified": 1768443651,
|
||||
"narHash": "sha256-hmIo/e6mo40Y2v1DaH2yTtvB3lZ/zcf6gVNmgYhBgYc=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "nixos-modules",
|
||||
"rev": "fce41e57c75d878e77cb8e01bafc4676d1b401fe",
|
||||
"rev": "31108e0d75bd47ddfc217b58df598e78fe3bcd42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -502,11 +502,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1765779637,
|
||||
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
|
||||
"lastModified": 1768305791,
|
||||
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
|
||||
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -528,11 +528,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764773531,
|
||||
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
|
||||
"lastModified": 1767810917,
|
||||
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
|
||||
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -552,11 +552,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765911976,
|
||||
"narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=",
|
||||
"lastModified": 1767281941,
|
||||
"narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "b68b780b69702a090c8bb1b973bab13756cc7a27",
|
||||
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -596,11 +596,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766112155,
|
||||
"narHash": "sha256-N0KUOJSIBw2fFF2ACZhwYX2e0EGaHBVPlJh7bnxcGE4=",
|
||||
"lastModified": 1768531678,
|
||||
"narHash": "sha256-tf4xEp5Zq8+Zce0WtU8b0VNMxhQtwes67sN2phnbkpk=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "2a6db3fc1c27ae77f9caa553d7609b223cb770b5",
|
||||
"rev": "0a9de73f3c23206a2fce3c7656a42d3a3f07be9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -616,11 +616,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765836173,
|
||||
"narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=",
|
||||
"lastModified": 1768481291,
|
||||
"narHash": "sha256-NjKtkJraCZEnLHAJxLTI+BfdU//9coAz9p5TqveZwPU=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63",
|
||||
"rev": "e085e303dfcce21adcb5fec535d65aacb066f101",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -650,11 +650,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765897595,
|
||||
"narHash": "sha256-NgTRxiEC5y96zrhdBygnY+mSzk5FWMML39PcRGVJmxg=",
|
||||
"lastModified": 1768492720,
|
||||
"narHash": "sha256-aHos307HyVtOriYZppyUjrkcEKQzyp9F5WzxpMjPFH8=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "e6829552d4bb659ebab00f08c61d8c62754763f3",
|
||||
"rev": "5287bc719dbb6efb26f48c1677a221c966a4a4d9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -729,11 +729,11 @@
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1763914658,
|
||||
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
|
||||
"lastModified": 1767710407,
|
||||
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
|
||||
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -745,11 +745,11 @@
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764465359,
|
||||
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
|
||||
"lastModified": 1767489635,
|
||||
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
|
||||
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -761,11 +761,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764464512,
|
||||
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
|
||||
"lastModified": 1767488740,
|
||||
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
|
||||
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
inherit lib; # for allowing use of custom functions in nix repl
|
||||
|
||||
hydraJobs = import ./hydra/jobs.nix { inherit inputs outputs systems; };
|
||||
formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
|
||||
formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt);
|
||||
|
||||
nixosConfigurations = genSystems inputs outputs src (src + "/systems");
|
||||
homeConfigurations = {
|
||||
|
||||
@@ -8,10 +8,7 @@ let
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
|
||||
getCfg = _: cfg: cfg.config.system.build.toplevel;
|
||||
hostToAgg = _: cfg: cfg;
|
||||
|
||||
getHome = _: cfg: cfg.config.home.activationPackage;
|
||||
homeToAgg = _: cfg: cfg;
|
||||
|
||||
# get per-system check derivation (with optional postfix)
|
||||
mapSystems =
|
||||
@@ -27,15 +24,6 @@ rec {
|
||||
host = lib.mapAttrs getCfg outputs.nixosConfigurations;
|
||||
home = lib.mapAttrs getHome outputs.homeConfigurations; # homeConfigurations.alice.config.home.activationPackage
|
||||
|
||||
hosts = pkgs.releaseTools.aggregate {
|
||||
name = "hosts";
|
||||
constituents = lib.mapAttrsToList hostToAgg host;
|
||||
};
|
||||
homes = pkgs.releaseTools.aggregate {
|
||||
name = "homes";
|
||||
constituents = lib.mapAttrsToList homeToAgg home;
|
||||
};
|
||||
|
||||
devChecks = pkgs.releaseTools.aggregate {
|
||||
name = "devChecks";
|
||||
constituents = lib.flatten [
|
||||
|
||||
@@ -44,7 +44,7 @@ forEachSystem (
|
||||
pre-commit
|
||||
treefmt
|
||||
statix
|
||||
nixfmt-rfc-style
|
||||
nixfmt
|
||||
jsonfmt
|
||||
mdformat
|
||||
shfmt
|
||||
|
||||
@@ -82,8 +82,6 @@
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
|
||||
programs.adb.enable = true;
|
||||
|
||||
environment.variables = {
|
||||
"KWIN_DRM_NO_DIRECT_SCANOUT" = "1";
|
||||
};
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
alacritty
|
||||
attic-client
|
||||
amdgpu_top
|
||||
android-tools
|
||||
bat
|
||||
bitwarden-cli
|
||||
bfg-repo-cleaner
|
||||
@@ -36,6 +37,9 @@
|
||||
ipmiview
|
||||
iperf3
|
||||
# ipscan
|
||||
javaPackages.compiler.temurin-bin.jdk-25
|
||||
javaPackages.compiler.temurin-bin.jdk-21
|
||||
javaPackages.compiler.temurin-bin.jdk-17
|
||||
jp2a
|
||||
jq
|
||||
kdePackages.kdenlive
|
||||
|
||||
@@ -10,7 +10,7 @@ example_booleans:
|
||||
- ENC[AES256_GCM,data:6SJ0JKI=,iv:J0qSvWoOcDwSXCKyau+a0YcCGuH5WABHVh6Kdigac20=,tag:WQdNfjcubbzoHnQW4gua8g==,type:bool]
|
||||
apps:
|
||||
spotify: ENC[AES256_GCM,data:tIABPphA7Vr6VNvJpWTS9kDmidU=,iv:ciQzr8jyIcHYi797NKypPs7FhDgK5ToVZ0eZHHF8UtE=,tag:wUTL/x1p24cXyPUAL1dPfg==,type:str]
|
||||
wifi-env: ENC[AES256_GCM,data:2BM4wQq+RfASkg9lcH+fW7eD0VaPJMXABp3z0sYXqZbVzv9R9eAxSokxzcifT/1JK8PBwvZkWtEFrKAT3phXIZzoEySnGKGYazz8fqWWWhMJotLNNo5VkX70hLppgE9vYxf9vQSq0PLWYCN0jUO0H9mHjOT6mDzKUHegcC53jzkNY3WTfLkyzDWJVMP9IbVQ22N5QlJbzZNqrNTaOtcRm06PBz7pNuEKOy4jj5ipZOh6ceR81Xy6BXM7MzFN27lYbzfVvcDmlwqPORAmr7/00QBy2cp38rTswJEzYf1x2Q==,iv:DSTVPw9qtmo02/usZZDpHsYlX3sSW+2XrnawtBkRNmQ=,tag:3p3eW+3BEQrOmHlBNUEOaA==,type:str]
|
||||
wifi-env: ENC[AES256_GCM,data:mxPCyunx8yOahcuVhZCzuqAt/G89lMBnZme+qwcxO4LsCftx7h2FotA+wnlj1++vmPW5zL72q2kzxh0KcVlYqK9fpOrMY/FJeJXWYNMZIHesmWKlaaeA1wM/q1dSllwuVuULp9WQzipiQHwcCCLseo3bmCsYpbs8PUibrDgbDqXreTSjJBNTVzwOGpz1bZCSpEynS+dQQViRSNcVeYTOLxrOTxx5lyEOIhgIc3167ObhK+7bJVG2ZcP209Gllip4XkCj/FKnEwg2vVF5Dpofz7T2Op5ef/oNzahhKmCa+k7OPqITWwPYZg7pqAf6jdMy4eBP/A==,iv:Q6IMqePFwd1b1pSuh+TIwcag2bbJXyIYUmJWY6UaaqI=,tag:UZ5ak6nmHkNG0uBMTl1CwQ==,type:str]
|
||||
#ENC[AES256_GCM,data:G9ggYJ3YA+E=,iv:nZ5NgeyNKFXFIpquoY68Z2Jz9QROqvf5tv7/s1wSgKk=,tag:QAX555IsAMaWAlz9ywSzjQ==,type:comment]
|
||||
sops:
|
||||
age:
|
||||
@@ -23,8 +23,8 @@ sops:
|
||||
d09aSXN0ZUh3VC9XeTZ4UWoxVDNVN0UKF1eU/IQJgJ8Fg+MrfqQuEZZ775hvtUJR
|
||||
D/ZS4vj+sDLWq6gy2lIBhRSIAHWrz5gHxvOOGmRnpvkqh9TS6XjLIA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-05-15T15:37:51Z"
|
||||
mac: ENC[AES256_GCM,data:qJ8NdnzVrgQb0rGwjZFHrS+eJrUjQEk4M4uo5bnk4eY7aKaHejARcYOIhp0H/DMdlix+Dm3DAAeeRWn8AKCatXaSzYD/VHHbjfp0lKBCsC8CZFeCELQ5GGEHnVot3WGb4J+QdfupwdduExSSMd6XeZGFVbSGhLzRbiiWA+i8I3o=,iv:oxWiDCH60apKT0/fJbWp1cIZ9cvd6mJKlP3xAjMBXIo=,tag:0We6eCJnsncujCt+CwK9UQ==,type:str]
|
||||
lastmodified: "2026-01-03T19:32:16Z"
|
||||
mac: ENC[AES256_GCM,data:q5NppTtZZA9Oo15zI0pAZ/YN2qu0TneDPMJY9rXtWlYfG7Pq5taRyc9MpV7CyEt+qWMkN//O3/sA4jmQTtpT8JuYIEa+/x5cfSZ5w0ErjKdV4/IyDs1LPDKNLXIWlmPMo61VvsKW9DZRBRml9qtR1ypeHBuz0pjECBwAQPEcw9k=,iv:X7wUOxn4BsvqCPmNZvH75hyAzUeD7Qtp+4e4SLpPWlI=,tag:Dp6Bu3zEkRaRPdOwWil13g==,type:str]
|
||||
pgp:
|
||||
- created_at: "2024-11-28T18:57:09Z"
|
||||
enc: |-
|
||||
@@ -39,4 +39,4 @@ sops:
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 5EFFB75F7C9B74EAA5C4637547940175096C1330
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.10.2
|
||||
version: 3.11.0
|
||||
|
||||
@@ -11,7 +11,7 @@ in
|
||||
networking.wireless = {
|
||||
enable = true;
|
||||
secretsFile = config.sops.secrets."wifi-env".path;
|
||||
userControlled.enable = true;
|
||||
userControlled = true;
|
||||
networks = {
|
||||
"taetaethegae-2.0" = {
|
||||
pskRaw = "ext:PASS_taetaethegae_20";
|
||||
@@ -29,6 +29,7 @@ in
|
||||
"Verizon_ZLHQ3H".pskRaw = "ext:PASS_angie";
|
||||
"Fios-Qn3RB".pskRaw = "ext:PASS_parkridge";
|
||||
"Mojo Dojo Casa House".pskRaw = "ext:PASS_Carly";
|
||||
"bwe_guest".pskRaw = "ext:PASS_BWE_NE";
|
||||
|
||||
# Public wifi connections
|
||||
# set public_wifi on line 5 to true if connecting to one of these
|
||||
@@ -45,7 +46,7 @@ in
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
secrets = {
|
||||
"wifi-env" = {
|
||||
owner = "root";
|
||||
owner = "wpa_supplicant";
|
||||
restartUnits = [ "wpa_supplicant.service" ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -11,9 +11,7 @@ let
|
||||
ctype = lib.strings.toUpper container_type;
|
||||
in
|
||||
{
|
||||
"${ctype}__POSTGRES__HOST" = "host.docker.internal";
|
||||
"${ctype}__POSTGRES__USER" = "SOPS_ONLY";
|
||||
"${ctype}__POSTGRES__PASSWORD" = "SOPS_ONLY";
|
||||
"${ctype}__POSTGRES__HOST" = "/var/run/postgresql";
|
||||
"${ctype}__POSTGRES__PORT" = toString config.services.postgresql.settings.port;
|
||||
};
|
||||
in
|
||||
@@ -56,9 +54,7 @@ in
|
||||
PUID = "600";
|
||||
PGID = "100";
|
||||
TZ = "America/New_York";
|
||||
POSTGRES_HOST = "host.docker.internal";
|
||||
POSTGRES_USER = "SOPS_ONLY";
|
||||
POSTGRES_PASSWORD = "SOPS_ONLY";
|
||||
POSTGRES_HOST = "/var/run/postgresql";
|
||||
POSTGRES_PORT = toString config.services.postgresql.settings.port;
|
||||
};
|
||||
environmentFiles = [
|
||||
@@ -67,10 +63,10 @@ in
|
||||
volumes = [
|
||||
"${vars.primary_docker}/bazarr:/config"
|
||||
"${vars.primary_plex_storage}/data:/data"
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=arrnet"
|
||||
"--add-host=host.docker.internal:host-gateway"
|
||||
];
|
||||
autoStart = true;
|
||||
};
|
||||
@@ -88,8 +84,14 @@ in
|
||||
environmentFiles = [
|
||||
config.sops.secrets."docker/prowlarr".path
|
||||
];
|
||||
extraOptions = [ "--network=arrnet" ];
|
||||
volumes = [ "${vars.primary_docker}/prowlarr:/config" ];
|
||||
extraOptions = [
|
||||
"--network=arrnet"
|
||||
];
|
||||
volumes = [
|
||||
"${vars.primary_docker}/prowlarr:/config"
|
||||
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
autoStart = true;
|
||||
};
|
||||
radarr = {
|
||||
@@ -109,8 +111,11 @@ in
|
||||
volumes = [
|
||||
"${vars.primary_docker}/radarr:/config"
|
||||
"${vars.primary_plex_storage}/data:/data"
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=arrnet"
|
||||
];
|
||||
extraOptions = [ "--network=arrnet" ];
|
||||
autoStart = true;
|
||||
};
|
||||
sonarr = {
|
||||
@@ -130,8 +135,11 @@ in
|
||||
volumes = [
|
||||
"${vars.primary_docker}/sonarr:/config"
|
||||
"${vars.primary_plex_storage}/data:/data"
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=arrnet"
|
||||
];
|
||||
extraOptions = [ "--network=arrnet" ];
|
||||
autoStart = true;
|
||||
};
|
||||
lidarr = {
|
||||
@@ -151,8 +159,11 @@ in
|
||||
volumes = [
|
||||
"${vars.primary_docker}/lidarr:/config"
|
||||
"${vars.primary_plex_storage}/data:/data"
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=arrnet"
|
||||
];
|
||||
extraOptions = [ "--network=arrnet" ];
|
||||
autoStart = true;
|
||||
};
|
||||
unpackerr = {
|
||||
@@ -166,6 +177,7 @@ in
|
||||
volumes = [
|
||||
"${vars.primary_docker}/unpackerr:/config"
|
||||
"${vars.primary_plex_storage}:/data"
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
extraOptions = [ "--network=arrnet" ];
|
||||
autoStart = true;
|
||||
@@ -183,6 +195,7 @@ in
|
||||
volumes = [
|
||||
"${vars.primary_docker}/notifiarr:/config"
|
||||
"${vars.primary_plex_storage}:/data"
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
extraOptions = [ "--network=arrnet" ];
|
||||
autoStart = true;
|
||||
@@ -196,15 +209,16 @@ in
|
||||
PGID = "100";
|
||||
TZ = "America/New_York";
|
||||
DB_TYPE = "postgres";
|
||||
DB_HOST = "host.docker.internal";
|
||||
DB_HOST = "/var/run/postgresql";
|
||||
DB_PORT = toString config.services.postgresql.settings.port;
|
||||
DB_USER = "SOPS_ONLY";
|
||||
DB_PASS = "SOPS_ONLY";
|
||||
};
|
||||
environmentFiles = [
|
||||
config.sops.secrets."docker/jellyseerr".path
|
||||
];
|
||||
volumes = [ "${vars.primary_docker}/overseerr:/config" ];
|
||||
volumes = [
|
||||
"${vars.primary_docker}/overseerr:/config"
|
||||
"/var/run/postgresql:/var/run/postgresql"
|
||||
];
|
||||
# TODO: remove ports later since this is going through web
|
||||
extraOptions = [
|
||||
"--network=arrnet"
|
||||
@@ -226,13 +240,34 @@ in
|
||||
|
||||
sops = {
|
||||
secrets = {
|
||||
"docker/notifiarr".owner = "docker-service";
|
||||
"docker/bazarr".owner = "docker-service";
|
||||
"docker/prowlarr".owner = "docker-service";
|
||||
"docker/radarr".owner = "docker-service";
|
||||
"docker/sonarr".owner = "docker-service";
|
||||
"docker/lidarr".owner = "docker-service";
|
||||
"docker/jellyseerr".owner = "docker-service";
|
||||
"docker/notifiarr" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [ "docker-notifiarr.service" ];
|
||||
};
|
||||
"docker/bazarr" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [ "docker-bazarr.service" ];
|
||||
};
|
||||
"docker/prowlarr" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [ "docker-prowlarr.service" ];
|
||||
};
|
||||
"docker/radarr" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [ "docker-radarr.service" ];
|
||||
};
|
||||
"docker/sonarr" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [ "docker-sonarr.service" ];
|
||||
};
|
||||
"docker/lidarr" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [ "docker-lidarr.service" ];
|
||||
};
|
||||
"docker/jellyseerr" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [ "docker-jellyseerr.service" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,30 +11,38 @@ let
|
||||
arcanum-institute = "arcanum.alicehuston.xyz";
|
||||
meits = "meits.alicehuston.xyz";
|
||||
# bcg-plus = "bcg.alicehuston.xyz";
|
||||
pii = "pii.alicehuston.xyz";
|
||||
};
|
||||
|
||||
defaultServer = "rlcraft";
|
||||
|
||||
# defaultEnv = {
|
||||
# EULA = "true";
|
||||
# TYPE = "AUTO_CURSEFORGE";
|
||||
# STOP_SERVER_ANNOUNCE_DELAY = "120";
|
||||
# STOP_DURATION = "600";
|
||||
# SYNC_CHUNK_WRITES = "false";
|
||||
# USE_AIKAR_FLAGS = "true";
|
||||
# MEMORY = "8GB";
|
||||
# ALLOW_FLIGHT = "true";
|
||||
# MAX_TICK_TIME = "-1";
|
||||
# };
|
||||
defaultEnv = {
|
||||
EULA = "true";
|
||||
TYPE = "AUTO_CURSEFORGE";
|
||||
STOP_SERVER_ANNOUNCE_DELAY = "120";
|
||||
STOP_DURATION = "600";
|
||||
SYNC_CHUNK_WRITES = "false";
|
||||
USE_AIKAR_FLAGS = "true";
|
||||
MEMORY = "12G";
|
||||
ALLOW_FLIGHT = "true";
|
||||
MAX_TICK_TIME = "-1";
|
||||
ENABLE_RCON = "true";
|
||||
TZ = "America/New_York";
|
||||
REGION_FILE_COMPRESSION = "none";
|
||||
OPS = ''
|
||||
magpiecat
|
||||
chesiregirl1105
|
||||
'';
|
||||
};
|
||||
|
||||
# defaultOptions = [
|
||||
# "--stop-signal=SIGTERM"
|
||||
# "--stop-timeout=1800"
|
||||
# "--network=minecraft-net"
|
||||
# ];
|
||||
defaultOptions = [
|
||||
"--stop-signal=SIGTERM"
|
||||
"--stop-timeout=1800"
|
||||
"--network=minecraft-net"
|
||||
];
|
||||
|
||||
# vars = import ../vars.nix;
|
||||
# minecraft_path = "${vars.primary_games}/minecraft";
|
||||
vars = import ../vars.nix;
|
||||
minecraft_path = "${vars.primary_games}/minecraft";
|
||||
in
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
@@ -69,6 +77,32 @@ in
|
||||
# log-driver = "local";
|
||||
# environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
|
||||
#};
|
||||
prominence-ii = {
|
||||
image = "itzg/minecraft-server:java25-graalvm";
|
||||
volumes = [
|
||||
"${minecraft_path}/prominence-ii/modpacks:/modpacks:ro"
|
||||
"${minecraft_path}/prominence-ii/data:/data"
|
||||
];
|
||||
hostname = "pii";
|
||||
environment = defaultEnv // {
|
||||
VERSION = "1.20.1";
|
||||
CF_SLUG = "prominence-2-hasturian-era";
|
||||
CF_FILENAME_MATCHER = "3.9.14hf";
|
||||
USE_AIKAR_FLAGS = "false";
|
||||
USE_MEOWICE_FLAGS = "true";
|
||||
USE_MEOWICE_GRAALVM_FLAGS = "true";
|
||||
DIFFICULTY = "hard";
|
||||
ENABLE_COMMAND_BLOCK = "true";
|
||||
CF_FORCE_INCLUDE_FILES = ''
|
||||
emi
|
||||
'';
|
||||
};
|
||||
extraOptions = defaultOptions;
|
||||
log-driver = "local";
|
||||
environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
|
||||
};
|
||||
#stop_signal: SIGTERM
|
||||
#stop_grace_period: 5m
|
||||
# bcg-plus = {
|
||||
# image = "itzg/minecraft-server:java17";
|
||||
# volumes = [
|
||||
@@ -90,7 +124,6 @@ in
|
||||
};
|
||||
|
||||
sops = {
|
||||
defaultSopsFile = ../secrets.yaml;
|
||||
secrets = {
|
||||
"docker/minecraft".owner = "docker-service";
|
||||
};
|
||||
|
||||
@@ -1,130 +1,143 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
delugeBase = {
|
||||
qbitBase = {
|
||||
image = "ghcr.io/linuxserver/qbittorrent:latest";
|
||||
pull = "always";
|
||||
environment = {
|
||||
PUID = "600";
|
||||
PGID = "100";
|
||||
TZ = "America/New_York";
|
||||
UMASK = "000";
|
||||
DEBUG = "true";
|
||||
DELUGE_DAEMON_LOG_LEVEL = "debug";
|
||||
DELUGE_WEB_LOG_LEVEL = "debug";
|
||||
};
|
||||
};
|
||||
|
||||
vars = import ../vars.nix;
|
||||
#docker_path = vars.primary_docker;
|
||||
torr_path = vars.primary_torr;
|
||||
deluge_path = "${torr_path}/deluge";
|
||||
delugevpn_path = "${torr_path}/delugevpn";
|
||||
|
||||
#genSopsConfWg = file: {
|
||||
# "${file}" = {
|
||||
# format = "binary";
|
||||
# sopsFile = ./wg/${file};
|
||||
# path = "${delugevpn_path}/config/wireguard/configs/${file}";
|
||||
# owner = "docker-service";
|
||||
# group = "users";
|
||||
# restartUnits = [ "docker-delugeVPN.service" ];
|
||||
# };
|
||||
#};
|
||||
|
||||
genSopsConfOvpn = file: {
|
||||
"${file}" = {
|
||||
format = "binary";
|
||||
sopsFile = ./openvpn/${file};
|
||||
path = "${delugevpn_path}/config/openvpn/configs/${file}";
|
||||
owner = "docker-service";
|
||||
group = "users";
|
||||
restartUnits = [ "docker-delugeVPN.service" ];
|
||||
};
|
||||
|
||||
};
|
||||
qbit_path = "${torr_path}/qbit";
|
||||
qbitvpn_path = "${torr_path}/qbitvpn";
|
||||
qbitperm_path = "${torr_path}/qbitperm";
|
||||
in
|
||||
{
|
||||
|
||||
virtualisation.oci-containers.containers = {
|
||||
deluge = delugeBase // {
|
||||
image = "binhex/arch-deluge";
|
||||
qbit = qbitBase // {
|
||||
# webui port is 8082, torr port is 29432
|
||||
environment = qbitBase.environment // {
|
||||
WEBUI_PORT = "8082";
|
||||
TORRENTING_PORT = "29432";
|
||||
};
|
||||
volumes = [
|
||||
"${deluge_path}/config:/config"
|
||||
"${deluge_path}/data/:/data"
|
||||
"${qbit_path}/config:/config" # move from docker/qbit to qbit_path
|
||||
"${torr_path}/data/:/data"
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
];
|
||||
networks = [ "host" ];
|
||||
ports = [
|
||||
"8084:8112"
|
||||
"29433:29433"
|
||||
"8082:8082"
|
||||
"29432:29432"
|
||||
"29432:29432/udp"
|
||||
];
|
||||
extraOptions = [
|
||||
"--dns=9.9.9.9"
|
||||
];
|
||||
};
|
||||
delugeVPN = delugeBase // {
|
||||
image = "binhex/arch-delugevpn:latest";
|
||||
|
||||
# temp instance
|
||||
qbitVPN = qbitBase // {
|
||||
# webui port is 8081, torr port is 39274
|
||||
networks = [
|
||||
"container:gluetun-qbit"
|
||||
];
|
||||
environment = qbitBase.environment // {
|
||||
WEBUI_PORT = "8081";
|
||||
};
|
||||
dependsOn = [ "gluetun-qbit" ];
|
||||
volumes = [
|
||||
"${qbitvpn_path}/config:/config"
|
||||
"${torr_path}/data:/data"
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
];
|
||||
};
|
||||
gluetun-qbit = {
|
||||
image = "qmcgaw/gluetun:v3";
|
||||
capabilities = {
|
||||
NET_ADMIN = true;
|
||||
};
|
||||
autoRemoveOnStop = false;
|
||||
environment = delugeBase.environment // {
|
||||
VPN_ENABLED = "yes";
|
||||
VPN_CLIENT = "openvpn";
|
||||
VPN_PROV = "protonvpn";
|
||||
ENABLE_PRIVOXY = "yes";
|
||||
LAN_NETWORK = "192.168.0.0/16";
|
||||
ENABLE_STARTUP_SCRIPTS = "yes";
|
||||
#NAME_SERVERS = "194.242.2.9";
|
||||
#NAME_SERVERS = "9.9.9.9";
|
||||
# note, delete /config/perms.txt to force a bulk permissions update
|
||||
};
|
||||
environmentFiles = [ config.sops.secrets."docker/delugevpn".path ];
|
||||
volumes = [
|
||||
"${delugevpn_path}/config:/config"
|
||||
"${deluge_path}/data:/data" # use common torrent path yuck
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
devices = [
|
||||
"/dev/net/tun:/dev/net/tun"
|
||||
];
|
||||
ports = [
|
||||
"8085:8112"
|
||||
"8119:8118"
|
||||
"39275:39275"
|
||||
"39275:39275/udp"
|
||||
"48346:48346"
|
||||
"48346:48346/udp"
|
||||
"8081:8081"
|
||||
"8083:8083"
|
||||
];
|
||||
environment = {
|
||||
TZ = "America/New_York";
|
||||
# SOPS prep
|
||||
};
|
||||
environmentFiles = [
|
||||
config.sops.secrets."docker/gluetun".path
|
||||
config.sops.secrets."docker/gluetun-qbitvpn".path
|
||||
];
|
||||
};
|
||||
|
||||
# permanent instance
|
||||
qbitPerm = qbitBase // {
|
||||
# webui port is 8083, torr port is 29434
|
||||
networks = [
|
||||
"container:gluetun-qbit"
|
||||
];
|
||||
environment = qbitBase.environment // {
|
||||
WEBUI_PORT = "8083";
|
||||
};
|
||||
dependsOn = [ "gluetun-qbit" ];
|
||||
volumes = [
|
||||
"${qbitperm_path}/config:/config"
|
||||
"${torr_path}/data:/data"
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
];
|
||||
};
|
||||
gluetun-qbitperm = {
|
||||
image = "qmcgaw/gluetun:v3";
|
||||
capabilities = {
|
||||
NET_ADMIN = true;
|
||||
};
|
||||
devices = [
|
||||
"/dev/net/tun:/dev/net/tun"
|
||||
];
|
||||
ports = [
|
||||
"8083:8083"
|
||||
];
|
||||
environment = {
|
||||
TZ = "America/New_York";
|
||||
# SOPS prep
|
||||
};
|
||||
environmentFiles = [
|
||||
config.sops.secrets."docker/gluetun".path
|
||||
config.sops.secrets."docker/gluetun-qbitperm".path
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.docker-delugeVPN = {
|
||||
serviceConfig = {
|
||||
ExecStartPre = [
|
||||
(
|
||||
"${pkgs.bash}/bin/bash -c \"${pkgs.findutils}/bin/find ${delugevpn_path}/config/openvpn/configs "
|
||||
+ "-type l -not -name network.ovpn "
|
||||
+ "| ${pkgs.coreutils}/bin/shuf -n 1 "
|
||||
+ "| ${pkgs.findutils}/bin/xargs -I {} cp -L {} ${delugevpn_path}/config/openvpn/network.ovpn &&"
|
||||
+ "${pkgs.coreutils}/bin/chown docker-service:users ${delugevpn_path}/config/openvpn/network.ovpn &&"
|
||||
+ "${pkgs.coreutils}/bin/chmod 440 ${delugevpn_path}/config/openvpn/network.ovpn\""
|
||||
)
|
||||
(
|
||||
"${pkgs.bash}/bin/bash -c \"${pkgs.findutils}/bin/find ${delugevpn_path}/config/scripts/links "
|
||||
+ "-type l "
|
||||
+ "| ${pkgs.findutils}/bin/xargs -I {} cp -L {} ${delugevpn_path}/config/scripts/ \""
|
||||
)
|
||||
sops.secrets = {
|
||||
"docker/gluetun" = {
|
||||
owner = "docker-service";
|
||||
restartUnits = [
|
||||
"docker-gluetun-qbit.service"
|
||||
"docker-gluetun-qbitperm.service"
|
||||
];
|
||||
ExecStopPost = [ "${pkgs.coreutils}/bin/rm ${delugevpn_path}/config/scripts/*sh" ];
|
||||
};
|
||||
};
|
||||
|
||||
sops.secrets = (genSopsConfOvpn "se.protonvpn.udp.ovpn") // {
|
||||
"docker/delugevpn" = {
|
||||
"docker/gluetun-qbitvpn" = {
|
||||
owner = "docker-service";
|
||||
group = "users";
|
||||
restartUnits = [ "docker-delugeVPN.service" ];
|
||||
restartUnits = [
|
||||
"docker-gluetun-qbit.service"
|
||||
];
|
||||
};
|
||||
"docker/protonvpn-start-script" = {
|
||||
path = "${delugevpn_path}/config/scripts/links/protonvpn-start-script.sh";
|
||||
"docker/gluetun-qbitperm" = {
|
||||
owner = "docker-service";
|
||||
group = "users";
|
||||
restartUnits = [ "docker-delugeVPN.service" ];
|
||||
restartUnits = [
|
||||
"docker-gluetun-qbitperm.service"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
networking.firewall = {
|
||||
|
||||
extraCommands = "
|
||||
iptables -I nixos-fw 1 -i br+ -j ACCEPT
|
||||
";
|
||||
|
||||
extraStopCommands = "
|
||||
iptables -D nixos-fw -i br+ -j ACCEPT
|
||||
";
|
||||
|
||||
trustedInterfaces = [ "br+" ];
|
||||
|
||||
allowedTCPPorts = [
|
||||
# qbit
|
||||
8081
|
||||
8082
|
||||
@@ -33,6 +45,15 @@
|
||||
8686
|
||||
8787
|
||||
5055
|
||||
|
||||
# torr
|
||||
29432
|
||||
];
|
||||
|
||||
allowedUDPPorts = [
|
||||
# torr
|
||||
29432
|
||||
];
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -29,6 +29,12 @@ in
|
||||
# Let other names login as themselves
|
||||
superuser_map /^(.*)$ \1
|
||||
'';
|
||||
authentication = ''
|
||||
local bazarr bazarr scram-sha-256
|
||||
local /.*arr-main /.*arr scram-sha-256
|
||||
local /.*arr-log /.*arr scram-sha-256
|
||||
local jellyseerr jellyseerr scram-sha-256
|
||||
'';
|
||||
|
||||
# initialScript = config.sops.secrets."postgres/init".path;
|
||||
ensureDatabases = [
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#"use sendfile" = "yes";
|
||||
#"max protocol" = "smb2";
|
||||
# note: localhost is the ipv6 localhost ::1
|
||||
"hosts allow" = "192.168.76. 127.0.0.1 localhost";
|
||||
"hosts allow" = "192.168.76. 127.0.0.1 localhost 192.168.191.";
|
||||
"hosts deny" = "0.0.0.0/0";
|
||||
"guest account" = "nobody";
|
||||
"map to guest" = "bad user";
|
||||
|
||||
@@ -17,7 +17,7 @@ minio:
|
||||
credentials: ENC[AES256_GCM,data:5Z/cTmxSuMq8BfRgYLGZZJ7o6AtmrQM3yNjR17YHr29S7ZWvGsjfM7DsLKectem01nvv3HoT4uyWSdhkOmZahzDb5OF1NEgjJhLqkKlCETMu0mmpwe1cx6iOd7kjB3E6Az/MWpXqZ/TrryL9FrQD2nnx9bHyWWIHRQv8,iv:jiYZXfU+OssC0rh/3yFZLEzD1+5mVDDl6gQ3oyk76E4=,tag:bevDszFv1zSa+/2qQIgC0w==,type:str]
|
||||
loki: ENC[AES256_GCM,data:ShC6hfsKifVaxLWRo1fqaOpsrYh4+w==,iv:KVSlPd0mBvPZikg/Agnl6q0UhxTmsNOeYdercYOhqMg=,tag:cj6ex9m7vDjInTJDGUlqFQ==,type:str]
|
||||
docker:
|
||||
minecraft: ENC[AES256_GCM,data:2k/m0ksnE92fACxQuBlOO72b19T7Nbnr58ezRddmKUVvePEgrdSnIsR3sh7PnmzwmG/ez0WTD+NKbtkQmRMDQ25vruA8gCf8Ig==,iv:X2SUidKTNAPZfbyiXFKprUbAhBxJcbF5bz+YTy4nuEA=,tag:AAvLXO888r9XvtnNfQgCpA==,type:str]
|
||||
minecraft: ENC[AES256_GCM,data:krSM870t/IATwpUWNuKX8D5HHEvk+HeimKgodXssIYcBmdF1SZAwjUsSlx9fL3JiRtxfu0jSbhyD/2jLHMWqcix1WQGOVgs=,iv:ZTMxmzeSLQRCBF2t6r3dCDlcZ5BsBwZen6jOZN/HvGU=,tag:SES3lhRrRI8zBH1jnaV82w==,type:str]
|
||||
foundry: ENC[AES256_GCM,data:5Z0FvVhJBzTwDPRN6c//caZokiTnkdqiLGFFuyen+tYsdjbQ3AXH5y7HfxKbxsJvU5uShOuIg0jVMvow2NYmzyYDDKBKPOz0bgXOmFq06wzCJubjyZmR/mDcWBBDzAFzaazpyW8=,iv:6wLS00zhX0tjJUe5uADAjzEshJP8QOkF2i4Aw+Y9RSk=,tag:sNr/exY1u3evYGcImyCUlA==,type:str]
|
||||
nextcloud: ENC[AES256_GCM,data:dm2Cha+CvFORgdcBvJAzzdOGcJ95vLJYTZcUJnjNp6HOQIIoJrDone1NOAYJh9rdWG/17/ntOmd+TysAj4AsD0dw/PatZmy3I+dcVghkt2XNTc7jD64QjctIHzR+om1joAbKemG1R3St7qDU68TWYxoxIfYZcJvg3ds/lJcYgFRh079UZ/IRlGVR6sWPEXyY+UUrwtk0Fr+y8UtwwWZiLp0akUbIV06huRGiAp/PeWETuPPuacl2++ayIgJFZkJjUl/a52RI1Q0nLG5iyK6QYpY1JSRJTOkiQQ4PB5GRdLCdoM5/ZXTQ6gGcoM5jXFllsTn+yRicNRucuBp7Z2achbk6eITCdjjdXVI7zM4YXpzVLu5fJckLAu07aEIGYCBT7ZXd7TRgfB68POwtwaJGBozg+nuhq8xEH04yi8jFODH6aFplIgJ+bbaP72zw+92lzZa33FEtOwKdtx+YUv0eLLDJs+8Z6Sn6RyN8prwIz1/9LuIMx39g4R7id9W2bV2MXqTU4nN8f0TXWqe+hnb5pDLBaZOBMkwbRka6Vptsi4dbL5Lnexa2DoIHZ2unyxZ+4SkRt9LH39j8fXf2w5JPFCSLstf7+Zu7xzRS0TTCug7k,iv:oOWcFdQJb/+KZKJmQChhJ5jOCcM3o+ojZSMyiRnO9n8=,tag:PWGQkwPe0juLgAdlKiWKpg==,type:str]
|
||||
redis: ENC[AES256_GCM,data:c+55cN6IpUNeKd+wC2zv3eunYjBsmZtXTczokqaxB2Q=,iv:M3pwNUlT9kUMv4JDE6bp/gub9CdBGxdApIvpOt3JpgE=,tag:3rPlV3U0AP9zAeF7xDouKw==,type:str]
|
||||
@@ -27,11 +27,14 @@ docker:
|
||||
protonvpn-start-script: ENC[AES256_GCM,data:ZnlDpCLdILHXSUCI6itWkqO4y75Lwjj7qT1DBkfueLneQOaQ0JhuE2FbOOajkmI046nP9fMrJbu3g4QZHsq1g8yqGU1wb0OOT+eS9+M92Md29B4NnUdwnVAO6/RzvRKXP2tsQ4iprx9An+BEFwZYD6WG6DQc6NjJVSgRcYvfH9rQey2VdwLysNsgFCs8eC6QgikqBpeg4eOIvDDNbdXPKkW+ZPph9xpzGkcFIMwlX5esg0n7qyUoMvWwBn4avC46U5erOw0fNajY60ri9sm5Afht6LZrFal71Hx/K9/5EXBp9dD4teLO2Ew0CQX0i94pKCuR207l9868s7Ao3udLp4wbiLnXoRKq+w==,iv:qR0kNYpb50NXEqSksvHBPAaRG51RKCsSwTq32nosxzo=,tag:+xRQyuWi4Ja/N9lcd11oJA==,type:str]
|
||||
notifiarr: ENC[AES256_GCM,data:XxVEhp4Rei6mRcdSSooRnofuVNZDalVhDYiVUmvQUr8QihrVRMKRE9Kpl5PGWUBw,iv:urMLaUf3XUjMks2vk0E7iRUU3mLHBiMAiwtQgmWQq20=,tag:dHdTOyC/ukd71UlYEI5fWw==,type:str]
|
||||
bazarr: ENC[AES256_GCM,data:x+JdRCl3x3OM3lWmgcWikJSEnh5c5He5HmuLzCGAQ8zUXMi2Z3Kf6LzL+aoqtCBu3rabYZmQSLBoDm9CPkk=,iv:7e+3w46RUD2/OSlwrEe7BRxUqPPdt5+obIjQA8pr3xY=,tag:rHSijp/tcf/SGp5y4kJ0cw==,type:str]
|
||||
prowlarr: ENC[AES256_GCM,data:AyOaj1nYCxeycBgp5sfNKz3A158FuXVg0DCoLrOE9YnUIAjo+5PW9HMdpCEiK0OfgoMPcUZNZowLYYY0goxwC+4+tB87TnBz2YpXTX8L7YO2JA+g7hA=,iv:IaZxKl5ypdIQ4f4SAHQtaUC20lbYL1b7mptu/FVB6k4=,tag:A9eQI9gG7wkSEPt6Mdg3Zw==,type:str]
|
||||
radarr: ENC[AES256_GCM,data:vqjqRsDjFm30yMrzWsWC6prYSEUQ+4v0hlDqJ6FS39hNFaGtGAsulUWv9MAJ11xI9CLsjjQUtpQ5KlRkYlHo5FnzeXCpK05ewkhYyqa7NKE=,iv:sKdxA5AtxpFpuiUYpz3NW2Fjc+ZKFmiJqibdQ3P6pVg=,tag:tDlJpApk4g6SYFzyn8Z/HA==,type:str]
|
||||
sonarr: ENC[AES256_GCM,data:IooG9LDXpdbQcknriSdowPwNv++yfj54mko49rtm4B8IVEV30B5o8iZhGXmSgpLsH9QtP/PmkuczjiiwlPI2QM5iRxpjUz2456a1hi61/uY=,iv:/PagjmFtJgkYKFPmZD5qI8DzdiuUIX8m0lapdZBXUus=,tag:Ppew0fepqgnhvTorwalhEw==,type:str]
|
||||
lidarr: ENC[AES256_GCM,data:9YtVafa4/SQ78+DJ52emGyLHCWpJpnhc+2DwGBQ0uhFiee7ZRFy+O0kHPPyNly8sgP9UOZt+53D4sAv9S8hOCnJTAbHiNnzTbjQmZtnvgnc=,iv:dlF5wtcphEhg5jxb8YSIF9/2Vj1KY10Vza/OGK1jXRM=,tag:8qmdQjRv30VqRReOzr6UEA==,type:str]
|
||||
jellyseer: ENC[AES256_GCM,data:oGZfjfTEXre24kmzKM7EZthY09yxENmVBkjZbYrniwnu8p0Te3tPHWAWt1KSJYy/hgc=,iv:IeJ5yUXjLEGVLyu3zVe7sUhaEEMdkwRtsRI3qHCYe/c=,tag:FLBW/YSUb6xRgkhhAG5eHQ==,type:str]
|
||||
prowlarr: ENC[AES256_GCM,data:hr3hYwRw0+/UD8anqZQjGy7rPkV2pad4Xi5FdXSf3Ftd1/jwlYfMqhqgEngFX30LLMWvJvjeu1TkTNzSEwI6ZCPdefNVYYwWavtm+XcBVxffGvFZ,iv:EXW48288IcCeGs/vP4tkAI4dxQAOh92Na43q/9cyuSc=,tag:pnYR26MDd82DjeUPdwCoUw==,type:str]
|
||||
radarr: ENC[AES256_GCM,data:qCfoeEHb0ng5GhaY3QZiFvLVb25ZHNmgT0bRqEjBcelyP2819zCL7LxUPr08FxivEYZiAMFVleRozL8NMg6O5fh+2BatcYOfyh99zxIC,iv:HV3gTTnrjtab7x4Be+7hSe+nrD6BnPAmZBsHzi9Fujg=,tag:O6x0FDlasuJSRrGL/9SwpQ==,type:str]
|
||||
sonarr: ENC[AES256_GCM,data:X/hM31ZyHybvy2eQzVnmq8CH1AqBgz1pxq7tKC4lZB3ryAbnEIJksffem8+35tWt/0r5cEH4aaIKD1kS7Q+Ma+8JrRLcWkt6CZq/wspz,iv:44FfdVpQCposXshzNe5DXAxExeQzjVKhkZaVbgKo8KU=,tag:WIWWUt1XBngUTwwqhCrcNw==,type:str]
|
||||
lidarr: ENC[AES256_GCM,data:xERBECneutNUMZRrHukp8CaNrpI7SXUB16zUkauNP2+wto3eIc/K+2nMCkbwSC9AKlSjnUGSiORmAWn/jofTAuEzQljkCR1XCSkJRMmL,iv:iKf4fZtCfdjT/KuMFK5VFoLAV+Lll8uJowe9Q4cHyYw=,tag:xzmATTkrYRYm9Mw23zEO5g==,type:str]
|
||||
jellyseerr: ENC[AES256_GCM,data:7dDfHFp8+WbJqrf7Ms/gmfroBePwegXh5CXn5FcOz8IEK7rTvr9KZfz9x/1BwdD8,iv:ZPi3OcMfH76A08piKY4P7hFbeMyouwBoeN5oL3ExzKU=,tag:oOZ37dy/y+DFqNRfAHexvQ==,type:str]
|
||||
gluetun: ENC[AES256_GCM,data:ryhYVOYEZl5zDs+xMgbWI6q/Ei2AiNZJMxT/TcaHzTEocINgbczWk9GKeeZKno71vFXiF9/tPpYavLqvjWNL77doWDB+wiYrtBJ97PkQ70dqWntua9E8eCalYlIZpRbLsl5OA9ZHorIMPjjSB2CRYLCqq30PPi5I2TtRvs/g6LRUN4sZ/E2TTUjz7AEY7228ZEuHt1UkU+dY/jEbx6fwrm/ocP8xKvYUuAR1/Cx/z4N0mqmVl+FX/5dRSkmhpfAxO9ss898XKiJW4rewQIbG5ccYal+reZZr70TaEJQqg5KIfAnbp6dEjAsSXnRiEF801JXM0h+d14ECT4tQmdyvYBdCVnJ/Ibqw9D15cViHmeDbR68spqOCj67FSMKxgCVx4KFrxPOualsULX7RL/UbHq2cwyziSFkH4n2ljFlKohyj39F7EparJbiCOumNfhRWknDDwvXY+BjJhbAe19ccKP6QWrS68uBp0cTXqb0rVN/qlfz6Sj5EYj5M/u0rl6d5xctnKmOzfLjI2m5+E9WfDJaAUcP/Ihs+p2eD7aSQTIj+O7I66ju+UAz66D9ZoU1U3uVQ9gaPI5dOMmYdLKS3b19EVytwW2W13d0WXKIw5Vfb7MvFh9I0iPWq+ntL4jQzMYSwV5Y=,iv:Cy3h5I3vbqKORdqw91SHL4tRMeGHMLsXgQ0USJ2jtzk=,tag:0J/p1sUQfXR4ujjY7VzZuQ==,type:str]
|
||||
gluetun-qbitvpn: ENC[AES256_GCM,data:3IdmuLvWs5YRQZuG9y1GRTMKMbR7OynUUVluezviDOV22EkABvo3Ic/+xZrWi/lzAhQRwRsCGjinlUJf7lBvPLg53HaIplbzSIyd3IPLbKzEVAK32WYB/M5cGNQW+XV8TiKK72HO8+WG588A0bsuvp/wQ86ohpRHVrnlboANLS3diCNXI3VdFIHPGpvM77TqB3/vo2AFLKjxi2es4l6KRam8cEUFAz0eH03tTUYaxy+ewA5IZCQSbMURLFKKdh0EATTG5jIz3jFp372fnk8UBgFPeH8+N9VHNM6rnV6zAsC2Vlj2E1YQRTRqOwSK0NRAAV5NBbr7zumS3VS0rVUpIbZVrW/C2BSAVbzowkHuo5o1B7UFsryb3s2FJJGF2biaDoL+ijM5a0Qi4LfNeaSLNKrzaTin0wYq8rPrQKOUBZL4t6FsRbG7KHmfwM4uYdWqV5h1syjI9WWReuePVb416YvqSH9p8HhNsDTka8IGgYkHcYAXYuuxUc6sgQONBwrsdeN5Dhq1IedhuOW+3qAV+hHl8qmVgiWZ8Ss+nmo016nsikifEp08N7J8t3f86/SFZO+YMBxQ/K9PJLsJzR2jsBcf2aTlq0cuzXDvb4cMtro=,iv:N9zdyKJDsj049j5hZOSnAkS/VTWlC3crTODJKIpYYko=,tag:uYHq3CZj0P/BAv+0Ak5ZEw==,type:str]
|
||||
gluetun-qbitperm: ENC[AES256_GCM,data:kzSrILs78UkzNeAvxoDU3QsLKdapQNyQW9nq0it+7HhhwDQ0MJB1s2Ek8zKErTatpwzG8xiUK0HwX5hFLgNZYc+OE0CH4PUrgX1t6dykuPLD2rKQL7veElNgqhX0/39xNyopyJk2UMVFNSqoV1DCC/ja9MqX9+jBYk++7DeX7v1Gl1ntjzJ+zIscg0nOTN1eQAHtiOWtFU0COC/aA8KS+HLIsMkjrIk9UD4C/DE8AOS07s+gDxPRtl6L7324FRqjEHNyxAobWOOLeG711RZcskF7dlminVJu4aVGbBwIy/zDdHFxRwO6yaLr/AqrTlRVOa2O8Qu2Ydpv8ZNj2F6fHrVNNmVwvMEKYibV6oMVo72uT+DTz/mFaYuTUeuJfkdCy7tnQYhBnpbd5J4mKfVb8uOF9Tx02kL2fTFKyvtET3nrtakQUjv8mEqHn4F8136O2JvUBN5RmC3B3vRdFjYgdfwy8hUT9b0Cmi8w0Zzs+XGMRdvWv2g6b5fmlAn0K+a0KB1fdDLhvbIXhY+sYzR3yOH01K0lW3xVdnl1eMIFjZkUGRTi32HyCYb0SUA1EcXmtA4XmyZ6HHFEXFA5y2guVqU4xLyXXldM+lGB7yGLMcM=,iv:kuueHxYafrEdyBxGUBoU2ks7kdr/rWMnXZmE3Kx/iK4=,tag:bNIfP3H5/Kh3ofuCGGx5Hg==,type:str]
|
||||
acme:
|
||||
bunny: ENC[AES256_GCM,data:P2yROVUga9mORcq8VR/l0i4/2Vod1zvlYq+ZJLLNKow0SpblkwQX/i1ucQYAOkTTRddN+3C+t0zj1rMWkdLoaLjEUJJi3VsSxi+chV2FFiVKFQGEcg24,iv:aQvGgGLsgRGoEmwTgZHR8Jm/MYxmGtVTT/fZKaTLeMs=,tag:m3ssF4O8qs4yxvMu6yUcjw==,type:str]
|
||||
dnsimple: ENC[AES256_GCM,data:37FKyBibFtXZgI4EduJQ0z8F+shBc5Q6YlLa3YkVPh9XuJVS20eybi75bfJxiozcZ9d+YRaqcbkBQCSdFOCotDU=,iv:oq3JjqbfAm2C4jcL1lvUb2EOmnwlR07vPoO8H0BmydQ=,tag:E3NO/jMElL6Q817666gIyg==,type:str]
|
||||
@@ -50,8 +53,8 @@ sops:
|
||||
cXNZWmZqd0R0SmhINExscHBKWmxvblUKEFEQvt/zQFARba4S8vHz/1SoKdKg69At
|
||||
LZ58XQGOmlGbBhPr7EzYQ2XSY4flWbnnD174cmCR8DNFm15DsNA5fw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-12-24T03:01:37Z"
|
||||
mac: ENC[AES256_GCM,data:yFJcY8y9QXgADUog2iN+eig1KoDEcb5kZHCSaCzwIzTV1GecFsD9ht6+j7cWgV95pVGMbyOMxftEYDyyGsQOUlKxmNLcKIdLJpECpnUbIQFItSXbIok69UUPZMTU7PoMgChoC7VzCIoxve8r3vIKCNQNd+155kaAGDwzDTeHbgo=,iv:4elCVXrFZxC8rAsnXy56N/WUw0y5h/r/z9PrPqBnJx8=,tag:MwcExqwKCqNhz6cjT3MXuA==,type:str]
|
||||
lastmodified: "2026-01-17T01:50:50Z"
|
||||
mac: ENC[AES256_GCM,data:8TGSqwEcfmrW1PjuzTVNyDTNs6s3oWbT0tI+rg7u2w5Dcw1EEU+SjJ6VpNY06AZHTjSD6E0O7NzUxybtMpslHUGitOGWwQCk+sbqRJuUseFe7bWFboEVoJpEoYGN5pnn52opMT+NeHGkXumaxjhDjCxfwn1RBHR7TgD4ZHEH6pE=,iv:szBUnn3HL/osWhmTwYmHrUghobWdBR60Lc6uUD/eGMY=,tag:6vgdJeJjL4ZYKc8WjixClg==,type:str]
|
||||
pgp:
|
||||
- created_at: "2024-11-28T18:56:39Z"
|
||||
enc: |-
|
||||
|
||||
@@ -17,4 +17,7 @@ import ../default.nix {
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILWG3cIBju6vzX6s8JlmGNJOiWY7pQ19bHvcqDADtWzv snowi@DESKTOP-EVIR8IH"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEMfC0IXl9sGx+9FjuYZT2OUfffGjciJIHWqZdEU1d3n alice@parthenon-7588"
|
||||
];
|
||||
groups = [
|
||||
"adbusers"
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{ lib, ... }:
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
|
||||
programs.zsh = {
|
||||
|
||||
enable = true;
|
||||
dotDir = "${config.xdg.configHome}/zsh";
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
customTitleBar = false;
|
||||
hardwareAcceleration = true;
|
||||
};
|
||||
vencord.useSystem = true;
|
||||
vencord.settings = {
|
||||
autoUpdate = false;
|
||||
autoUpdateNotification = false;
|
||||
@@ -65,7 +66,7 @@
|
||||
|
||||
# nix tools
|
||||
nil
|
||||
nixfmt-rfc-style
|
||||
nixfmt
|
||||
nix-init
|
||||
|
||||
# markdown
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
pkgs,
|
||||
name,
|
||||
publicKeys ? [ ],
|
||||
groups ? [ ],
|
||||
defaultShell ? "zsh",
|
||||
}:
|
||||
|
||||
@@ -18,14 +19,15 @@
|
||||
"wheel"
|
||||
"media"
|
||||
(lib.mkIf config.networking.networkmanager.enable "networkmanager")
|
||||
(lib.mkIf config.programs.adb.enable "adbusers")
|
||||
(lib.mkIf config.programs.wireshark.enable "wireshark")
|
||||
(lib.mkIf config.virtualisation.docker.enable "docker")
|
||||
(lib.mkIf (with config.services.locate; (enable && package == pkgs.plocate)) "plocate")
|
||||
(lib.mkIf config.networking.wireless.enable "wpa_supplicant")
|
||||
"libvirtd"
|
||||
"dialout"
|
||||
"plugdev"
|
||||
"uaccess"
|
||||
"ydotool"
|
||||
];
|
||||
]
|
||||
++ groups;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user