Compare commits
90 Commits
refactor
...
dd79f25336
| Author | SHA1 | Date | |
|---|---|---|---|
|
dd79f25336
|
|||
|
929fa949b2
|
|||
|
fd5bd6a88d
|
|||
|
6a34b81910
|
|||
|
8d27f5e73d
|
|||
|
d2abc23417
|
|||
|
263d10dbdd
|
|||
|
406cb190e9
|
|||
|
f4b8db1022
|
|||
|
ea282c6237
|
|||
|
0f3a2e0e52
|
|||
|
aaaa3f108f
|
|||
|
0b566c81be
|
|||
|
183a280402
|
|||
|
eae9aa6d62
|
|||
|
5ddf51f572
|
|||
|
1787103cec
|
|||
|
a6c6cb699a
|
|||
|
d83a55d62d
|
|||
|
1405ee7eee
|
|||
|
66cdd05f41
|
|||
|
b05a692b47
|
|||
|
e5db869b82
|
|||
|
cb84afaaec
|
|||
|
05b0762421
|
|||
|
0a1e17995f
|
|||
|
dba8ac1eb0
|
|||
|
dce3035653
|
|||
|
9f8e15d135
|
|||
|
d5f3aa3885
|
|||
|
0a775adbdc
|
|||
|
8459516c95
|
|||
|
d16898adf8
|
|||
|
d518e9ffe4
|
|||
|
4882bca4c9
|
|||
|
3cb4ae7c50
|
|||
|
904e5a88c6
|
|||
|
430858fb11
|
|||
|
4fec51506d
|
|||
|
1a76923e77
|
|||
|
19487f6b79
|
|||
|
daee0533d5
|
|||
|
3484124ab4
|
|||
|
c89ea890d1
|
|||
|
9b22d5c1ba
|
|||
|
801468970b
|
|||
|
f30860cb34
|
|||
|
d754a5b1d5
|
|||
|
8352d5c0ba
|
|||
|
0cc0c7003a
|
|||
|
939f5d9433
|
|||
|
2cab296188
|
|||
|
9751a6bf52
|
|||
|
5c7d579c44
|
|||
|
998c9aa54d
|
|||
|
8c59339b50
|
|||
|
8617ddbd3a
|
|||
|
b4c7b1762b
|
|||
|
a119ae47f0
|
|||
|
60118fc7f7
|
|||
|
64a5c3e34f
|
|||
|
a5886eb6d0
|
|||
|
ca8c0c8a17
|
|||
|
1d4a80ff86
|
|||
|
e32635ebb7
|
|||
|
964379114f
|
|||
|
6b5f86c9ab
|
|||
|
d7c142e2ab
|
|||
|
90201b355c
|
|||
|
2ee496c5e9
|
|||
|
a901a661f9
|
|||
|
3500f3d3a8
|
|||
|
7fe7eeabf9
|
|||
|
b952606f1f
|
|||
|
2e7b1499cb
|
|||
|
8b07092084
|
|||
|
c8b76b289a
|
|||
|
54aeb48839
|
|||
|
5824207566
|
|||
|
9d795ae38e
|
|||
|
2b30c68a54
|
|||
|
cb7412e749
|
|||
|
e8f6f4e96f
|
|||
|
40fdd49224
|
|||
|
b1cf3d2399
|
|||
|
01091ff377
|
|||
|
b20dc93d47
|
|||
|
fa914bce1d
|
|||
|
9f9d8e3a3b
|
|||
|
e02e66a4bb
|
@@ -47,6 +47,10 @@
|
||||
mountpoint = "/nix";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@opt" = {
|
||||
mountpoint = "/opt";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@snapshots" = {
|
||||
mountpoint = "/mnt";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
|
||||
11
disko/mount.sh
Normal file
11
disko/mount.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
disk="/dev/vda"
|
||||
mountpoint="/mnt"
|
||||
|
||||
mount $disk $mountpoint -o compress=zstd,noatime,ssd,space_cache=v2,subvol=@
|
||||
mount $disk $mountpoint/home -o compress=zstd,noatime,ssd,space_cache=v2,subvol=@home
|
||||
mount $disk $mountpoint/var -o compress=zstd,noatime,ssd,space_cache=v2,subvol=@var
|
||||
mount $disk $mountpoint/srv -o compress=zstd,noatime,ssd,space_cache=v2,subvol=@srv
|
||||
mount $disk $mountpoint/nix -o compress=zstd,noatime,ssd,space_cache=v2,subvol=@nix
|
||||
mount $disk $mountpoint/swap -o compress=zstd,noatime,ssd,space_cache=v2,subvol=@swap
|
||||
412
flake.lock
generated
412
flake.lock
generated
@@ -10,11 +10,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715290355,
|
||||
"narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
|
||||
"lastModified": 1723293904,
|
||||
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
|
||||
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -31,11 +31,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711299236,
|
||||
"narHash": "sha256-6/JsyozOMKN8LUGqWMopKTSiK8N79T8Q+hcxu2KkTXg=",
|
||||
"lastModified": 1721842668,
|
||||
"narHash": "sha256-k3oiD2z2AAwBFLa4+xfU+7G5fisRXfkvrMTCJrjZzXo=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "880573f80d09e18a11713f402b9e6172a085449f",
|
||||
"rev": "529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -66,28 +66,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713532798,
|
||||
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -104,36 +82,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"revCount": 57,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -142,11 +90,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709336216,
|
||||
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
|
||||
"lastModified": 1719994518,
|
||||
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
|
||||
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -155,42 +103,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715865404,
|
||||
"narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-root": {
|
||||
"locked": {
|
||||
"lastModified": 1713493429,
|
||||
"narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=",
|
||||
"owner": "srid",
|
||||
"repo": "flake-root",
|
||||
"rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "srid",
|
||||
"repo": "flake-root",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
@@ -209,42 +121,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -267,28 +143,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -317,11 +171,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715930644,
|
||||
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
|
||||
"lastModified": 1727383923,
|
||||
"narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
|
||||
"rev": "ffe2d07e771580a005e675108212597e5b367d2d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -337,48 +191,27 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715381426,
|
||||
"narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=",
|
||||
"lastModified": 1726989464,
|
||||
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-23.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715930644,
|
||||
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
|
||||
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1708968331,
|
||||
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
|
||||
"lastModified": 1727649413,
|
||||
"narHash": "sha256-FA53of86DjFdeQzRDVtvgWF9o52rWK70VHGx0Y8fElQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
|
||||
"rev": "d0b38e550039a72aff896ee65b0918e975e6d48e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -395,11 +228,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716107076,
|
||||
"narHash": "sha256-aB15oIMUv6N/UFsLHzgcGRUvU4YfOjE3gEirIP/k82s=",
|
||||
"lastModified": 1727453186,
|
||||
"narHash": "sha256-nZRCfVEZ9osWXsCD0xCpU66M8JkabMTukBzPRrD/CTA=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "e8de93b7b4c384650977a20c1f192e23c6e7a12f",
|
||||
"rev": "3390ff2632d0d8a14c92473db60fa52bf881f979",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -413,7 +246,6 @@
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
@@ -421,11 +253,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713369831,
|
||||
"narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=",
|
||||
"lastModified": 1725379389,
|
||||
"narHash": "sha256-qS1H/5/20ewJIXmf8FN2A5KTOKKU9elWvCPwdBi1P/U=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lanzaboote",
|
||||
"rev": "850f27322239f8cfa56b122cc9a278ab99a49015",
|
||||
"rev": "e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -437,18 +269,18 @@
|
||||
},
|
||||
"microvm": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"spectrum": "spectrum"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715787097,
|
||||
"narHash": "sha256-TPp2j0ttvBvkk4oXidvo8Y071zEab0BtcNsC3ZEkluI=",
|
||||
"lastModified": 1727444402,
|
||||
"narHash": "sha256-IhKB3RPTrblfiq6DW9MiGrS0ULcn/0qWtlefL+Gfg0o=",
|
||||
"owner": "astro",
|
||||
"repo": "microvm.nix",
|
||||
"rev": "fa673bf8656fe6f28253b83971a36999bc9995d2",
|
||||
"rev": "04f643d06b6f3f79cb289a8c94f051b012e1750e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -457,27 +289,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715901937,
|
||||
"narHash": "sha256-eMyvWP56ZOdraC2IOvZo0/RTDcrrsqJ0oJWDC76JTak=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "ffc01182f90118119930bdfc528c1ee9a39ecef8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -502,11 +313,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1716034089,
|
||||
"narHash": "sha256-QBfab6V4TeQ6Y4NiXVrEATdQuhCNFNaXt/L1K/Zw+zc=",
|
||||
"lastModified": 1727665282,
|
||||
"narHash": "sha256-oKtfbQB1MBypqIyzkC8QCQcVGOa1soaXaGgcBIoh14o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "b55712de78725c8fcde422ee0a0fe682046e73c3",
|
||||
"rev": "11c43c830e533dad1be527ecce379fcf994fbbb5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -518,43 +329,43 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1716061101,
|
||||
"narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=",
|
||||
"lastModified": 1727540905,
|
||||
"narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2",
|
||||
"rev": "fbca5e745367ae7632731639de5c21f29c8744ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1710695816,
|
||||
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
||||
"lastModified": 1720386169,
|
||||
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
||||
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1715961556,
|
||||
"narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=",
|
||||
"lastModified": 1727634051,
|
||||
"narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64",
|
||||
"rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -564,71 +375,12 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-root": "flake-root",
|
||||
"home-manager": "home-manager_3",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716125991,
|
||||
"narHash": "sha256-PmB9vmp383foiVi64RawbnkC+6SiYiWUjdzw2xgl3eM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "88ade1dfaa017499326103a078c66dd5d4d0606e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715870890,
|
||||
"narHash": "sha256-nacSOeXtUEM77Gn0G4bTdEOeFIrkCBXiyyFZtdGwuH0=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "fa606cccd7b0ccebe2880051208e4a0f61bfc8c1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks-nix": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"lanzaboote",
|
||||
"flake-compat"
|
||||
],
|
||||
"flake-utils": [
|
||||
"lanzaboote",
|
||||
"flake-utils"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
@@ -637,11 +389,11 @@
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710923068,
|
||||
"narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=",
|
||||
"lastModified": 1721042469,
|
||||
"narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "e611897ddfdde3ed3eaac4758635d7177ff78673",
|
||||
"rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -661,27 +413,22 @@
|
||||
"microvm": "microvm",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nixvim": "nixvim"
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"lanzaboote",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711246447,
|
||||
"narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=",
|
||||
"lastModified": 1722219664,
|
||||
"narHash": "sha256-xMOJ+HW4yj6e69PvieohUJ3dBSdgCfvI0nnCEe6/yVc=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4",
|
||||
"rev": "a6fbda5d9a14fb5f7c69b8489d24afeb349c7bb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -693,11 +440,11 @@
|
||||
"spectrum": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1708358594,
|
||||
"narHash": "sha256-e71YOotu2FYA67HoC/voJDTFsiPpZNRwmiQb4f94OxQ=",
|
||||
"lastModified": 1720264467,
|
||||
"narHash": "sha256-xzM92n3Q9L90faJIJrkrTtTx+JqCGRHMkHWztkV4PuY=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "6d0e73864d28794cdbd26ab7b37259ab0e1e044c",
|
||||
"revCount": 614,
|
||||
"rev": "fb59d42542049f586c84b0f8bb86ff3be338e9d3",
|
||||
"revCount": 674,
|
||||
"type": "git",
|
||||
"url": "https://spectrum-os.org/git/spectrum"
|
||||
},
|
||||
@@ -735,57 +482,6 @@
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"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": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715940852,
|
||||
"narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "2fba33a182602b9d49f0b2440513e5ee091d838b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
45
flake.nix
45
flake.nix
@@ -12,7 +12,7 @@
|
||||
inputs = # All flake references used to build my NixOS setup. These are dependencies.
|
||||
{
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; # Nix Packages
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
|
||||
microvm = {
|
||||
@@ -23,7 +23,7 @@
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
|
||||
home-manager = { # User Package Management
|
||||
url = "github:nix-community/home-manager/release-23.11";
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@@ -47,28 +47,29 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, nixvim, ... }: # Function that tells my flake which to use and what do what to do with the dependencies.
|
||||
let # Variables that can be used in the config files
|
||||
user = "kabbone";
|
||||
userdmz = "diablo";
|
||||
userserver = "mephisto";
|
||||
location = "$HOME/.setup";
|
||||
in # Use above variables in ...
|
||||
{
|
||||
nixosConfigurations = ( # NixOS configurations
|
||||
import ./hosts { # Imports ./hosts/default.nix
|
||||
inherit (nixpkgs) lib;
|
||||
inherit inputs nixpkgs nixpkgs-unstable nixos-hardware home-manager home-manager-unstable user userdmz userserver location agenix jovian-nixos microvm impermanence lanzaboote nixvim; # Also inherit home-manager so it does not need to be defined here.
|
||||
nix.allowedUsers = [ "@wheel" ];
|
||||
security.sudo.execWheelOnly = true;
|
||||
}
|
||||
);
|
||||
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, ... }: # Function that tells my flake which to use and what do what to do with the dependencies.
|
||||
rec {
|
||||
nixosConfigurations = ( # NixOS configurations
|
||||
import ./hosts { # Imports ./hosts/default.nix
|
||||
inherit (nixpkgs) lib;
|
||||
inherit inputs nixpkgs nixpkgs-unstable nixos-hardware home-manager home-manager-unstable agenix jovian-nixos microvm impermanence lanzaboote; # Also inherit home-manager so it does not need to be defined here.
|
||||
nix.allowedUsers = [ "@wheel" ];
|
||||
security.sudo.execWheelOnly = true;
|
||||
}
|
||||
);
|
||||
hydraJobs = {
|
||||
"steamdeck" = nixosConfigurations.steamdeck.config.system.build.toplevel;
|
||||
"hades" = nixosConfigurations.hades.config.system.build.toplevel;
|
||||
"nasbak" = nixosConfigurations.nasbak.config.system.build.toplevel;
|
||||
"jupiter" = nixosConfigurations.jupiter.config.system.build.toplevel;
|
||||
"lifebook" = nixosConfigurations.lifebook.config.system.build.toplevel;
|
||||
"nbf5" = nixosConfigurations.nbf5.config.system.build.toplevel;
|
||||
"kabtop" = nixosConfigurations.kabtop.config.system.build.toplevel;
|
||||
"dmz" = nixosConfigurations.dmz.config.system.build.toplevel;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -58,12 +58,12 @@
|
||||
# };
|
||||
};
|
||||
|
||||
sound = { # ALSA sound enable
|
||||
#enable = true;
|
||||
mediaKeys = { # Keyboard Media Keys (for minimal desktop) enable = true;
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
#sound = { # ALSA sound enable
|
||||
# #enable = true;
|
||||
# mediaKeys = { # Keyboard Media Keys (for minimal desktop) enable = true;
|
||||
# enable = true;
|
||||
# };
|
||||
#};
|
||||
|
||||
fonts.packages = with pkgs; [ # Fonts
|
||||
carlito # NixOS
|
||||
@@ -95,6 +95,7 @@
|
||||
pciutils
|
||||
usbutils
|
||||
wget
|
||||
file
|
||||
powertop
|
||||
cpufrequtils
|
||||
lm_sensors
|
||||
@@ -108,7 +109,7 @@
|
||||
age-plugin-yubikey
|
||||
pwgen
|
||||
cryptsetup
|
||||
powerline
|
||||
python311Packages.powerline
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
tree
|
||||
@@ -116,6 +117,8 @@
|
||||
linuxPackages_latest.cpupower
|
||||
btop
|
||||
sbctl
|
||||
ausweisapp
|
||||
e2fsprogs
|
||||
];
|
||||
};
|
||||
|
||||
@@ -131,23 +134,13 @@
|
||||
};
|
||||
openssh = { # SSH: secure shell (remote connection to shell of server)
|
||||
enable = true; # local: $ ssh <user>@<ip>
|
||||
# public:
|
||||
# - port forward 22 TCP to server
|
||||
# - in case you want to use the domain name insted of the ip:
|
||||
# - for me, via cloudflare, create an A record with name "ssh" to the correct ip without proxy
|
||||
# - connect via ssh <user>@<ip or ssh.domain>
|
||||
# generating a key:
|
||||
# - $ ssh-keygen | ssh-copy-id <ip/domain> | ssh-add
|
||||
# - if ssh-add does not work: $ eval `ssh-agent -s`
|
||||
# allowSFTP = true; # SFTP: secure file transfer protocol (send file to server)
|
||||
# connect: $ sftp <user>@<ip/domain>
|
||||
# commands:
|
||||
# - lpwd & pwd = print (local) parent working directory
|
||||
# - put/get <filename> = send or receive file
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
PermitRootLogin = "no";
|
||||
};
|
||||
# extraConfig = ''
|
||||
# HostKeyAlgorithms +ssh-rsa
|
||||
# ''; # Temporary extra config so ssh will work in guacamole
|
||||
settings.PasswordAuthentication = false;
|
||||
};
|
||||
pcscd.enable = true;
|
||||
yubikey-agent.enable = true;
|
||||
@@ -162,6 +155,17 @@
|
||||
fwupd.enable = true;
|
||||
};
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
zsh.enable = true;
|
||||
dconf.enable = true;
|
||||
ssh = {
|
||||
startAgent = true;
|
||||
agentTimeout = "1h";
|
||||
askPassword = "${pkgs.lxqt.lxqt-openssh-askpass}/bin/lxqt-openssh-askpass";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
#xdg.portal = { # Required for flatpak
|
||||
# enable = true;
|
||||
# extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
@@ -185,7 +189,7 @@
|
||||
|
||||
system = { # NixOS settings
|
||||
autoUpgrade = { # Allow auto update
|
||||
enable = true;
|
||||
enable = false;
|
||||
flake = "git+https://git.kabtop.de/Kabbone/nixos-config";
|
||||
randomizedDelaySec = "5m";
|
||||
allowReboot = true;
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
{ config, lib, pkgs, inputs, user, location, agenix, ... }:
|
||||
|
||||
{
|
||||
|
||||
|
||||
imports = # Import window or display manager.
|
||||
[
|
||||
#../modules/editors/nvim # ! Comment this out on first install !
|
||||
@@ -49,19 +47,22 @@
|
||||
keyMap = "us"; # or us/azerty/etc
|
||||
};
|
||||
|
||||
security.rtkit.enable = true;
|
||||
security.pki.certificateFiles = [
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
pki.certificateFiles = [
|
||||
./rootCA.pem
|
||||
];
|
||||
];
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [ # Fonts
|
||||
carlito # NixOS
|
||||
vegur # NixOS
|
||||
source-code-pro
|
||||
cascadia-code
|
||||
font-awesome # Icons
|
||||
hack-font
|
||||
corefonts # MS
|
||||
intel-one-mono
|
||||
cascadia-code
|
||||
(nerdfonts.override { # Nerdfont Icons override
|
||||
fonts = [
|
||||
"FiraCode"
|
||||
@@ -74,6 +75,7 @@
|
||||
TERMINAL = "alacritty";
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
BROWSER = "firefox";
|
||||
};
|
||||
systemPackages = with pkgs; [ # Default packages install system-wide
|
||||
vim
|
||||
@@ -90,13 +92,15 @@
|
||||
agenix.packages.x86_64-linux.default
|
||||
ffmpeg
|
||||
smartmontools
|
||||
powerline
|
||||
cryptsetup
|
||||
python311Packages.powerline
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
tree
|
||||
direnv
|
||||
linuxPackages_latest.cpupower
|
||||
btop
|
||||
htop
|
||||
direnv
|
||||
];
|
||||
};
|
||||
|
||||
@@ -132,6 +136,9 @@
|
||||
'';
|
||||
};
|
||||
nixpkgs.config.allowUnfree = true; # Allow proprietary software.
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"olm-3.2.16"
|
||||
];
|
||||
|
||||
system = { # NixOS settings
|
||||
autoUpgrade = { # Allow auto update
|
||||
|
||||
@@ -11,9 +11,14 @@
|
||||
# └─ ./home.nix
|
||||
#
|
||||
|
||||
{ lib, inputs, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, user, userdmz, userserver, location, agenix, jovian-nixos, microvm, impermanence, lanzaboote, nixvim, ... }:
|
||||
{ lib, inputs, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, ... }:
|
||||
|
||||
let
|
||||
user = "kabbone";
|
||||
userdmz = "diablo";
|
||||
userserver = "mephisto";
|
||||
location = "$HOME/.setup";
|
||||
|
||||
system = "x86_64-linux"; # System architecture
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
@@ -26,16 +31,16 @@ let
|
||||
|
||||
in
|
||||
{
|
||||
desktop = lib.nixosSystem { # Desktop profile
|
||||
hades = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix microvm nixpkgs lanzaboote nixvim; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix microvm nixpkgs lanzaboote; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
microvm.nixosModules.host
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
#nixvim.nixosModules.nixvim
|
||||
./desktop
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
../modules/hardware/remoteBuilder.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-gpu-amd
|
||||
@@ -53,16 +58,16 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
laptop = lib.nixosSystem { # Laptop profile
|
||||
lifebook = lib.nixosSystem { # Laptop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix lanzaboote; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
./laptop
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
./lifebook
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-gpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
@@ -70,7 +75,29 @@ in
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home.nix)] ++ [(import ./laptop/home.nix)];
|
||||
imports = [(import ./home.nix)] ++ [(import ./lifebook/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
nbf5 = lib.nixosSystem { # Laptop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
./nbf5
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home.nix)] ++ [(import ./nbf5/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
@@ -85,10 +112,7 @@ in
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
./steamdeck
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-gpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
../modules/hardware/hydraCache.nix
|
||||
|
||||
home-manager-unstable.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
@@ -109,6 +133,7 @@ in
|
||||
microvm.nixosModules.host
|
||||
./server
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
@@ -131,6 +156,7 @@ in
|
||||
microvm.nixosModules.host
|
||||
./kabtop
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
@@ -151,8 +177,8 @@ in
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
./nasbackup
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
@@ -173,8 +199,8 @@ in
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
./jupiter
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
@@ -189,6 +215,28 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
kabtopci = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
microvm.nixosModules.host
|
||||
./kabtopci
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./kabtopci/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
dmz = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
@@ -197,6 +245,7 @@ in
|
||||
microvm.nixosModules.host
|
||||
./dmz
|
||||
./configuration_server.nix
|
||||
../modules/hardware/hydraCache.nix
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
# └─ default.nix
|
||||
#
|
||||
|
||||
{ config, nixpkgs, pkgs, user, lib, nixvim, ... }:
|
||||
{ config, nixpkgs, pkgs, user, lib, ... }:
|
||||
|
||||
{
|
||||
imports = # For now, if applying to other system, swap files
|
||||
@@ -61,17 +61,6 @@
|
||||
# ];
|
||||
# };
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
zsh.enable = true;
|
||||
dconf.enable = true;
|
||||
ssh.startAgent = false;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
#auto-cpufreq.enable = true;
|
||||
blueman.enable = true;
|
||||
@@ -79,15 +68,15 @@
|
||||
enable = true;
|
||||
drivers = [ pkgs.gutenprint ];
|
||||
};
|
||||
#avahi = { # Needed to find wireless printer
|
||||
# enable = true;
|
||||
# nssmdns = true;
|
||||
# publish = { # Needed for detecting the scanner
|
||||
# enable = true;
|
||||
# addresses = true;
|
||||
# userServices = true;
|
||||
# };
|
||||
#};
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
userServices = true;
|
||||
};
|
||||
};
|
||||
hardware.openrgb = {
|
||||
enable = true;
|
||||
motherboard = "amd";
|
||||
@@ -95,9 +84,4 @@
|
||||
|
||||
};
|
||||
|
||||
#temporary bluetooth fix
|
||||
# systemd.tmpfiles.rules = [
|
||||
# "d /var/lib/bluetooth 700 root root - -"
|
||||
# ];
|
||||
# systemd.targets."bluetooth".after = ["systemd-tmpfiles-setup.service"];
|
||||
}
|
||||
|
||||
@@ -121,13 +121,18 @@
|
||||
networkmanager = {
|
||||
enable = false;
|
||||
};
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedUDPPorts = [ 24727 ];
|
||||
allowedTCPPorts = [ 24727 ];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks = {
|
||||
"10-lan" = {
|
||||
matchConfig.Name = "enp34s0";
|
||||
matchConfig.Name = "eno1";
|
||||
ntp = [ "192.168.2.1" ];
|
||||
domains = [ "home.opel-online.de" ];
|
||||
networkConfig = {
|
||||
|
||||
@@ -31,12 +31,11 @@
|
||||
streamlink
|
||||
streamlink-twitch-gui-bin
|
||||
element-desktop
|
||||
nheko
|
||||
#nheko
|
||||
pulsemixer
|
||||
#yubioath-flutter
|
||||
nitrokey-app
|
||||
kicad
|
||||
yuzu-mainline
|
||||
|
||||
# Display
|
||||
#light # xorg.xbacklight not supported. Other option is just use xrandr.
|
||||
|
||||
@@ -24,8 +24,7 @@
|
||||
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
||||
[(import ../../modules/wm/virtualisation/docker.nix)] ++ # Docker
|
||||
[(import ../../modules/wm/virtualisation/kvm-intel.nix)] ++ # Docker
|
||||
(import ../../modules/services/dmz) ++ # Server Services
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
(import ../../modules/services/dmz); # Server Services
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
@@ -48,7 +47,7 @@
|
||||
qemuGuest.enable = true;
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
nssmdns4 = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
|
||||
@@ -83,11 +83,14 @@
|
||||
"10-lan" = {
|
||||
matchConfig.Name = "enp6s18";
|
||||
ntp = [ "192.168.101.1" ];
|
||||
domains = [ "home.opel-online.de" ];
|
||||
#domains = [ "home.opel-online.de" ];
|
||||
networkConfig = {
|
||||
DHCP = "yes";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
dns = [
|
||||
"192.168.101.1"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -97,7 +100,7 @@
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedUDPPorts = [ ];
|
||||
allowedTCPPorts = [ ];
|
||||
allowedTCPPorts = [ 80 443 ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
|
||||
# VideAudio
|
||||
mpv # Media Player
|
||||
youtube-dl
|
||||
|
||||
# Apps
|
||||
galculator
|
||||
@@ -73,14 +72,17 @@
|
||||
rsync # Syncer $ rsync -r dir1/ dir2/
|
||||
unzip # Zip files
|
||||
unrar # Rar files
|
||||
papirus-icon-theme
|
||||
epapirus-icon-theme
|
||||
arc-theme
|
||||
|
||||
# Genel configuration
|
||||
# General configuration
|
||||
keepassxc
|
||||
libreoffice
|
||||
gimp
|
||||
|
||||
# Flatpak
|
||||
prusa-slicer
|
||||
orca-slicer
|
||||
#vscodium
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
@@ -95,6 +97,9 @@
|
||||
|
||||
];
|
||||
})
|
||||
|
||||
sdkmanager
|
||||
android-tools
|
||||
];
|
||||
file.".config/wall".source = ../modules/themes/wall.jpg;
|
||||
file.".config/lockwall".source = ../modules/themes/lockwall.jpg;
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
gnupg.agent = {
|
||||
enable = false;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
qemuGuest.enable = true;
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
nssmdns4 = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
|
||||
@@ -188,35 +188,24 @@
|
||||
|
||||
swapDevices = [ { device = "/swap/swapfile"; } ];
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks = {
|
||||
"10-lan" = {
|
||||
matchConfig.Name = "enp6s18";
|
||||
ntp = [ "192.168.2.1" ];
|
||||
#domains = [ "home.opel-online.de" ];
|
||||
networkConfig = {
|
||||
DHCP = "yes";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
networking = {
|
||||
hostName = "jupiter";
|
||||
domain = "home.opel-online.de";
|
||||
networkmanager = {
|
||||
enable = false;
|
||||
};
|
||||
timeServers = [
|
||||
"192.168.2.1"
|
||||
];
|
||||
interfaces = {
|
||||
enp6s18 = {
|
||||
useDHCP = true; # For versatility sake, manually edit IP on nm-applet.
|
||||
# ipv4.addresses = [ {
|
||||
# address = "45.142.114.153";
|
||||
# prefixLength = 24;
|
||||
# } ];
|
||||
# ipv6.addresses = [ {
|
||||
# address = "2a00:ccc1:101:19D::2";
|
||||
# prefixLength = 64;
|
||||
# } ];
|
||||
# };
|
||||
};
|
||||
};
|
||||
# defaultGateway = "45.142.114.1";
|
||||
defaultGateway6 = {
|
||||
address = "fe80::1";
|
||||
interface = "enp6s18";
|
||||
};
|
||||
# nameservers = [ "9.9.9.9" "2620:fe::fe" ];
|
||||
useDHCP = false; # For versatility sake, manually edit IP on nm-applet.
|
||||
#firewall = {
|
||||
# enable = false;
|
||||
# #allowedUDPPorts = [ 53 67 ];
|
||||
@@ -228,7 +217,7 @@
|
||||
powerManagement = {
|
||||
cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
powertop.enable = true;
|
||||
scsiLinkPolicy = "med_power_with_dipm";
|
||||
#scsiLinkPolicy = "med_power_with_dipm";
|
||||
powerUpCommands = ''
|
||||
${pkgs.hdparm}/sbin/hdparm -S 150 /dev/disk/by-uuid/57e6446d-faca-4b67-9063-e8d9afb80088
|
||||
'';
|
||||
|
||||
@@ -24,8 +24,7 @@
|
||||
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
||||
[(import ../../modules/wm/virtualisation/docker.nix)] ++ # Docker
|
||||
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
|
||||
(import ../../modules/services/server) ++ # Server Services
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
(import ../../modules/services/server); # Server Services
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
@@ -62,22 +61,22 @@
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
#auto-cpufreq.enable = true;
|
||||
qemuGuest.enable = true;
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
userServices = true;
|
||||
};
|
||||
};
|
||||
#avahi = { # Needed to find wireless printer
|
||||
# enable = true;
|
||||
# nssmdns = true;
|
||||
# publish = { # Needed for detecting the scanner
|
||||
# enable = true;
|
||||
# addresses = true;
|
||||
# userServices = true;
|
||||
# };
|
||||
#};
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
maxretry = 5;
|
||||
|
||||
45
hosts/kabtopci/default.nix
Normal file
45
hosts/kabtopci/default.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
#
|
||||
# Specific system configuration settings for desktop
|
||||
#
|
||||
# flake.nix
|
||||
# ├─ ./hosts
|
||||
# │ └─ ./laptop
|
||||
# │ ├─ default.nix *
|
||||
# │ └─ hardware-configuration.nix
|
||||
# └─ ./modules
|
||||
# ├─ ./desktop
|
||||
# │ └─ ./hyprland
|
||||
# │ └─ hyprland.nix
|
||||
# ├─ ./modules
|
||||
# │ └─ ./programs
|
||||
# │ └─ waybar.nix
|
||||
# └─ ./hardware
|
||||
# └─ default.nix
|
||||
#
|
||||
|
||||
{ config, pkgs, user, agenix, impermanence, ... }:
|
||||
|
||||
{
|
||||
imports = # For now, if applying to other system, swap files
|
||||
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
||||
[(import ../../modules/wm/virtualisation/docker.nix)] ++ # Docker
|
||||
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # Docker
|
||||
(import ../../modules/services/kabtopci); # Server Services
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
loader = { # EFI Boot
|
||||
grub = {
|
||||
enable = true;
|
||||
device = "/dev/vda";
|
||||
};
|
||||
timeout = 1; # Grub auto select time
|
||||
};
|
||||
};
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
}
|
||||
108
hosts/kabtopci/hardware-configuration.nix
Normal file
108
hosts/kabtopci/hardware-configuration.nix
Normal file
@@ -0,0 +1,108 @@
|
||||
#
|
||||
# Hardware settings for Teclast F5 10" Laptop
|
||||
# NixOS @ sda2
|
||||
#
|
||||
# flake.nix
|
||||
# └─ ./hosts
|
||||
# └─ ./laptop
|
||||
# └─ hardware-configuration.nix *
|
||||
#
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ata_piix" "virtio_pci" "virtio_scsi" "xhci_pci" "sr_mod" "virtio_blk" ];
|
||||
boot.initrd.kernelModules = [ "vfio_pci" "vfio" "vfio_iommu_type1" ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.tmp.useTmpfs = false;
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
zramSwap.enable = true;
|
||||
|
||||
services.btrfs.autoScrub = {
|
||||
enable = true;
|
||||
interval = "monthly";
|
||||
fileSystems = [
|
||||
"/"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/srv" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/var" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2,ssd,noatime,subvol=@var,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:9,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/swap" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@swap,discard=async" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
networking = {
|
||||
useDHCP = false; # Deprecated
|
||||
hostName = "kabtopci";
|
||||
domain = "ci.kabtop.de";
|
||||
networkmanager = {
|
||||
enable = false;
|
||||
};
|
||||
interfaces = {
|
||||
ens3 = {
|
||||
useDHCP = false; # For versatility sake, manually edit IP on nm-applet.
|
||||
ipv4.addresses = [ {
|
||||
address = "195.90.221.87";
|
||||
prefixLength = 22;
|
||||
} ];
|
||||
ipv6.addresses = [ {
|
||||
address = "2a00:6800:3:d5b::2";
|
||||
prefixLength = 64;
|
||||
} ];
|
||||
};
|
||||
};
|
||||
defaultGateway = "195.90.220.1";
|
||||
defaultGateway6 = {
|
||||
address = "2a00:6800:3::1";
|
||||
interface = "ens3";
|
||||
};
|
||||
|
||||
nameservers = [ "9.9.9.9" "2620:fe::fe" ];
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedUDPPorts = [ ];
|
||||
allowedTCPPorts = [ 80 443 ];
|
||||
};
|
||||
};
|
||||
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
39
hosts/kabtopci/home.nix
Normal file
39
hosts/kabtopci/home.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
# Home-manager configuration for laptop
|
||||
#
|
||||
# flake.nix
|
||||
# ├─ ./hosts
|
||||
# │ └─ ./laptop
|
||||
# │ └─ home.nix *
|
||||
# └─ ./modules
|
||||
# └─ ./desktop
|
||||
# └─ ./hyprland
|
||||
# └─ hyprland.nix
|
||||
#
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../../modules/home.nix # Window Manager
|
||||
];
|
||||
|
||||
home = { # Specific packages for laptop
|
||||
packages = with pkgs; [
|
||||
# Applications
|
||||
|
||||
# Display
|
||||
#light # xorg.xbacklight not supported. Other option is just use xrandr.
|
||||
|
||||
# Power Management
|
||||
#auto-cpufreq # Power management
|
||||
#tlp # Power management
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
alacritty.settings.font.size = 11;
|
||||
};
|
||||
|
||||
}
|
||||
94
hosts/lifebook/default.nix
Normal file
94
hosts/lifebook/default.nix
Normal file
@@ -0,0 +1,94 @@
|
||||
#
|
||||
# Specific system configuration settings for desktop
|
||||
#
|
||||
# flake.nix
|
||||
# ├─ ./hosts
|
||||
# │ └─ ./laptop
|
||||
# │ ├─ default.nix *
|
||||
# │ └─ hardware-configuration.nix
|
||||
# └─ ./modules
|
||||
# ├─ ./desktop
|
||||
# │ └─ ./hyprland
|
||||
# │ └─ hyprland.nix
|
||||
# ├─ ./modules
|
||||
# │ └─ ./programs
|
||||
# │ └─ waybar.nix
|
||||
# └─ ./hardware
|
||||
# └─ default.nix
|
||||
#
|
||||
|
||||
{ lib, config, pkgs, user, ... }:
|
||||
|
||||
{
|
||||
imports = # For now, if applying to other system, swap files
|
||||
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
||||
#[(import ../../modules/wm/hyprland/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/wm/sway/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/wm/virtualisation/docker.nix)] ++ # Docker
|
||||
[(import ../../modules/wm/virtualisation/kvm-intel.nix)] ++ # kvm module options
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
loader = { # EFI Boot
|
||||
systemd-boot.enable = lib.mkForce false;
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot";
|
||||
};
|
||||
timeout = 1; # Grub auto select time
|
||||
};
|
||||
|
||||
lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
};
|
||||
};
|
||||
|
||||
# hardware.sane = { # Used for scanning with Xsane
|
||||
# enable = false;
|
||||
# extraBackends = [ pkgs.sane-airscan ];
|
||||
# };
|
||||
hardware = {
|
||||
nitrokey.enable = true;
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
linux-firmware
|
||||
intel-media-driver
|
||||
];
|
||||
};
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
light.enable = true;
|
||||
};
|
||||
|
||||
systemd.sleep.extraConfig = "HibernateDelaySec=1h";
|
||||
services = {
|
||||
logind.lidSwitch = "suspend-then-hibernate"; # Laptop does not go to sleep when lid is closed
|
||||
blueman.enable = true;
|
||||
printing = { # Printing and drivers for TS5300
|
||||
enable = true;
|
||||
drivers = [ pkgs.gutenprint ];
|
||||
};
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
userServices = true;
|
||||
};
|
||||
};
|
||||
tailscale.enable = true;
|
||||
|
||||
};
|
||||
|
||||
#temporary bluetooth fix
|
||||
# systemd.tmpfiles.rules = [
|
||||
# "d /var/lib/bluetooth 700 root root - -"
|
||||
# ];
|
||||
# systemd.targets."bluetooth".after = ["systemd-tmpfiles-setup.service"];
|
||||
}
|
||||
194
hosts/lifebook/hardware-configuration.nix
Normal file
194
hosts/lifebook/hardware-configuration.nix
Normal file
@@ -0,0 +1,194 @@
|
||||
#
|
||||
# Hardware settings for Teclast F5 10" Laptop
|
||||
# NixOS @ sda2
|
||||
#
|
||||
# flake.nix
|
||||
# └─ ./hosts
|
||||
# └─ ./laptop
|
||||
# └─ hardware-configuration.nix *
|
||||
#
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")] ++
|
||||
[( import ../../modules/hardware/backup.nix )];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||
kernelModules = [ "i915" "kvm_intel" "vfio_pci" "vfio" "vfio_iommu_type1" ];
|
||||
systemd.enable = true;
|
||||
luks = {
|
||||
devices."crypted" = {
|
||||
device = "/dev/disk/by-partlabel/disk-nvme0n1-luks";
|
||||
allowDiscards = true;
|
||||
bypassWorkqueues = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
kernelParams = [ "luks.options=fido2-device=auto" "sysrq_always_enabled=1" ];
|
||||
extraModprobeConfig = ''
|
||||
options i915 enable_guc=3
|
||||
'';
|
||||
tmp.useTmpfs = false;
|
||||
tmp.cleanOnBoot = true;
|
||||
};
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
powerManagement = {
|
||||
powerDownCommands = "${pkgs.kmod}/bin/rmmod intel_lpss_pci";
|
||||
resumeCommands = "${pkgs.kmod}/bin/modprobe intel_lpss_pci";
|
||||
};
|
||||
|
||||
|
||||
services = {
|
||||
btrfs.autoScrub = {
|
||||
enable = true;
|
||||
interval = "monthly";
|
||||
fileSystems = [
|
||||
"/"
|
||||
];
|
||||
};
|
||||
udev.extraRules = ''
|
||||
ACTION=="add", SUBSYSTEM=="block", KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_FS_USAGE}=="filesystem", RUN{program}+="${pkgs.systemd}/bin/systemd-mount -o noatime,compress-force=zstd:15,ssd_spread,commit=120 --no-block --automount=yes --collect $devnode /run/media/mmcblk0p1"
|
||||
'';
|
||||
|
||||
btrbk = {
|
||||
instances = {
|
||||
hf = {
|
||||
onCalendar = "hourly";
|
||||
settings = {
|
||||
incremental = "yes";
|
||||
snapshot_create = "ondemand";
|
||||
snapshot_dir = "@snapshots";
|
||||
timestamp_format = "long";
|
||||
|
||||
snapshot_preserve = "2m 2w 5d 5h";
|
||||
snapshot_preserve_min = "latest";
|
||||
|
||||
volume = {
|
||||
"/mnt/snapshots/root" = {
|
||||
snapshot_create = "always";
|
||||
subvolume = {
|
||||
"@home" = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-label/NIXBOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/srv" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/swap" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@swap,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/opt" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@opt,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/var" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@var,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/snapshots/root" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ];
|
||||
};
|
||||
|
||||
|
||||
fileSystems."/mnt/Pluto" =
|
||||
{ device = "jupiter:/Pluto";
|
||||
fsType = "nfs";
|
||||
options = [ "nofail,noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Mars" =
|
||||
{ device = "jupiter:/Mars";
|
||||
fsType = "nfs";
|
||||
options = [ "nofail,noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ];
|
||||
};
|
||||
|
||||
|
||||
swapDevices = [ { device = "/swap/swapfile"; } ];
|
||||
|
||||
|
||||
networking = {
|
||||
useDHCP = false; # Deprecated
|
||||
hostName = "lifebook";
|
||||
wireless.iwd.enable = true;
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
wifi = {
|
||||
backend = "iwd";
|
||||
powersave = true;
|
||||
};
|
||||
};
|
||||
# interfaces = {
|
||||
# wlan0 = {
|
||||
# useDHCP = true; # For versatility sake, manually edit IP on nm-applet.
|
||||
# #ipv4.addresses = [ {
|
||||
# # address = "192.168.0.51";
|
||||
# # prefixLength = 24;
|
||||
# #} ];
|
||||
# };
|
||||
# };
|
||||
#defaultGateway = "192.168.0.1";
|
||||
#nameservers = [ "192.168.0.4" ];
|
||||
firewall = {
|
||||
checkReversePath = false;
|
||||
enable = true;
|
||||
allowedUDPPorts = [ 24727 51820 ];
|
||||
allowedTCPPorts = [ 24727 ];
|
||||
};
|
||||
};
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
powerManagement = {
|
||||
powertop.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -53,7 +53,7 @@
|
||||
gnupg.agent = {
|
||||
enable = false;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
gnupg.agent = {
|
||||
enable = false;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
qemuGuest.enable = true;
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
nssmdns4 = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
};
|
||||
|
||||
services.btrbk = {
|
||||
extraPackages = [ pkgs.lz4 ];
|
||||
instances = {
|
||||
hf = {
|
||||
onCalendar = "hourly";
|
||||
@@ -198,35 +197,24 @@
|
||||
|
||||
swapDevices = [ { device = "/swap/swapfile"; } ];
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks = {
|
||||
"10-lan" = {
|
||||
matchConfig.Name = "enp6s18";
|
||||
ntp = [ "192.168.2.1" ];
|
||||
#domains = [ "home.opel-online.de" ];
|
||||
networkConfig = {
|
||||
DHCP = "yes";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
networking = {
|
||||
hostName = "nasbak";
|
||||
domain = "home.opel-online.de";
|
||||
networkmanager = {
|
||||
enable = false;
|
||||
};
|
||||
timeServers = [
|
||||
"192.168.2.1"
|
||||
];
|
||||
interfaces = {
|
||||
enp6s18 = {
|
||||
useDHCP = true; # For versatility sake, manually edit IP on nm-applet.
|
||||
# ipv4.addresses = [ {
|
||||
# address = "45.142.114.153";
|
||||
# prefixLength = 24;
|
||||
# } ];
|
||||
# ipv6.addresses = [ {
|
||||
# address = "2a00:ccc1:101:19D::2";
|
||||
# prefixLength = 64;
|
||||
# } ];
|
||||
# };
|
||||
};
|
||||
};
|
||||
# defaultGateway = "45.142.114.1";
|
||||
defaultGateway6 = {
|
||||
address = "fe80::1";
|
||||
interface = "enp6s18";
|
||||
};
|
||||
# nameservers = [ "9.9.9.9" "2620:fe::fe" ];
|
||||
useDHCP = false; # For versatility sake, manually edit IP on nm-applet.
|
||||
#firewall = {
|
||||
# enable = false;
|
||||
# #allowedUDPPorts = [ 53 67 ];
|
||||
|
||||
@@ -58,15 +58,7 @@
|
||||
};
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
zsh.enable = true;
|
||||
dconf.enable = true;
|
||||
light.enable = true;
|
||||
ssh.startAgent = false;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
@@ -86,7 +78,7 @@
|
||||
};
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
nssmdns4 = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
57
hosts/nbf5/home.nix
Normal file
57
hosts/nbf5/home.nix
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# Home-manager configuration for laptop
|
||||
#
|
||||
# flake.nix
|
||||
# ├─ ./hosts
|
||||
# │ └─ ./laptop
|
||||
# │ └─ home.nix *
|
||||
# └─ ./modules
|
||||
# └─ ./desktop
|
||||
# └─ ./hyprland
|
||||
# └─ hyprland.nix
|
||||
#
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
#../../modules/wm/hyprland/home.nix # Window Manager
|
||||
../../modules/wm/sway/home.nix # Window Manager
|
||||
../../modules/home.nix # Window Manager
|
||||
];
|
||||
|
||||
home = { # Specific packages for laptop
|
||||
packages = with pkgs; [
|
||||
# Applications
|
||||
libreoffice # Office packages
|
||||
#firefox
|
||||
chromium
|
||||
thunderbird
|
||||
streamlink
|
||||
streamlink-twitch-gui-bin
|
||||
element-desktop
|
||||
intel-gpu-tools
|
||||
pulsemixer
|
||||
|
||||
# Display
|
||||
light # xorg.xbacklight not supported. Other option is just use xrandr.
|
||||
|
||||
# Power Management
|
||||
#auto-cpufreq # Power management
|
||||
#tlp # Power management
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
alacritty.settings.font.size = 11;
|
||||
};
|
||||
|
||||
services = { # Applets
|
||||
blueman-applet.enable = true; # Bluetooth
|
||||
network-manager-applet.enable = true; # Network
|
||||
};
|
||||
|
||||
xsession.preferStatusNotifierItems = true;
|
||||
|
||||
}
|
||||
@@ -57,22 +57,22 @@
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
#auto-cpufreq.enable = true;
|
||||
qemuGuest.enable = true;
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
userServices = true;
|
||||
};
|
||||
};
|
||||
#avahi = { # Needed to find wireless printer
|
||||
# enable = true;
|
||||
# nssmdns = true;
|
||||
# publish = { # Needed for detecting the scanner
|
||||
# enable = true;
|
||||
# addresses = true;
|
||||
# userServices = true;
|
||||
# };
|
||||
#};
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
maxretry = 5;
|
||||
|
||||
@@ -59,15 +59,7 @@
|
||||
# };
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
zsh.enable = true;
|
||||
dconf.enable = true;
|
||||
light.enable = true;
|
||||
ssh.startAgent = false;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
#pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
||||
kernelModules = [ ];
|
||||
systemd.enable = true;
|
||||
luks = {
|
||||
@@ -50,26 +50,26 @@
|
||||
udev.extraRules = ''
|
||||
ACTION=="add", SUBSYSTEM=="block", KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_FS_USAGE}=="filesystem", RUN{program}+="${pkgs.systemd}/bin/systemd-mount -o noatime,compress-force=zstd:15,ssd_spread,commit=120 --no-block --automount=yes --collect $devnode /run/media/mmcblk0p1"
|
||||
'';
|
||||
};
|
||||
|
||||
services.btrbk = {
|
||||
instances = {
|
||||
hf = {
|
||||
onCalendar = "hourly";
|
||||
settings = {
|
||||
incremental = "yes";
|
||||
snapshot_create = "ondemand";
|
||||
snapshot_dir = "@snapshots";
|
||||
timestamp_format = "long";
|
||||
btrbk = {
|
||||
instances = {
|
||||
hf = {
|
||||
onCalendar = "hourly";
|
||||
settings = {
|
||||
incremental = "yes";
|
||||
snapshot_create = "ondemand";
|
||||
snapshot_dir = "@snapshots";
|
||||
timestamp_format = "long";
|
||||
|
||||
snapshot_preserve = "2m 2w 5d 5h";
|
||||
snapshot_preserve_min = "latest";
|
||||
snapshot_preserve = "2m 2w 5d 5h";
|
||||
snapshot_preserve_min = "latest";
|
||||
|
||||
volume = {
|
||||
"/mnt/snapshots/root" = {
|
||||
snapshot_create = "always";
|
||||
subvolume = {
|
||||
"@home" = {};
|
||||
volume = {
|
||||
"/mnt/snapshots/root" = {
|
||||
snapshot_create = "always";
|
||||
subvolume = {
|
||||
"@home" = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -171,9 +171,9 @@
|
||||
#nameservers = [ "192.168.0.4" ];
|
||||
firewall = {
|
||||
checkReversePath = "loose";
|
||||
# enable = false;
|
||||
# #allowedUDPPorts = [ 53 67 ];
|
||||
# #allowedTCPPorts = [ 53 80 443 9443 ];
|
||||
enable = true;
|
||||
allowedUDPPorts = [ 24727 ];
|
||||
allowedTCPPorts = [ 24727 ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -10,6 +10,5 @@
|
||||
roles = [ "source" "info" "send" ];
|
||||
}
|
||||
];
|
||||
extraPackages = [ pkgs.lz4 ];
|
||||
};
|
||||
}
|
||||
|
||||
19
modules/hardware/hydraCache.nix
Normal file
19
modules/hardware/hydraCache.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
nix = {
|
||||
settings = {
|
||||
extra-trusted-public-keys = [
|
||||
"hades-builder:AFdPgi6Qq/yKqc2V2imgzMikEkVEFCrDaHyAmOJ3MII="
|
||||
];
|
||||
extra-substituters = [
|
||||
"https://cache.ci.kabtop.de"
|
||||
];
|
||||
#extra-trusted-substituters = [
|
||||
# "https://cache.home.opel-online.de"
|
||||
#];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
@@ -22,10 +22,6 @@
|
||||
#bold = { style = "Bold"; };
|
||||
# size = 8;
|
||||
};
|
||||
offset = { # Positioning
|
||||
x = -1;
|
||||
y = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
[
|
||||
./alacritty.nix
|
||||
./rofi.nix
|
||||
# ./rofi.nix
|
||||
./firefox.nix
|
||||
#./waybar.nix
|
||||
#./games.nix
|
||||
|
||||
@@ -1,11 +1,91 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.hydra = {
|
||||
enable = true;
|
||||
hydraURL = "http://localhost:3000";
|
||||
notificationSender = "hydra@localhost";
|
||||
useSubstitutes = true;
|
||||
services = {
|
||||
hydra = {
|
||||
enable = true;
|
||||
hydraURL = "https://hydra.home.opel-online.de";
|
||||
listenHost = "127.0.0.1";
|
||||
notificationSender = "hydra@localhost";
|
||||
useSubstitutes = true;
|
||||
minimumDiskFree = 30;
|
||||
};
|
||||
nix-serve = {
|
||||
enable = true;
|
||||
port = 5001;
|
||||
bindAddress = "127.0.0.1";
|
||||
secretKeyFile = config.age.secrets."keys/nixsign".path;
|
||||
};
|
||||
nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
recommendedTlsSettings = true;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedOptimisation = true;
|
||||
virtualHosts = {
|
||||
"home.opel-online.de" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
default = true;
|
||||
locations."/".return = "503";
|
||||
};
|
||||
"hydra.home.opel-online.de" = {
|
||||
useACMEHost = "home.opel-online.de";
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:3000";
|
||||
extraConfig = ''
|
||||
proxy_set_header X-Forwarded-Port 443;
|
||||
'';
|
||||
};
|
||||
};
|
||||
"cache.home.opel-online.de" = {
|
||||
useACMEHost = "home.opel-online.de";
|
||||
forceSSL = true;
|
||||
locations."/".proxyPass = "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults = {
|
||||
email = "webmaster@opel-online.de";
|
||||
#server = "https://acme-staging-v02.api.letsencrypt.org/directory";
|
||||
dnsResolver = "9.9.9.9:53";
|
||||
};
|
||||
certs = {
|
||||
"home.opel-online.de" = {
|
||||
domain = "*.home.opel-online.de";
|
||||
dnsProvider = "netcup";
|
||||
environmentFile = config.age.secrets."services/acme/opel-online".path;
|
||||
webroot = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [
|
||||
"hydra"
|
||||
];
|
||||
allowed-uris = "http:// https://";
|
||||
};
|
||||
|
||||
extraOptions = ''
|
||||
secret-key-files = ${config.age.secrets."keys/nixsign".path}
|
||||
'';
|
||||
};
|
||||
|
||||
age.secrets."keys/nixsign" = {
|
||||
file = ../../../secrets/keys/nixservepriv.age;
|
||||
owner = "hydra";
|
||||
};
|
||||
age.secrets."services/acme/opel-online" = {
|
||||
file = ../../../secrets/services/acme/opel-online.age;
|
||||
owner = "acme";
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
19
modules/services/kabtopci/default.nix
Normal file
19
modules/services/kabtopci/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# Services
|
||||
#
|
||||
# flake.nix
|
||||
# ├─ ./hosts
|
||||
# │ └─ home.nix
|
||||
# └─ ./modules
|
||||
# └─ ./services
|
||||
# └─ default.nix *
|
||||
# └─ ...
|
||||
#
|
||||
|
||||
[
|
||||
# ./microvm.nix
|
||||
./hydra.nix
|
||||
]
|
||||
|
||||
# picom, polybar and sxhkd are pulled from desktop module
|
||||
# redshift temporarely disables
|
||||
59
modules/services/kabtopci/gitea_runner.nix
Normal file
59
modules/services/kabtopci/gitea_runner.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
virtualisation = {
|
||||
podman ={
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
dockerCompat = true;
|
||||
};
|
||||
containers.containersConf.settings = {
|
||||
# podman seems to not work with systemd-resolved
|
||||
containers.dns_servers = [ "8.8.8.8" "8.8.4.4" ];
|
||||
};
|
||||
};
|
||||
|
||||
services.gitea-actions-runner.instances = {
|
||||
cirunner = {
|
||||
enable = true;
|
||||
url = "https://git.kabtop.de";
|
||||
name = "CI Kabtop runner";
|
||||
tokenFile = config.age.secrets."services/gitea/cirunner-token".path;
|
||||
labels = [
|
||||
"ci"
|
||||
"debian-latest:docker://node:18-bullseye"
|
||||
"ubuntu-latest:docker://node:16-bullseye"
|
||||
"ubuntu-22.04:docker://node:16-bullseye"
|
||||
"ubuntu-20.04:docker://node:16-bullseye"
|
||||
"ubuntu-18.04:docker://node:16-buster"
|
||||
"native:host"
|
||||
];
|
||||
hostPackages = with pkgs; [
|
||||
bash
|
||||
coreutils
|
||||
curl
|
||||
gawk
|
||||
gitMinimal
|
||||
gnused
|
||||
nodejs
|
||||
wget
|
||||
];
|
||||
settings = {
|
||||
# container.options = "-e NIX_BUILD_SHELL=/bin/bash -e PAGER=cat -e PATH=/bin -e SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt --device /dev/kvm -v /nix:/nix -v ${storeDeps}/bin:/bin -v ${storeDeps}/etc/ssl:/etc/ssl --user nixuser --device=/dev/kvm";
|
||||
# the default network that also respects our dns server settings
|
||||
container.network = "host";
|
||||
container.privileged = false;
|
||||
# container.valid_volumes = [
|
||||
# "/nix"
|
||||
# "${storeDeps}/bin"
|
||||
# "${storeDeps}/etc/ssl"
|
||||
# ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
age.secrets."services/gitea/cirunner-token" = {
|
||||
file = ../../../secrets/services/gitea/cirunner-token.age;
|
||||
owner = "gitea-runner";
|
||||
};
|
||||
}
|
||||
78
modules/services/kabtopci/hydra.nix
Normal file
78
modules/services/kabtopci/hydra.nix
Normal file
@@ -0,0 +1,78 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
services = {
|
||||
hydra = {
|
||||
enable = true;
|
||||
hydraURL = "https://hydra.ci.kabtop.de";
|
||||
listenHost = "127.0.0.1";
|
||||
notificationSender = "hydra@kabtop.de";
|
||||
useSubstitutes = true;
|
||||
minimumDiskFree = 8;
|
||||
};
|
||||
nix-serve = {
|
||||
enable = true;
|
||||
port = 5001;
|
||||
bindAddress = "127.0.0.1";
|
||||
secretKeyFile = config.age.secrets."keys/nixsign".path;
|
||||
};
|
||||
nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
recommendedTlsSettings = true;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedOptimisation = true;
|
||||
virtualHosts = {
|
||||
"ci.kabtop.de" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
default = true;
|
||||
locations."/".return = "503";
|
||||
};
|
||||
"hydra.ci.kabtop.de" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:3000";
|
||||
extraConfig = ''
|
||||
proxy_set_header X-Forwarded-Port 443;
|
||||
'';
|
||||
};
|
||||
};
|
||||
"cache.ci.kabtop.de" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/".proxyPass = "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults = {
|
||||
email = "webmaster@kabtop.de";
|
||||
webroot = "/var/lib/acme/acme-challenge";
|
||||
#server = "https://acme-staging-v02.api.letsencrypt.org/directory";
|
||||
};
|
||||
};
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [
|
||||
"hydra"
|
||||
];
|
||||
allowed-uris = "github:";
|
||||
};
|
||||
|
||||
extraOptions = ''
|
||||
secret-key-files = ${config.age.secrets."keys/nixsign".path}
|
||||
'';
|
||||
};
|
||||
|
||||
age.secrets."keys/nixsign" = {
|
||||
file = ../../../secrets/keys/nixservepriv.age;
|
||||
owner = "hydra";
|
||||
};
|
||||
|
||||
}
|
||||
129
modules/services/kabtopci/microvm.nix
Normal file
129
modules/services/kabtopci/microvm.nix
Normal file
@@ -0,0 +1,129 @@
|
||||
{ config, microvm, lib, pkgs, user, agenix, impermanence, ... }:
|
||||
let
|
||||
name = "gitea-runner";
|
||||
in
|
||||
{
|
||||
microvm = {
|
||||
autostart = [
|
||||
name
|
||||
];
|
||||
vms = {
|
||||
${name} = {
|
||||
|
||||
inherit pkgs;
|
||||
|
||||
config = {
|
||||
imports =
|
||||
[ agenix.nixosModules.default ] ++
|
||||
[ impermanence.nixosModules.impermanence ] ++
|
||||
[( ./gitea_runner.nix )];
|
||||
|
||||
networking = {
|
||||
hostName = "${name}";
|
||||
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedUDPPorts = [ ];
|
||||
allowedTCPPorts = [ ];
|
||||
};
|
||||
};
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks = {
|
||||
"10-lan" = {
|
||||
matchConfig.Name = "*";
|
||||
networkConfig = {
|
||||
DHCP = "yes";
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.users.${user} = { # System User
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
uid = 2000;
|
||||
openssh.authorizedKeys.keys = [
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIANmaraVJ/o20c4dqVnGLp/wGck9QNHFPvO9jcEbKS29AAAABHNzaDo= kabbone@kabc"
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIgo4IP8ISUohyAMiDc3zEe6ESUE3un7eN5FhVtxZHmcAAAABHNzaDo= kabbone@kabc"
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIKVDApb3vZ+i97V4xLJh8rUF6z5OVYfORlXYbLhdQO15AAAABHNzaDo= kabbone@hades.home.opel-online.de"
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIB0q++epdX7feQxvmC2m/CJEoJbkqtAJy6Ml6WKHxryZAAAABHNzaDo= kabbone@hades.home.opel-online.de"
|
||||
];
|
||||
};
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings.PasswordAuthentication = false;
|
||||
hostKeys = [
|
||||
{
|
||||
path = "/persist/etc/ssh/ssh_host_ed25519_key";
|
||||
type = "ed25519";
|
||||
}
|
||||
{
|
||||
path = "/persist/etc/ssh/ssh_host_rsa_key";
|
||||
type = "rsa";
|
||||
bits = 4096;
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems."/persist".neededForBoot = lib.mkForce true;
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [ # Default packages install system-wide
|
||||
bash
|
||||
coreutils
|
||||
curl
|
||||
gawk
|
||||
gitMinimal
|
||||
gnused
|
||||
nodejs
|
||||
wget
|
||||
];
|
||||
persistence."/persist" = {
|
||||
directories = [
|
||||
"/var/log"
|
||||
"/var/lib/private"
|
||||
];
|
||||
|
||||
files = [
|
||||
"/etc/machine-id"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
microvm = {
|
||||
hypervisor = "qemu";
|
||||
vcpu = 4;
|
||||
mem = 3096;
|
||||
balloonMem = 3096;
|
||||
#kernel = pkgs.linuxKernel.packages.linux_latest;
|
||||
interfaces = [
|
||||
{
|
||||
type = "user";
|
||||
id = "vm-${name}";
|
||||
mac = "04:00:00:00:00:02";
|
||||
} ];
|
||||
shares = [{
|
||||
source = "/nix/store";
|
||||
mountPoint = "/nix/.ro-store";
|
||||
tag = "ro-store";
|
||||
proto = "virtiofs";
|
||||
}
|
||||
{
|
||||
source = "/etc/vm-persist/${name}";
|
||||
mountPoint = "/persist";
|
||||
tag = "persist";
|
||||
proto = "virtiofs";
|
||||
}];
|
||||
#writableStoreOverlay = "/nix/.rw-store";
|
||||
#storeOnDisk = true;
|
||||
};
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -17,7 +17,6 @@
|
||||
./nextcloud.nix
|
||||
./matrix.nix
|
||||
./coturn.nix
|
||||
./jitsi.nix
|
||||
./ollama.nix
|
||||
]
|
||||
|
||||
|
||||
@@ -9,15 +9,19 @@
|
||||
enable = true;
|
||||
hostName = "cloud.kabtop.de";
|
||||
https = true;
|
||||
package = pkgs.nextcloud27;
|
||||
package = pkgs.nextcloud29;
|
||||
database.createLocally = false;
|
||||
logType = "file";
|
||||
notify_push.enable = true;
|
||||
caching = {
|
||||
redis = true;
|
||||
apcu = false;
|
||||
};
|
||||
extraOptions = {
|
||||
settings = {
|
||||
log_type = "file";
|
||||
logfile = "nextcloud.log";
|
||||
overwriteprotocol = "https";
|
||||
default_phone_region = "DE";
|
||||
|
||||
redis = {
|
||||
host = "/run/redis-nextcloud/redis.sock";
|
||||
port = 0;
|
||||
@@ -25,6 +29,7 @@
|
||||
"memcache.local" = "\\OC\\Memcache\\Redis";
|
||||
"memcache.distributed" = "\\OC\\Memcache\\Redis";
|
||||
"memcache.locking" = "\\OC\\Memcache\\Redis";
|
||||
"maintenance_window_start" = "1";
|
||||
};
|
||||
config = {
|
||||
dbtype = "pgsql";
|
||||
@@ -34,8 +39,6 @@
|
||||
adminuser = "kabbone";
|
||||
adminpassFile = config.age.secrets."services/nextcloud/adminpassFile".path;
|
||||
dbpassFile = config.age.secrets."services/nextcloud/dbpassFile".path;
|
||||
overwriteProtocol = "https";
|
||||
defaultPhoneRegion = "DE";
|
||||
};
|
||||
phpOptions = {
|
||||
"opcache.interned_strings_buffer" = "16";
|
||||
|
||||
@@ -16,7 +16,9 @@
|
||||
};
|
||||
extraConfig = {
|
||||
gpg = { format = "ssh"; };
|
||||
credential = { helper = "cache --timeout=3600"; };
|
||||
};
|
||||
difftastic.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
zsh = {
|
||||
enable = true;
|
||||
dotDir = ".config/zsh_nix";
|
||||
enableAutosuggestions = true; # Auto suggest options and highlights syntact, searches in history for options
|
||||
autosuggestion.enable = true; # Auto suggest options and highlights syntact, searches in history for options
|
||||
syntaxHighlighting.enable = true;
|
||||
history.size = 10000;
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
'';
|
||||
|
||||
initExtra = '' # Zsh theme
|
||||
export GPG_TTY=$(tty)
|
||||
gpg-connect-agent updatestartuptty /bye >/dev/null
|
||||
unset SSH_AGENT_PID
|
||||
export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
|
||||
# Spaceship
|
||||
source ${pkgs.spaceship-prompt}/share/zsh/site-functions/prompt_spaceship_setup
|
||||
autoload -U promptinit; promptinit
|
||||
@@ -40,6 +36,7 @@
|
||||
# Swag
|
||||
pfetch # Show fetch logo on terminal start
|
||||
eval "$(direnv hook zsh)"
|
||||
eval "$(ssh-agent)"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
7
modules/themes/.gitattributes
vendored
Normal file
7
modules/themes/.gitattributes
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
nixos-wallpaper-catppuccin-mocha.svg filter=lfs diff=lfs merge=lfs -text
|
||||
nix-wallpaper-nineish-solarized-dark.src.svg filter=lfs diff=lfs merge=lfs -text
|
||||
nix-wallpaper-nineish-solarized-dark.png filter=lfs diff=lfs merge=lfs -text
|
||||
nix-wallpaper-binary-black.png filter=lfs diff=lfs merge=lfs -text
|
||||
lockwall.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
nuka_col.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
wall.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 285 KiB After Width: | Height: | Size: 131 B |
BIN
modules/themes/nix-wallpaper-binary-black.png
LFS
Normal file
BIN
modules/themes/nix-wallpaper-binary-black.png
LFS
Normal file
Binary file not shown.
BIN
modules/themes/nix-wallpaper-nineish-solarized-dark.png
LFS
Normal file
BIN
modules/themes/nix-wallpaper-nineish-solarized-dark.png
LFS
Normal file
Binary file not shown.
BIN
modules/themes/nix-wallpaper-nineish-solarized-dark.src.svg
LFS
Normal file
BIN
modules/themes/nix-wallpaper-nineish-solarized-dark.src.svg
LFS
Normal file
Binary file not shown.
BIN
modules/themes/nixos-wallpaper-catppuccin-mocha.svg
LFS
Normal file
BIN
modules/themes/nixos-wallpaper-catppuccin-mocha.svg
LFS
Normal file
Binary file not shown.
BIN
modules/themes/nuka_col.jpg
LFS
Normal file
BIN
modules/themes/nuka_col.jpg
LFS
Normal file
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 36 B |
1
modules/themes/wall.jpg
Symbolic link
1
modules/themes/wall.jpg
Symbolic link
@@ -0,0 +1 @@
|
||||
nixos-wallpaper-catppuccin-mocha.svg
|
||||
|
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 36 B |
@@ -16,18 +16,19 @@
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
flatpak
|
||||
rocmPackages.clr.icd
|
||||
rocmPackages.clr
|
||||
clinfo
|
||||
libsForQt5.discover
|
||||
# rocmPackages.clr.icd
|
||||
# rocmPackages.clr
|
||||
# clinfo
|
||||
kdePackages.discover
|
||||
maliit-keyboard
|
||||
];
|
||||
|
||||
services = {
|
||||
packagekit.enable = true;
|
||||
xserver = {
|
||||
enable = true;
|
||||
desktopManager.plasma5.enable = true;
|
||||
desktopManager.plasma6.enable = true;
|
||||
# xserver = {
|
||||
# enable = true;
|
||||
# desktopManager.plasma5.enable = true;
|
||||
# displayManager = {
|
||||
# gdm.wayland = true;
|
||||
# gdm.enable = true;
|
||||
@@ -41,8 +42,10 @@
|
||||
# autoLogin.enable = true;
|
||||
# autoLogin.user = "kabbone";
|
||||
# };
|
||||
};
|
||||
# };
|
||||
flatpak.enable = true;
|
||||
udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
||||
udev.packages = with pkgs; [ gnome-settings-daemon ];
|
||||
};
|
||||
|
||||
qt.platformTheme = "kde";
|
||||
}
|
||||
|
||||
@@ -13,4 +13,5 @@
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
enable = true;
|
||||
user = "kabbone";
|
||||
autoStart = true;
|
||||
desktopSession = "plasmawayland";
|
||||
desktopSession = "plasma";
|
||||
};
|
||||
devices.steamdeck = {
|
||||
enable = true;
|
||||
@@ -30,10 +30,9 @@
|
||||
decky-loader.enable = true;
|
||||
};
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
steam
|
||||
jq
|
||||
appimage-run
|
||||
gnome.zenity
|
||||
zenity
|
||||
unzip
|
||||
fuse
|
||||
];
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
rocmPackages.clr
|
||||
clinfo
|
||||
waybar
|
||||
rot8
|
||||
glib
|
||||
];
|
||||
};
|
||||
|
||||
@@ -51,7 +53,7 @@
|
||||
export MOZ_WEBRENDER="1";
|
||||
export MOZ_USE_XINPUT2="2";
|
||||
export MOZ_DBUS_REMOTE="1";
|
||||
#export GDK_BACKEND="wayland";
|
||||
export WLR_RENDERER="vulkan";
|
||||
export LIBVA_DRIVER_NAME="iHD";
|
||||
export VDPAU_DRIVER="iHD";
|
||||
export XDG_SESSION_TYPE="wayland";
|
||||
|
||||
@@ -18,8 +18,9 @@
|
||||
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
checkConfig = false;
|
||||
config = rec {
|
||||
menu = "${pkgs.bemenu}/bin/bemenu-run -m -1 --hf '#ffff00' --tf '#888888' --nf '#00ff40' --hb '#424242' | xargs ${pkgs.sway}/bin/swaymsg exec --";
|
||||
menu = "${pkgs.rofi}/bin/rofi -show combi -show-icons";
|
||||
left = "m";
|
||||
down = "n";
|
||||
up = "e";
|
||||
@@ -30,8 +31,9 @@
|
||||
|
||||
input = {
|
||||
"type:keyboard" = {
|
||||
xkb_layout = "us";
|
||||
xkb_variant = "altgr-intl";
|
||||
xkb_layout = "us,de";
|
||||
xkb_variant = "altgr-intl,";
|
||||
xkb_options = "grp:win_space_toggle";
|
||||
};
|
||||
"type:touchpad" = {
|
||||
tap = "enabled";
|
||||
@@ -59,7 +61,7 @@
|
||||
};
|
||||
"DP-3" = {
|
||||
mode = "1920x1200";
|
||||
pos = "2560,120";
|
||||
pos = "2560,180";
|
||||
};
|
||||
#"eDP-1" = {
|
||||
# mode = "1920x1080";
|
||||
@@ -86,7 +88,7 @@
|
||||
};
|
||||
|
||||
startup = [
|
||||
#{ command = "$HOME/.config/sway/scripts/2in1screen"; }
|
||||
{ command = "exec ${pkgs.rot8}/bin/rot8 -Y -k"; }
|
||||
{ command = "xrdb -load ~/.Xresources"; }
|
||||
{ command = "gsettings set org.gnome.desktop.interface gtk-theme Arc"; }
|
||||
{ command = "gsettings set org.gnome.desktop.interface icon-theme ePapirus"; }
|
||||
@@ -117,7 +119,7 @@
|
||||
{ command = "floating enable"; criteria = { app_id = "com.nitrokey."; }; }
|
||||
{ command = "floating enable"; criteria = { app_id = "org.keepassxc.KeePassXC."; }; }
|
||||
{ command = "floating enable"; criteria = { app_id = "virt-manager"; }; }
|
||||
{ command = "floating enable"; criteria = { class = "lxqt-openssh-askpass"; }; }
|
||||
{ command = "floating enable"; criteria = { title = "^OpenSSH Authentication"; }; }
|
||||
{ command = "floating enable"; criteria = { class = "pop-up"; }; }
|
||||
];
|
||||
|
||||
@@ -154,26 +156,27 @@
|
||||
"${alt}+Shift+${right}" = "move container to workspace next, workspace next";
|
||||
|
||||
"XF86TouchpadToggle" = "input type:touchpad events toggle enabled disabled";
|
||||
"XF86AudioRaiseVolume" = "exec pulsemixer --change-volume +5 && ${config.cmds.notifications.volume}";
|
||||
"XF86AudioLowerVolume" = "exec pulsemixer --change-volume -5 && ${config.cmds.notifications.volume}";
|
||||
"XF86AudioMute" = "exec pulsemixer --toggle-mute && ${config.cmds.notifications.volume}";
|
||||
#"XF86AudioRaiseVolume" = "exec pulsemixer --change-volume +5";
|
||||
#"XF86AudioLowerVolume" = "exec pulsemixer --change-volume -5";
|
||||
#"XF86AudioMute" = "exec pulsemixer --toggle-mute";
|
||||
"XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||
"XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5% && ${config.cmds.notifications.brightness}";
|
||||
"XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5% && ${config.cmds.notifications.brightness}";
|
||||
"XF86AudioPlay" = "exec playerctl play-pause";
|
||||
"XF86AudioNext" = "exec playerctl next";
|
||||
"XF86AudioPrev" = "exec playerctl previous";
|
||||
"XF86AudioStop" = "exec playerctl stop";
|
||||
|
||||
#XF86AudioMute = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
#XF86AudioRaiseVolume = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
#XF86AudioLowerVolume = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||
#XF86AudioPlay = "exec ~/.config/waybar/scripts/toggle-play";
|
||||
#XF86AudioNext = "exec playerctl --player=spotify next";
|
||||
#XF86AudioPrev = "exec playerctl --player=spotify previous";
|
||||
# Sink volume raise optionally with --device
|
||||
"XF86AudioRaiseVolume" = "exec swayosd-client --output-volume raise";
|
||||
"XF86AudioLowerVolume" = "exec swayosd-client --output-volume lower";
|
||||
# Sink volume toggle mute
|
||||
"XF86AudioMute" = "exec swayosd-client --output-volume mute-toggle";
|
||||
# Source volume toggle mute
|
||||
"XF86AudioMicMute" = "exec swayosd-client --input-volume mute-toggle";
|
||||
|
||||
# Capslock (If you don't want to use the backend)
|
||||
#bindsym --release Caps_Lock exec swayosd-client --caps-lock;
|
||||
|
||||
# Brightness raise
|
||||
"XF86MonBrightnessUp" = "exec swayosd-client --brightness raise";
|
||||
# Brightness lower
|
||||
"XF86MonBrightnessDown" = "exec swayosd-client --brightness lower";
|
||||
|
||||
|
||||
"${mod}+${left}" = "focus left";
|
||||
"${mod}+${down}" = "focus down";
|
||||
@@ -238,7 +241,7 @@
|
||||
export MOZ_WEBRENDER="1";
|
||||
export MOZ_USE_XINPUT2="2";
|
||||
export MOZ_DBUS_REMOTE="1";
|
||||
#export GDK_BACKEND="wayland";
|
||||
export WLR_RENDERER="vulkan";
|
||||
export LIBVA_DRIVER_NAME="iHD";
|
||||
export VDPAU_DRIVER="iHD";
|
||||
export XDG_SESSION_TYPE="wayland";
|
||||
@@ -261,7 +264,8 @@
|
||||
'';
|
||||
};
|
||||
|
||||
programs.swaylock = {
|
||||
programs = {
|
||||
swaylock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color = "000000";
|
||||
@@ -269,19 +273,41 @@
|
||||
indicator-caps-lock = true;
|
||||
show-keyboard-layout = true;
|
||||
};
|
||||
};
|
||||
rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
extraConfig = {
|
||||
modi = "window,drun,ssh";
|
||||
kb-primary-paste = "Control+V,Shift+Insert";
|
||||
kb-secondary-paste = "Control+v,Insert";
|
||||
};
|
||||
font = "Cascadia Code";
|
||||
location = "top-left";
|
||||
plugins = [
|
||||
pkgs.rofi-calc
|
||||
pkgs.rofi-bluetooth
|
||||
pkgs.pinentry-rofi
|
||||
];
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||
theme = "arthur";
|
||||
};
|
||||
};
|
||||
|
||||
services.swayidle = {
|
||||
enable = true;
|
||||
events = [
|
||||
{ event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock"; }
|
||||
{ event = "lock"; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||||
{ event = "after-resume"; command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }
|
||||
{ event = "unlock"; command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }
|
||||
];
|
||||
timeouts = [
|
||||
{ timeout = 300; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||||
{ timeout = 600; command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'"; resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }
|
||||
];
|
||||
services = {
|
||||
swayidle = {
|
||||
enable = true;
|
||||
events = [
|
||||
{ event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock"; }
|
||||
{ event = "lock"; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||||
{ event = "after-resume"; command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }
|
||||
{ event = "unlock"; command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }
|
||||
];
|
||||
timeouts = [
|
||||
{ timeout = 300; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||||
{ timeout = 600; command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'"; resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }
|
||||
];
|
||||
};
|
||||
swayosd.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -20,7 +20,8 @@ let
|
||||
|
||||
server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwN8p78OncPIRUfV64PLHOem4LtlQ3opOJwLEYqdGVx";
|
||||
server2 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPm3epi3v+yuskxQZgmPdkVDET8IGeYA6LbTCqPWqkz+";
|
||||
dmz = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAmivVLbkJJ1anwQ8CeNT7rv0Qxinp1LIQIjVWZpnIE5";
|
||||
kabtopci = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGdvPKu0XJXpxiZYxwHdt0UzzSXxQqZIbHzVvjySR82w";
|
||||
dmz = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5OMVTx1IkzFvDgDRwiv+ruYTCBlJ+D1hx+BS8Roah";
|
||||
hades = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEgnWyQUUa+vcHAKx6edbTgqW8ph+MCiS6fUwYjYcS+o";
|
||||
nasbak = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdoxslkKn3ouadPOHmDN7e5AtoJmnllnUmhl1j9qfzz";
|
||||
jupiter = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDBQr9/TIeAd25h0gfOPjoHs6JMeye4V04LuFufbe1S/";
|
||||
@@ -58,6 +59,8 @@ let
|
||||
];
|
||||
buildServer = [
|
||||
hades
|
||||
kabtopci
|
||||
dmz
|
||||
];
|
||||
in
|
||||
{
|
||||
@@ -78,6 +81,7 @@ in
|
||||
"services/gitea/mailerPassword.age".publicKeys = servers ++ users;
|
||||
"services/gitea/homerunner-token.age".publicKeys = homerunners ++ users;
|
||||
"services/gitea/serverrunner-token.age".publicKeys = serverrunners ++ users;
|
||||
"services/acme/opel-online.age".publicKeys = buildServer ++ users;
|
||||
"keys/nixremote.age".publicKeys = buildClients ++ users;
|
||||
"keys/nixservepriv.age".publicKeys = buildServer ++ users;
|
||||
}
|
||||
|
||||
BIN
secrets/services/acme/opel-online.age
Normal file
BIN
secrets/services/acme/opel-online.age
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,23 +1,21 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 1fxDZw HPqtOnCf0xv43GQmB6iSSLGK6r/5pCFFZJC37ioMIw0
|
||||
VjvteDjUqqkBas9FzZKxlA1y5/TwIB44I7yNH3KBDYA
|
||||
-> ssh-ed25519 1fxDZw 0HUT1Iujai7TJCCdN2X80080tfrGaW6Uko+zX1Pabhc
|
||||
jcpujkInglyeqvUmlA7BTvlAWDLqxwZm19zCitOoXno
|
||||
-> ssh-rsa VtjGpQ
|
||||
Xx8tuS0ClpvIEn/diIhCInLuiNym22i0SQZCkFCz5V0FKNM0L9hzlqU2A2wLemgz
|
||||
iy1So0jNJWGt9ylUCyPI9ucyLUgoXFXiQjaMkI85yj+xuUDHkmereRMW3AQD+2LL
|
||||
+NHsmQQchtmQg/gCZY0MS7gq++ULDwlakAkwMP0U6T19i299eBSBL4Zoj00rKNlx
|
||||
KLe0jbNlIe1uhVLYRfyz3S0I9z8gWDSQ8soFoqrJwKVHsO7wmH/3a0dCEWSHRRVm
|
||||
MRfU/Oy7A8U+iD37z9DxSN2O6hKRLMDu/NyTXUV95ImYwOcA7ya4nShwpB7vZLop
|
||||
Vu/BtX5HZ7JvBK3kApyR+Da5LYsBhqrDmqXqtykjn8TM0WG65jLKp5XolEcGEfUe
|
||||
KrqVMhVm+d2AijpRvsbOv13B7UmZkxBP9+6/o7uujv9nV5uSoGwv9tZn9ubeZyXo
|
||||
U7q3MaURqbgv6YV+h/aJ1X0URmPMyjUgkCLI3HbKJV+ZQH1jbNsn0aiVU0d0MXBb
|
||||
cE1NIZdfrQ/+Mp14KuiKoY/ycrJPQkg+Au8LANSk/pzH/lvGO1EP50eBRz4hIqEg
|
||||
RaNII+fQosyr10HPvlgMfEZQnDoG6H+Tvhgt4S6Ex9lyjKASnx/SQyRwhd9SPgDb
|
||||
bArbSq4lJ59rqw7TX2IrkjDgvv/FMqdcxjW+kIOTWDQ
|
||||
-> piv-p256 grR75w A1d8pk5Qfx1xq9vApCkKKj6gx1elqSYxLezwoChk3k7Z
|
||||
AeYO+rslswXdRJK/pwe9m3CNHIKsrRkt1lamyysDNQk
|
||||
-> piv-p256 RQguQQ AukcSmMTNQQZdr5zDOjMTnsOFZp5H5D5ohuVdIQUpUYM
|
||||
aJqrWcaXdpfS2vakEu5vi/AMHnoUUrUpm0bRRcCxiE8
|
||||
--- fNTWHdKIXpbJsZo2WnMAPXTNMtr0hKkgivCIi1qiQps
|
||||
XƒŽR0jÙebMB7v6“‚Ȧ~
|
||||
몀“8<=
|
||||
2iŸ¾Š2ìJð]L×íp
|
||||
L7a5HmNRuZ/tcwSLUOk5Lu6tSkHYr6UFh9eM6KY8frcfQ8RNOuNhUD5xyEwAVGXf
|
||||
KyLr23tmRj/h3M/EfGCxHIWaxyr6ZhsdAOmgkTvoh2TrjdXjEuzANqBk/uMKslp1
|
||||
EI25+MrQjxjBPXjIZLRkl+VF3sBz6lEOz4Vy5YZhG99bXJK66HfWFZSmYoKIvzNb
|
||||
S/JCizrmgzF6D8It8KCz5hY4jDMT1Qkij4B14DP8fDm7XD81ugCB/hGHkkRxS3P5
|
||||
J3vGmxPFV6iDFhNlY2BXsZuXecLLzZN31u1Md44aBjjryy2og49IRn7w6UtqHgm6
|
||||
3Iwl322Si/cCyOmS6BjI7RNxhmuJmz5T9JqsfNahGOLFlEoBfrq5cWc55rjyOGal
|
||||
cfCsp4I4/3FhtFlULmfPXgUyPQXBvwKLvFzkMrnPeqnKAo3ydNCgR0TIYNOND5xx
|
||||
mLegC4NLaZGKLg5n6HZXtdbX2EZU3MqLcki8sXjx6n1yDSrpnKABIQ+nhp3SQ7ex
|
||||
UXB2y2mh6runbC8FD5Wwlhl2EYpalynAMCkLwMMprsS/wkQqxiaCHMzQj6PDDt+k
|
||||
GpRnfzzYJbqUhcPJH+YGB91v7kxBSWCORAl1fB9nmogznnz2fPHgpO810KPsVYyE
|
||||
6Yj7eqPacItj1neJ5aFrD89P5fSJKL7w9Q1eoXUIUYY
|
||||
-> piv-p256 grR75w A/YBwM0ZYXI5Hzg5GRi6sKuBGoqNbvpX4uZoOPuUa2zk
|
||||
415g/yPYDj7k+K5BOBQyrqLNKEbXbRJqHDZzzYlc//g
|
||||
-> piv-p256 RQguQQ Akiqc7MtjraJ7l98dNAfc+mKcjq0fC98XuP3lFQezAab
|
||||
PpASEk/Zr+1CPZ+SibwGISbskcmArmz61W8bYD3JR4Y
|
||||
--- 5wcfHfcO0ifZvrhm6BlZ2tz5oTN8YUr5GjFqQXnVwC4
|
||||
<EFBFBD>ºÔe÷õ%³4NBĪWíPµM
|
||||
Binary file not shown.
@@ -1,23 +1,21 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 0qfOZA UTOzjwhqcVLmpf3P/nzO3aGKzKH0YKq04sUbFvMa/FE
|
||||
a2MMcZXucDEXmy/uU7JapMsboImCGsUiPA2Pr/wB5yQ
|
||||
-> ssh-ed25519 0qfOZA enugxksioeFkWvLRKcDyPrbUEt9LXsASTKOBqKgsnw0
|
||||
s3WdVVIIXBse+EZO607sqVRRejLgzFwXMdjgLZzdVDA
|
||||
-> ssh-rsa VtjGpQ
|
||||
Nr2g/ocV0oTbZydmcRnESyI4VOJdMGafozm80EMarbQfmeeRCfi76jxct/gpnL00
|
||||
P/2d/3pfvqbpuGZRg+Q/BCY0Vm2AujJ1P2UTxpnzC42iZu7qKWd5EY4z0Hok53kg
|
||||
McPh+pgNhugLr4Yh2KHpT27FfJpD/Pmjajg7G78Q9P5uel6SKXIW4uFO4Lp2yLC/
|
||||
vC52XMqxLrR9moCTr72dQPzd0IIhQ2vN9EtZkBnxUW6zt3ILAYJ06VLAGvVwXIWl
|
||||
0Wjs3G5g5v+H2e+Em5vIy1hdub/3orEL4racHO0m0binK/IVRJY7sjZDVDrrerFS
|
||||
SqPORQ3a7jmuHFeHxwAlRcmh/O1gEgAnCZTZRfQzgXI+nfPEzuL0yENd/ksUPBdm
|
||||
q2zQSv1rrj/tLMtxk4vpG8FkPp5UctaYignvHAp95xC+TR14aDUdT4x4MGboHIxu
|
||||
l6Q3evVJzblwIl3JbzpP3yOA2k25Y1KI+nVDrTqAdi+Yy4jtIOA+XancIHrpLzAO
|
||||
21JO1wwGtAsjUDCdhnYSyMcOiRLRHzPoK7o/BGx6b1Uqk2WmWhZnZft9MHPp2RtX
|
||||
Gv3PBMVjz2CO+f3d8B4akPSApgQ9fw1Vje5fY0CDWdORV7tHDCKb6fmTua2d73Iz
|
||||
ANrKYonqWhjf3F9u7zzM8/xd593AH/Y+aJo+z0S+Z6I
|
||||
-> piv-p256 grR75w Ap4du3RBcNdRvbwjQTpP5PPXtNCRuoQePt6ULYEpNM1r
|
||||
4Qe4c6j7df/TajuxM5Q1qnC/TCBNNI5K9WCDqD4VM1M
|
||||
-> piv-p256 RQguQQ AoR+aGTAQ6VELef54cGpukkWjeKz37tDbW93ncGWFsrI
|
||||
KbF1N14PYEQ28a/MePeq7hW9LAgUaNriFo6UO0eBvt4
|
||||
--- F8GiyUf87+vhg22ldWuC2j5K8WGAK3y5lRDG6yrzBPQ
|
||||
að$ß-“¼|‚h.cr38ÓÉÁéPwú3üÝNhà„†B¬j !z^<5E>² bÄ8cªâ½m‘sç¤
|
||||
–\Ü3û»ÐÕfòx3|ùNeÍ
|
||||
=:³
|
||||
mTUJr92J0ZSEDFiuEYbMjyEY2bNIErlvqR1BfUsq4qnQxwFbIxDhlKGybiIhrBJb
|
||||
xm/Pk3TUjkh/KxFWNV3ZuCsLd5mNgvPvvJ+aOnaeXQ1+rRXsPZwgWxpU3ZELND4C
|
||||
kD5P4F3gmBinYFbm9sJHaYhdh9WKLVhE7fKwT6X4KbPGcTnycBiQsTCyxhLA98bj
|
||||
ZgWvmMF08YOgoAacgFHgZzA/DXAV5VcsnhFjLOOBHCTfXI+MGcXLRYQWBSIrjQHJ
|
||||
X0RDr0W4B8LiNQ2iiW2ASYK5olQs93VZio8sRBLrJqHjCNYkBGiSIYwv2UFdOSB7
|
||||
igcW++FtBz9c7g5JbtU0JRoCCeyID6yG/t6MCm/wOgL/caKlNxUmPsM5bNQwExwW
|
||||
bmXFYwzx5hM6uG0+8hUvyrbqVGMAgN9SHmnRUy/2WPs6YBVKTHyvGu/oVnify5xZ
|
||||
7M2kQxwx6nOKT4a70u63DrDbvd3UrwIn/2jukiwY06P+uwps2lVnf+p3B3RrzYsE
|
||||
He0xPwR56y8lXff5HAEA+S7KqnbIzZ0aAr0TC/COQ8nnT/PTr1cPWr0zB0yYWOJW
|
||||
QAp63f6JqTDUb5ODje6zrGPPekDAZtkNsdgq6qKoHzM2ZHXxb5NMSbVMpXH0TCty
|
||||
dBi55sMWfK41c27KziVSHC8buF/0ZtnBF2NFVIqXu0A
|
||||
-> piv-p256 grR75w A1Qb1JBvzfhB02mUokGs8UZT10vB12RHr8VrS8Rs6nOl
|
||||
WMXfauWrrswhgnEjSL8r2bIieDJGshHULd0l30iuzOk
|
||||
-> piv-p256 RQguQQ AkCto6VAvKVFWUPRRp3M0iQtLL6s9yIYUYjpBQecjCml
|
||||
4LoTQ0Y5j5dyPYFrS+UvPCuJWzZJ5OVQBQWFIZU36ek
|
||||
--- HdU/eWJvqLOhNdj63ZRmaXfTgi4R0usp3FsbERETe88
|
||||
µdåhˆælâˆNß;îöý‹VH£'ê-2g/giµIlè–¹Lë¡Ê¢ìAäžI3OÌ»Äòé‡7ìÚ]û™<¬=ûÏ)Ó C@©‰<C2A9>ë{É‹<C389>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,23 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ 8cKmhu5xTxTuvVbBhVZM2W2qzRQRVX9BSojcK6YgCys
|
||||
kwfUlvEPLVbaq/rjQAu4s2NhGbxFfdEeLyU1eUH2gF0
|
||||
-> ssh-ed25519 WiIaQQ TvRNnifxg4OPDvwvuUIdJgwrpj8KegqfjVEB/in9UEw
|
||||
U0iqVaHbZS/SvCH4UAzjJQ9nPiHv779v6s5PwjTxf5k
|
||||
-> ssh-ed25519 neExcQ En4r80Zjlg1ClqZgn6ZrB2P1QFl+DFp9gf6KWEIJdkc
|
||||
Y+w3sTwCu456QP4kwfiA2hWAiCeh90FmMTXyIrdMHFQ
|
||||
-> ssh-ed25519 WiIaQQ QLCHeNwzAGGXAB3kkjQAUchnUu4pon8js9gwlEcSC0Q
|
||||
htCKqKAdOzZHAHe1hssvD0MTmthMpRB8hNx+I6M+gfk
|
||||
-> ssh-rsa VtjGpQ
|
||||
QZHM+/KssZmfX436QJGBGbhlx36oxCg4jgdbRwa/acI2s6ppawdnFzyWZBhv/Xzk
|
||||
wYcT9c2ciuy/aEx6uX7fSAiKQbfq0d9KEp+d2xwlpL02656hJ3Jya3U4RApvEFeC
|
||||
lNjyWgLKuyxYeC20f3/NMg2AnickMicbw4WCzG+HWnVCnxDe2JW+ZbXPsoBg9IbW
|
||||
BO05nRKB0jonuA5NDvHZ+a/1xf/4qarj9vmwnsoK7jU6TGK2r+iPHuppC/LTgofm
|
||||
2kXKDP/gpRpIblHr2QukoGeWmXPGeF5PXXCPC5eor1jAhwrBTBY1hL29mhb6mK5M
|
||||
qvX5wvayHgIHvX73fn2oexepc3QXjazCKSdVSykj/s0N0//0fbtYJe8qIbgfeNen
|
||||
Lvn9DgsDvQfC83Iikh3r3V4RtmHiD12gA3qxc3tZSQLftbedTbylGnMmCZr2c9w0
|
||||
4396ZfUfjXk2Px/XCiy6WBghW62QQ4Q6fGYWBViL1OWCoudNNRCfD72E3jdfj2l2
|
||||
cScM+huEDU58dxpHM/6yLT+97Tta7JDpgz2ueMUfKFCUnopKNKBPoaZfFzvi+nCw
|
||||
vRHVdt5CpN4oJc+mokWCGNt4fK5nyvyO6nDe9cHel91sfS2nCiukf8IKmEDlZQGd
|
||||
jEMLZjAkuEHwa8Powxi14egunANQPgLSM5EuStDmhlU
|
||||
-> piv-p256 grR75w A2nunTE+4FmZOKWQhinSlizVprH0lX81NKsVEDijzDQK
|
||||
8+Rdpp1JCxbbxeTVl0WGpQHDlqb5e22zLbBkwBPDYkc
|
||||
-> piv-p256 RQguQQ Ar8nU9oNd+TEfTsdIM4ka/J4IArbeQKfn2W93TYOkajJ
|
||||
5YnDAocS0lDBrO/M6sNWyn/Vxa1qLiudf2Via9UOUW4
|
||||
--- yDdPOHLA10Rxzl+kEyCUx/lmLZaVWucWY1Sj9rdo4hU
|
||||
Bÿ—ós”dGÈÿ´m`ÄÎ),NU@þˆ³a˜Pv(½®rMôû
|
||||
eZ0KT3qWmlANpmjWboJca4T3CAPNSl0QFK0thKZArL6MIr9Yn/a+Wvr81SlYhc8k
|
||||
ftnYOSTTq6XsRDxQ6DrN66+x1/zJSOBygw3/2IEjDyarMacV3YiiNaGMQC7OUmma
|
||||
SCwXdmw5PAwWqcyzBzb9rlZLdTjYmqVEaSC0ReaVF3qQOnFmVvSaLDOZwYcvl2qK
|
||||
xhfIrWhp/csvMm7/fU2WOqVNkkx/7zn0qAT8crKhdx2SC52LmOjpa5heARfkpD2+
|
||||
rvbzMmDkDAbQk2MEtRyxUhi0kYY791dLMn9Wv9S3Hsv3+wZB5YtLUeFrsGl+4koS
|
||||
7SMeAOIhBn+TLX9w8M2ydPnD1Jp0PRWndpxZoqOCOnp393Avv31Q+ohF4V5JghwR
|
||||
PHK6sJiczVsaZeeHLY6TC35unVtmPMHmIjbVwG6amPCXNzuw8eF4SpZnDPI0ifMr
|
||||
uw3nNr02rPQC0lPEdltBXgRj5EiR8OymeS/FFJ4sCpx5G3ZjS0SakbK6F0Y+dcQz
|
||||
QLprpFm5w4EwnuinzwpK+WQRikowuLaF2gP3Nt3rT2bcoGYV1XjehJaTTm037YGW
|
||||
0Gv7N54wt1tI0AZWCQU+hFrNennzpJHeMwZ4qjiEbrd1mO7YPoJaNvIcMbQfnxMK
|
||||
WQUWd6N2x+wlcoG5CoOOlFp6W3oaiKuEZxDrRAQ/RO4
|
||||
-> piv-p256 grR75w AqMFmmDlrvEGlcUU78ik0tBPIvPv0HqZHAGEo7hEDhQZ
|
||||
3ag//Rv9l3XG3fUkjEnZeIJbwrfv7jUacclhx3d3KrM
|
||||
-> piv-p256 RQguQQ A8lVXDBZqjbRPeCzfKm+UGEBzd1e+NIlHgWsfBTir3v1
|
||||
Wc/PFCooD9is8CNwADtiEZYsn4A+qks5mBnPi/x6jKM
|
||||
--- MOjlIMMtopwq0writNAt2sTH+xO5erY9Y0+oV1DZLt8
|
||||
憫阘朻留6すW民妨堫溅戱)頴鏡隑\鲳>德bj机<05>
|
||||
@@ -1,23 +1,24 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ VfWt68buOl2UetDKcQWuWRSOeJi4HhQxiZVI4lIfcUU
|
||||
GTWI83cLyP2Kjd6twRpaWpBq+U/BYcfDJeljQ1CZ1bw
|
||||
-> ssh-ed25519 WiIaQQ nqwbWtevakrHk3sODtw7l40klSb4cIyi4uSsnpcS8QI
|
||||
PxfriZ8CdPhPTNtjQL3lsyjfjkpBsnmJc0TRNM1pyHM
|
||||
-> ssh-ed25519 neExcQ UMc/GuY30kFauSyPWxxYDNXT34thxHxaxKkPAorjdlo
|
||||
CTYKrDC5rIHYmF3jo+0YBua+Nbqj4EAG7GvgA4Sf6so
|
||||
-> ssh-ed25519 WiIaQQ OmuyNeMkttBmrX0/r0uXB8ztD0IVVgT6x9s3j6ae01g
|
||||
PjkPRMbGvliVSygR2/wuy/gIeWODXJ2CXioIF0khDZU
|
||||
-> ssh-rsa VtjGpQ
|
||||
QRSdhHdAcGlw2c1hxGNmtAp5tPcjQ7CI+v9JkOyOH9W9KF3uOfshrpkz/psFPd+s
|
||||
6eqQDAwEAgla4pO6FHj/H2PK9KDHY3j2e8BZyvJ8ZsefUsSAYJ92hcD3fdISL+kc
|
||||
+FMx4Dlm9LSeGGqElbPotyU69t2O/WLF01HqLDVgHrlyTzWvQMhvATA5Yzcj1Izb
|
||||
0AlA7IOE174E448/Ovo5a2T+DF0w2vLEPruH90Kvs2lui+i8yC3StgBwB6flmSfc
|
||||
dSR5qO0XCZ8gK/kkdsz2iZonsBCbEugQayN+EoE8vop6YlPW36EtO8IJnVnKmVEX
|
||||
vy/Rj3dubm5Wsp2hAyeXSXx3ity5fdSJ3TVY7TiPLPlt1yik3Wggtv0DlgZK0AML
|
||||
x1OJbrZRrzDZKYzxXw69+lOiV5XfVUfk9PXC+IAj3xf/dEz93b6Pief+PbOQg+tz
|
||||
INDWkL67/Yx6rEf41iLCsQananBV16IeM2SndRyrmT/1OCcLUR/8xqBHfOg/K0kp
|
||||
lHL7D7/neqRh2E8KOEciHgWFqWT/tV5XpyZVvA8OiYLoVbmLG55q4pexrDfQ9OgT
|
||||
ZDIL94VjiBDH5BmPfxLhRZP/58EhLSDH3WziIWnv6Y2Y1bAl5qiRU4tEV0RCHqyJ
|
||||
xEeLcqI5uFwDmmt881zlyAb38oQCGq/YRXhGygwwn18
|
||||
-> piv-p256 grR75w Ayt9mI1/BJg96jlkLVjf7xhDoklNuoFe3ZeKLYzFqDPO
|
||||
S3vFS+S4ZVC2O00P5u5GKaLtbabBPUCuuFNFFxcmmUw
|
||||
-> piv-p256 RQguQQ AqsDGN35gXkyWaKSRVATyt1Ap5gzLKiAx+UHwhVXdhhG
|
||||
YUqypxYBQ2RYbnMclNa8PSLV6atbVRCho4wHUCZegkU
|
||||
--- Bay62OwVx/Q8Nf5MHRu7VOWzwh1LtkWbxQytL16Y5Zg
|
||||
Én(/GZvÞÑ ç!料™¡<E284A2>fs×à–#…¯Âv5”K_àètûk‰ë³s7PÈÚèßÂÉk
|
||||
YIAz7QEZ4LNTmvAS50LgoFfXbr/6OVV1WH31AGSd53oVSmv+Q+yFrdv8tPORv83P
|
||||
0+UxaiRMSrhvK82BMzISCSxVkd+LQUXI9C94Nc/ojxX93l0qneBwN8+UZ6AO3Seh
|
||||
qGoh3Kz6J58DmOr4EbX+wM3b/2uuu1AlVO5kKc1bnPYEL1iTB+xkawfARUqa7zzr
|
||||
fDhjksQUj0aHyRnla6c1olq9FO9oac+GuuALKpiVTK+rKo91cxhzrMdsWB3y3ZFp
|
||||
BT1u4Abow8hsNc9OEktRr+EIScng7WQJ0eLQ9L3YheEwQJ/yLcZ7o48j0ABFpVIr
|
||||
VoQOwmYCah2tsVvime3je0Q5e5gIsuHXAKWBlXsLk7ypFt+bpGyybBKSc9HJkpiG
|
||||
4Dx+0cOjdSOQMLBIziIJg/gRDEFTRPIfNOupHn4s4n7JT4W3qK4/3ZenEONYe+m5
|
||||
39FtKlol1Cae2J7a3O+Nen7uctaEPMQ5IszF8ACKyOYtKKra5dNxF0TwWwnVZl1T
|
||||
5noGRCCO/JTuwfs9pioNUTSPU9lZPqbnI55DiZzukH8g/0SsIOri+8iw7XAVgdel
|
||||
gNbY2d1mSTjjQ/Mx63U40fgC7YKqYRGY1VeKCEvVTnP+Ue0qLTHmiRflxLv9ZwLZ
|
||||
AlQQXxLmBl1PZiXCJMitppcVx11e04fevz31c1XBa58
|
||||
-> piv-p256 grR75w A72KoqK+771SubG5cSFdavf38YqrlbKdr+wHcM1q+EjF
|
||||
5AzV1VNLpqVuyOu805GK35+ysaHuq2vrKRU7K9YeTUU
|
||||
-> piv-p256 RQguQQ A8llvet0yt0L+Alp9vauictZ5J8d8xrMUnJC4D2NEbqq
|
||||
X2B0Qyb1A+d1K5h0fgasyKiGJeM60eYfgwKuNBi2wWw
|
||||
--- rqgiOhrzshOYM+kjspQnZ1bIDMVE6fsVI5W8+LvvlyE
|
||||
]~–G<E28093>y<EFBFBD>šN!¾¨´éèºÂã`cv½¬nð.<2E>Á£¡¬*C
|
||||
tÄå<>
|
||||
@@ -1,24 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ XvGpJsiChcxBbL7c5CK2mUvdFHV5ypmx5tpWVfwuESg
|
||||
1WI2nm5/oPtCqXD0N2WStDOh91UT7IIS4/vFwWL6UA8
|
||||
-> ssh-ed25519 WiIaQQ SLJfhzdJpYzzzqFqrR67GrAuTWFJYfX10iidobo5xxs
|
||||
KF+r/AOKKLHqSf1h5AOJd/3IZTKm442ejUnWVhk04/o
|
||||
-> ssh-ed25519 neExcQ syhT5cOvQjaovEzuwtp72bIoWxOzgVCYJPJ5c7NlOCs
|
||||
eHgYoVUbbNL3Mag3T+d/+55CEPtkUo8Rjn5TOOC52hg
|
||||
-> ssh-ed25519 WiIaQQ PvORdbqvGQY1+P7hWyEdxJfWGDBgpRzn94IRQ0BqXmQ
|
||||
90E0HvRPdOQMrNFSBXribQegGBL/55agX6vq/RvLSXY
|
||||
-> ssh-rsa VtjGpQ
|
||||
AKdJLoXUUX82mhV84R8noG1qLnD/uvArV0gsYxJuS0hTnkZOyxV1XgqgH6UrgaUw
|
||||
G6Q7aYbiNYMA4+6rhyWOnH8I5QRcCVEK5y8jtiyTEU3QaPAXVhEq1NpfzrsyHd7w
|
||||
CB8mfSSAG9jE1owvuuubxEqx4YKu1oH9kh37GIeKmJlz67qJGqT6BnRMMxpU46xA
|
||||
C0+c/3CURj4N4fFtxWNVpxb8v4tUYRmA1Jq/FnqqdAqFIyw466eQVglT8YDQJvHs
|
||||
ufyR7Gnbk94qvXXg5G878eviQL2T+c/xEtVEyLeHs017dNq5FxeBBzEMwqAKshCh
|
||||
OtH4AJt+U0Rzq0JTIpRH/0V1exK1PM/9DL1KBQPAlfUBb9iYwKsQo6LieXS+Qowo
|
||||
qMTPD3xSfOD6uzmKhXCdWKZWZT6S2hwHjeXzXjYjkhErjbwjj5c2v4UpXpwdVlNN
|
||||
zocqPxVGCplFuiME0vLsuztiWtei2yH9ZgFKxNS/kxm8GfhyelAnAQng3r25YYwZ
|
||||
nLgGP0bcADAgwgXGTFxlyY2qoM9MKgnbjhtfwImLlF+WbC+IOUwBDklSgq830MKO
|
||||
ZQVccNwuZoO+jivXpfGM4XApK7pUXlz/0nc8jRE7u2zXpXLqv+fLXxgTXFYlrogT
|
||||
66dmjeUBrB/kMS2IP52ZdpdO3eGY1a75H5W+DtMeAOU
|
||||
-> piv-p256 grR75w A4Gic6auHqevWiBh3WizXvYxjX6e6JToxNBXEMM5SZxL
|
||||
0epbF/vqJyp3Cn4Hr3ay751J1I089Hxus1vn8jgCa8g
|
||||
-> piv-p256 RQguQQ A12b6QQk3G0/ksYw0D0Rfx0DKMYK5Lnfi2q2tdtMoEfr
|
||||
zqAf5KbFsPpemu2I9YaBNipQsiz2Lo3JbuxZ1gMNQl4
|
||||
--- a92cT7ctHL8S0/tTCY/rkfy94THEcoaIEPL3vLrW9Z8
|
||||
ú
|
||||
u+ Tò®:¦MëäϵOã+tôX'§r…ï
|
||||
LPybYGkzAp6tYx0irERxyenucSAsPW69TUEPy2CMsGlEgjOTvjPG+Vbvg+Y2+jVC
|
||||
mnE25fuz81hsfpXKbvzwY9/7EqTlZUd9oKFkHg6Qvza9hP9erue/nPNCpFwXcEE5
|
||||
tU4SeLt2l8TsgS3x0Z2x6TkLby1kO/cKYo/F5s+SFYl4XsAXTxRckvGt6rkGZbYD
|
||||
v+PXhpBHstImS73gFPnooMpvVE2ECpF+c7SCOzjnvREP3Cl39WX66FpJSlOGg42R
|
||||
7YlO1STJ39PE5A/uF6QsnXb3ZXIxG6Xq6fZysjsBF5I5AAumswGXx2d4AthRmrJ2
|
||||
CDgHZvIeaCFnYT5QamzTOoi0RlvS1jzazHsETI53+tDPkm2STWCVnqUJNvjxCqSK
|
||||
iBeAwJ0qzLZAy0RhaCh4Y7G6iKohMRJffFSGURT06Q80G/bck7lSeXdENe/OHayE
|
||||
sqgEuOEfo4StcGm37ng8tXvbliBGwS387DNhIceBgtBSSdMcv9RgtS49ZwGW9vFM
|
||||
cE9Uo0bq90O9aetlsVDezr8+eB+CPVYKlLf4aeCZsvXp2M+BSeg1S0HXJXtV91/B
|
||||
nMW9oVKY78ZlyNVfcVqI232aew31gL2x+0fogGR2f35Ifj1DRX16VsKrntqtz+bY
|
||||
EQNjnD9V+FBervR0Ktd2Z8MWerLSFDpgCkai7J9FnJo
|
||||
-> piv-p256 grR75w A0qVHsKtbCez6OnEWxxPl3rnNAt+K7Pm59l9x+3eD+NX
|
||||
22mZm4Nh5shFCMnOg53b6MmtgRodBoQ9vWKq/syaBZw
|
||||
-> piv-p256 RQguQQ AwarzhuRha8S+NAbX60sEcqy+UVI0r3bH96ZjEUX0q1Z
|
||||
8lV1GXuYBr5KAAv0/e3rE9S2GIY9dTh6eNgKZ+2ML78
|
||||
--- R1CnHKU/ARtD8dNqspcDwaOPXdtjgbgpuWRwOJa4swg
|
||||
€BÐ=@ ŠA.)²õßD]hÄ·Õx!Ô¦š1ðÎZãp~ÜE|¢…†¹¢Úû—Ù8
|
||||
@@ -1,23 +1,24 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ 39vMfysEahyydxnqENrwNOZi9yWpZSIWsNQxkMFBQik
|
||||
bvJK5Gya20UhZ/dWKHAQZ7CPa7v/pISwB90WJejYA5k
|
||||
-> ssh-ed25519 WiIaQQ KZ6RU6kDjHVfy5YwlmjQhH6YBVkJqrRonUl02iYA2m0
|
||||
GGsCI2D1tN4lGpsHJph6pq9N8UYdG2mfIY3U9urTR08
|
||||
-> ssh-ed25519 neExcQ PzqM1FMh0onFfVSTQq8GW0xmctrZQtnZzdofvCbYvQM
|
||||
ilNa/YO8rfztqW51dguTMSkkFITGPiFtrollMqjqxAU
|
||||
-> ssh-ed25519 WiIaQQ moFaxjs1DieJuu9tUeT6zpkbI1zTyKvDo8DiaqvHY0s
|
||||
YMeeYW+E50SEuCBr0ggsbZSMGIrbK0FGe8VmZBKs76s
|
||||
-> ssh-rsa VtjGpQ
|
||||
a0oXJCsFZdtpHuZIASZUp5C96ZP1QU1I3RSpIe59hnnpGLbXZE2qntXBfQ9ojkBW
|
||||
bgNdxvAcWLaYAiCbe6Bo3S9+Q2svJQlEqIZ59o2H9jh+swSoLfWgi0Blo/56B0GQ
|
||||
UrltI0ftMhM20TaszHwmVhvo3yODcZpNhjAMNVkQuAov9BSQdgGRgivBnt1FfYYI
|
||||
f6nqfrE5JVoemk72Ip4jQFVWylK7drEU9W2WlwOsF9zkHOJxdNWiaaHpmnsgOEzA
|
||||
BIdVqYZTtRElqDKM3j4SdE7hL6i4fIb4QAsfX5XI09eUDQLSRGF2o3lqQ4FVx+hb
|
||||
YE31vr6yQEObTCbrf7zmKIK5UwgQbMf8+WbCxDdxF7FqTKrg7jVhPtu+n6UsJlzv
|
||||
CXsJkKYZwyESZ5oNjCyqYkkkQP0JChl886OPFY507/Xn3gl3qj/Sh7FZyUuLZ92X
|
||||
aTHCJ5AHGwQKFnVO1YLXWDcn0F3NIq90YHJ1NsxNvNXZJmcCyBTMtDJGq3q/6Xqz
|
||||
qXpVoT/9XHHStrKYvi2lut/PFMC6nciixmiNaVbE5Aok5eNhG8wUTsUVRIr8+O/i
|
||||
07aQBeg7RJ7lW6oQ4/kdfufQbQHuQNchQzkdvQf3azXCXBTJ/+Z6uQuVg32MVsjq
|
||||
fRO2BtrWjsAVThpeVAdfQb2b43wmL9HBhivqYaBK1gI
|
||||
-> piv-p256 grR75w A9sg2H7x+75AK9ErkbqMkC06KEDy2Q34seCXCGUguz6H
|
||||
1TchlkXOzymAT+eDr4bpwugeLQ7gAKRvdYC2xcd9DL8
|
||||
-> piv-p256 RQguQQ A364N/An/SMqBAp0yrLB0/osdlmz/MgZFG4RB6Os2fLX
|
||||
V4qtGLbpJrTTFWCfTMcWpuVUiLflDdxXkMqPOtG1R/k
|
||||
--- O4Xqa0RavBa09l9txN/oIQjAeZIYsur2UsxaSRmhAdE
|
||||
«à´<>`˜Ñò°DkÚÊ/9¤ÊÀo Qz–#fINª¶J<C2B6>ú3•KoÚµ@§>·Zzê²Ip•ÃÚhäû
|
||||
EVsNggfyDRuslqwmv/gImlGV9mdSUgqNxaxQqQGGIeOJ0YyJHcWZByczJwsc6xxj
|
||||
nXMCyj5BpzHmCcTnRG4EiPe5ZzAtp85AkgphiSSzZUyxcoYQdDJvOYShwjO2zIIf
|
||||
+cvy2eNi2KnwGozylu0C2e4wUjvXV401Y5/c4qnYDiFID/Xb9uHHdOw11CKd7LNA
|
||||
fJhhX4Vo0HA1IiiDnDtDDLi6HiLxz5tYHUiwpGswi+PVnjkyWUQCZy/xHF0PmuhI
|
||||
Z+v9CVrz1lwJL68n1roTCkIuqw/rK9rAdiGcG6/Vs1ZNHtDH3OEOQqt7kQ/NcvnI
|
||||
OCfl6+x5NH5jOfvMgCzvZ0gAOfNLIp5ucmKd2mBqjvH88uYXunbS3thElDk9JpPA
|
||||
Et0/ul7NH1qpOf2M8WmTw2bGbSu4WOTyyje+onLMUBuP1VhgvKBBEAWLUiDLFYUg
|
||||
qfKYWUtYBtsVyWyNZ0SsyASE/erTmHrG3rsDF6zigaVkR5eLp08Ihtd082e+2rej
|
||||
eBZIvVpxqYx2qLeUZQ7WbGxSzMr/8gupGoSz02xijU1RoLHpkkWg1L6jQ6Kn1CV1
|
||||
NnIVDAcainxqONWb/Lie8slyHA0JlQ/OwuxTmEpnWCkntpcjfI+7jRGMOkafizZw
|
||||
h6AJ93Zzaf+DgdRDrDI/hJLv8+KFu3b7MAi5igBnREk
|
||||
-> piv-p256 grR75w Ah9G0uCSRD274KZuWP5BTXXXnG3kHqscqzxfdQHvjdf2
|
||||
GFVKRjelHN91KJ2D0k4VIaCFdYMvld7WftnoQzlLxTY
|
||||
-> piv-p256 RQguQQ AzTeCht0CzL9Ri6iNYQ7YnCBMz6cdzIDF4RWfWOGyrIE
|
||||
L5zwoQXxBhYWANjvIEr8lWZn2h7VLrtwq1x2X8oSitg
|
||||
--- dKa6XX5q0nhCjTaNRCLuKYogM7roKgNNe7l5oQl2VnM
|
||||
é=w×<07>ä˜HÜ‹(š²¹»FÇìǼA'»¦§
|
||||
U‘ÃyO
|
||||
Binary file not shown.
Reference in New Issue
Block a user