Compare commits
44 Commits
7008650ec5
...
master
Author | SHA1 | Date | |
---|---|---|---|
d3cfd0a1b2
|
|||
3bb83f269c
|
|||
fab0fb48d4
|
|||
8dff1c604e
|
|||
b5904d9573
|
|||
8a2652d490
|
|||
13a2c70f97
|
|||
7165d6fe24
|
|||
ad0aa8b2cb
|
|||
2424f18ad7
|
|||
f7831723c7
|
|||
e43e8fcb33
|
|||
caced7acaf
|
|||
ee3d1e6683
|
|||
866762ef24
|
|||
c5bfed5a84
|
|||
f8dd9b73f5
|
|||
82d1a991ef
|
|||
5c65e179d3
|
|||
226117d989
|
|||
4c73dd3885
|
|||
be17929999
|
|||
18cebe871b
|
|||
32dae3898a
|
|||
67b9ec8b3e
|
|||
dc09ae397d
|
|||
cc6b63ccc1
|
|||
39d52d3aeb
|
|||
1416266821
|
|||
1c670390ec
|
|||
84bc9c6bf9
|
|||
c97eee9a8a
|
|||
26b4e86e52
|
|||
efcfc438cb
|
|||
1087c02fb6
|
|||
10f78d3698
|
|||
2659ebe5f7
|
|||
614fa18ef7
|
|||
9919d25454
|
|||
76712620d2
|
|||
853f647c94
|
|||
774575f447
|
|||
c5d3e925e7
|
|||
ceef998ac0
|
152
flake.lock
generated
152
flake.lock
generated
@@ -38,11 +38,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754492276,
|
||||
"narHash": "sha256-cCtleJZQY5eWPYRGl5x63BZ2rfOik4pLveCveH+tmvM=",
|
||||
"lastModified": 1759699908,
|
||||
"narHash": "sha256-kYVGY8sAfqwpNch706Fy2+/b+xbtfidhXSnzvthAhIQ=",
|
||||
"owner": "oddlama",
|
||||
"repo": "agenix-rekey",
|
||||
"rev": "69ed7833c0e4e6a677a20894d8f12876b9e2bedb",
|
||||
"rev": "42362b12f59978aabf3ec3334834ce2f3662013d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -71,11 +71,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755946532,
|
||||
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
|
||||
"lastModified": 1759499898,
|
||||
"narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
|
||||
"rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -213,11 +213,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756733629,
|
||||
"narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=",
|
||||
"lastModified": 1758287904,
|
||||
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1",
|
||||
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -229,11 +229,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756083905,
|
||||
"narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=",
|
||||
"lastModified": 1759418614,
|
||||
"narHash": "sha256-0E3TqvXAy81qeM/jZXWWOTZ14Hs1RT7o78UyZM+Jbr4=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808",
|
||||
"rev": "afd438034bf91089cfeb9e6b5cb987bdf5442d0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -332,11 +332,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756770412,
|
||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
||||
"lastModified": 1759362264,
|
||||
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
||||
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -353,11 +353,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754091436,
|
||||
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
|
||||
"lastModified": 1759362264,
|
||||
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
|
||||
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -517,11 +517,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756679287,
|
||||
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
|
||||
"lastModified": 1758463745,
|
||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
|
||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -576,11 +576,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755678602,
|
||||
"narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=",
|
||||
"lastModified": 1759490292,
|
||||
"narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "157cc52065a104fc3b8fa542ae648b992421d1c7",
|
||||
"rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -605,11 +605,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756811803,
|
||||
"narHash": "sha256-03zmDvAU+VLPWHv5uxfGVR6bs/SnCYeZ8hbedK/Eb/M=",
|
||||
"lastModified": 1760227591,
|
||||
"narHash": "sha256-zqyzWqTRgNV8inISkZCvAxJLZbjIzcD9mnPabFCtYPU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "127aab815908ecbd3db4d23f127d2e96b79855f9",
|
||||
"rev": "ed936430216e7aa5f6f53d22eff713f8e9ed69ac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -635,11 +635,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756806479,
|
||||
"narHash": "sha256-+RLX4BmuMw4c97npsBcjjEuy+s83POX9Yp8Nkj499lA=",
|
||||
"lastModified": 1760143196,
|
||||
"narHash": "sha256-UPKU7QXmJ8vJO59bGzT0UFhvncWb14odLJXzcvSu73U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"rev": "b8d6d369618078b2dbb043480ca65fe3521f273b",
|
||||
"rev": "f6dd103dfb12f8939bf8049ee35a2b3eb7564dc3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -728,11 +728,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753819801,
|
||||
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
|
||||
"lastModified": 1759080228,
|
||||
"narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
|
||||
"rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -757,11 +757,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753622892,
|
||||
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
|
||||
"lastModified": 1758927902,
|
||||
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
|
||||
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -782,11 +782,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756117388,
|
||||
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
|
||||
"lastModified": 1759619523,
|
||||
"narHash": "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
|
||||
"rev": "3df7bde01efb3a3e8e678d1155f2aa3f19e177ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -849,16 +849,16 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"lastModified": 1754860581,
|
||||
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.8",
|
||||
"ref": "v0.1.1",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -866,11 +866,11 @@
|
||||
"kvlibadwaita": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1710621848,
|
||||
"narHash": "sha256-xBl6zmpqTAH5MIT5iNAdW6kdOcB5MY0Dtrb95hdYpwA=",
|
||||
"lastModified": 1757782301,
|
||||
"narHash": "sha256-jCXME6mpqqWd7gWReT04a//2O83VQcOaqIIXa+Frntc=",
|
||||
"owner": "GabePoel",
|
||||
"repo": "KvLibadwaita",
|
||||
"rev": "87c1ef9f44ec48855fd09ddab041007277e30e37",
|
||||
"rev": "1f4e0bec44b13dabfa1fe4047aa8eeaccf2f3557",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -906,11 +906,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1756750488,
|
||||
"narHash": "sha256-e4ZAu2sjOtGpvbdS5zo+Va5FUUkAnizl4wb0/JlIL2I=",
|
||||
"lastModified": 1760106635,
|
||||
"narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a",
|
||||
"rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -946,11 +946,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1756266583,
|
||||
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
|
||||
"lastModified": 1759381078,
|
||||
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
|
||||
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -993,11 +993,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1756787288,
|
||||
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
|
||||
"lastModified": 1760038930,
|
||||
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
|
||||
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1008,11 +1008,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1756754095,
|
||||
"narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=",
|
||||
"lastModified": 1759994382,
|
||||
"narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9",
|
||||
"rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1031,11 +1031,11 @@
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755727480,
|
||||
"narHash": "sha256-eb9N7XFj1zirk+D2KV+rn/CjmVHDISlxhtZCWZEVpkM=",
|
||||
"lastModified": 1760187633,
|
||||
"narHash": "sha256-0+hp5PqHTXEUjUnc7oFIJVILkNVC330kMeVNdayYrII=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "6df0b97b39baa1c0b3002b051f307aed68e17d1b",
|
||||
"rev": "76e558c281e738bf1564e366a0c44533bdf0638d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1055,11 +1055,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753771532,
|
||||
"narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=",
|
||||
"lastModified": 1758662783,
|
||||
"narHash": "sha256-igrxT+/MnmcftPOHEb+XDwAMq3Xg1Xy7kVYQaHhPlAg=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "2a65adaf2c0c428efb0f4a2bc406aab466e96a06",
|
||||
"rev": "7d4c0fc4ffe3bd64e5630417162e9e04e64b27a4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1078,11 +1078,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755960406,
|
||||
"narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
|
||||
"lastModified": 1758108966,
|
||||
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
|
||||
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1100,11 +1100,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755960406,
|
||||
"narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
|
||||
"lastModified": 1759523803,
|
||||
"narHash": "sha256-PTod9NG+i3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
|
||||
"rev": "cfc9f7bb163ad8542029d303e599c0f7eee09835",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1249,11 +1249,11 @@
|
||||
"thunderbird-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755861050,
|
||||
"narHash": "sha256-oLmw1VRrmbuLwT5errG3lT85K0jLII/aQ32VtdJ+1xM=",
|
||||
"lastModified": 1757216698,
|
||||
"narHash": "sha256-aQAlgHsBAS+DdyYDlYhW/xT86xIu9FO8yJEzSCVaSBg=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "thunderbird-gnome-theme",
|
||||
"rev": "b1fbb41db5718c23667bd9b40268b8e7317634fd",
|
||||
"rev": "8b9a19eb188b3ede65e8f12a11637bbd56e4f4d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1290,11 +1290,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756662192,
|
||||
"narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=",
|
||||
"lastModified": 1760120816,
|
||||
"narHash": "sha256-gq9rdocpmRZCwLS5vsHozwB6b5nrOBDNc2kkEaTXHfg=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4",
|
||||
"rev": "761ae7aff00907b607125b2f57338b74177697ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@@ -25,6 +25,8 @@ in
|
||||
hostPlatform = "x86_64-linux";
|
||||
};
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
|
@@ -68,7 +68,7 @@ in
|
||||
"amdgpu.sched_hw_submission=4"
|
||||
"audit=0"
|
||||
];
|
||||
kernelPackages = pkgs.linuxPackages_6_15;
|
||||
kernelPackages = pkgs.linuxPackages_6_16;
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
};
|
||||
|
||||
|
1
hosts/artemis/ssh_host_ed25519_key.pub
Normal file
1
hosts/artemis/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDXJmnp4LUE9AFjGHwvxAu4m/3PB2uYQ69F7wYv7cGGT
|
@@ -9,6 +9,8 @@
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
|
1
hosts/atlas/ssh_host_ed25519_key.pub
Normal file
1
hosts/atlas/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPddvpZeCUelUGsnFvx87WOqKKc+MGPU6+rx6s1ReWQl
|
@@ -40,7 +40,7 @@
|
||||
};
|
||||
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
flake = "git+ssh://git@git.vimium.com/jordan/nix-config.git";
|
||||
randomizedDelaySec = "10min";
|
||||
};
|
||||
|
@@ -16,6 +16,8 @@ in
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
boot = {
|
||||
loader.grub = {
|
||||
enable = true;
|
||||
|
1
hosts/helios/ssh_host_ed25519_key.pub
Normal file
1
hosts/helios/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL2tDij7eTDbljl6Crz4i7qrM0lgp8U2T9ZMXt7VQPT/
|
@@ -22,6 +22,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
|
1
hosts/hypnos/ssh_host_ed25519_key.pub
Normal file
1
hosts/hypnos/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINGlbvy+4QHbveFbS6r9S0JWUVHeI/MgYLyGtfpZqJ/3
|
@@ -4,6 +4,9 @@
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
stateDir = "/var/lib/open-webui";
|
||||
in
|
||||
{
|
||||
age.secrets.open-webui-env = {
|
||||
rekeyFile = ./secrets/open-webui-env.age;
|
||||
@@ -28,10 +31,33 @@
|
||||
OFFLINE_MODE = "True";
|
||||
OPENID_PROVIDER_URL = "https://auth.vimium.com/oauth2/openid/${clientId}/.well-known/openid-configuration";
|
||||
OPENID_REDIRECT_URI = "${publicUrl}/oauth/oidc/callback";
|
||||
|
||||
# Fix from https://github.com/NixOS/nixpkgs/pull/431395
|
||||
STATIC_DIR = "${stateDir}/static";
|
||||
DATA_DIR = "${stateDir}/data";
|
||||
HF_HOME = "${stateDir}/hf_home";
|
||||
SENTENCE_TRANSFORMERS_HOME = "${stateDir}/transformers_home";
|
||||
};
|
||||
environmentFile = config.age.secrets.open-webui-env.path;
|
||||
};
|
||||
|
||||
# Fix from https://github.com/NixOS/nixpkgs/pull/432897
|
||||
systemd.services.open-webui.preStart = ''
|
||||
if [ -d "${stateDir}/data" ] && [ -n "$(ls -A "${stateDir}/data" 2>/dev/null)" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "${stateDir}/data"
|
||||
|
||||
[ -f "${stateDir}/webui.db" ] && mv "${stateDir}/webui.db" "${stateDir}/data/"
|
||||
|
||||
for dir in cache uploads vector_db; do
|
||||
[ -d "${stateDir}/$dir" ] && mv "${stateDir}/$dir" "${stateDir}/data/"
|
||||
done
|
||||
|
||||
exit 0
|
||||
'';
|
||||
|
||||
modules.services.borgmatic.directories = [
|
||||
"/var/lib/private/open-webui"
|
||||
];
|
||||
|
@@ -14,6 +14,8 @@
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
networking = {
|
||||
hostId = "08ac2f14";
|
||||
firewall = {
|
||||
|
1
hosts/mail/ssh_host_ed25519_key.pub
Normal file
1
hosts/mail/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGLHtC0JmFfct+lYl0EjgphutmeYY8BWDctY3+/TsO6L
|
@@ -20,6 +20,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
|
1
hosts/odyssey/ssh_host_ed25519_key.pub
Normal file
1
hosts/odyssey/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJre8/cjdoUnbTu0x4ClTITcq4lq+FjpEyJBbLbOlox7
|
@@ -27,3 +27,4 @@ SD card | `/dev/mmcblk0` (ext4, NixOS Root)
|
||||
- HDMI to ONKYO HT-R990
|
||||
- S/PDIF to ONKYO HT-R990
|
||||
- Ethernet to ONKYO HT-R990
|
||||
- Ethernet to LG TV
|
||||
|
@@ -15,6 +15,8 @@
|
||||
|
||||
nixpkgs.hostPlatform = "aarch64-linux";
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
hardware = {
|
||||
raspberry-pi."4" = {
|
||||
apply-overlays-dtmerge.enable = true;
|
||||
@@ -129,14 +131,25 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Connection to ONKYO HT-R990
|
||||
networking.interfaces.end0 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "172.16.0.1";
|
||||
prefixLength = 30;
|
||||
}
|
||||
];
|
||||
networking.interfaces = {
|
||||
# Connection to ONKYO HT-R990
|
||||
end0 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "172.16.0.1";
|
||||
prefixLength = 30;
|
||||
}
|
||||
];
|
||||
};
|
||||
# Connection to LG TV
|
||||
enp1s0u2 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "172.16.1.1";
|
||||
prefixLength = 30;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
@@ -244,6 +244,7 @@
|
||||
"wake_on_lan"
|
||||
"water_heater"
|
||||
"weather"
|
||||
"webostv"
|
||||
"websocket_api"
|
||||
"wled"
|
||||
"workday"
|
||||
|
@@ -18,7 +18,7 @@
|
||||
};
|
||||
|
||||
services.snapserver = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
streams = {
|
||||
default = {
|
||||
type = "file";
|
||||
|
1
hosts/pi/ssh_host_ed25519_key.pub
Normal file
1
hosts/pi/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFYv5V6Lr1Er1dljwmunurIz1Q3Ce5FsFSxtUOW6aO9J
|
@@ -11,6 +11,8 @@
|
||||
|
||||
nixpkgs.hostPlatform = "aarch64-linux";
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
networking = {
|
||||
hostId = "731d1660";
|
||||
firewall = {
|
||||
|
1
hosts/skycam/ssh_host_ed25519_key.pub
Normal file
1
hosts/skycam/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv5+HwcRetBxtQZXpGbYv22S4prJu9bYCzKTSoMCl8D
|
@@ -124,6 +124,7 @@ in
|
||||
systemd.services.kanidm = {
|
||||
requires = [ "tailscaled.service" ];
|
||||
after = [ "tailscaled.service" ];
|
||||
serviceConfig.RestartSec = "60";
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts = {
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
@@ -26,30 +27,31 @@ let
|
||||
};
|
||||
matrixServerConfig."m.server" = "${matrixSubdomain}:443";
|
||||
commonBridgeSettings = bridge: {
|
||||
appservice = {
|
||||
database = lib.mkIf usePostgresql {
|
||||
type = "postgres";
|
||||
uri = "postgresql:///${bridge}?host=/run/postgresql";
|
||||
};
|
||||
database = lib.mkIf usePostgresql {
|
||||
type = "postgres";
|
||||
uri = "postgresql:///${bridge}?host=/run/postgresql";
|
||||
};
|
||||
bridge = {
|
||||
encryption = {
|
||||
allow = true;
|
||||
default = true;
|
||||
require = true;
|
||||
};
|
||||
permissions = {
|
||||
"${serverName}" = "user";
|
||||
"@jordan:${serverName}" = "admin";
|
||||
};
|
||||
provisioning = {
|
||||
shared_secret = "disable";
|
||||
};
|
||||
};
|
||||
encryption = {
|
||||
allow = true;
|
||||
default = true;
|
||||
require = true;
|
||||
};
|
||||
provisioning = {
|
||||
shared_secret = "disable";
|
||||
};
|
||||
homeserver = {
|
||||
address = "https://${matrixSubdomain}";
|
||||
domain = serverName;
|
||||
};
|
||||
double_puppet.secrets = {
|
||||
"${serverName}" = "as_token:$MAUTRIX_DOUBLEPUPPET_TOKEN";
|
||||
};
|
||||
};
|
||||
proxyConfig = ''
|
||||
proxy_set_header Host $host;
|
||||
@@ -61,6 +63,33 @@ let
|
||||
'';
|
||||
in
|
||||
{
|
||||
# Backport new options from https://github.com/NixOS/nixpkgs/pull/446155
|
||||
disabledModules = [
|
||||
"services/matrix/mautrix-whatsapp.nix"
|
||||
];
|
||||
|
||||
imports = [
|
||||
(inputs.nixpkgs-unstable + /nixos/modules/services/matrix/mautrix-whatsapp.nix)
|
||||
];
|
||||
|
||||
age.secrets = {
|
||||
mautrix-doublepuppet-registration = {
|
||||
rekeyFile = ./secrets/mautrix-doublepuppet-registration.age;
|
||||
mode = "0440";
|
||||
group = "matrix-synapse";
|
||||
};
|
||||
mautrix-signal-env = {
|
||||
rekeyFile = ./secrets/mautrix-signal-env.age;
|
||||
mode = "0440";
|
||||
group = "mautrix-signal";
|
||||
};
|
||||
mautrix-whatsapp-env = {
|
||||
rekeyFile = ./secrets/mautrix-whatsapp-env.age;
|
||||
mode = "0440";
|
||||
group = "mautrix-whatsapp";
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
8448 # Matrix federation
|
||||
];
|
||||
@@ -167,6 +196,9 @@ in
|
||||
enable = true;
|
||||
enableRegistrationScript = true;
|
||||
settings = {
|
||||
app_service_config_files = [
|
||||
config.age.secrets.mautrix-doublepuppet-registration.path
|
||||
];
|
||||
database.name = (if usePostgresql then "psycopg2" else "sqlite3");
|
||||
enable_metrics = false;
|
||||
enable_registration = false;
|
||||
@@ -203,23 +235,33 @@ in
|
||||
|
||||
services.mautrix-signal = lib.mkIf bridges.signal {
|
||||
enable = true;
|
||||
settings = commonBridgeSettings "mautrix-signal";
|
||||
environmentFile = config.age.secrets.mautrix-signal-env.path;
|
||||
settings = lib.recursiveUpdate {
|
||||
encryption = {
|
||||
pickle_key = "$MAUTRIX_SIGNAL_ENCRYPTION_PICKLE_KEY";
|
||||
};
|
||||
} (commonBridgeSettings "mautrix-signal");
|
||||
};
|
||||
|
||||
services.mautrix-whatsapp = lib.mkIf bridges.whatsapp {
|
||||
enable = true;
|
||||
settings = {
|
||||
bridge = {
|
||||
environmentFile = config.age.secrets.mautrix-whatsapp-env.path;
|
||||
settings = lib.recursiveUpdate {
|
||||
backfill = {
|
||||
enabled = true;
|
||||
max_initial_messags = 50;
|
||||
};
|
||||
encryption = {
|
||||
pickle_key = "$MAUTRIX_WHATSAPP_ENCRYPTION_PICKLE_KEY";
|
||||
};
|
||||
network = {
|
||||
mute_status_broadcast = true;
|
||||
history_sync = {
|
||||
backfill = true;
|
||||
max_initial_conversations = -1;
|
||||
message_count = 50;
|
||||
request_full_sync = true;
|
||||
};
|
||||
mute_bridging = true;
|
||||
};
|
||||
}
|
||||
// commonBridgeSettings "mautrix-whatsapp";
|
||||
} (commonBridgeSettings "mautrix-whatsapp");
|
||||
};
|
||||
|
||||
environment.persistence."/persist".directories = [
|
||||
|
BIN
hosts/vps1/secrets/mautrix-doublepuppet-registration.age
Normal file
BIN
hosts/vps1/secrets/mautrix-doublepuppet-registration.age
Normal file
Binary file not shown.
9
hosts/vps1/secrets/mautrix-signal-env.age
Normal file
9
hosts/vps1/secrets/mautrix-signal-env.age
Normal file
@@ -0,0 +1,9 @@
|
||||
age-encryption.org/v1
|
||||
-> piv-p256 a1N2XA AuFF7Zqic+KNiU82xDS8ItdNSnr1045DpKOyYHZgq3kE
|
||||
qNK+p6I6kR2A41d/gVyCp2b3xu7g0/rCXIL22Gal3IA
|
||||
-> R.kR/-r-grease 5Q54Z B.x PMjy\
|
||||
3ajY8AoJzUB9fiDnHoFVSIPEfvgAk2VtJeHNOno9cxeK6uZ+Ve22pUWBN2cp+2Qz
|
||||
J7J9U1zQWVSOum3dDmscAVBzf4Hw2hUBZcAnZA
|
||||
--- hZ4N9mXSCS3zT9R/Axb9dWVx5Lr+mLxxXuR45oehok4
|
||||
<EFBFBD><EFBFBD>z<EFBFBD>J%<25><>w<><77><EFBFBD>͜<EFBFBD><CD9C><EFBFBD>c<15>' <20><><EFBFBD>K39<33><39>˯<EFBFBD>q<1A>G<>bX6<58>6<EFBFBD>̚<EFBFBD><CC9A>p<03>4<EFBFBD>mG<6D><14><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ꇿ<EFBFBD>`<60>8
|
BIN
hosts/vps1/secrets/mautrix-whatsapp-env.age
Normal file
BIN
hosts/vps1/secrets/mautrix-whatsapp-env.age
Normal file
Binary file not shown.
@@ -15,6 +15,8 @@
|
||||
hostPlatform = "x86_64-linux";
|
||||
};
|
||||
|
||||
age.rekey.hostPubkey = ./ssh_host_ed25519_key.pub;
|
||||
|
||||
networking = {
|
||||
hostId = "60de4af8";
|
||||
firewall = {
|
||||
|
1
hosts/vps2/ssh_host_ed25519_key.pub
Normal file
1
hosts/vps2/ssh_host_ed25519_key.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG1Ee9QHeGSVpmruNaMdaycYyNdTXVRWpwUk1EBEM7UW
|
@@ -0,0 +1,9 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 mV4Rog gj6NT+DEVJbKeGArVcbzNphmMXoXFmVPHlo+zWuI1Ek
|
||||
Wt0saIoq6RnQR1jVLHI84JMDP0rCvc1kfjSQoSHly/4
|
||||
-> t-grease <a`) :34)]ad /J) =]!RB~HB
|
||||
m7JCE0PP2H9DkOdbj/dhZATaXfIoPmocKnGkYUXnjyo99nVMMy2FSmNdZyE0KGCR
|
||||
eVkIGwJbH3HNimXst62gIxvSrFQ4a4IcO1Cv8UaMK9UjGfy731BRpg
|
||||
--- bEP7E9Ajvw0pIWFF7+QakdFigo0B+0aa0ha9/Y/OADA
|
||||
Zrի<><D5AB>0/^<5E>2<18>B
|
||||
o<EFBFBD><EFBFBD><EFBFBD>@3<01><10>~qS<71><04><><EFBFBD><0E>H fa <09><>S<1E>0<EFBFBD><30><EFBFBD><EFBFBD>rv<><08><>B+<2B>
|
@@ -0,0 +1,8 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 3xQa4Q 3I7Mpt3/StzFpy8/egW+PleMsKV/YFsw1lpzt0057ns
|
||||
Plc2u/sza/Fga8lnCMj4rH8midPdaFP+FZ1J8+pwRP8
|
||||
-> .-grease !Yk9l62 H3@'J 9Klw
|
||||
2fJgCUF22ciTm8EfYemHjA1uN1jkVGLGfcTllU8m08Ya2fUPig7ZK4fNLV3ttMc4
|
||||
uLthrVZFo1HKF2wQSMeDq+ITZItvxHg2NFxqkWRCJv4
|
||||
--- r3Fao3CQxFocTu4+9/Nh0zcCvTYQWpmRQD112YiAIwU
|
||||
[<5B>XG<58><1F>ތ<EFBFBD><DE8C><EFBFBD><08>aFa<><61>K|<7C>' <0E><>dO<64>X<EFBFBD><1C><><EFBFBD><EFBFBD><EFBFBD>G<15>LH<4C><48><EFBFBD><18><>4<EFBFBD><34>
|
@@ -0,0 +1,9 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 5PDipg Eic12F37CNvDBqlFV17aMYXTS/eFKEd8SYfOvKV2CGY
|
||||
Co7whyv5vxJnlELVyIZJiNmj+hATpw1/QpK2t8CtcvE
|
||||
-> >e`c+0-grease D[m[ *0=DB?=
|
||||
uPUY90BUNR6Hm0F2Q0F+dXWkUOe4cLjrAvkcxaR79km0qMgJ/C7ribHeWpK3siOe
|
||||
2zz5YA
|
||||
--- XoQX1p09n36Cqyc0sEShbtcn4wbX68ULdGNrDzX5w04
|
||||
<1B><><EFBFBD>A<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>f<02><>(<28>=<3D><><EFBFBD>e<EFBFBD>u<EFBFBD><EFBFBD>z@<40>V.<2E>~<1D>_I<5F>#吤#2Q;9D<39>$e<>l<EFBFBD>H<EFBFBD><48>;
|
||||
<EFBFBD>`5<><35>
|
@@ -0,0 +1,8 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 jqV4bA 9vHES4DslQIplaJN4M+TnWzQxPwO0WOWnusIQxrQqh8
|
||||
oLran53jiS0hjirGdMD/akpaNCNvKY5M0+i/6ky5HNM
|
||||
-> 2ZC`)9-grease W G
|
||||
ZW4ghYvlO1xs0GHJldTD1ZdM+wXYQ4dNdZsg81dTE7VxIona+puaHU9MBq/v2+Sg
|
||||
qmqbacPFykJqeBG/uhJHYHgjbuHT8c0gTvWH3RCIQEPq
|
||||
--- fS6Rtw7zUkvtwfx1/GIHT40nzsmh5Nfj7/SG9svMXAQ
|
||||
k<EFBFBD>E8<EFBFBD>ρ<>E<>rh<><68>@<40>Z<EFBFBD>U9<55><39>n<EFBFBD><6E>tei<13><>W6Y<19>bjCĕ<43>P<01>.r<12><>˭<EFBFBD><CBAD><EFBFBD><EFBFBD><EFBFBD>>
|
@@ -0,0 +1,10 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 lOyIlA LfDvF0kXFmP4yGPz9A5uov9DbRfMeLniWQhgnYE3ZA0
|
||||
9GkGo/twG1cfOHZgRGAmAcfQlrgQ86QvgehbkleKyz0
|
||||
-> GEv|{-grease c)B+5+, \v$ piek
|
||||
hwIw75OzOhfdScMKrNZ5i+WWh5zcfMryQXdbz81yUkEjWm9P4UVOYee+zz4/PU+t
|
||||
6nEKEqvPf6RwBOzAlzx72Yi0l+onxh1CHOWRlfU
|
||||
--- dkZlSoaBUqLnMu25ocR0VwgPr190ZOmcMdxQ3KApFS0
|
||||
<1D><><ٲ<06><>}M9Gdh<64><68><EFBFBD><EFBFBD>0[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̮ȼa<7F>j<EFBFBD>g<1C><><EFBFBD>:J<><4A><14>$:^<5E><><EFBFBD>O<1A>e<EFBFBD><65>@<40><>o<EFBFBD><6F>1
|
||||
<1B>r]I><3E>t<EFBFBD>?<3F>X<06>Q<EFBFBD><15>ى<EFBFBD><D989>A<EFBFBD>r)ab <09><13><><EFBFBD>$8e<38><65><EFBFBD><EFBFBD>f<EFBFBD>ōz<02>7<EFBFBD><10><>lf)<29>|jl<6A>%<0F><>
|
||||
v-<2D><>!<21><><EFBFBD>(<28><>.qR<71><52><EFBFBD>*y<><06><><EFBFBD>X<EFBFBD>ٵ
|
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 lOyIlA ZQWnreUg4ob9RmEKNrdJKWGRCC1k0HWc8op8ycG5uXU
|
||||
U6SEQWo1DoLxclnhkXJy3D93nuijiD4kk9qjMk61Yis
|
||||
-> b(/|-grease
|
||||
CUalICYuF4P5Ipe5C6gdrw
|
||||
--- OmIGQ6VJYZcCIkTPapXNIMJswGczS/1bp8A+AeAj0yU
|
||||
<EFBFBD>M<13>l<EFBFBD>nY<6E>K-<2D><><EFBFBD>G<EFBFBD>^\<5C><><EFBFBD><EFBFBD>k(<14>Z<EFBFBD><5A><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD>$-=(<28><><EFBFBD><07><><EFBFBD><EFBFBD>H<EFBFBD><0E><>=4<><34>ً#<23>Y<01>7<EFBFBD><37><EFBFBD>tnݍg<DD8D>p>`<60><>E<EFBFBD>B$ <20><13>0<EFBFBD><30><EFBFBD><EFBFBD>8BWO<57><06>ُ)<29>(<28><>U<EFBFBD>"Ͻ<>54U<34>G<EFBFBD><47>oȥ?<18><>u<EFBFBD>A<EFBFBD><41>
|
||||
z`<60>d3Ij`<60>Ҁ<06>SK<53><01>}$<24><><EFBFBD><EFBFBD><03>8%<25><><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD><39><EFBFBD><EFBFBD><06>?1tZ<74>Av´+<2B><>J<EFBFBD><4A>ϝZ<CF9D>u<EFBFBD>ls<6C>kJ+-<2D>h<EFBFBD><68><EFBFBD><EFBFBD>
|
40
users/guest/common/optional/graphical/jellyfin.nix
Normal file
40
users/guest/common/optional/graphical/jellyfin.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
gamescope
|
||||
jellyfin-media-player
|
||||
];
|
||||
|
||||
home.persistence."/state".directories = [
|
||||
".cache/jellyfin.org"
|
||||
];
|
||||
|
||||
home.persistence."/persist".directories = [
|
||||
".config/jellyfin.org"
|
||||
".local/share/jellyfinmediaplayer"
|
||||
".local/share/Jellyfin Media Player"
|
||||
];
|
||||
|
||||
systemd.user.services.jellyfin-media-player = {
|
||||
Unit = {
|
||||
Description = "Jellyfin Media Player in Gamescope";
|
||||
After = [
|
||||
"graphical.target"
|
||||
"default.target"
|
||||
];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = ''
|
||||
${pkgs.gamescope}/bin/gamescope --hdr-enabled --rt --backend drm -- \
|
||||
${pkgs.jellyfin-media-player}/bin/jellyfinmediaplayer --scale-factor 2 --tv --fullscreen
|
||||
'';
|
||||
Restart = "always";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
};
|
||||
}
|
@@ -8,6 +8,13 @@
|
||||
steam
|
||||
];
|
||||
|
||||
home.persistence."/persist".directories = [
|
||||
".config/gamescope"
|
||||
".local/share/Steam"
|
||||
".local/share/vulkan"
|
||||
".steam"
|
||||
];
|
||||
|
||||
systemd.user.services.steam-big-picture = {
|
||||
Unit = {
|
||||
Description = "Steam Big Picture in Gamescope";
|
||||
@@ -23,8 +30,5 @@
|
||||
'';
|
||||
Restart = "always";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -27,6 +27,7 @@ in
|
||||
|
||||
home-manager.users.${name} = {
|
||||
imports = [
|
||||
./common/optional/graphical/jellyfin.nix
|
||||
./common/optional/graphical/steam.nix
|
||||
{
|
||||
home.persistence."/state" = {
|
||||
@@ -36,11 +37,7 @@ in
|
||||
};
|
||||
home.persistence."/persist" = {
|
||||
directories = [
|
||||
".config/gamescope"
|
||||
".local/share/icons"
|
||||
".local/share/Steam"
|
||||
".local/share/vulkan"
|
||||
".steam"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -48,7 +45,20 @@ in
|
||||
++ optional (builtins.pathExists hostFile) hostFile;
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
adwaita-fonts
|
||||
];
|
||||
username = name;
|
||||
sessionVariables = {
|
||||
ZDOTDIR = "~/.config/zsh";
|
||||
};
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
};
|
||||
|
||||
xdg.enable = true;
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
@@ -34,14 +35,80 @@
|
||||
providers.wl-copy.enable = true;
|
||||
};
|
||||
|
||||
plugins.cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings = {
|
||||
sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "path"; }
|
||||
{ name = "buffer"; }
|
||||
];
|
||||
mapping = {
|
||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
plugins.codecompanion = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
adapters = {
|
||||
http.opts.show_defaults = false;
|
||||
openwebui.__raw = ''
|
||||
function()
|
||||
return require("codecompanion.adapters").extend("openai_compatible", {
|
||||
name = "openwebui",
|
||||
formatted_name = "Open WebUI",
|
||||
opts = {
|
||||
stream = true,
|
||||
tools = true,
|
||||
vision = false,
|
||||
},
|
||||
url = "''${url}''${chat_endpoint}",
|
||||
env = {
|
||||
api_key = "cmd:cat ${osConfig.age.secrets.open-webui-api-key.path}",
|
||||
url = "https://chat.ai.vimium.com",
|
||||
chat_endpoint = "/api/chat/completions",
|
||||
models_endpoint = "/api/models",
|
||||
},
|
||||
headers = {
|
||||
["Content-Type"] = "application/json",
|
||||
Authorization = "Bearer ''${api_key}",
|
||||
},
|
||||
schema = {
|
||||
model = {
|
||||
default = "openai/gpt-5-chat",
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
'';
|
||||
};
|
||||
|
||||
strategies = {
|
||||
chat = {
|
||||
adapter = "openwebui";
|
||||
};
|
||||
inline = {
|
||||
adapter = "openwebui";
|
||||
};
|
||||
cmd = {
|
||||
adapter = "openwebui";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
plugins.comment.enable = true;
|
||||
|
||||
plugins.hmts.enable = true;
|
||||
|
||||
plugins.lightline.enable = true;
|
||||
|
||||
plugins.luasnip.enable = true;
|
||||
|
||||
plugins.lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
@@ -63,24 +130,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
plugins.nvim-autopairs.enable = true;
|
||||
plugins.luasnip.enable = true;
|
||||
|
||||
plugins.cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings = {
|
||||
sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "path"; }
|
||||
{ name = "buffer"; }
|
||||
];
|
||||
mapping = {
|
||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
};
|
||||
};
|
||||
};
|
||||
plugins.nvim-autopairs.enable = true;
|
||||
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
@@ -115,18 +167,41 @@
|
||||
|
||||
plugins.vim-surround.enable = true;
|
||||
|
||||
plugins.visual-multi.enable = true;
|
||||
|
||||
plugins.web-devicons.enable = true;
|
||||
|
||||
# plugins.gitsigns.enable = true;
|
||||
# plugins.gitgutter.enable = true;
|
||||
# plugins.goyo.enable = true;
|
||||
plugins.yazi.enable = true;
|
||||
|
||||
plugins.zen-mode.enable = true;
|
||||
|
||||
# plugins.actions-preview.enable = true;
|
||||
# plugins.aerial.enable = true;
|
||||
# plugins.arrow.enable = true;
|
||||
# plugins.blink.enable = true;
|
||||
# plugins.bufferline.enable = true;
|
||||
# plugins.fidget.enable = true;
|
||||
# plugins.flash.enable = true;
|
||||
# plugins.fugitive.enable = true;
|
||||
# plugins.fzf-lua.enable = true;
|
||||
# plugins.gitsigns.enable = true;
|
||||
# plugins.gitgutter.enable = true;
|
||||
# plugins.glance.enable = true;
|
||||
# plugins.hop.enable = true;
|
||||
# plugins.improved-search.enable = true;
|
||||
# plugins.goto-preview.enable = true;
|
||||
# plugins.kulala.enable = true;
|
||||
# plugins.neo-tree.enable = true;
|
||||
# plugins.none-ls.enable = true;
|
||||
# plugins.nvim-tree.enable = true;
|
||||
# plugins.nvim-dap.enable = true;
|
||||
# plugins.nvim-dbee.enable = true;
|
||||
# plugins.nvim-neoclip.enable = true;
|
||||
# plugins.oil.enable = true;
|
||||
# plugins.persisted.enable = true;
|
||||
# plugins.precognition.enable = true;
|
||||
# plugins.project-nvim.enable = true;
|
||||
# plugins.tardis.enable = true;
|
||||
# plugins.typescript-tools.enable = true;
|
||||
};
|
||||
|
||||
home.sessionVariables.EDITOR = "nvim";
|
||||
|
@@ -61,8 +61,8 @@ in
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
plugins = [
|
||||
pkgs.unstable.hyprlandPlugins.hyprbars
|
||||
pkgs.unstable.hyprlandPlugins.hypr-dynamic-cursors
|
||||
# pkgs.unstable.hyprlandPlugins.hyprbars
|
||||
# pkgs.unstable.hyprlandPlugins.hypr-dynamic-cursors
|
||||
];
|
||||
settings = {
|
||||
general = {
|
||||
@@ -77,7 +77,7 @@ in
|
||||
|
||||
plugin = {
|
||||
dynamic-cursors = {
|
||||
enabled = true;
|
||||
enabled = false;
|
||||
mode = "none";
|
||||
shake = {
|
||||
enabled = true;
|
||||
@@ -85,7 +85,7 @@ in
|
||||
};
|
||||
|
||||
hyprbars = {
|
||||
enabled = true;
|
||||
enabled = false;
|
||||
bar_height = 20;
|
||||
bar_blur = true;
|
||||
};
|
||||
|
@@ -3,7 +3,88 @@
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border-radius: 1em;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(118, 118, 118, 0.78) 0%,
|
||||
rgba(50, 50, 50, 0.78) 50%,
|
||||
rgba(0, 0, 0, 0.74) 50%,
|
||||
rgba(0, 0, 0, 0.76) 100%
|
||||
);
|
||||
border-top: 1px solid rgba(71, 71, 71, 0.90);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.97);
|
||||
box-shadow: inset 0px 1px 0px 0px rgba(158, 158, 158, 0.90);
|
||||
text-shadow: black 0px 0px 2px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
margin: 2px;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(255, 255, 255, 0.35) 0%,
|
||||
rgba(255, 255, 255, 0.11) 50%,
|
||||
rgba(255, 255, 255, 0) 50%
|
||||
);
|
||||
border: 1px solid rgba(0, 0, 0, 0.37);
|
||||
border-radius: 4px;
|
||||
box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.25);
|
||||
text-shadow: black 0px 0px 2px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background:
|
||||
linear-gradient(
|
||||
to bottom,
|
||||
rgba(255, 255, 255, 0.35) 0%,
|
||||
rgba(255, 255, 255, 0.17) 50%,
|
||||
rgba(255, 255, 255, 0) 50%
|
||||
),
|
||||
radial-gradient(
|
||||
ellipse 80% 80% at 50% 110%,
|
||||
rgba(44, 126, 204, 1) 0%,
|
||||
rgba(44, 126, 204, 0) 80%
|
||||
);
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(0, 0, 0, 0.40) 0%,
|
||||
rgba(0, 0, 0, 0.38) 50%,
|
||||
rgba(0, 0, 0, 0.55) 50%
|
||||
);
|
||||
box-shadow: inset 0px 1px 0px 0px rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
#workspaces button.active:hover {
|
||||
background:
|
||||
linear-gradient(
|
||||
to bottom,
|
||||
rgba(0, 0, 0, 0.40) 0%,
|
||||
rgba(0, 0, 0, 0.38) 50%,
|
||||
rgba(0, 0, 0, 0.55) 50%
|
||||
),
|
||||
radial-gradient(
|
||||
ellipse 80% 80% at 50% 120%,
|
||||
rgba(43, 143, 189, 1) 0%,
|
||||
rgba(43, 143, 189, 0) 80%
|
||||
);
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background:
|
||||
linear-gradient(
|
||||
to bottom,
|
||||
rgba(255, 255, 255, 0.35) 0%,
|
||||
rgba(255, 255, 255, 0.11) 50%,
|
||||
rgba(255, 255, 255, 0) 50%
|
||||
),
|
||||
radial-gradient(
|
||||
ellipse 80% 80% at 50% 100%,
|
||||
rgba(199, 128, 14, 1) 0%,
|
||||
rgba(170, 75, 12, 0) 100%
|
||||
);
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
|
@@ -8,9 +8,8 @@
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
position = "bottom";
|
||||
height = 30;
|
||||
margin = "10 20 0 20";
|
||||
spacing = 10;
|
||||
|
||||
modules-left = [
|
||||
|
@@ -174,6 +174,7 @@ in
|
||||
mcfly.enable = true;
|
||||
navi.enable = true;
|
||||
nix-index.enable = true;
|
||||
yazi.enable = true;
|
||||
};
|
||||
|
||||
home.persistence."/persist" = {
|
||||
@@ -192,7 +193,6 @@ in
|
||||
jq
|
||||
ncdu
|
||||
nix-zsh-completions
|
||||
nnn
|
||||
ripgrep
|
||||
];
|
||||
}
|
||||
|
@@ -15,6 +15,11 @@ in
|
||||
{
|
||||
age.secrets."passwords/users/jordan".file = "${inputs.secrets}/passwords/users/jordan.age";
|
||||
|
||||
age.secrets.open-webui-api-key = {
|
||||
rekeyFile = ./secrets/open-webui-api-key.age;
|
||||
owner = "jordan";
|
||||
};
|
||||
|
||||
users.users.${name} = {
|
||||
description = "Jordan Holt";
|
||||
extraGroups = [
|
||||
|
7
users/jordan/secrets/open-webui-api-key.age
Normal file
7
users/jordan/secrets/open-webui-api-key.age
Normal file
@@ -0,0 +1,7 @@
|
||||
age-encryption.org/v1
|
||||
-> piv-p256 a1N2XA AnYGGZaNhtGzK2rbiM3Nfom6xfUq5qTv7fUMDVl1jb+J
|
||||
gu1Rpzq2gIB6uopM3tNl3CAb0Xyweu8DA61Unku56m0
|
||||
-> x]n-grease R"L{e% Q(Dh['$p ,KZz C
|
||||
JKGsU9abzhI9Qly1rrkbXqYl947wcA
|
||||
--- jZDJChrb2qWPWvG0aFUDNOJGx+fowthXvwyuMI77drI
|
||||
Ѐ6{_<><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><5F> <20><><EFBFBD>S<EFBFBD> Dž<><C785><EFBFBD>+<2B><>!<21><><><7F>A<EFBFBD><41><19>ܠ<EFBFBD>A<EFBFBD>y<EFBFBD>
|
Reference in New Issue
Block a user