mirror of
https://github.com/davegallant/nix-config
synced 2026-01-05 13:22:29 +00:00
Compare commits
31 Commits
0d705f12d3
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 2bd46dd98f | |||
| b7e54a40c3 | |||
| 673b10ffb0 | |||
| 54dd7f3e93 | |||
| a6ff460dea | |||
| ff98be6206 | |||
| 865b5fd211 | |||
| 1614d714e8 | |||
| b330dcfafa | |||
| 5fad38af62 | |||
| ed76968e75 | |||
| 2412566952 | |||
| c6c152549c | |||
| 76f4837fce | |||
| ed1b643113 | |||
| f571aaf036 | |||
| 3cc3b82e26 | |||
| 29eb98ebe2 | |||
| 4ebf251722 | |||
| 74eee143be | |||
| 1361afedfd | |||
| 007016a7ca | |||
| fd6d3ec8ce | |||
| 5f456b75a1 | |||
| 8001c5b1e6 | |||
| ae2149261e | |||
| 8534a196a9 | |||
|
|
806c085734 | ||
| 3af83d2c7e | |||
| 11a5e25fa9 | |||
| 955258c480 |
19
README.md
19
README.md
@@ -64,3 +64,22 @@ To cleanup previous files, run nix garbage collection:
|
||||
```sh
|
||||
just clean
|
||||
```
|
||||
|
||||
## Restoring from a live USB
|
||||
|
||||
If the bootloader for some reason breaks (i.e. motherboard firmware upgrade), restore it from a live USB by running the following commands:
|
||||
|
||||
```console
|
||||
$ sudo cryptsetup luksOpen /dev/nvme0n1p2 crypted-nixos
|
||||
Enter passphrase for /dev/nvme0n1p2: ********
|
||||
$ sudo mount /dev/vg/root /mnt
|
||||
$ sudo mount /dev/nvme0n1p1 /mnt/boot/efi
|
||||
$ sudo nixos-enter --root /mnt
|
||||
$ hostname <hostname>
|
||||
```
|
||||
|
||||
Navigate to the nix-config directory and run:
|
||||
|
||||
```sh
|
||||
just rebuild-boot
|
||||
```
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
github-cli
|
||||
hadolint
|
||||
lazygit
|
||||
macchina
|
||||
ncdu
|
||||
progress
|
||||
ripgrep
|
||||
shellcheck
|
||||
@@ -85,7 +87,6 @@
|
||||
nvd
|
||||
|
||||
# python
|
||||
poetry
|
||||
virtualenv
|
||||
|
||||
# media
|
||||
|
||||
96
flake.lock
generated
96
flake.lock
generated
@@ -30,12 +30,12 @@
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765254444,
|
||||
"narHash": "sha256-kAO/ZeBnjaF+uqOP6qweXlRk2ylocLuv/9Dn8FsuPlU=",
|
||||
"rev": "3ccc0297525e51ac3d7905509e0616c9c8350108",
|
||||
"revCount": 316,
|
||||
"lastModified": 1766549083,
|
||||
"narHash": "sha256-G1Hljg7vIBt8n9cxO382YAZWtZU/mYfQcg3icdNG8RQ=",
|
||||
"rev": "ba8999fac986e70f52b4cba15047be7bbb7b6346",
|
||||
"revCount": 318,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.14.0/019b0160-c5de-7941-9c26-cb47bc17eec3/source.tar.gz"
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.15.1/019b4e8a-dc22-75db-aef5-a447efbb1a13/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -45,37 +45,37 @@
|
||||
"determinate-nixd-aarch64-darwin": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-6PWoqx52nvlWzlElTjcn7KAPKitfcKZYEFSsC3PoEoE=",
|
||||
"narHash": "sha256-uWDS94cAYprGj+AwuT42nuuDDicRLj1S0JwalZGeBRU=",
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/macOS"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/macOS"
|
||||
},
|
||||
"original": {
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/macOS"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/macOS"
|
||||
}
|
||||
},
|
||||
"determinate-nixd-aarch64-linux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-b1e25BUPL7Qf0QVbYlfZ/+QiClrP/SHIjMPtA47aOLc=",
|
||||
"narHash": "sha256-uHBcZCh2/Bj5/88TDihupA336tSQDk7s5lVP66IDAX0=",
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/aarch64-linux"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/aarch64-linux"
|
||||
},
|
||||
"original": {
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/aarch64-linux"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/aarch64-linux"
|
||||
}
|
||||
},
|
||||
"determinate-nixd-x86_64-linux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-8EI2f8IftPcRFlR6K4+cpIEAVf5UIeMCjHysEtVqDw0=",
|
||||
"narHash": "sha256-y+l05H6GNv/1WcrMztDYem8VBWqjc9gNg4WjeQ1PQxo=",
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/x86_64-linux"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/x86_64-linux"
|
||||
},
|
||||
"original": {
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/x86_64-linux"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/x86_64-linux"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
@@ -123,11 +123,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765495779,
|
||||
"narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=",
|
||||
"lastModified": 1765835352,
|
||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "5635c32d666a59ec9a55cab87e898889869f7b71",
|
||||
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -203,11 +203,11 @@
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765605144,
|
||||
"narHash": "sha256-RM2xs+1HdHxesjOelxoA3eSvXShC8pmBvtyTke4Ango=",
|
||||
"lastModified": 1767514898,
|
||||
"narHash": "sha256-ONYqnKrPzfKEEPChoJ9qPcfvBqW9ZgieDKD7UezWPg4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "90b62096f099b73043a747348c11dbfcfbdea949",
|
||||
"rev": "7a06e8a2f844e128d3b210a000a62716b6040b7f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -254,12 +254,12 @@
|
||||
"nixpkgs-regression": "nixpkgs-regression"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765252170,
|
||||
"narHash": "sha256-p98D44tYJMgB5Qet5S8cTQFdffk/GmoaGkpQtZ3hqJU=",
|
||||
"rev": "1ddd28880651054346c34009d7bb9de36f1db2c1",
|
||||
"revCount": 23362,
|
||||
"lastModified": 1766546676,
|
||||
"narHash": "sha256-GsC52VFF9Gi2pgP/haQyPdQoF5Qe2myk1tsPcuJZI28=",
|
||||
"rev": "51dacdd248e8071cd0243a8245c8c42ac1f33307",
|
||||
"revCount": 24299,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.14.0/019b0159-8907-7fab-a120-9d287c7e6d2e/source.tar.gz"
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.15.1/019b4e84-d036-75db-b6c6-6bc2e2035c53/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -298,11 +298,11 @@
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1765719588,
|
||||
"narHash": "sha256-0VT36Ig9Z5rgXtQ4dgVgrDPS1UrASffWC/r4O9zFUaE=",
|
||||
"lastModified": 1767583187,
|
||||
"narHash": "sha256-a2bF6Wxxw8XZ4PmIOsqLznV1pCr160fl90psV1tp0qI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f9a7fdd6101319fb1220d0905909aea54e5d8999",
|
||||
"rev": "9d2a9d6abc3ae7d73bdbc6d92b8123f55e84ad86",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -330,11 +330,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1765472234,
|
||||
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
|
||||
"lastModified": 1767379071,
|
||||
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
|
||||
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -346,12 +346,12 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1764611609,
|
||||
"narHash": "sha256-yU9BNcP0oadUKupw0UKmO9BKDOVIg9NStdJosEbXf8U=",
|
||||
"rev": "8c29968b3a942f2903f90797f9623737c215737c",
|
||||
"revCount": 905078,
|
||||
"lastModified": 1766314097,
|
||||
"narHash": "sha256-laJftWbghBehazn/zxVJ8NdENVgjccsWAdAqKXhErrM=",
|
||||
"rev": "306ea70f9eb0fb4e040f8540e2deab32ed7e2055",
|
||||
"revCount": 914780,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.905078%2Brev-8c29968b3a942f2903f90797f9623737c215737c/019add91-3add-7a0d-8a25-9569cbe01efe/source.tar.gz"
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.914780%2Brev-306ea70f9eb0fb4e040f8540e2deab32ed7e2055/019b49b8-ed0f-724e-bdaf-5fd90cc1c590/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -360,11 +360,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1764983851,
|
||||
"narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=",
|
||||
"lastModified": 1767325753,
|
||||
"narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454",
|
||||
"rev": "64049ca74d63e971b627b5f3178d95642e61cedd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -376,11 +376,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1765608474,
|
||||
"narHash": "sha256-9Wx53UK0z8Di5iesJID0tS1dRKwGxI4i7tsSanOHhF0=",
|
||||
"lastModified": 1767480499,
|
||||
"narHash": "sha256-8IQQUorUGiSmFaPnLSo2+T+rjHtiNWc+OAzeHck7N48=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "28bb483c11a1214a73f9fd2d9928a6e2ea86ec71",
|
||||
"rev": "30a3c519afcf3f99e2c6df3b359aec5692054d92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -416,11 +416,11 @@
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765647805,
|
||||
"narHash": "sha256-CdaiOfpBiS4kw/DR0Ut+02fpFnjM8hNZMZ53a1pavak=",
|
||||
"lastModified": 1767448089,
|
||||
"narHash": "sha256-U1fHsZBnFrUil731NHD9Sg5HoiG+eSHau8OFuClhwW0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "f0b0cc7cae2cf5d76608c9164ab8824a2387e146",
|
||||
"rev": "983751b66f255bbea1adc185364e9e7b73f82358",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -516,11 +516,11 @@
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764077616,
|
||||
"narHash": "sha256-5bhF1Pdrz5yq9mSMWzoPRKDx6fedRr55A8+v556MD/I=",
|
||||
"lastModified": 1766183672,
|
||||
"narHash": "sha256-24+gJj4UsxwQmdxSS3Aqo2fl0Ep13sYrTDvcHY24mwA=",
|
||||
"owner": "davegallant",
|
||||
"repo": "vpngate",
|
||||
"rev": "eda46dcce93b9246784e684e9cb7e8b96d53ee1d",
|
||||
"rev": "a668484da6b969d29dd2f74d5a4f2323fb48beef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
@@ -54,7 +55,7 @@
|
||||
];
|
||||
luks.devices."root" = {
|
||||
allowDiscards = true;
|
||||
device = "/dev/disk/by-uuid/21cd166c-1528-49a4-b31b-0d408d48aa80";
|
||||
device = "/dev/disk/by-uuid/89a14ac5-7723-4a0a-bb95-fb2fb2e92160";
|
||||
preLVM = true;
|
||||
keyFile = "./keyfile0.bin";
|
||||
};
|
||||
@@ -70,6 +71,7 @@
|
||||
bleachbit
|
||||
calibre
|
||||
chromium
|
||||
clamtk
|
||||
cryptsetup
|
||||
dbeaver-bin
|
||||
discord
|
||||
@@ -78,8 +80,10 @@
|
||||
google-chrome
|
||||
hardinfo2
|
||||
httpie-desktop
|
||||
heroic
|
||||
iputils
|
||||
kdePackages.bluedevil
|
||||
kdePackages.kcalc
|
||||
kdePackages.kcharselect
|
||||
kdePackages.kclock
|
||||
kdePackages.kcolorchooser
|
||||
@@ -96,12 +100,13 @@
|
||||
pika-backup
|
||||
pinentry-curses
|
||||
pinta
|
||||
protonvpn-gui
|
||||
qalculate-qt
|
||||
protonup-qt
|
||||
qbittorrent
|
||||
qemu
|
||||
traceroute
|
||||
unrar
|
||||
unstable.beszel
|
||||
unstable.ktailctl
|
||||
unstable.mcpelauncher-ui-qt
|
||||
unstable.obsidian
|
||||
unstable.podman
|
||||
@@ -124,15 +129,11 @@
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/a6723178-6f18-428e-b541-9ac901861125";
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/home" = {
|
||||
device = "/dev/disk/by-uuid/e3ab2e1a-bddf-4ae0-b00a-bf954c6c182b";
|
||||
device = "/dev/disk/by-uuid/7f4f0948-041c-47e9-ab28-53132026f158";
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/boot/efi" = {
|
||||
device = "/dev/disk/by-uuid/3CFD-D749";
|
||||
device = "/dev/disk/by-uuid/F1BD-5227";
|
||||
fsType = "vfat";
|
||||
};
|
||||
"/mnt/synology-2b/media" = {
|
||||
@@ -149,7 +150,6 @@
|
||||
dejavu_fonts
|
||||
fira-mono
|
||||
font-awesome
|
||||
google-fonts
|
||||
liberation_ttf
|
||||
nerd-fonts.droid-sans-mono
|
||||
nerd-fonts.fira-code
|
||||
@@ -224,6 +224,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
mullvad-vpn = {
|
||||
enable = true;
|
||||
package = pkgs.mullvad-vpn;
|
||||
};
|
||||
};
|
||||
|
||||
system = {
|
||||
autoUpgrade.enable = true;
|
||||
stateVersion = "25.11";
|
||||
@@ -242,6 +249,7 @@
|
||||
|
||||
nix = {
|
||||
extraOptions = "experimental-features = nix-command flakes";
|
||||
settings.trusted-users = [ "root" "@wheel" ];
|
||||
};
|
||||
|
||||
users.users.dave = {
|
||||
@@ -249,7 +257,6 @@
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"libvirtd"
|
||||
"corectrl"
|
||||
];
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
@@ -319,6 +326,9 @@
|
||||
package = unstable.tailscale;
|
||||
};
|
||||
|
||||
services.clamav.daemon.enable = true;
|
||||
services.clamav.updater.enable = true;
|
||||
|
||||
services.opensnitch = {
|
||||
enable = true;
|
||||
rules = {
|
||||
|
||||
@@ -114,6 +114,7 @@
|
||||
"taskexplorer"
|
||||
"tailscale"
|
||||
"vlc"
|
||||
"whisky"
|
||||
"zed"
|
||||
];
|
||||
|
||||
@@ -124,5 +125,6 @@
|
||||
"homebrew/cask-versions"
|
||||
"homebrew/services"
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
5
justfile
5
justfile
@@ -8,7 +8,10 @@ arch := `uname -s`
|
||||
cmd := if arch == "Linux" { "nixos-rebuild --sudo" } else { "darwin-rebuild" }
|
||||
|
||||
rebuild:
|
||||
sudo $cmd switch --flake . -I nixos-config="hosts/$(hostname).nix" --show-trace
|
||||
$cmd switch --flake .
|
||||
|
||||
rebuild-boot:
|
||||
$cmd boot --flake . --install-bootloader
|
||||
|
||||
rollback:
|
||||
sudo $cmd switch --rollback --flake .
|
||||
|
||||
Reference in New Issue
Block a user