Compare commits
126 Commits
09cdbad9ab
...
refactor
| Author | SHA1 | Date | |
|---|---|---|---|
|
0249d17ac1
|
|||
|
a3f253bd53
|
|||
|
034bc1e4e0
|
|||
|
bd07e688fc
|
|||
|
32133438d9
|
|||
|
d95cca9908
|
|||
|
6f278377d7
|
|||
|
731e4e33c5
|
|||
|
bca0dddb1f
|
|||
|
b88a5b9a2a
|
|||
|
f864f543b8
|
|||
|
941276e83f
|
|||
|
f54df874d4
|
|||
|
a83c214180
|
|||
|
8e7629da2e
|
|||
|
941e8a5dca
|
|||
|
522966f808
|
|||
|
62acac7285
|
|||
|
08aa2cd458
|
|||
|
d65b9b558d
|
|||
|
64545e3086
|
|||
|
02267d4825
|
|||
|
0a0ba2b5a1
|
|||
|
1f7f453fc3
|
|||
|
a667691f49
|
|||
|
d296306cb6
|
|||
|
b1574ab9e1
|
|||
|
55b518345b
|
|||
|
b4892083e8
|
|||
|
8d4d1e4be8
|
|||
|
653476ec32
|
|||
|
949691b4c2
|
|||
|
ed60b8cc2b
|
|||
|
9ee26c983e
|
|||
|
21ecad4db0
|
|||
|
a77d2243bf
|
|||
|
51b596ea83
|
|||
|
909e2bb494
|
|||
|
ff56f1d4ab
|
|||
|
a86dbd6253
|
|||
|
c285b75264
|
|||
|
893d31d52c
|
|||
|
7bdc00290e
|
|||
|
b70620ae99
|
|||
|
62ac639d08
|
|||
|
9de2d29400
|
|||
|
a0d72f98b9
|
|||
|
fa778a6040
|
|||
|
3b886aa6ad
|
|||
|
2277c363dd
|
|||
|
d31042fef5
|
|||
|
edb0ca235e
|
|||
|
db3a1d9ee9
|
|||
|
f3388b4dbf
|
|||
|
5b63ced9e5
|
|||
|
2a17f98a00
|
|||
|
77bba122a5
|
|||
|
e1168e2a77
|
|||
|
df5fecb899
|
|||
|
a574bcf8fe
|
|||
|
f7ef0aff13
|
|||
|
b1e9a4fb94
|
|||
|
32e7e7eb02
|
|||
|
438717fdf2
|
|||
|
e6b35bfc2a
|
|||
|
aaff72d9f0
|
|||
|
8c6d79ca6f
|
|||
|
d3101d88c9
|
|||
|
80178917bb
|
|||
|
e51e3095a1
|
|||
|
37547460ff
|
|||
|
10f2f33cae
|
|||
|
7b0cfb5dfa
|
|||
|
98320fd0bd
|
|||
|
e6d6049c08
|
|||
|
b4e573b9f2
|
|||
|
dab2e8b0ac
|
|||
|
ef91ffd016
|
|||
|
10c0d47c79
|
|||
|
b37e0cdda5
|
|||
|
f750968224
|
|||
|
88c2a62223
|
|||
|
9ed74e74d2
|
|||
|
ab8ad96c3e
|
|||
|
04ae6d8317
|
|||
|
557aa480ee
|
|||
|
853ee2a917
|
|||
|
4a876f27d3
|
|||
|
f4eb08097a
|
|||
|
1ff3ab8af9
|
|||
|
fc026c4157
|
|||
|
e2f0c80e31
|
|||
|
747a9abd01
|
|||
|
c3ff05b262
|
|||
|
9fea252f2c
|
|||
|
5f925a20a4
|
|||
|
7123d72902
|
|||
|
8a5ad571bc
|
|||
|
21386d4a63
|
|||
|
ec7c4cc55b
|
|||
|
fb04e18343
|
|||
|
69c050bef6
|
|||
|
05ac2e175c
|
|||
|
89c5878f9f
|
|||
|
ac8178476e
|
|||
|
fff7506433
|
|||
|
89eb52b102
|
|||
|
5b810ae614
|
|||
|
1466895a1e
|
|||
|
2aa2c10ff2
|
|||
|
2171e29570
|
|||
|
bc8c07914a
|
|||
|
1cd51d2034
|
|||
|
a965485be6
|
|||
|
785c95e52c
|
|||
|
ab8c079ef5
|
|||
|
616b1154a4
|
|||
|
38c4f44dc5
|
|||
|
3c0089c26f
|
|||
|
b7a5d90616
|
|||
|
3bb1e6c8fe
|
|||
|
7dece1e338
|
|||
|
883522adf5
|
|||
|
c018da4b11
|
|||
|
ba41252e6f
|
|||
|
5370c7eaf1
|
32
README.md
32
README.md
@@ -1,2 +1,34 @@
|
||||
# nixos-config
|
||||
|
||||
## Install
|
||||
|
||||
### Patitioning
|
||||
|
||||
- Easiest is to run [disko](https://git.kabtop.de/Kabbone/nixos-config/src/branch/main/disko)
|
||||
- **Classic way:**
|
||||
Partition disk with gdisk:
|
||||
1. EFI Partition, size 512M, type "EF00", Label "NIXBOOT"
|
||||
|
||||
2. Root Partition, size 100%, type "8300", Label "NIXROOT"
|
||||
|
||||
### Installing
|
||||
|
||||
1. mount all the partitions and subvolumes to /mnt
|
||||
|
||||
2. generate initial nixos config
|
||||
```
|
||||
# nixos-generate-config --root /mnt
|
||||
```
|
||||
|
||||
3. clone flake and check config
|
||||
```
|
||||
# cd /mnt/etc/nixos/
|
||||
# git clone https://git.kabtop.de/Kabbone/nixos-config.git
|
||||
```
|
||||
|
||||
4. install system
|
||||
```
|
||||
# nixos-install --flake .#<host>
|
||||
```
|
||||
|
||||
5. reboot
|
||||
|
||||
37
disko/README.md
Normal file
37
disko/README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
## Step by step
|
||||
1. Boot the [installer](https://nixos.org/download.html#nixos-iso)
|
||||
|
||||
2. Get disk name
|
||||
```
|
||||
$ lsblk
|
||||
```
|
||||
|
||||
3. Get disko config
|
||||
```
|
||||
$ curl https://git.kabtop.de/Kabbone/nixos-config/raw/branch/main/disko/btrfs_luks.nix -o /tmp/disko-config.nix
|
||||
```
|
||||
|
||||
4. Adjust device name
|
||||
|
||||
5. Let disko partition the disk
|
||||
```
|
||||
$ sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko /tmp/disko-config.nix
|
||||
```
|
||||
|
||||
6. Check if it got mounted
|
||||
```
|
||||
$ mount | grep /mnt
|
||||
```
|
||||
|
||||
7. Continue with NixOS installation
|
||||
Filesystem definitions come from disko, hence "--no-filesystems"
|
||||
```
|
||||
$ nixos-generate-config --no-filesystems --root /mnt
|
||||
$ mv /tmp/disko-config.nix /mnt/etc/nixos
|
||||
```
|
||||
|
||||
**Alternative:** continue with normal hardware-config
|
||||
```
|
||||
$ nixos-generate-config --root /mnt
|
||||
```
|
||||
|
||||
65
disko/btrfs.nix
Normal file
65
disko/btrfs.nix
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
disko.devices = {
|
||||
disk = {
|
||||
nvme0n1 = {
|
||||
type = "disk";
|
||||
device = "/dev/nvme0n1";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
size = "512M";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
extraArgs = [ "-n NIXBOOT" ];
|
||||
mountpoint = "/boot";
|
||||
mountOptions = [
|
||||
"defaults"
|
||||
];
|
||||
};
|
||||
};
|
||||
root = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f -L NIXROOT" ];
|
||||
subvolumes = {
|
||||
"@" = {
|
||||
mountpoint = "/";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@home" = {
|
||||
mountpoint = "/home";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@nix" = {
|
||||
mountpoint = "/nix";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@snapshots" = {
|
||||
mountpoint = "/mnt";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@srv" = {
|
||||
mountpoint = "/srv";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@var" = {
|
||||
mountpoint = "/var";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@swap" = {
|
||||
mountpoint = "/swap";
|
||||
swap.swapfile.size = "8G";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
75
disko/btrfs_luks.nix
Normal file
75
disko/btrfs_luks.nix
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
disko.devices = {
|
||||
disk = {
|
||||
nvme0n1 = {
|
||||
type = "disk";
|
||||
device = "/dev/nvme0n1";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
size = "512M";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
extraArgs = [ "-n NIXBOOT" ];
|
||||
mountpoint = "/boot";
|
||||
mountOptions = [
|
||||
"defaults"
|
||||
];
|
||||
};
|
||||
};
|
||||
luks = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "luks";
|
||||
name = "crypted";
|
||||
askPassword = true;
|
||||
# disable settings.keyFile if you want to use interactive password entry
|
||||
#passwordFile = "/tmp/secret.key"; # Interactive
|
||||
settings = {
|
||||
allowDiscards = true;
|
||||
};
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f -L NIXROOT" ];
|
||||
subvolumes = {
|
||||
"@" = {
|
||||
mountpoint = "/";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@home" = {
|
||||
mountpoint = "/home";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@nix" = {
|
||||
mountpoint = "/nix";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@snapshots" = {
|
||||
mountpoint = "/mnt";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@srv" = {
|
||||
mountpoint = "/srv";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@var" = {
|
||||
mountpoint = "/var";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@swap" = {
|
||||
mountpoint = "/swap";
|
||||
swap.swapfile.size = "8G";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
47
disko/nas_luks.nix
Normal file
47
disko/nas_luks.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
disko.devices = {
|
||||
disk = {
|
||||
sda = {
|
||||
type = "disk";
|
||||
device = "/dev/sda";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
luks = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "luks";
|
||||
name = "NAS-RAID";
|
||||
askPassword = true;
|
||||
# disable settings.keyFile if you want to use interactive password entry
|
||||
#passwordFile = "/tmp/secret.key"; # Interactive
|
||||
settings = {
|
||||
allowDiscards = true;
|
||||
};
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f -L NAS-RAID" ];
|
||||
subvolumes = {
|
||||
"@" = {
|
||||
mountpoint = "/mnt/Pluto";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
"@/Backups";
|
||||
"@/Media";
|
||||
"@/Games";
|
||||
"@/IT";
|
||||
"@/Rest";
|
||||
"@snapshots" = {
|
||||
mountpoint = "/mnt";
|
||||
mountOptions = [ "compress=zstd" "noatime" "ssd" "discard=async" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
661
flake.lock
generated
661
flake.lock
generated
@@ -6,14 +6,15 @@
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701216516,
|
||||
"narHash": "sha256-jKSeJn+7hZ1dZdiH1L+NWUGT2i/BGomKAJ54B9kT06Q=",
|
||||
"lastModified": 1715290355,
|
||||
"narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "13ac9ac6d68b9a0896e3d43a082947233189e247",
|
||||
"rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -22,6 +23,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711299236,
|
||||
"narHash": "sha256-6/JsyozOMKN8LUGqWMopKTSiK8N79T8Q+hcxu2KkTXg=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "880573f80d09e18a11713f402b9e6172a085449f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -30,11 +52,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673295039,
|
||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
||||
"lastModified": 1700795494,
|
||||
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
||||
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -44,16 +66,141 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"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": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"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": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709336216,
|
||||
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"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"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -62,6 +209,86 @@
|
||||
"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": [
|
||||
"lanzaboote",
|
||||
"pre-commit-hooks-nix",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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": [
|
||||
@@ -70,11 +297,31 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682203081,
|
||||
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
|
||||
"lastModified": 1703113217,
|
||||
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
|
||||
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager-unstable": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715930644,
|
||||
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -90,11 +337,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1700814205,
|
||||
"narHash": "sha256-lWqDPKHRbQfi+zNIivf031BUeyciVOtwCwTjyrhDB5g=",
|
||||
"lastModified": 1715381426,
|
||||
"narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "aeb2232d7a32530d3448318790534d196bf9427a",
|
||||
"rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -104,17 +351,55 @@
|
||||
"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",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1708968331,
|
||||
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"jovian-nixos": {
|
||||
"inputs": {
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701953467,
|
||||
"narHash": "sha256-dpx/o701Jj7YGN+8D2ccY6gloGZ10hMSQs+ddhD+7v4=",
|
||||
"lastModified": 1716107076,
|
||||
"narHash": "sha256-aB15oIMUv6N/UFsLHzgcGRUvU4YfOjE3gEirIP/k82s=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "fb984b33b033e8ed625a11c95b313eefc3ebb99e",
|
||||
"rev": "e8de93b7b4c384650977a20c1f192e23c6e7a12f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -123,19 +408,47 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"microvm": {
|
||||
"lanzaboote": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701202812,
|
||||
"narHash": "sha256-ym/Rd4tR4i2d1WdPNKaeeIz/UoyfnCe5UBZbUl1M0PM=",
|
||||
"lastModified": 1713369831,
|
||||
"narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lanzaboote",
|
||||
"rev": "850f27322239f8cfa56b122cc9a278ab99a49015",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "master",
|
||||
"repo": "lanzaboote",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"microvm": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"spectrum": "spectrum"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715787097,
|
||||
"narHash": "sha256-TPp2j0ttvBvkk4oXidvo8Y071zEab0BtcNsC3ZEkluI=",
|
||||
"owner": "astro",
|
||||
"repo": "microvm.nix",
|
||||
"rev": "89bb7a5230a4820736a43e058c8d2a2c560d672b",
|
||||
"rev": "fa673bf8656fe6f28253b83971a36999bc9995d2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -144,6 +457,27 @@
|
||||
"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": [
|
||||
@@ -168,11 +502,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1701656485,
|
||||
"narHash": "sha256-xDFormrGCKKGqngHa2Bz1GTeKlFMMjLnHhTDRdMJ1hs=",
|
||||
"lastModified": 1716034089,
|
||||
"narHash": "sha256-QBfab6V4TeQ6Y4NiXVrEATdQuhCNFNaXt/L1K/Zw+zc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "fa194fc484fd7270ab324bb985593f71102e84d1",
|
||||
"rev": "b55712de78725c8fcde422ee0a0fe682046e73c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -184,43 +518,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1700612854,
|
||||
"narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=",
|
||||
"lastModified": 1716061101,
|
||||
"narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1701718080,
|
||||
"narHash": "sha256-6ovz0pG76dE0P170pmmZex1wWcQoeiomUZGggfH9XPs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2c7f3c0fb7c08a0814627611d9d7d45ab6d75335",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1701952659,
|
||||
"narHash": "sha256-TJv2srXt6fYPUjxgLAL0cy4nuf1OZD4KuA1TrCiQqg0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b4372c4924d9182034066c823df76d6eaf1f4ec4",
|
||||
"rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -230,18 +532,121 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1702111593,
|
||||
"narHash": "sha256-BVeIkq0K8QvvNwO3BhLmbHRJPcWCiOCATdGdIhwryhw=",
|
||||
"lastModified": 1710695816,
|
||||
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1715961556,
|
||||
"narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"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": "NUR",
|
||||
"rev": "276e9a8b905a3b21195f2adbbf631cd5084036d8",
|
||||
"repo": "nixvim",
|
||||
"rev": "88ade1dfaa017499326103a078c66dd5d4d0606e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"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",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710923068,
|
||||
"narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "e611897ddfdde3ed3eaac4758635d7177ff78673",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -249,12 +654,56 @@
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"home-manager": "home-manager_2",
|
||||
"home-manager-unstable": "home-manager-unstable",
|
||||
"impermanence": "impermanence",
|
||||
"jovian-nixos": "jovian-nixos",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"microvm": "microvm",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nur": "nur"
|
||||
"nixvim": "nixvim"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"lanzaboote",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711246447,
|
||||
"narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"spectrum": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1708358594,
|
||||
"narHash": "sha256-e71YOotu2FYA67HoC/voJDTFsiPpZNRwmiQb4f94OxQ=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "6d0e73864d28794cdbd26ab7b37259ab0e1e044c",
|
||||
"revCount": 614,
|
||||
"type": "git",
|
||||
"url": "https://spectrum-os.org/git/spectrum"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://spectrum-os.org/git/spectrum"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
@@ -271,6 +720,72 @@
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"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",
|
||||
|
||||
23
flake.nix
23
flake.nix
@@ -20,13 +20,16 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
|
||||
home-manager = { # User Package Management
|
||||
url = "github:nix-community/home-manager/release-23.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nur = {
|
||||
url = "github:nix-community/NUR"; # NUR Packages
|
||||
home-manager-unstable = { # User Package Management
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
|
||||
agenix = {
|
||||
@@ -36,10 +39,21 @@
|
||||
|
||||
jovian-nixos = {
|
||||
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
|
||||
lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/master";
|
||||
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, nur, agenix, jovian-nixos, microvm, ... }: # Function that tells my flake which to use and what do what to do with the dependencies.
|
||||
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";
|
||||
@@ -50,10 +64,11 @@
|
||||
nixosConfigurations = ( # NixOS configurations
|
||||
import ./hosts { # Imports ./hosts/default.nix
|
||||
inherit (nixpkgs) lib;
|
||||
inherit inputs nixpkgs nixpkgs-unstable nixos-hardware home-manager nur user userdmz userserver location agenix jovian-nixos microvm; # Also inherit home-manager so it does not need to be defined here.
|
||||
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;
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -69,12 +69,11 @@
|
||||
carlito # NixOS
|
||||
vegur # NixOS
|
||||
source-code-pro
|
||||
jetbrains-mono
|
||||
font-awesome # Icons
|
||||
hack-font
|
||||
corefonts # MS
|
||||
intel-one-mono
|
||||
office-code-pro
|
||||
cascadia-code
|
||||
(nerdfonts.override { # Nerdfont Icons override
|
||||
fonts = [
|
||||
"FiraCode"
|
||||
@@ -115,6 +114,8 @@
|
||||
tree
|
||||
direnv
|
||||
linuxPackages_latest.cpupower
|
||||
btop
|
||||
sbctl
|
||||
];
|
||||
};
|
||||
|
||||
@@ -176,25 +177,24 @@
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
package = pkgs.nixVersions.stable; # Enable nixFlakes on system
|
||||
registry.nixpkgs.flake = inputs.nixpkgs;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
'';
|
||||
};
|
||||
nixpkgs.config.allowUnfree = true; # Allow proprietary software.
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
||||
inherit pkgs;
|
||||
};
|
||||
};
|
||||
|
||||
system = { # NixOS settings
|
||||
# autoUpgrade = { # Allow auto update
|
||||
# enable = true;
|
||||
# channel = "https://nixos.org/channels/nixos-unstable";
|
||||
# };
|
||||
autoUpgrade = { # Allow auto update
|
||||
enable = true;
|
||||
flake = "git+https://git.kabtop.de/Kabbone/nixos-config";
|
||||
randomizedDelaySec = "5m";
|
||||
allowReboot = true;
|
||||
rebootWindow = {
|
||||
lower = "02:00";
|
||||
upper = "05:00";
|
||||
};
|
||||
#channel = "https://nixos.org/channels/nixos-unstable";
|
||||
};
|
||||
stateVersion = "23.05";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
carlito # NixOS
|
||||
vegur # NixOS
|
||||
source-code-pro
|
||||
jetbrains-mono
|
||||
cascadia-code
|
||||
font-awesome # Icons
|
||||
hack-font
|
||||
corefonts # MS
|
||||
@@ -94,6 +94,9 @@
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
tree
|
||||
btop
|
||||
htop
|
||||
direnv
|
||||
];
|
||||
};
|
||||
|
||||
@@ -122,7 +125,6 @@
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
package = pkgs.nixVersions.stable; # Enable nixFlakes on system
|
||||
registry.nixpkgs.flake = inputs.nixpkgs;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
keep-outputs = true
|
||||
@@ -130,17 +132,18 @@
|
||||
'';
|
||||
};
|
||||
nixpkgs.config.allowUnfree = true; # Allow proprietary software.
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
||||
inherit pkgs;
|
||||
};
|
||||
};
|
||||
|
||||
system = { # NixOS settings
|
||||
# autoUpgrade = { # Allow auto update
|
||||
# enable = true;
|
||||
# channel = "https://nixos.org/channels/nixos-unstable";
|
||||
# };
|
||||
stateVersion = "22.05";
|
||||
autoUpgrade = { # Allow auto update
|
||||
enable = true;
|
||||
flake = "git+https://git.kabtop.de/Kabbone/nixos-config";
|
||||
randomizedDelaySec = "5m";
|
||||
allowReboot = true;
|
||||
rebootWindow = {
|
||||
lower = "02:00";
|
||||
upper = "05:00";
|
||||
};
|
||||
};
|
||||
stateVersion = "23.05";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# └─ ./home.nix
|
||||
#
|
||||
|
||||
{ lib, inputs, nixpkgs, nixos-hardware, home-manager, nur, user, userdmz, userserver, location, agenix, jovian-nixos, microvm, ... }:
|
||||
{ lib, inputs, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, user, userdmz, userserver, location, agenix, jovian-nixos, microvm, impermanence, lanzaboote, nixvim, ... }:
|
||||
|
||||
let
|
||||
system = "x86_64-linux"; # System architecture
|
||||
@@ -28,11 +28,12 @@ in
|
||||
{
|
||||
desktop = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware nur agenix microvm nixpkgs; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix microvm nixpkgs lanzaboote nixvim; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
microvm.nixosModules.host
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
#nixvim.nixosModules.nixvim
|
||||
./desktop
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteBuilder.nix
|
||||
@@ -42,9 +43,6 @@ in
|
||||
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
nixpkgs.overlays = [
|
||||
nur.overlay
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
@@ -57,10 +55,9 @@ in
|
||||
|
||||
laptop = lib.nixosSystem { # Laptop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware nur agenix; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
./laptop
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
@@ -69,9 +66,6 @@ in
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
nixpkgs.overlays = [
|
||||
nur.overlay
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
@@ -82,13 +76,13 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
steamdeck = lib.nixosSystem { # Laptop profile
|
||||
steamdeck = nixpkgs-unstable.lib.nixosSystem { # steamdeck profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware nur agenix jovian-nixos; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix jovian-nixos lanzaboote; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
jovian-nixos.default
|
||||
jovian-nixos.nixosModules.default
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
./steamdeck
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
@@ -96,10 +90,7 @@ in
|
||||
nixos-hardware.nixosModules.common-gpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
nixpkgs.overlays = [
|
||||
nur.overlay
|
||||
];
|
||||
home-manager-unstable.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
@@ -112,19 +103,16 @@ in
|
||||
|
||||
server = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware nur agenix; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
microvm.nixosModules.host
|
||||
./server
|
||||
./configuration_server.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
nixpkgs.overlays = [
|
||||
nur.overlay
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
@@ -135,38 +123,33 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
dmz = lib.nixosSystem { # Desktop profile
|
||||
kabtop = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware nur agenix nixpkgs; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
microvm.nixosModules.host
|
||||
./dmz
|
||||
./kabtop
|
||||
./configuration_server.nix
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
nixpkgs.overlays = [
|
||||
nur.overlay
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
home-manager.users.${user} = {
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./dmz/home.nix)];
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./server/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
nasbackup = lib.nixosSystem { # Desktop profile
|
||||
nasbak = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
#user = "dmz-user";
|
||||
specialArgs = { inherit inputs user location nixos-hardware nur agenix; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
./nasbackup
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
@@ -174,9 +157,6 @@ in
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
nixpkgs.overlays = [
|
||||
nur.overlay
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
@@ -189,10 +169,9 @@ in
|
||||
|
||||
jupiter = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location nixos-hardware nur agenix; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
nur.nixosModules.nur
|
||||
./jupiter
|
||||
./configuration_desktop.nix
|
||||
../modules/hardware/remoteClient.nix
|
||||
@@ -200,9 +179,6 @@ in
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
nixpkgs.overlays = [
|
||||
nur.overlay
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = { inherit user; };
|
||||
@@ -213,39 +189,42 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
q920 = lib.nixosSystem { # Laptop profile
|
||||
dmz = lib.nixosSystem { # Desktop profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location ; };
|
||||
specialArgs = { inherit inputs user location nixos-hardware agenix nixpkgs impermanence; };
|
||||
modules = [
|
||||
./q920
|
||||
./configuration.nix
|
||||
agenix.nixosModules.default
|
||||
microvm.nixosModules.host
|
||||
./dmz
|
||||
./configuration_server.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.nix)] ++ [(import ./q920/home.nix)];
|
||||
imports = [(import ./home_server.nix)] ++ [(import ./dmz/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
vm = lib.nixosSystem { # VM profile
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs user location; };
|
||||
modules = [
|
||||
./vm
|
||||
./configuration.nix
|
||||
|
||||
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 ./vm/home.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
# vm = lib.nixosSystem { # VM profile
|
||||
# inherit system;
|
||||
# specialArgs = { inherit inputs user location; };
|
||||
# modules = [
|
||||
# ./vm
|
||||
# ./configuration.nix
|
||||
#
|
||||
# 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 ./vm/home.nix)];
|
||||
# };
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
}
|
||||
|
||||
@@ -17,27 +17,32 @@
|
||||
# └─ default.nix
|
||||
#
|
||||
|
||||
{ config, nixpkgs, pkgs, user, ... }:
|
||||
{ config, nixpkgs, pkgs, user, lib, nixvim, ... }:
|
||||
|
||||
{
|
||||
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/desktop/hyprland/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/desktop/sway/default.nix)] ++ # Window Manager
|
||||
(import ../../modules/desktop/virtualisation) ++ # Docker
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
[(import ../../modules/wm/sway/default.nix)] ++ # Window Manager
|
||||
(import ../../modules/wm/virtualisation) ++ # libvirt + Docker
|
||||
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
loader = { # EFI Boot
|
||||
systemd-boot.enable = true;
|
||||
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
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
#../../modules/desktop/hyprland/home.nix # Window Manager
|
||||
../../modules/desktop/sway/home.nix # Window Manager
|
||||
#../../modules/wm/hyprland/home.nix # Window Manager
|
||||
../../modules/wm/sway/home.nix # Window Manager
|
||||
../../modules/home.nix # Window Manager
|
||||
];
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
pulsemixer
|
||||
#yubioath-flutter
|
||||
nitrokey-app
|
||||
kicad
|
||||
yuzu-mainline
|
||||
|
||||
# Display
|
||||
#light # xorg.xbacklight not supported. Other option is just use xrandr.
|
||||
|
||||
@@ -17,12 +17,13 @@
|
||||
# └─ default.nix
|
||||
#
|
||||
|
||||
{ config, pkgs, user, agenix, ... }:
|
||||
{ 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/desktop/virtualisation/docker.nix)] ++ # Docker
|
||||
[(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
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
|
||||
packages = with pkgs; [
|
||||
# Terminal
|
||||
btop # Resource Manager
|
||||
pfetch # Minimal fetch
|
||||
ranger # File Manager
|
||||
gnupg # sign and authorize 2nd Fac
|
||||
|
||||
xdg-utils
|
||||
steam
|
||||
wakelan
|
||||
|
||||
# dev ols
|
||||
gcc
|
||||
@@ -63,11 +63,12 @@
|
||||
calibre
|
||||
mtpfs
|
||||
vimiv-qt
|
||||
#freecad
|
||||
freecad
|
||||
|
||||
# Fileanagement
|
||||
#okular # PDF viewer
|
||||
#gnome.file-roller # Archive Manager
|
||||
ark
|
||||
pcmanfm # File Manager
|
||||
rsync # Syncer $ rsync -r dir1/ dir2/
|
||||
unzip # Zip files
|
||||
@@ -111,20 +112,20 @@
|
||||
};
|
||||
|
||||
|
||||
gtk = { # Theming
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-theme;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
font = {
|
||||
name = "FiraCode Nerd Font"; # or FiraCode Nerd Font Mono Medium
|
||||
}; # Cursor is declared under home.pointerCursor
|
||||
};
|
||||
# gtk = { # Theming
|
||||
# enable = true;
|
||||
# theme = {
|
||||
# name = "Dracula";
|
||||
# package = pkgs.dracula-theme;
|
||||
# };
|
||||
# iconTheme = {
|
||||
# name = "Papirus-Dark";
|
||||
# package = pkgs.papirus-icon-theme;
|
||||
# };
|
||||
# font = {
|
||||
# name = "Cascadia Code"; # or FiraCode Nerd Font Mono Medium
|
||||
# }; # Cursor is declared under home.pointerCursor
|
||||
# };
|
||||
systemd.user.services.mpris-proxy = {
|
||||
Unit.Description = "Mpris proxy";
|
||||
Unit.After = [ "network.target" "sound.target" ];
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
packages = with pkgs; [
|
||||
# Terminal
|
||||
btop # Resource Manager
|
||||
pfetch # Minimal fetch
|
||||
ranger # File Manager
|
||||
gnupg # sign and authorize 2nd Fac
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{
|
||||
imports = # For now, if applying to other ssystem, swap files
|
||||
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
||||
#(import ../../modules/desktop/virtualisation) ++ # Docker
|
||||
#(import ../../modules/wm/virtualisation) ++ # Docker
|
||||
(import ../../modules/services/nas) ++ # Server Services
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
|
||||
@@ -25,7 +25,11 @@
|
||||
};
|
||||
boot.initrd.luks.devices = {
|
||||
NAS-RAID1 = {
|
||||
device = "/dev/disk/by-uuid/57e6446d-faca-4b67-9063-e8d9afb80088";
|
||||
device = "/dev/disk/by-uuid/78c74410-c840-49b0-8a29-456d60c38217";
|
||||
keyFile = "/root/NASKeyfile";
|
||||
};
|
||||
NAS-RAID1_2 = {
|
||||
device = "/dev/disk/by-uuid/dda6e698-4f0a-4d71-a06c-656b87374ed7";
|
||||
keyFile = "/root/NASKeyfile";
|
||||
};
|
||||
};
|
||||
@@ -152,13 +156,13 @@
|
||||
fileSystems."/mnt/snapshots/Pluto" =
|
||||
{ device = "/dev/disk/by-label/NAS-RAID";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,noatime,subvolid=5" ];
|
||||
options = [ "compress=zstd:8,noatime,subvolid=5" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Pluto" =
|
||||
{ device = "/dev/disk/by-label/NAS-RAID";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,noatime,subvol=@" ];
|
||||
options = [ "compress=zstd:8,noatime,subvol=@" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Mars" =
|
||||
|
||||
112
hosts/kabtop/default.nix
Normal file
112
hosts/kabtop/default.nix
Normal file
@@ -0,0 +1,112 @@
|
||||
#
|
||||
# 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)] ++ # kvm module options
|
||||
(import ../../modules/services/server) ++ # Server Services
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
loader = { # EFI Boot
|
||||
grub = {
|
||||
enable = true;
|
||||
device = "/dev/sda";
|
||||
};
|
||||
timeout = 1; # Grub auto select time
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
etc = {
|
||||
"fail2ban/filter.d/open-webui.conf" = {
|
||||
source = ../../modules/services/server/fail2ban/filter/open-webui.conf;
|
||||
mode = "0444";
|
||||
};
|
||||
"fail2ban/filter.d/gitea.conf" = {
|
||||
source = ../../modules/services/server/fail2ban/filter/gitea.conf;
|
||||
mode = "0444";
|
||||
};
|
||||
"fail2ban/filter.d/nextcloud.conf" = {
|
||||
source = ../../modules/services/server/fail2ban/filter/nextcloud.conf;
|
||||
mode = "0444";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
zsh.enable = true;
|
||||
ssh.startAgent = false;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "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;
|
||||
};
|
||||
};
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
maxretry = 5;
|
||||
jails.DEFAULT.settings = {
|
||||
findtime = "15m";
|
||||
};
|
||||
jails = {
|
||||
open-webui = ''
|
||||
enabled = true
|
||||
filter = open-webui
|
||||
backend = systemd
|
||||
action = iptables-allports
|
||||
'';
|
||||
gitea = ''
|
||||
enabled = true
|
||||
filter = gitea
|
||||
backend = systemd
|
||||
action = iptables-allports
|
||||
'';
|
||||
nextcloud = ''
|
||||
backend = auto
|
||||
enabled = true
|
||||
filter = nextcloud
|
||||
logpath = /var/lib/nextcloud/data/nextcloud.log
|
||||
action = iptables-allports
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
144
hosts/kabtop/hardware-configuration.nix
Normal file
144
hosts/kabtop/hardware-configuration.nix
Normal file
@@ -0,0 +1,144 @@
|
||||
#
|
||||
# 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 + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "ahci" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ "vfio_pci" "vfio" "vfio_iommu_type1" ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.tmp.useTmpfs = false;
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
zramSwap.enable = true;
|
||||
|
||||
services.btrfs.autoScrub = {
|
||||
enable = true;
|
||||
interval = "monthly";
|
||||
fileSystems = [
|
||||
"/"
|
||||
];
|
||||
};
|
||||
|
||||
services.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/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,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" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/snapshots/root" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ];
|
||||
};
|
||||
|
||||
|
||||
#swapDevices = [ { device = "/swap/swapfile"; } ];
|
||||
swapDevices = [ ];
|
||||
|
||||
networking = {
|
||||
useDHCP = false; # Deprecated
|
||||
hostName = "kabtop";
|
||||
domain = "kabtop.de";
|
||||
networkmanager = {
|
||||
enable = false;
|
||||
};
|
||||
interfaces = {
|
||||
ens18 = {
|
||||
useDHCP = false; # For versatility sake, manually edit IP on nm-applet.
|
||||
ipv4.addresses = [ {
|
||||
address = "37.44.215.182";
|
||||
prefixLength = 24;
|
||||
} ];
|
||||
ipv6.addresses = [ {
|
||||
address = "2a13:7e80:0:ef::2";
|
||||
prefixLength = 64;
|
||||
} ];
|
||||
};
|
||||
};
|
||||
defaultGateway = "37.44.215.1";
|
||||
defaultGateway6 = {
|
||||
address = "fe80::1";
|
||||
interface = "ens18";
|
||||
};
|
||||
|
||||
nameservers = [ "9.9.9.9" "2620:fe::fe" ];
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedUDPPorts = [ ];
|
||||
allowedTCPPorts = [ 80 443 ];
|
||||
};
|
||||
};
|
||||
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -16,19 +16,18 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../../modules/desktop/hyprland/home.nix # Window Manager
|
||||
../../modules/home.nix # Window Manager
|
||||
];
|
||||
|
||||
home = { # Specific packages for laptop
|
||||
packages = with pkgs; [
|
||||
# Applications
|
||||
libreoffice # Office packages
|
||||
|
||||
# Display
|
||||
#light # xorg.xbacklight not supported. Other option is just use xrandr.
|
||||
|
||||
# Power Management
|
||||
auto-cpufreq # Power management
|
||||
#auto-cpufreq # Power management
|
||||
#tlp # Power management
|
||||
];
|
||||
};
|
||||
@@ -37,14 +36,4 @@
|
||||
alacritty.settings.font.size = 11;
|
||||
};
|
||||
|
||||
services = { # Applets
|
||||
blueman-applet.enable = true; # Bluetooth
|
||||
network-manager-applet.enable = true; # Network
|
||||
# cbatticon = {
|
||||
# enable = true;
|
||||
# criticalLevelPercent = 10;
|
||||
# lowLevelPercent = 20;
|
||||
# iconType = null;
|
||||
# };
|
||||
};
|
||||
}
|
||||
@@ -22,9 +22,10 @@
|
||||
{
|
||||
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/desktop/hyprland/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/desktop/sway/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/desktop/virtualisation/docker.nix)] ++ # Docker
|
||||
#[(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
|
||||
@@ -57,6 +58,7 @@
|
||||
};
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
zsh.enable = true;
|
||||
dconf.enable = true;
|
||||
light.enable = true;
|
||||
ssh.startAgent = false;
|
||||
|
||||
@@ -17,24 +17,29 @@
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" "rtsx_usb_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ "i915" "kvm_intel" ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModprobeConfig = ''
|
||||
options i915 enable_guc=3 enable_fbc=1 fastboot=1
|
||||
'';
|
||||
boot.kernelParams = [ "mitigations=off" "luks.options=fido2-device=auto" ];
|
||||
boot.tmp.useTmpfs = true;
|
||||
zramSwap.enable = true;
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "ahci" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" "rtsx_usb_sdmmc" ];
|
||||
kernelModules = [ "i915" "kvm_intel" ];
|
||||
systemd.enable = true;
|
||||
luks = {
|
||||
devices."root" = {
|
||||
device = "/dev/disk/by-uuid/75eccc7f-30b0-4fe8-8f82-90edaf284cd5";
|
||||
allowDiscards = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.initrd.luks = {
|
||||
fido2Support = true;
|
||||
devices."root" = {
|
||||
device = "/dev/disk/by-uuid/75eccc7f-30b0-4fe8-8f82-90edaf284cd5";
|
||||
allowDiscards = true;
|
||||
};
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
extraModprobeConfig = ''
|
||||
options i915 enable_guc=3 enable_fbc=1 fastboot=1
|
||||
'';
|
||||
kernelParams = [ "mitigations=off" "luks.options=fido2-device=auto" ];
|
||||
tmp.useTmpfs = true;
|
||||
};
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
services.btrfs.autoScrub = {
|
||||
enable = true;
|
||||
interval = "monthly";
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
#../../modules/desktop/hyprland/home.nix # Window Manager
|
||||
../../modules/desktop/sway/home.nix # Window Manager
|
||||
#../../modules/wm/hyprland/home.nix # Window Manager
|
||||
../../modules/wm/sway/home.nix # Window Manager
|
||||
../../modules/home.nix # Window Manager
|
||||
];
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{
|
||||
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/desktop/virtualisation) ++ # Docker
|
||||
(import ../../modules/wm/virtualisation) ++ # Docker
|
||||
(import ../../modules/services/nas) ++ # Server Services
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{
|
||||
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/desktop/virtualisation) ++ # Docker
|
||||
#[(import ../../modules/wm/virtualisation/docker.nix)] ++ # Docker
|
||||
(import ../../modules/services/nasbackup) ++ # Server Services
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
|
||||
@@ -19,20 +19,22 @@
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ "vfio_pci" "vfio" "vfio_iommu_type1" ];
|
||||
# boot.initrd.secrets = {
|
||||
# "/root/NASKeyfile" =
|
||||
# /root/NASKeyfile;
|
||||
# };
|
||||
# boot.initrd.luks.devices = {
|
||||
# NAS-RAID1 = {
|
||||
# device = "/dev/disk/by-uuid/57e6446d-faca-4b67-9063-e8d9afb80088";
|
||||
# keyFile = "/root/NASKeyfile";
|
||||
# };
|
||||
# NAS-RAID2 = {
|
||||
# device = "/dev/disk/by-uuid/b9edc489-ac37-4b28-981d-442722df7ae2";
|
||||
# keyFile = "/root/NASKeyfile";
|
||||
# };
|
||||
# };
|
||||
boot.initrd.secrets = {
|
||||
"/root/NASKeyfile" =
|
||||
/root/NASKeyfile;
|
||||
};
|
||||
boot.initrd.luks.devices = {
|
||||
NAS-RAID1 = {
|
||||
device = "/dev/disk/by-uuid/57e6446d-faca-4b67-9063-e8d9afb80088";
|
||||
keyFile = "/root/NASKeyfile";
|
||||
bypassWorkqueues = true;
|
||||
};
|
||||
NAS-RAID2 = {
|
||||
device = "/dev/disk/by-uuid/b9edc489-ac37-4b28-981d-442722df7ae2";
|
||||
keyFile = "/root/NASKeyfile";
|
||||
bypassWorkqueues = true;
|
||||
};
|
||||
};
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.tmp.useTmpfs = false;
|
||||
@@ -91,7 +93,7 @@
|
||||
|
||||
volume = {
|
||||
"ssh://jupiter.home.opel-online.de/mnt/snapshots/Mars" = {
|
||||
target = "/mnt/nas/Backups/nas/Mars";
|
||||
target = "/mnt/nas/Backups/Mars";
|
||||
subvolume = {
|
||||
"@nas" = {};
|
||||
};
|
||||
@@ -99,7 +101,7 @@
|
||||
};
|
||||
volume = {
|
||||
"ssh://jupiter.home.opel-online.de/mnt/snapshots/Pluto" = {
|
||||
target = "/mnt/nas/Backups/nas/Pluto";
|
||||
target = "/mnt/nas/Backups/Pluto";
|
||||
subvolume = {
|
||||
"@/Games" = {};
|
||||
"@/IT" = {};
|
||||
@@ -184,7 +186,7 @@
|
||||
# };
|
||||
#
|
||||
fileSystems."/mnt/nas" =
|
||||
{ device = "/dev/disk/by-uuid/6f53d32d-b56f-42ec-bfad-c0b8d1114015";
|
||||
{ device = "/dev/disk/by-uuid/70523c79-ef5c-40f2-8782-60fc86bb445b";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd:9,space_cache=v2,noatime,subvol=@nasbak" ];
|
||||
};
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
#
|
||||
# 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, ... }:
|
||||
|
||||
{
|
||||
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/desktop/hyprland/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/desktop/virtualisation/docker.nix)]; # ++ # Docker
|
||||
#(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
loader = { # EFI Boot
|
||||
systemd-boot.enable = true;
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot";
|
||||
};
|
||||
timeout = 1; # Grub auto select time
|
||||
};
|
||||
};
|
||||
|
||||
# hardware.sane = { # Used for scanning with Xsane
|
||||
# enable = false;
|
||||
# extraBackends = [ pkgs.sane-airscan ];
|
||||
# };
|
||||
|
||||
# environment = {
|
||||
# systemPackages = with pkgs; [
|
||||
# simple-scan
|
||||
# ];
|
||||
# };
|
||||
|
||||
programs = { # No xbacklight, this is the alterantive
|
||||
# dconf.enable = true;
|
||||
# light.enable = true;
|
||||
ssh.startAgent = false;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
# tlp.enable = true; # TLP and auto-cpufreq for power management
|
||||
#logind.lidSwitch = "ignore"; # Laptop does not go to sleep when lid is closed
|
||||
auto-cpufreq.enable = true;
|
||||
blueman.enable = true;
|
||||
pcscd.enable = true;
|
||||
udev.packages = [
|
||||
pkgs.nitrokey-udev-rules
|
||||
];
|
||||
printing = { # Printing and drivers for TS5300
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
#xserver = {
|
||||
# libinput = { # Trackpad support & gestures
|
||||
# touchpad = {
|
||||
# tapping = true;
|
||||
# scrollMethod = "twofinger";
|
||||
# naturalScrolling = true; # The correct way of scrolling
|
||||
# accelProfile = "adaptive"; # Speed settings
|
||||
# #accelSpeed = "-0.5";
|
||||
# disableWhileTyping = true;
|
||||
# };
|
||||
# };
|
||||
# resolutions = [
|
||||
# { x = 1600; y = 920; }
|
||||
# { x = 1280; y = 720; }
|
||||
# { x = 1920; y = 1080; }
|
||||
# ];
|
||||
#};
|
||||
};
|
||||
|
||||
#temporary bluetooth fix
|
||||
# systemd.tmpfiles.rules = [
|
||||
# "d /var/lib/bluetooth 700 root root - -"
|
||||
# ];
|
||||
# systemd.targets."bluetooth".after = ["systemd-tmpfiles-setup.service"];
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
#
|
||||
# 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 = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-label/ROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@" ];
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-label/ROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home" ];
|
||||
};
|
||||
|
||||
fileSystems."/srv" =
|
||||
{ device = "/dev/disk/by-label/ROOT";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-label/BOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
networking = {
|
||||
useDHCP = false; # Deprecated
|
||||
hostName = "q920";
|
||||
networkmanager.enable = true;
|
||||
interfaces = {
|
||||
enp0s25 = {
|
||||
useDHCP = true; # For versatility sake, manually edit IP on nm-applet.
|
||||
#ipv4.addresses = [ {
|
||||
# address = "192.168.0.51";
|
||||
# prefixLength = 24;
|
||||
#} ];
|
||||
};
|
||||
# wlo1 = {
|
||||
# useDHCP = true;
|
||||
# #ipv4.addresses = [ {
|
||||
# # address = "192.168.0.51";
|
||||
# # prefixLength = 24;
|
||||
# #} ];
|
||||
# };
|
||||
};
|
||||
#defaultGateway = "192.168.0.1";
|
||||
#nameservers = [ "192.168.0.4" ];
|
||||
#firewall = {
|
||||
# enable = false;
|
||||
# #allowedUDPPorts = [ 53 67 ];
|
||||
# #allowedTCPPorts = [ 53 80 443 9443 ];
|
||||
#};
|
||||
};
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||
}
|
||||
@@ -17,12 +17,12 @@
|
||||
# └─ default.nix
|
||||
#
|
||||
|
||||
{ config, pkgs, user, ... }:
|
||||
{ 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/desktop/virtualisation/docker.nix)] ++ # Docker
|
||||
[(import ../../modules/wm/virtualisation/docker.nix)] ++ # Docker
|
||||
(import ../../modules/services/server) ++ # Server Services
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
|
||||
@@ -17,27 +17,31 @@
|
||||
# └─ default.nix
|
||||
#
|
||||
|
||||
{ config, pkgs, user, jovian-nixos, ... }:
|
||||
{ config, pkgs, user, jovian-nixos, lib, ... }:
|
||||
|
||||
{
|
||||
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/desktop/steam/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/desktop/kde/default.nix)] ++ # Window Manager
|
||||
[(import ../../modules/desktop/virtualisation/docker.nix)] ++ # Docker
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
[(import ../../modules/wm/steam/default.nix)] ++ # jovian steam
|
||||
[(import ../../modules/wm/kde/default.nix)] ++ # Window Manager
|
||||
(import ../../modules/wm/virtualisation) ++ # libvirt + Docker
|
||||
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
|
||||
(import ../../modules/hardware); # Hardware devices
|
||||
|
||||
boot = { # Boot options
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
loader = { # EFI Boot
|
||||
systemd-boot.enable = true;
|
||||
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
|
||||
@@ -62,19 +66,19 @@
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryFlavor = "curses";
|
||||
#pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
# blueman.enable = true;
|
||||
printing = { # Printing and drivers for TS5300
|
||||
enable = true;
|
||||
drivers = [ pkgs.gutenprint ];
|
||||
};
|
||||
avahi = { # Needed to find wireless printer
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
nssmdns4 = true;
|
||||
publish = { # Needed for detecting the scanner
|
||||
enable = true;
|
||||
addresses = true;
|
||||
@@ -84,4 +88,5 @@
|
||||
tailscale.enable = true;
|
||||
|
||||
};
|
||||
security.pam.sshAgentAuth.enable = true;
|
||||
}
|
||||
|
||||
@@ -17,82 +17,71 @@
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.tmp.useTmpfs = false;
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
||||
kernelModules = [ ];
|
||||
systemd.enable = true;
|
||||
luks = {
|
||||
devices."crypted" = {
|
||||
device = "/dev/disk/by-partlabel/disk-nvme0n1-luks";
|
||||
allowDiscards = true;
|
||||
bypassWorkqueues = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kernelModules = [ "kvm-amd" "amdgpu" ];
|
||||
kernelParams = [ "luks.options=fido2-device=auto" ];
|
||||
tmp.useTmpfs = false;
|
||||
tmp.cleanOnBoot = true;
|
||||
};
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
# services.btrfs.autoScrub = {
|
||||
# enable = true;
|
||||
# interval = "monthly";
|
||||
# fileSystems = [
|
||||
# "/"
|
||||
# ];
|
||||
# };
|
||||
#
|
||||
# services.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" = {};
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
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"
|
||||
'';
|
||||
};
|
||||
|
||||
# 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."/nix" =
|
||||
# { device = "/dev/disk/by-label/NIXROOT";
|
||||
# fsType = "btrfs";
|
||||
# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ];
|
||||
# };
|
||||
#
|
||||
# fileSystems."/mnt/snapshots/root" =
|
||||
# { device = "/dev/disk/by-label/NIXROOT";
|
||||
# fsType = "btrfs";
|
||||
# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ];
|
||||
# };
|
||||
services.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/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
options = [ "defaults,noatime" ];
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
@@ -100,12 +89,48 @@
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/sdcard" =
|
||||
{ device = "/dev/disk/by-label/sdcard";
|
||||
fsType = "ext4";
|
||||
options = [ "nofail,x-systemd.automount" ];
|
||||
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."/mnt/snapshots/root" =
|
||||
{ device = "/dev/mapper/crypted";
|
||||
fsType = "btrfs";
|
||||
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ];
|
||||
};
|
||||
|
||||
# fileSystems."/sdcard" =
|
||||
# { device = "/dev/disk/by-label/sdcard";
|
||||
# fsType = "ext4";
|
||||
# options = [ "nofail,noauto,users,x-systemd.automount" ];
|
||||
# };
|
||||
|
||||
fileSystems."/mnt/Pluto" =
|
||||
{ device = "jupiter:/Pluto";
|
||||
fsType = "nfs";
|
||||
@@ -118,20 +143,19 @@
|
||||
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 = "/dev/disk/by-label/NIXSWAP"; }
|
||||
];
|
||||
|
||||
swapDevices = [ { device = "/swap/swapfile"; } ];
|
||||
|
||||
|
||||
networking = {
|
||||
useDHCP = false; # Deprecated
|
||||
hostName = "nix-steamdeck";
|
||||
hostName = "steamdeck";
|
||||
wireless.iwd.enable = true;
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
wifi = {
|
||||
backend = "iwd";
|
||||
powersave = true;
|
||||
powersave = false;
|
||||
};
|
||||
};
|
||||
# interfaces = {
|
||||
@@ -154,4 +178,8 @@
|
||||
};
|
||||
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
#powerManagement.powertop.enable = true;
|
||||
powerManagement = {
|
||||
scsiLinkPolicy = "med_power_with_dipm";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../../modules/desktop/steam/home.nix # Window Manager
|
||||
../../modules/desktop/kde/home.nix # Window Manager
|
||||
../../modules/wm/steam/home.nix # Window Manager
|
||||
../../modules/wm/kde/home.nix # Window Manager
|
||||
../../modules/home.nix # Window Manager
|
||||
];
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
streamlink-twitch-gui-bin
|
||||
element-desktop
|
||||
pulsemixer
|
||||
#yuzu-early-access
|
||||
|
||||
# Display
|
||||
light # xorg.xbacklight not supported. Other option is just use xrandr.
|
||||
|
||||
5
modules/editors/nvim/config/bufferline.nix
Normal file
5
modules/editors/nvim/config/bufferline.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
plugins.bufferline = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
16
modules/editors/nvim/config/default.nix
Normal file
16
modules/editors/nvim/config/default.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ nvim, ... }:
|
||||
{
|
||||
# Import all your configuration modules here
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
colorschemes.gruvbox.enable = true;
|
||||
|
||||
imports = [
|
||||
./bufferline.nix
|
||||
./plugins.nix
|
||||
./options.nix
|
||||
./keymaps.nix
|
||||
./highlight.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
8
modules/editors/nvim/config/highlight.nix
Normal file
8
modules/editors/nvim/config/highlight.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
highlight = {
|
||||
Comment.fg = "#ff00ff";
|
||||
Comment.bg = "#000000";
|
||||
Comment.underline = true;
|
||||
Comment.bold = true;
|
||||
};
|
||||
}
|
||||
8
modules/editors/nvim/config/keymaps.nix
Normal file
8
modules/editors/nvim/config/keymaps.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
keymaps = [
|
||||
{
|
||||
action = "<cmd>Telescope live_grep<CR>";
|
||||
key = "<leader>g";
|
||||
}
|
||||
];
|
||||
}
|
||||
14
modules/editors/nvim/config/options.nix
Normal file
14
modules/editors/nvim/config/options.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
config = {
|
||||
globals.mapleader = " ";
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
||||
opts = {
|
||||
number = true; # Show line numbers
|
||||
relativenumber = true; # Show relative line numbers
|
||||
|
||||
shiftwidth = 2; # Tab width should be 2
|
||||
};
|
||||
};
|
||||
}
|
||||
51
modules/editors/nvim/config/plugins.nix
Normal file
51
modules/editors/nvim/config/plugins.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
plugins = {
|
||||
lualine.enable = true;
|
||||
|
||||
cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings = {
|
||||
sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
{name = "luasnip";}
|
||||
];
|
||||
|
||||
mapping = {
|
||||
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<C-e>" = "cmp.mapping.close()";
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
|
||||
servers = {
|
||||
tsserver.enable = true;
|
||||
|
||||
lua-ls = {
|
||||
enable = true;
|
||||
settings.telemetry.enable = false;
|
||||
};
|
||||
# rust-analyzer = {
|
||||
# enable = true;
|
||||
# installCargo = true;
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
telescope.enable = true;
|
||||
|
||||
treesitter.enable = true;
|
||||
|
||||
luasnip.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -5,6 +5,11 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
home = {
|
||||
packages = [ pkgs.gnvim ];
|
||||
};
|
||||
|
||||
programs = {
|
||||
neovim = {
|
||||
enable = true;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
{
|
||||
nix = {
|
||||
distributedBuilds = true;
|
||||
distributedBuilds = false;
|
||||
buildMachines = [ {
|
||||
hostName = "hades";
|
||||
system = "x86_64-linux";
|
||||
@@ -11,16 +11,16 @@
|
||||
sshUser = "nixremote";
|
||||
sshKey = config.age.secrets."keys/nixremote".path;
|
||||
maxJobs = 1;
|
||||
speedFactor = 8;
|
||||
speedFactor = 4;
|
||||
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUVnbld5UVVVYSt2Y0hBS3g2ZWRiVGdxVzhwaCtNQ2lTNmZVd1lqWWNTK28gcm9vdEBoYWRlcwo=%";
|
||||
protocol = "ssh-ng";
|
||||
} ];
|
||||
settings = {
|
||||
trusted-public-keys = [
|
||||
extra-trusted-public-keys = [
|
||||
"hades-builder:AFdPgi6Qq/yKqc2V2imgzMikEkVEFCrDaHyAmOJ3MII="
|
||||
];
|
||||
substituters = [
|
||||
"ssh-ng://hades"
|
||||
trusted-users = [
|
||||
"kabbone"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
theme = {
|
||||
theme = mkOption { type = types.str; default = "catppuccin-mocha"; };
|
||||
icon-theme = mkOption { type = types.str; default = "Papirus-Dark"; };
|
||||
font = mkOption { type = types.str; default = "FiraCode Nerd Font 11"; };
|
||||
font = mkOption { type = types.str; default = "Cascadia Code 11"; };
|
||||
wallpaper = mkOption { type = types.str; default = ""; };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
package = pkgs.alacritty;
|
||||
settings = {
|
||||
font = rec { # Font - Laptop has size manually changed at home.nix
|
||||
#normal.family = "Source Code Pro";
|
||||
normal.family = "FiraCode Nerd Font";
|
||||
#normal.family = "FiraCode Nerd Font";
|
||||
normal.family = "Cascadia Code";
|
||||
#normal.family = "Intel One Mono";
|
||||
#bold = { style = "Bold"; };
|
||||
# size = 8;
|
||||
};
|
||||
|
||||
@@ -17,5 +17,5 @@
|
||||
#./waybar.nix
|
||||
#./games.nix
|
||||
]
|
||||
# Waybar.nix is pulled from modules/desktop/..
|
||||
# Waybar.nix is pulled from modules/wm/..
|
||||
# Games.nix is pulled from desktop/default.nix
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
[
|
||||
./microvm.nix
|
||||
./hydra.nix
|
||||
]
|
||||
|
||||
# picom, polybar and sxhkd are pulled from desktop module
|
||||
|
||||
@@ -5,6 +5,12 @@
|
||||
podman ={
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
dockerCompat = true;
|
||||
};
|
||||
containers.containersConf.settings = {
|
||||
# podman seems to not work with systemd-resolved
|
||||
containers.dns_servers = [ "192.168.101.1" ];
|
||||
#containers.dns_servers = [ "8.8.8.8" "8.8.4.4" ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -13,24 +19,42 @@
|
||||
enable = true;
|
||||
url = "https://git.kabtop.de";
|
||||
name = "Homerunner";
|
||||
tokenFile = config.age.secrets."services/gitea/runner-token".path;
|
||||
tokenFile = config.age.secrets."services/gitea/homerunner-token".path;
|
||||
labels = [
|
||||
"home"
|
||||
"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
|
||||
curl
|
||||
gitMinimal
|
||||
coreutils
|
||||
wget
|
||||
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/runner-token" = {
|
||||
file = ../../../secrets/services/gitea/runner-token.age;
|
||||
owner = "gitea-runner";
|
||||
};
|
||||
age.secrets."services/gitea/homerunner-token" = {
|
||||
file = ../../../secrets/services/gitea/homerunner-token.age;
|
||||
owner = "gitea-runner";
|
||||
};
|
||||
}
|
||||
|
||||
11
modules/services/dmz/hydra.nix
Normal file
11
modules/services/dmz/hydra.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.hydra = {
|
||||
enable = true;
|
||||
hydraURL = "http://localhost:3000";
|
||||
notificationSender = "hydra@localhost";
|
||||
useSubstitutes = true;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,23 +1,23 @@
|
||||
{ microvm, nixpkgs, user, agenix, ... }:
|
||||
{ config, microvm, lib, pkgs, user, agenix, impermanence, ... }:
|
||||
let
|
||||
name = "gitea-runner";
|
||||
in
|
||||
{
|
||||
microvm = {
|
||||
autostart = [
|
||||
"gitea-runnervm"
|
||||
name
|
||||
];
|
||||
vms = {
|
||||
${name} = {
|
||||
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
inherit pkgs;
|
||||
|
||||
config = {
|
||||
imports = [( ./gitea_runner.nix )];
|
||||
imports =
|
||||
[ agenix.nixosModules.default ] ++
|
||||
[ impermanence.nixosModules.impermanence ] ++
|
||||
[( ./gitea_runner.nix )];
|
||||
|
||||
networking = {
|
||||
hostName = "${name}";
|
||||
|
||||
@@ -55,6 +55,41 @@ in
|
||||
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"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -77,11 +112,18 @@ in
|
||||
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";
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
pkey = "${config.security.acme.certs.${realm}.directory}/key.pem";
|
||||
extraConfig = ''
|
||||
# for debugging
|
||||
verbose
|
||||
#verbose
|
||||
# ban private IP ranges
|
||||
no-multicast-peers
|
||||
denied-peer-ip=0.0.0.0-0.255.255.255
|
||||
|
||||
@@ -13,10 +13,12 @@
|
||||
[
|
||||
./postgresql.nix
|
||||
./gitea.nix
|
||||
./microvm.nix
|
||||
./nextcloud.nix
|
||||
./matrix.nix
|
||||
./coturn.nix
|
||||
./jitsi.nix
|
||||
./ollama.nix
|
||||
]
|
||||
|
||||
# picom, polybar and sxhkd are pulled from desktop module
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[Definition]
|
||||
failregex = .*(Failed authentication attempt|invalid credentials|Attempted access of unknown user).* from <HOST>
|
||||
ignoreregex =
|
||||
#journalmatch = _SYSTEMD_UNIT=gitea.servie
|
||||
journalmatch =
|
||||
journalmatch = _SYSTEMD_UNIT=gitea.service + _COMM=gitea
|
||||
|
||||
4
modules/services/server/fail2ban/filter/open-webui.conf
Normal file
4
modules/services/server/fail2ban/filter/open-webui.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
[Definition]
|
||||
failregex = <HOST> - .*(401 Unauthorized|invalid credentials|Attempted access of unknown user).*
|
||||
ignoreregex =
|
||||
journalmatch = _SYSTEMD_UNIT=podman-open-webui.service + _COMM=podman-open-webui
|
||||
@@ -7,7 +7,7 @@
|
||||
{
|
||||
services.gitea = {
|
||||
enable = true;
|
||||
dump.enable = true;
|
||||
dump.enable = false;
|
||||
lfs.enable = true;
|
||||
dump.type = "tar.xz";
|
||||
database.type = "postgres";
|
||||
|
||||
@@ -1,31 +1,59 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # Nix Packages
|
||||
in
|
||||
{
|
||||
imports = [ <nixpkgs/nixos/modules/virtualisation/qemu-vm.nix> ];
|
||||
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" ];
|
||||
};
|
||||
memorySize = 4096;
|
||||
diskSize = 10240;
|
||||
};
|
||||
|
||||
services.gitea-actions-runner.instances = {
|
||||
nixrunner-test = {
|
||||
serverrunner = {
|
||||
enable = true;
|
||||
url = "https://git.kabtop.de";
|
||||
name = "nix_runner_test";
|
||||
#tokenFile = "./gitea_token";
|
||||
token = "vlUBkX5IbJKTBO3HAGqFM1fEOw2UqXpX87LcdJRY";
|
||||
name = "Server runner";
|
||||
tokenFile = config.age.secrets."services/gitea/serverrunner-token".path;
|
||||
labels = [
|
||||
"server"
|
||||
"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"
|
||||
# ];
|
||||
};
|
||||
};
|
||||
};
|
||||
users.users.root.initialPassword = "babablup";
|
||||
system.stateVersion = "23.11";
|
||||
|
||||
age.secrets."services/gitea/serverrunner-token" = {
|
||||
file = ../../../secrets/services/gitea/serverrunner-token.age;
|
||||
owner = "gitea-runner";
|
||||
};
|
||||
}
|
||||
|
||||
129
modules/services/server/microvm.nix
Normal file
129
modules/services/server/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 = 4096;
|
||||
balloonMem = 4096;
|
||||
#kernel = pkgs.linuxKernel.packages.linux_latest;
|
||||
interfaces = [
|
||||
{
|
||||
type = "user";
|
||||
id = "vm-${name}";
|
||||
mac = "04:00:00:00:00:01";
|
||||
} ];
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -43,10 +43,23 @@
|
||||
#autoUpdateApps.enable = true;
|
||||
};
|
||||
|
||||
services.redis.servers.nextcloud = {
|
||||
services.onlyoffice = {
|
||||
enable = true;
|
||||
user = "nextcloud";
|
||||
port = 0;
|
||||
hostname = "docs.cloud.kabtop.de";
|
||||
postgresName = "onlyoffice";
|
||||
postgresHost = "localhost";
|
||||
postgresUser = "onlyoffice";
|
||||
postgresPasswordFile = config.age.secrets."services/nextcloud/onlyofficedb".path;
|
||||
jwtSecretFile = config.age.secrets."services/nextcloud/onlyofficejwt".path;
|
||||
};
|
||||
|
||||
services.redis = {
|
||||
vmOverCommit = true;
|
||||
servers.nextcloud = {
|
||||
enable = true;
|
||||
user = "nextcloud";
|
||||
port = 0;
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
@@ -56,6 +69,9 @@
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
};
|
||||
"${config.services.onlyoffice.hostname}".listen = [ {
|
||||
addr = "127.0.0.1"; port = 8080;
|
||||
} ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -67,9 +83,22 @@
|
||||
file = ../../../secrets/services/nextcloud/adminpassFile.age;
|
||||
owner = "nextcloud";
|
||||
};
|
||||
age.secrets."services/nextcloud/onlyofficedb" = {
|
||||
file = ../../../secrets/services/nextcloud/onlyofficedb.age;
|
||||
owner = "onlyoffice";
|
||||
};
|
||||
age.secrets."services/nextcloud/onlyofficejwt" = {
|
||||
file = ../../../secrets/services/nextcloud/onlyofficejwt.age;
|
||||
owner = "onlyoffice";
|
||||
};
|
||||
|
||||
systemd.services."nextcloud-setup" = {
|
||||
requires = ["postgresql.service"];
|
||||
after = ["postgresql.service"];
|
||||
};
|
||||
|
||||
security.acme.defaults.email = "webmaster@kabtop.de";
|
||||
security.acme.defaults.webroot = "/var/lib/acme/acme-challenge";
|
||||
security.acme.acceptTerms = true;
|
||||
|
||||
}
|
||||
|
||||
28
modules/services/server/ollama.nix
Normal file
28
modules/services/server/ollama.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
ollamahostname = "llm.kabtop.de";
|
||||
in
|
||||
{
|
||||
virtualisation.oci-containers.containers."open-webui" = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/open-webui/open-webui:ollama";
|
||||
volumes = [
|
||||
"/var/lib/open-webui:/app/backend/data"
|
||||
];
|
||||
hostname = "open-webui";
|
||||
ports = [ "8081:8080" ];
|
||||
};
|
||||
|
||||
services = {
|
||||
nginx = {
|
||||
virtualHosts = {
|
||||
${ollamahostname} = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/".proxyPass = "http://localhost:8081";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -7,28 +7,28 @@
|
||||
{
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
package = pkgs.postgresql_14;
|
||||
package = pkgs.postgresql_15;
|
||||
settings = {
|
||||
max_connections = 200;
|
||||
listen_addresses = "localhost";
|
||||
password_encryption = "scram-sha-256";
|
||||
shared_buffers = "512MB";
|
||||
work_mem = "8MB";
|
||||
shared_buffers = "4GB";
|
||||
work_mem = "2GB";
|
||||
maintenance_work_mem = "500MB";
|
||||
autovacuum_work_mem = -1;
|
||||
min_wal_size = "1GB";
|
||||
max_wal_size = "4GB";
|
||||
log_timezone = "Europe/Berlin";
|
||||
timezone = "Europe/Berlin";
|
||||
};
|
||||
authentication = pkgs.lib.mkOverride 14 ''
|
||||
local all postgres peer
|
||||
host giteadb gitea localhost scram-sha-256
|
||||
host woodpeckerdb woodpecker localhost scram-sha-256
|
||||
host nextclouddb nextcloud localhost scram-sha-256
|
||||
host synapsedb synapse localhost scram-sha-256
|
||||
host whatsappdb mautrixwa localhost scram-sha-256
|
||||
host telegramdb mautrixtele localhost scram-sha-256
|
||||
host signaldb mautrixsignal localhost scram-sha-256
|
||||
host onlyoffice onlyoffice localhost scram-sha-256
|
||||
local onlyoffice onlyoffice peer
|
||||
'';
|
||||
initialScript = config.age.secrets."services/postgresql/initScript.sql".path;
|
||||
};
|
||||
|
||||
16
modules/wm/default.nix
Normal file
16
modules/wm/default.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
|
||||
{
|
||||
options = {
|
||||
desktop = {
|
||||
wm = lib.mkOption { type = types.str; default = "sway"; };
|
||||
taskbar = lib.mkOption { type = types.str; default = "waybar"; };
|
||||
launcher = lib.mkOption { type = types.str; default = "bemenu"; };
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
imports =
|
||||
(import ./ + (desktop.wm)) ++
|
||||
};
|
||||
}
|
||||
@@ -11,10 +11,10 @@
|
||||
# └─ hyprland.nix *
|
||||
#
|
||||
|
||||
{ config, lib, user, pkgs, ... }:
|
||||
{ config, lib, user, pkgs, desktop, ... }:
|
||||
|
||||
{
|
||||
imports = [ ../../programs/waybar.nix ];
|
||||
imports = [ ../waybar.nix ];
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
@@ -40,6 +40,7 @@
|
||||
rocmPackages.clr.icd
|
||||
rocmPackages.clr
|
||||
clinfo
|
||||
waybar
|
||||
];
|
||||
};
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||
|
||||
fonts = {
|
||||
names = [ "Source Code Pro" ];
|
||||
names = [ "Cascadia Code" ];
|
||||
size = 10.0;
|
||||
};
|
||||
|
||||
@@ -212,6 +212,9 @@
|
||||
"${mod}+Shift+9" = "move container to workspace number 9";
|
||||
"${mod}+Shift+0" = "move container to workspace number 10";
|
||||
|
||||
"${mod}+Tab" = "workspace next";
|
||||
"${mod}+Alt+Tab" = "workspace prev";
|
||||
|
||||
"${mod}+k" = "splith";
|
||||
"${mod}+v" = "splitv";
|
||||
|
||||
@@ -258,11 +261,14 @@
|
||||
'';
|
||||
};
|
||||
|
||||
programs.swaylock.settings = {
|
||||
color = "000000";
|
||||
image = "$HOME/.config/lockwall";
|
||||
indicator-caps-lock = true;
|
||||
show-keyboard-layout = true;
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color = "000000";
|
||||
image = "$HOME/.config/lockwall";
|
||||
indicator-caps-lock = true;
|
||||
show-keyboard-layout = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.swayidle = {
|
||||
@@ -13,5 +13,5 @@
|
||||
|
||||
[
|
||||
./docker.nix
|
||||
# ./qemu.nix
|
||||
./qemu.nix
|
||||
]
|
||||
@@ -6,7 +6,11 @@
|
||||
|
||||
{
|
||||
virtualisation = {
|
||||
docker.enable = true;
|
||||
podman = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
dockerCompat = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.groups.docker.members = [ "${user}" ];
|
||||
@@ -17,9 +21,9 @@
|
||||
# ''; # Alias to easily start container
|
||||
#};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
docker-compose
|
||||
];
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# docker-compose
|
||||
# ];
|
||||
}
|
||||
|
||||
# USAGE:
|
||||
12
modules/wm/virtualisation/kvm-amd.nix
Normal file
12
modules/wm/virtualisation/kvm-amd.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
#
|
||||
# KVM module options amd
|
||||
#
|
||||
|
||||
{ config, pkgs, user, ... }:
|
||||
|
||||
{ # Add libvirtd and kvm to userGroups
|
||||
boot.extraModprobeConfig = ''
|
||||
options kvm_amd nested=0 avic=1 npt=1
|
||||
''; # Needed to run OSX-KVM
|
||||
}
|
||||
|
||||
13
modules/wm/virtualisation/kvm-intel.nix
Normal file
13
modules/wm/virtualisation/kvm-intel.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
#
|
||||
# KVM module options intel
|
||||
#
|
||||
|
||||
{ config, pkgs, user, ... }:
|
||||
|
||||
{ # Add libvirtd and kvm to userGroups
|
||||
boot.extraModprobeConfig = ''
|
||||
options kvm_intel nested=1
|
||||
options kvm_intel emulate_invalid_guest_state=0
|
||||
options kvm ignore_nsrs=1
|
||||
''; # Needed to run OSX-KVM
|
||||
}
|
||||
@@ -5,12 +5,6 @@
|
||||
{ config, pkgs, user, ... }:
|
||||
|
||||
{ # Add libvirtd and kvm to userGroups
|
||||
boot.extraModprobeConfig = ''
|
||||
options kvm_intel nested=1
|
||||
options kvm_intel emulate_invalid_guest_state=0
|
||||
options kvm ignore_nsrs=1
|
||||
''; # Needed to run OSX-KVM
|
||||
|
||||
users.groups.libvirtd.members = [ "root" "${user}" ];
|
||||
|
||||
virtualisation = {
|
||||
@@ -9,14 +9,6 @@
|
||||
waybar
|
||||
];
|
||||
|
||||
# nixpkgs.overlays = [ # Waybar needs to be compiled with the experimental flag for wlr/workspaces to work
|
||||
# (self: super: {
|
||||
# waybar = super.waybar.overrideAttrs (oldAttrs: {
|
||||
# mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||
# });
|
||||
# })
|
||||
# ];
|
||||
|
||||
home-manager.users.${user} = { # Home-manager waybar config
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
Binary file not shown.
Binary file not shown.
@@ -19,29 +19,42 @@ let
|
||||
];
|
||||
|
||||
server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwN8p78OncPIRUfV64PLHOem4LtlQ3opOJwLEYqdGVx";
|
||||
server2 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPm3epi3v+yuskxQZgmPdkVDET8IGeYA6LbTCqPWqkz+";
|
||||
dmz = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAmivVLbkJJ1anwQ8CeNT7rv0Qxinp1LIQIjVWZpnIE5";
|
||||
hades = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEgnWyQUUa+vcHAKx6edbTgqW8ph+MCiS6fUwYjYcS+o";
|
||||
nasbak = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdoxslkKn3ouadPOHmDN7e5AtoJmnllnUmhl1j9qfzz";
|
||||
jupiter = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDBQr9/TIeAd25h0gfOPjoHs6JMeye4V04LuFufbe1S/";
|
||||
steamdeck = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGV8tMIza5FOB3DQhiYaS3QG67n4J0e4okCrvoxPxneA";
|
||||
steamdeck = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINcbvtlL9xFq6kcvE6x20/Es5PVWMhbBvra8HjGUm4NB";
|
||||
laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICLDA3tmyCR4ogX7mgwaEhsceqALQvq9IqXhg8rF0OIi";
|
||||
homerunner = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP5MASizLhydfxn0AWcG6LfeC4fghLTDVsLbEHDnIAhc";
|
||||
serverrunner="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHfLhlJX2VlZE4myreojQ0hqCSL28kE9Y3F65uumgrSK";
|
||||
systems = [
|
||||
server
|
||||
server2
|
||||
dmz
|
||||
hades
|
||||
nasbak
|
||||
jupiter
|
||||
steamdeck
|
||||
laptop
|
||||
homerunner
|
||||
serverrunner
|
||||
];
|
||||
servers = [
|
||||
server
|
||||
server2
|
||||
];
|
||||
dmzs = [
|
||||
dmz
|
||||
homerunners = [
|
||||
homerunner
|
||||
];
|
||||
serverrunners = [
|
||||
serverrunner
|
||||
];
|
||||
buildClients = [
|
||||
nasbak
|
||||
jupiter
|
||||
steamdeck
|
||||
laptop
|
||||
];
|
||||
buildServer = [
|
||||
hades
|
||||
@@ -59,9 +72,12 @@ in
|
||||
"services/matrix/signal-registration.age".publicKeys = servers ++ users;
|
||||
"services/nextcloud/adminpassFile.age".publicKeys = servers ++ users;
|
||||
"services/nextcloud/dbpassFile.age".publicKeys = servers ++ users;
|
||||
"services/nextcloud/onlyofficedb.age".publicKeys = servers ++ users;
|
||||
"services/nextcloud/onlyofficejwt.age".publicKeys = servers ++ users;
|
||||
"services/gitea/databasePassword.age".publicKeys = servers ++ users;
|
||||
"services/gitea/mailerPassword.age".publicKeys = servers ++ users;
|
||||
"services/gitea/runner-token.age".publicKeys = dmzs ++ users;
|
||||
"services/gitea/homerunner-token.age".publicKeys = homerunners ++ users;
|
||||
"services/gitea/serverrunner-token.age".publicKeys = serverrunners ++ users;
|
||||
"keys/nixremote.age".publicKeys = buildClients ++ users;
|
||||
"keys/nixservepriv.age".publicKeys = buildServer ++ users;
|
||||
}
|
||||
|
||||
@@ -1,26 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ 5fd3qL7THeLFI9aDjn4hWHd3u8mjS8Sj/BZRcaDmen4
|
||||
lbXCh+bs0fPAoZFjjHgVrZ1CLAA7YZZgdDdg93TgRMU
|
||||
-> ssh-ed25519 neExcQ FMwvw6TmjR3KbTH9UgtlHGmC3ZM9s1+g2Lb2B4oSJWI
|
||||
l9TBPRZpSM1Wky9J+uNaKSYVI65MlLxTU7Kh2uC9Ijs
|
||||
-> ssh-ed25519 WiIaQQ J3tqbCwliMu7Hp/diV45LB0z2EWpLAwivGxxNQm1O28
|
||||
O7EDQl7x7htiIyVOQfSWHQbIxVWEnDJ/rOwE7Jey6go
|
||||
-> ssh-rsa VtjGpQ
|
||||
L3llq7FJa46xk9332WXFxuwDeHJ8NT5b5/NK9qwFzlOXhuhP7De87QWohdhqy+OG
|
||||
30yUkogQB/atK2EqcDDovV/7VhptOCi/oRTbF/PqkZIvnCK7n8wWD4jeqfIb7OGT
|
||||
gElsnZavoPunN6XEeIqdwLDe5RjTO6Rtibqoq5s5IiHs1sOJgvCeVl8vub+OQnC1
|
||||
0QUUfkup6xMyvOzYdo73vUjuB/c7MekBjAW3KEkzmuub2Xo5y4TWptBda51hxQUV
|
||||
C7W7uv0nnzRHZhZi0JkebW/cg097m9EF9rcSpjWwWD34AwICPOXq2Zx8eTZHWkMQ
|
||||
3Ayp1QEDs1JJbUubNXCVkIAB/UJ1OP69txvyyaAKvdmdgc8Voqu+4EZtvuDAYIgY
|
||||
7ZVZgxGDn7AO+bJ80c90akO4l6OGceZPIeZYdqm90JzPP7jqIs12up2/mR8AjSV3
|
||||
Hxb35hsrbyNq1Sy9llOkQXbdQNF9FR17LdL5srkitEKW8Y6vSvxd8m8GvhBUbupC
|
||||
DPu/59qnt6WNzsrDFhDxDHufgVY041ypTMjnhh15810Njoyo0MJaDA9yQp3MBhRP
|
||||
H5en9w+Z6u0UnJxoEasJfBGXoo3r/WYgw8n55D/OWyUs4PsfIp1rxbY3ju+RlO64
|
||||
uWBXkjb7Ti/tFdYxlfMGFV0hXVjOltkCcuvOw/9q8+A
|
||||
-> piv-p256 grR75w AkG/0MWcPDUgXhADzy3xYF+Am85Bi+mnfSQGqTm8mF7a
|
||||
00jDFBDhiYD6RDXFfWBl67HRAOtGt0wRGmzmKGovLTw
|
||||
-> piv-p256 RQguQQ A2dzhuogDhn6aphyEUcJY9kNcgdJgsVc2crgwZa/n2iw
|
||||
VCV4Hsp8+4NuRovNkwpyc1FYZTqfLe9+Ez0l2iQHmaw
|
||||
-> w1Z-grease ]1R^*NV( 0j[&gA>h G?V($c
|
||||
L9YIphVL4BPR2FV77nylOZ1sKM1R/xKuSxUljov1DpXPxaMwhSkTXp9YamxdRDim
|
||||
1J9IHXNcVcJWukQL
|
||||
--- hCGVjhVoRxzGtj/wV1wFd57NqM8vWmoh3+GqcNKZExM
|
||||
í'Ì-<2D>aêºöÄëdý
|
||||
nNÇñbÞj³?‹€ÂÐOG¿Ûäò
|
||||
ÌŒ#\|~žâ"áÔì½T¸É<>
|
||||
BE/OvVUprp821b/gLSDol0R0P65wwtYHKulHt2Y1Ik02w/A/GCJbVX1hAbxkhRnR
|
||||
5em/iKrbG5J3kabFgV/2VLB21yzcrdip0Cvzbgn0HsZ7I0PS80W+Nz054cdH6QV/
|
||||
A+iveZxwS0x5VWI1//mmPp6YGeEOw89r/KyIZ7As8gTmVzQoVEeaqUsP9A2/+VuG
|
||||
J6gbE6vCb5jxJ7OrLZbtBjfJhac3g7KHfy9QcLNRDSR+r0YVYOElUSyYdz3DUbJp
|
||||
vCkNdm2s00wzAobyK5KLx4k9UB+1kJRPjP52Uxt4A+pEjIviH1vTnHzQb+vL4LuR
|
||||
qR6spF4vXHj14eGva51+8bxuUBj3kx9zS4XFTLug9B9xe8XgiPJDq109/fzCLkyr
|
||||
CZwmvAIUbghLzVw5ub4It+79GKxYXH9GjkWmVQX1J1a6ls7Fvy8pW90Fh2N5M+wk
|
||||
FTQru+OuwfllWUZaUWpE1mUzu65CZ84Kfg5slm3oY/y8E6UEmHiwdpCD1Y7mxGwl
|
||||
hlQAhOzXyiNDHtWdvRaA66if7+heTvkEoKD5/owUJ0tJTMyvZgah0r2OGbKWluTv
|
||||
+w6DMlKQFtnnW437t3QZFEWmz6r8UV53CzVIjcOv6Nd8za20RKofmOCeyVJ5GRNk
|
||||
weL94rH3Mv5YKh3/mJGj4fsYgka3uRO+rV6G7fNZcfQ
|
||||
-> piv-p256 grR75w AnCspIRjswTZ8aEXA15AQiJDKmUiHQhvKg4Rhfre3kCu
|
||||
Prp1jHRXIdTXapLZgjWwjy091uc37kCIvGstSOxmNbI
|
||||
-> piv-p256 RQguQQ AxfKlFTYgyFzB7sxct0s3/QcoVs1AFwSysZTTBhJjwZz
|
||||
GYuHnz8yk5TsY/y2oibHnkFh+Ah956ZiSKXzbT5Fu+A
|
||||
--- ++NTK2N0Od5wJsDHGXUg5AbVPNRl2siwehTeRHNMkec
|
||||
T„ÇrI<72>Ø“b4 €tº!5d©C‘«/w[mA/ýÕÇ\] £N‹!„~岆ޢ¯‚ÀrÆÖiéßm`ùÒYéÚ
|
||||
Binary file not shown.
23
secrets/services/gitea/homerunner-token.age
Normal file
23
secrets/services/gitea/homerunner-token.age
Normal file
@@ -0,0 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 1fxDZw HPqtOnCf0xv43GQmB6iSSLGK6r/5pCFFZJC37ioMIw0
|
||||
VjvteDjUqqkBas9FzZKxlA1y5/TwIB44I7yNH3KBDYA
|
||||
-> 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
|
||||
@@ -1,23 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ vhw6kpdlJFJo6gnr0ZPvI9Gh8sKnPieuz39RruqunWg
|
||||
08MQyawHgAvXst11hitF0MGeZhGu0Mc3h9qZOod3ies
|
||||
-> ssh-ed25519 neExcQ Qx3NuIC3HnyhLAPB6NGLlO8073iIEXQ3VpVDvsPsLVk
|
||||
9Cz7AXaP/EorKrdLxMfaWJJsCIv5u6upJIaNbLiDleA
|
||||
-> ssh-ed25519 WiIaQQ AS+i8m6vO83lj5vZ1lr+FiM1SO1v7BU6OWertpdTXSU
|
||||
LIitIW7F/8idoKvgHmirFp1V9RlObyqOueDVIdBdRM0
|
||||
-> ssh-rsa VtjGpQ
|
||||
D7ev60dMR0qFEN2hywO/ltgi5UzDf8uF9/i64I06Q4h6284drcLEuGTNrBCmaEYt
|
||||
nIiz06izaS9RAjjE3NVI6FHOrjNAodurahseSjj0GuN0pbq5utxrAUBLQOwAIWQ6
|
||||
ZZOT4Lem3N36f6V7V3tRrzp3xx0w9uQOdC7ksrzCu04+MSL8QPKobymPFJAlIoLd
|
||||
HSUgAI46Y3JV4IgDFuRosyl1m0UkFUBGhJn3BWl/3xAjuRnguWAVLig1obbvRmnB
|
||||
xwGju2QlDf4NofiD0Gfmx/5k/r0au+5O1PMBgxRznr9BxVrZg2VHsjd6hBtoV4VT
|
||||
r+jpfW8ooB3uvkXiCOlmLEjAJHhSA0Y/UOzZ8arpq7ays3EfwoBEX6pC6EDc7seS
|
||||
DXXovs/iV6hvrrMKyiLkQrzMYU9KLmPwxzCUi8iw63pZ3ZZJUdlYHlPObY8/Bo24
|
||||
S/bPCQiW8bBSro4H/gtLNSF9Akxi/RoWcKFeUmiggVvmBRW7m7NqcFMxpy0PRAeW
|
||||
iAzsi4FY7LxEpl5e8UgAHpJ4+I8yK0UVuTaL5K+qUQqfH68J2VSVUU2WFtEiJlqk
|
||||
FOzMspFUuxVdPHWPqnlz5ae3G31tt4edwuvCf/47l4HaY5ISYyxTLTL0ceaayyh+
|
||||
zyFIpuJGZk3WGyVcVnbJmbSD49y9sBPcv9HFsl2KU8k
|
||||
-> piv-p256 grR75w AlZtjU5uFGKQhLJ8CwdlvZHL6uzgRRWs86xnKQHwavPO
|
||||
BktKjijc+nmK+Mh63YXQAISc0QvAw5D9hxHEx5aSudg
|
||||
-> piv-p256 RQguQQ AqJIDOrRVsshdjIXGL++7ayldhKhQrAeD/4fYCphz7ir
|
||||
fpqG3T1UK7ITzEJM0obllPRRC0rayjyf/PH2GFkvALI
|
||||
-> Y~&-grease vN; 3+DZgw4{
|
||||
FkvohbSMmTk0pxttKEzRiIt2RIbeC3+5Dsnr585YRCIXIT4
|
||||
--- KrOD9AxqOizLdfkOpEmqFwFtAJWi7DSjnZguQcBG1p0
|
||||
ÚŽ¨ÃõÜ îmEò=Ïk<11>ž5ZâòDl†Í&E!•΢T‘k_#“Š:‰¤‚t¤¯9ñ*zî?<3F>¬ ¦:HÕ
|
||||
FdINMHPfPVgkQk0A5g6uDRQmZxI0h74QkJSdYUtHRfbqBP0R3f4TrqbtO4n6E7pR
|
||||
5NYLkqyZND7ApC10hoQ2UJF22Ja06ZvWhhM7Zsl0X3u/58NhgXsXWy92I2sniBa4
|
||||
DF6T3AD4bQOF4Px2A/+lnA++NIWHdroqghojWOAZazvLFaFa6HtIdrTiMb2bojuU
|
||||
qxepekbRwJBEm9/5bKHZlEmwx3rJsYxrNKEkxPrBvNdPbnwgxrvhOXxeQJghyGGw
|
||||
vnCRHKDbqvRIWfkmftRjNQMHUSMitDJHUOPsG9z5KBr4M7n7B1bV5ozsLsVyUUmE
|
||||
6vBvrOPz9+RiE9H61PlAvPFMmKBTQgRf8+mjbU0RGxScqLcUoHCud2x3O+WqlLoP
|
||||
TMQtye8ayRPgG3PbwP4pO3olcA9ANEdd2Jfo+HG4izbJxdCTbOMfEFTJIEfyGMIo
|
||||
lo0Hh0EIijFAVfyAH6G/Rv1KggpINr8fTxbWz8i1PXTqzBsjfrqbHWWRrE/VJSYI
|
||||
x9bjSHeWCOs+IlZ2YEB8dshJe5smrTnKpFYrj3kvLHOiC1jKUJdDZooQex4nkXpW
|
||||
mMKIOb/VF6/QM3NkmJKLdnMJenIKL1Vqbrv/Lqu1/FaINqRsIGTXCsQs+JjxrcfX
|
||||
zxpzs7Bk2eV/BaiJxJ7Cjfx1gO37GpL0kzCMuN1xnWs
|
||||
-> piv-p256 grR75w Azu36XfRZ2Evj79zCs8RA5lwbMe2Je0oBI5JM+3MC/cO
|
||||
p8nO/p2M3pvEevZLLItNDSz64Ju8yBA2GPBnTWMN25I
|
||||
-> piv-p256 RQguQQ Av9ILPK7bsPNqgudLMq88MNSWrB+xrBVfxX3bjVCquvj
|
||||
0iwRR9htchLUk88RRooXsP0H39FfybCPMQC8AMxgu/0
|
||||
--- puq9s7iYi1A0v+7Qhsqo05Yfxtg5kHJK66RM1TDLtNM
|
||||
‡![˘Ąëu_Ď(*0źĹ´8«°ęŠű"úÄFsnď"TęĽ-„<>˝ş˙žÇwťw'Îü˘4ľ„«sd_!
|
||||
@@ -1,24 +1,21 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 jFEPfw XXaqTOr4LBcwpiKwlBq0FxQNTgJ7qkqpw6VIFkTF3lk
|
||||
lx+uvRJlBV9cYCvgeIz6wQOGJRl+KVYOniPq0Ha0A+s
|
||||
-> ssh-ed25519 1fxDZw TDpxzsr/x1p3WR7SKVetYVlKqdIxMI6w98tM5MIHC30
|
||||
HmWHgsw11pqILyvSl0FjeOokMuxlA9u128aAECK0Qvc
|
||||
-> ssh-rsa VtjGpQ
|
||||
QFCykX5qOiX/CHsLDcUF2GwABO54bc4n61wJOIaVRpK4Axbhu2uLx57mpiwiQ2ue
|
||||
6Rlj0ZHL7XZgduvg4Q7MCkHcyx92abLs5BrDJOkiiL7NZcBlV5NfdJ8aPx2B9Fo8
|
||||
ng3NK3xe3eVycd6cKHl6MjLfYOP2XCYFHolPJ0BXfUtajkFfOmKUP8ZYdmCkaqPy
|
||||
1owFQasKk6TnrBFFq4DsdXwhGccjd6vJE5sLr0G36qbWNNQWtIWqcD/w7NzbHTQ+
|
||||
Ynn5GDZHbKR/M1TSGQ5ZQQw3GLM6gnzheMXWf7cMYJGIUU22vUfn4m7U3ZMTTqeJ
|
||||
vkJQIxFH/U3hCHluOIgx29vJO6x5ZKsomuY+A2bJiSm/5BXCiOjw+mmhxcn3QpAL
|
||||
Vq3NIrwktJ0Pw032Zlq/tuXS49IqmjxrzS2QOLmpcaXc8ursZmSRK2orz2wWTmey
|
||||
hOxi25WACyoodZsOhDkEzk6BAsZ3m5EthRFRN/CCuQOypM7gCDyWfi8IG4VhjWF7
|
||||
vG+yxKDzmc8x+Pp54e9UmhZqrWxVQSMizAgN7PR4sCttHAD3u+6ZQE3+BChaiOi/
|
||||
1qmsSblzfevicO52NTBtVualgdg+cJLud+KXb4y2D9FuuNx6LCiGqcXbZL9HWjS9
|
||||
uU1R3o2gjfP9bkvMiiS0dyOSe6uB2cz1mhMYXIMSmOI
|
||||
-> piv-p256 grR75w A9xb8bDkn9NoPrqJVz+Pq62aBlVhvEpvlTkYSqQK6Bj6
|
||||
zKKfuypW1jr5WdfgTQ1xbS/oPVOKqLuaCesUSmpdy9I
|
||||
-> piv-p256 RQguQQ ArnOuG+dvQSvNKluOsGUCrELfdHHrZjgTdemAV7PAiHD
|
||||
S29Fr/W0WM21233BHke55n1lPkOwS9ODb+w6Czpmi6Y
|
||||
-> n-grease E?N# =%p3
|
||||
hscPaeh67dgm+5Ed4XRq2UpPlrOq7K4XBU6kFolY5J1tuPwmXyy7l5rKn6H5uAOe
|
||||
moHhxdYAuv+qZ9x9UMfbWc+gWEpqBg0EASU9GT63hyvYmg
|
||||
--- EIQQsMJnWzbdR5xE6cn6Y7GEM6M5TUrOH/TymQMfYWY
|
||||
£<EFBFBD>%å2Ðcó|àæüþ””D‚··•çÏL¶Ø<C2B6>DQ<´Œa|5LÖ+cvŒVº&<26>ž
|
||||
XTL+rQuSTsY42cuFi2HKBo/6xRa+5Aw0NJafCDg4PBYbNvZf8Q4EFtrX3k3JzUcE
|
||||
fgzJI81h/ijl6FzvnAsfB0oMR/RIxHNdheIMxilsiaVGDS6ATnq8Mk7Ca67MtM5Y
|
||||
Uc9XQ6I4qtL3rdpvnp3BjR3d1KfmwsTBeYJrl03vltLBN8twgD7mBabtjcl38u1A
|
||||
emcgc8qAhz45n+07yVnqRqdMUY3VntqyL2DzasaPhpQHqV0jwWATNMGJilpvOSpn
|
||||
it5VGZWGVjjHiGtwEGvuWBRi2+4jt02WwrDmlrqoSZxiqXW42XCa9pPn/X+U1UYE
|
||||
dBJ1iPNc9EEQhr3sIewDAvjy2m4T/4wzY1gpgfiAY1FzgObZXOM3cv11yIAJU0ZX
|
||||
nnDTgJmRysxvp/at1dEDbza8krIGcBW0tWYvKQdm2kh3m+nTZWI2Btmm+hT60qYX
|
||||
4pLNkz0WR1nwdzzw0mSYXbPLlFAb8OrKP8fGJKvC6VM8C/Tofp+gWbfGnAFIq0um
|
||||
hBcCK3hlg/QDdBV3jrIQyX+Vk+W3xe5QMjI8Oem9Jzy/y4MmMjUV7x8X5hd6KiK9
|
||||
wc5Dt0VL1KgwomYLvrNnl32TAGK+tOVXPRLaFiR9jwsrJZ3GXlsxJO0W2hFjp3wk
|
||||
GGX/CFqRy228of9ujc+yPi6r9SO4BNT0eelwEbp0Kfs
|
||||
-> piv-p256 grR75w A4dwZqBbpqrb3KcacC1mupb7Nka8s7RlHfVcc07L1ApC
|
||||
5xM0zPEnRoA08LEdQDl3qcsOaNXPHgyDJxfRV3ar8cA
|
||||
-> piv-p256 RQguQQ AgC34mS9BXHs3UM7Xp7e66oMUKAJ7VASdxRCJuWnzZcz
|
||||
oOFQFWLUkQyGvHvmq2dZHDiE9J4J/wE3NBT1ASHtKRE
|
||||
--- fbj8iFIYKQvjNminxZ0TLt7S2RSdozKUhq2ARdI1L9s
|
||||
á>H¿ôý&‡3§LÈÊ<,DvÜ<76>c¨ìá†ïBIñdJÐi%þgK׳`úª³…g<>9kN¹CPºžÁù«öb›ï ÒÜêáa<1A>œés=áÏ"S
|
||||
23
secrets/services/gitea/serverrunner-token.age
Normal file
23
secrets/services/gitea/serverrunner-token.age
Normal file
@@ -0,0 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 0qfOZA UTOzjwhqcVLmpf3P/nzO3aGKzKH0YKq04sUbFvMa/FE
|
||||
a2MMcZXucDEXmy/uU7JapMsboImCGsUiPA2Pr/wB5yQ
|
||||
-> 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Í
|
||||
=:³
|
||||
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.
Binary file not shown.
@@ -1,24 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ RDBfN3hHc4t2uXmUVSsM14iRM7QlD6D14Mh/GNxaOEk
|
||||
fWoP465OcTE0+fKHkaAi9k5z5Al2Jiu9DKlo7CIiMpU
|
||||
-> ssh-ed25519 neExcQ VfWt68buOl2UetDKcQWuWRSOeJi4HhQxiZVI4lIfcUU
|
||||
GTWI83cLyP2Kjd6twRpaWpBq+U/BYcfDJeljQ1CZ1bw
|
||||
-> ssh-ed25519 WiIaQQ nqwbWtevakrHk3sODtw7l40klSb4cIyi4uSsnpcS8QI
|
||||
PxfriZ8CdPhPTNtjQL3lsyjfjkpBsnmJc0TRNM1pyHM
|
||||
-> ssh-rsa VtjGpQ
|
||||
dtQlOzCEvQrKY7VJNBfHs51jdBMDv4emABKlXciR3C5RXKoUxQn2QEi3hWPVrYe8
|
||||
19IuKy4HNXhhHoj9WdlJXtwGnSkrDdj69Y9yghMAjMfmTzZJpKYZVS2Av3w6hsxP
|
||||
fzCeDXZAVyVyEBrqeSDzttTH4HBj88ZHJQ1Sw6fjpXr4gO+nh6xqxU83WGmbEqkr
|
||||
baz/Po5veenEcAiIru9VnyOdEQ6BQBNWXfbhXozOK/1p8+bqVrtaCm+2UMrh9fHn
|
||||
YY5TgLdKU1TA7I+tUUbLUGv7lLi480NMmnjZeQi2AcIGzJt0SqALU48CMsZlAjgK
|
||||
f8N9dat9oGsulwnZT7uXTtjL23L0g+UZtRU3POaAMFVgT3rc0oIlgPHM4TcTeGE6
|
||||
wAs2RoTwcNMDpYDZADw2PIFs71ty3Wpp+Hh5USB8TQDQXwoJ+asvugLSBmf3LOVH
|
||||
uEQg6AePiJzatwQv8lEu++1zClovoe1r7+vwWI8EcfHXhm76jCbWD8htYBLanq3I
|
||||
jopwN2uPfEUM6KdVUERd8edj6zql0qWb3RAkrye++FfaOPQPEBP8SkJTQtr/1r4S
|
||||
EXBK8FRLDnR/Tj6e5NvRHjQtz3xDhzCxPuST7W8053bzgYBqsK/XA6QCsUus3K0m
|
||||
LR2v7z5w9nmpWe1S1kf9kVqHliBAekNqkgSIcHoLY40
|
||||
-> piv-p256 grR75w AzHNBnWeZ37iFNZfHmNmfKGmNQGgjGOb5iHqGd9kKMtJ
|
||||
D9zNivOdNr20LJTrobtO2zfT+CqrBbCBQZ/BGK4a3jI
|
||||
-> piv-p256 RQguQQ AiS8dCP+OW7/c7MfkQDpOI7lBtOAyV0jxpz3uLQQ4Uhs
|
||||
FQejiJrB6AMHAU0eVaxG0+IkcdSsdLIJFup45IWYRMk
|
||||
-> !7f!ih-grease w.b90
|
||||
ZjiMU5WT9PZeIZgLCrbTUcfbHqHlXyByAE0uz6cCgeSAZWsEVH+nDUvcDM29GM3W
|
||||
gl3osueyciQye4fQc5HRVMUtcvFRH+O2NgSZIGB0B5xf56szcPhn/x0
|
||||
--- otFhXJV/lLBevWDL2dFy2LI4u9D7TYmMQiBLSx2h/2Y
|
||||
Rc³‘SžÏà_â]S»g#Ò¼¢?ˆ'0€Lk9”'÷ô}ýjcD¬lCÐ<>K—®˜…(yeÅ
|
||||
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
|
||||
24
secrets/services/nextcloud/onlyofficedb.age
Normal file
24
secrets/services/nextcloud/onlyofficedb.age
Normal file
@@ -0,0 +1,24 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ XvGpJsiChcxBbL7c5CK2mUvdFHV5ypmx5tpWVfwuESg
|
||||
1WI2nm5/oPtCqXD0N2WStDOh91UT7IIS4/vFwWL6UA8
|
||||
-> ssh-ed25519 WiIaQQ SLJfhzdJpYzzzqFqrR67GrAuTWFJYfX10iidobo5xxs
|
||||
KF+r/AOKKLHqSf1h5AOJd/3IZTKm442ejUnWVhk04/o
|
||||
-> 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…ï
|
||||
23
secrets/services/nextcloud/onlyofficejwt.age
Normal file
23
secrets/services/nextcloud/onlyofficejwt.age
Normal file
@@ -0,0 +1,23 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 neExcQ 39vMfysEahyydxnqENrwNOZi9yWpZSIWsNQxkMFBQik
|
||||
bvJK5Gya20UhZ/dWKHAQZ7CPa7v/pISwB90WJejYA5k
|
||||
-> ssh-ed25519 WiIaQQ KZ6RU6kDjHVfy5YwlmjQhH6YBVkJqrRonUl02iYA2m0
|
||||
GGsCI2D1tN4lGpsHJph6pq9N8UYdG2mfIY3U9urTR08
|
||||
-> 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äû
|
||||
Binary file not shown.
Reference in New Issue
Block a user