mirror of
https://github.com/davegallant/nix-config
synced 2026-01-08 07:24:05 +00:00
Compare commits
47 Commits
6f902f20bd
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 260adf53e5 | |||
| 20fb65c259 | |||
|
|
075c429dee | ||
|
|
c4f1ea3e60 | ||
| 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 | |||
| d31db1b604 | |||
| c32e3081e2 | |||
| 602fec4895 | |||
| 45d17393de | |||
| 3929f1c226 | |||
| f480e78641 | |||
| 369e40546e | |||
| 453ace1efe | |||
| 6470c15c96 | |||
| 1497b3e680 | |||
| 7e746d05e0 | |||
| 81d17be0e9 |
40
README.md
40
README.md
@@ -4,7 +4,26 @@ This repo stores nix configuration to manage my hosts running [NixOS](https://ni
|
||||
|
||||
The configuration is very specific to my own machines and setup, but it may be a useful reference for anyone else learning or experimenting with nix, whether it be on a personal workstation or a server environment.
|
||||
|
||||
<img width="1903" height="986" alt="Image" src="https://github.com/user-attachments/assets/6cba837c-2b5e-4f6c-803e-dbbde81a8047" />
|
||||
```console
|
||||
❯ macchina
|
||||
|
||||
a8888b. Host - dave@hephaestus
|
||||
d888888b. Machine - Micro-Star International Co., Ltd MS-7C02 1.0
|
||||
8P"YP"Y88 Kernel - 6.12.61
|
||||
8|o||o|88 Distro - NixOS 25.11 (Xantusia)
|
||||
8' .88 DE - KDE
|
||||
8`._.' Y8. Packages - 1 (cargo), 10998 (nix)
|
||||
d/ `8b. Shell - fish
|
||||
dP Y8b. Terminal - alacritty
|
||||
d8: ::88b. Resolution - 2560x1440, 3840x2160
|
||||
d8" 'Y88b Uptime - 26m
|
||||
:8P :888 CPU - AMD Ryzen 7 5700X 8-Core Processor (16)
|
||||
8a. _a88P CPU Load - 8%
|
||||
._/"Yaa .| 88P| Memory - 10.7 GB / 32.8 GB
|
||||
\ YP" `| `.
|
||||
/ \.___.d| .'
|
||||
`--..__) `._.'
|
||||
```
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -45,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
|
||||
```
|
||||
|
||||
@@ -24,6 +24,9 @@
|
||||
fd
|
||||
github-cli
|
||||
hadolint
|
||||
lazygit
|
||||
macchina
|
||||
ncdu
|
||||
progress
|
||||
ripgrep
|
||||
shellcheck
|
||||
@@ -77,9 +80,6 @@
|
||||
openvpn
|
||||
tcpdump
|
||||
|
||||
# rice
|
||||
fastfetch
|
||||
|
||||
# nix
|
||||
nix-tree
|
||||
nixfmt-rfc-style
|
||||
@@ -87,7 +87,6 @@
|
||||
nvd
|
||||
|
||||
# python
|
||||
poetry
|
||||
virtualenv
|
||||
|
||||
# media
|
||||
|
||||
417
flake.lock
generated
417
flake.lock
generated
@@ -1,73 +1,5 @@
|
||||
{
|
||||
"nodes": {
|
||||
"base16": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755819240,
|
||||
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-fish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1754405784,
|
||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1760703920,
|
||||
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-vim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732806396,
|
||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -75,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764161084,
|
||||
"narHash": "sha256-HN84sByg9FhJnojkGGDSrcjcbeioFWoNXfuyYfJ1kBE=",
|
||||
"lastModified": 1767634391,
|
||||
"narHash": "sha256-owcSz2ICqTSvhBbhPP+1eWzi88e54rRZtfCNE5E/wwg=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "e95de00a471d07435e0527ff4db092c84998698e",
|
||||
"rev": "08585aacc3d6d6c280a02da195fdbd4b9cf083c2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -98,12 +30,12 @@
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763536872,
|
||||
"narHash": "sha256-QCYGGghBya+qsY59f1zzgYzxEzz+N9S7YRkVWDIDbgo=",
|
||||
"rev": "f4e598cbb10021c93f73dd4c0cf01ec791ea53f9",
|
||||
"revCount": 315,
|
||||
"lastModified": 1766549083,
|
||||
"narHash": "sha256-G1Hljg7vIBt8n9cxO382YAZWtZU/mYfQcg3icdNG8RQ=",
|
||||
"rev": "ba8999fac986e70f52b4cba15047be7bbb7b6346",
|
||||
"revCount": 318,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.13.2/019a9b01-c0c6-7e1c-959e-98ac5b7675de/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",
|
||||
@@ -113,53 +45,37 @@
|
||||
"determinate-nixd-aarch64-darwin": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-g1r0dPwlUi1h96c4BuHzv9M2lWDqRy9bPDW9tRSq35I=",
|
||||
"narHash": "sha256-uWDS94cAYprGj+AwuT42nuuDDicRLj1S0JwalZGeBRU=",
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/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.13.2/macOS"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/macOS"
|
||||
}
|
||||
},
|
||||
"determinate-nixd-aarch64-linux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-xn324irXG/EpUdUfUGFrlJNg23JN2cVArd5LsFPjGKc=",
|
||||
"narHash": "sha256-uHBcZCh2/Bj5/88TDihupA336tSQDk7s5lVP66IDAX0=",
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/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.13.2/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-VPM5FOGwEjl56b7Edvg3sduvauPHCyXZ11fN9hcUdTU=",
|
||||
"narHash": "sha256-y+l05H6GNv/1WcrMztDYem8VBWqjc9gNg4WjeQ1PQxo=",
|
||||
"type": "file",
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/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.13.2/x86_64-linux"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764724327,
|
||||
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"type": "github"
|
||||
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/x86_64-linux"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
@@ -207,32 +123,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"lastModified": 1765835352,
|
||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -261,7 +156,7 @@
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -277,22 +172,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks-nix": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
@@ -319,35 +198,16 @@
|
||||
"url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"lastModified": 1764524476,
|
||||
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"owner": "GNOME",
|
||||
"ref": "gnome-49",
|
||||
"repo": "gnome-shell",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764866045,
|
||||
"narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=",
|
||||
"lastModified": 1767780135,
|
||||
"narHash": "sha256-5SbmsLMgxzPd9YMbFR4IHfOXv6bjWs+dfl6IbSq3r7s=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab",
|
||||
"rev": "c08430923ed417abc653884328a39e98496cfd0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -394,12 +254,12 @@
|
||||
"nixpkgs-regression": "nixpkgs-regression"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763534330,
|
||||
"narHash": "sha256-gTuB2qBdSKCKnZwENTqScs/pPBaZQOv6zZ1KJvV/ohk=",
|
||||
"rev": "be871f9baf5366a220b5f25634eebab6f452a017",
|
||||
"revCount": 23278,
|
||||
"lastModified": 1766546676,
|
||||
"narHash": "sha256-GsC52VFF9Gi2pgP/haQyPdQoF5Qe2myk1tsPcuJZI28=",
|
||||
"rev": "51dacdd248e8071cd0243a8245c8c42ac1f33307",
|
||||
"revCount": 24299,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.13.2/019a9af6-3d7b-71bc-bccd-8b18e147ad77/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",
|
||||
@@ -438,11 +298,11 @@
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1765022456,
|
||||
"narHash": "sha256-gvAyAHcQjYj5lh0X6JSwPHPew/c23HBevUUZqeMMlLg=",
|
||||
"lastModified": 1767786791,
|
||||
"narHash": "sha256-Eu0eZDABynDaCPRr5bce4UpVcmRHioxG8pJTpPPMrWE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a4d1e1ae561e0b1d4485deebfee8c995cc66a8e5",
|
||||
"rev": "c0fc386a2f5f7027de84c302659f16c93f8da151",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -470,11 +330,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1764950072,
|
||||
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
|
||||
"lastModified": 1767640445,
|
||||
"narHash": "sha256-UWYqmD7JFBEDBHWYcqE6s6c77pWdcU/i+bwD6XxMb8A=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f61125a668a320878494449750330ca58b78c557",
|
||||
"rev": "9f0c42f8bc7151b8e7e5840fb3bd454ad850d8c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -486,12 +346,12 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1763375004,
|
||||
"narHash": "sha256-e81Xfa7xhRZfqGB4s3xEvrg4p1v+fToM6CIQlXUyaX0=",
|
||||
"rev": "8b6600824693a9c706ef09bd86711ca393703466",
|
||||
"revCount": 897465,
|
||||
"lastModified": 1766314097,
|
||||
"narHash": "sha256-laJftWbghBehazn/zxVJ8NdENVgjccsWAdAqKXhErrM=",
|
||||
"rev": "306ea70f9eb0fb4e040f8540e2deab32ed7e2055",
|
||||
"revCount": 914780,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.897465%2Brev-8b6600824693a9c706ef09bd86711ca393703466/019a9577-b407-75dd-b18b-3308def1c215/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",
|
||||
@@ -500,11 +360,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1764522689,
|
||||
"narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=",
|
||||
"lastModified": 1767634882,
|
||||
"narHash": "sha256-2GffSfQxe3sedHzK+sTKlYo/NTIAGzbFCIsNMUPAAnk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f",
|
||||
"rev": "3c9db02515ef1d9b6b709fc60ba9a540957f661c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -516,11 +376,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1764831616,
|
||||
"narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=",
|
||||
"lastModified": 1767634882,
|
||||
"narHash": "sha256-2GffSfQxe3sedHzK+sTKlYo/NTIAGzbFCIsNMUPAAnk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4",
|
||||
"rev": "3c9db02515ef1d9b6b709fc60ba9a540957f661c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -531,22 +391,6 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1764522689,
|
||||
"narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1763934636,
|
||||
"narHash": "sha256-9glbI7f1uU+yzQCq5LwLgdZqx6svOhZWkd4JRY265fc=",
|
||||
@@ -572,11 +416,11 @@
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764755396,
|
||||
"narHash": "sha256-f6UrlGdwg+TIxxyDjeq1M7WGNZH/vpbOm0yzPgkMy9c=",
|
||||
"lastModified": 1767448089,
|
||||
"narHash": "sha256-U1fHsZBnFrUil731NHD9Sg5HoiG+eSHau8OFuClhwW0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "64d9e2616f4ee2acee380d61ccf1f3d610e7e969",
|
||||
"rev": "983751b66f255bbea1adc185364e9e7b73f82358",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -586,31 +430,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
"stylix",
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764773531,
|
||||
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
@@ -643,43 +462,9 @@
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nixvim": "nixvim",
|
||||
"stylix": "stylix",
|
||||
"vpngate": "vpngate"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"base16-fish": "base16-fish",
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nur": "nur",
|
||||
"systems": "systems_3",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
"tinted-tmux": "tinted-tmux",
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764982414,
|
||||
"narHash": "sha256-LqCQL0BVLQYtOIBfWSHkNbRoQ+nCeCdfj7/Ggmb4x3w=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "b1c99fd9525bae86f20018e96d68176002ad18b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.11",
|
||||
"repo": "stylix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -725,113 +510,17 @@
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1726913040,
|
||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1735730497,
|
||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1763914658,
|
||||
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764465359,
|
||||
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1764464512,
|
||||
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vpngate": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"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": {
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
url = "github:nix-community/nixvim/nixos-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
stylix.url = "github:nix-community/stylix/release-25.11";
|
||||
vpngate.url = "github:davegallant/vpngate";
|
||||
};
|
||||
|
||||
@@ -28,7 +27,6 @@
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
nixpkgs-master,
|
||||
stylix,
|
||||
vpngate,
|
||||
...
|
||||
}@inputs:
|
||||
@@ -66,7 +64,6 @@
|
||||
./hosts/hephaestus.nix
|
||||
./common-packages.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
stylix.nixosModules.stylix
|
||||
(
|
||||
{ ... }:
|
||||
{
|
||||
@@ -136,7 +133,6 @@
|
||||
|
||||
modules = [
|
||||
home-manager.darwinModules.home-manager
|
||||
stylix.darwinModules.stylix
|
||||
./hosts/zelus.nix
|
||||
./common-packages.nix
|
||||
(
|
||||
|
||||
47
home.nix
47
home.nix
@@ -12,26 +12,6 @@ in
|
||||
|
||||
home.packages = with pkgs; [ just ];
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
|
||||
|
||||
fonts.monospace = {
|
||||
name = "FiraCode Nerd Font Mono";
|
||||
package = "${pkgs.fira-mono}";
|
||||
};
|
||||
|
||||
fonts.sansSerif = {
|
||||
name = "FiraCode Nerd Font";
|
||||
package = "${pkgs.fira-code}";
|
||||
};
|
||||
|
||||
targets = {
|
||||
firefox.profileNames = [ "default" ];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
services = {
|
||||
gpg-agent = {
|
||||
enable = stdenv.isLinux;
|
||||
@@ -62,13 +42,16 @@ in
|
||||
|
||||
settings = {
|
||||
user.name = "Dave Gallant";
|
||||
user.signingkey = "5A548984C7377E4D";
|
||||
commit.gpgsign = true;
|
||||
tag.gpgsign = true;
|
||||
alias = {
|
||||
aa = "add -A .";
|
||||
br = "branch";
|
||||
c = "commit -S";
|
||||
cm = "commit -S -m";
|
||||
ca = "commit -S --amend";
|
||||
cane = "commit -S --amend --no-edit";
|
||||
c = "commit";
|
||||
cm = "commit -m";
|
||||
ca = "commit --amend";
|
||||
cane = "commit --amend --no-edit";
|
||||
cb = "checkout -b";
|
||||
co = "checkout";
|
||||
cmp = "! git checkout main && git pl";
|
||||
@@ -155,12 +138,14 @@ in
|
||||
set -x PATH $PATH $GOBIN
|
||||
|
||||
source $HOME/work.fish
|
||||
|
||||
atuin init fish | source
|
||||
helm completion fish | source
|
||||
kubectl completion fish | source
|
||||
# '';
|
||||
|
||||
shellInit = ''
|
||||
atuin init fish | source
|
||||
helm completion fish | source
|
||||
kubectl completion fish | source
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
".." = "cd ..";
|
||||
g = "git";
|
||||
@@ -408,13 +393,11 @@ in
|
||||
"make"
|
||||
"material-icon-theme"
|
||||
"nix"
|
||||
"tokyo-night"
|
||||
"toml"
|
||||
"vue"
|
||||
];
|
||||
userSettings = {
|
||||
icon_theme = "Material Icon Theme";
|
||||
theme = lib.mkForce "Tokyo Night";
|
||||
features = {
|
||||
edit_prediction_provider = "copilot";
|
||||
};
|
||||
@@ -424,8 +407,8 @@ in
|
||||
};
|
||||
autosave = "on_focus_change";
|
||||
format_on_save = "off";
|
||||
ui_font_size = lib.mkForce 20;
|
||||
buffer_font_size = lib.mkForce 18;
|
||||
ui_font_size = lib.mkForce 18;
|
||||
buffer_font_size = lib.mkForce 16;
|
||||
};
|
||||
userKeymaps = [
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
@@ -13,16 +14,6 @@
|
||||
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
|
||||
image = pkgs.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/davegallant/nix-config/refs/heads/main/nixos-wallpaper.png";
|
||||
sha256 = "Ztqn9+CHslr6wZdnOTeo/YNi/ICerpcFLyMArsZ/PIY=";
|
||||
};
|
||||
polarity = "dark";
|
||||
};
|
||||
|
||||
security.sudo-rs = {
|
||||
enable = true;
|
||||
execWheelOnly = true;
|
||||
@@ -32,12 +23,8 @@
|
||||
boot = {
|
||||
kernelModules = [
|
||||
"kvm-amd"
|
||||
"vfio_pci"
|
||||
"vfio"
|
||||
"vfio_iommu_type1"
|
||||
"vfio_virqfd"
|
||||
];
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelPackages = pkgs.linuxPackages;
|
||||
kernelParams = [
|
||||
"amd_iommu=on"
|
||||
];
|
||||
@@ -68,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";
|
||||
};
|
||||
@@ -83,7 +70,7 @@
|
||||
[
|
||||
bleachbit
|
||||
calibre
|
||||
chromium
|
||||
clamtk
|
||||
cryptsetup
|
||||
dbeaver-bin
|
||||
discord
|
||||
@@ -92,16 +79,18 @@
|
||||
google-chrome
|
||||
hardinfo2
|
||||
httpie-desktop
|
||||
heroic
|
||||
iputils
|
||||
kdePackages.bluedevil
|
||||
kdePackages.kcalc
|
||||
kdePackages.kcharselect
|
||||
kdePackages.kclock
|
||||
kdePackages.kcolorchooser
|
||||
kdePackages.ksystemlog
|
||||
kdePackages.partitionmanager
|
||||
kdePackages.sddm-kcm
|
||||
kdePackages.yakuake
|
||||
libation
|
||||
lutris
|
||||
mupen64plus
|
||||
nfs-utils
|
||||
onlyoffice-desktopeditors
|
||||
@@ -110,12 +99,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
|
||||
@@ -138,15 +128,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" = {
|
||||
@@ -163,7 +149,6 @@
|
||||
dejavu_fonts
|
||||
fira-mono
|
||||
font-awesome
|
||||
google-fonts
|
||||
liberation_ttf
|
||||
nerd-fonts.droid-sans-mono
|
||||
nerd-fonts.fira-code
|
||||
@@ -238,6 +223,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
mullvad-vpn = {
|
||||
enable = true;
|
||||
package = pkgs.mullvad-vpn;
|
||||
};
|
||||
};
|
||||
|
||||
system = {
|
||||
autoUpgrade.enable = true;
|
||||
stateVersion = "25.11";
|
||||
@@ -256,6 +248,7 @@
|
||||
|
||||
nix = {
|
||||
extraOptions = "experimental-features = nix-command flakes";
|
||||
settings.trusted-users = [ "root" "@wheel" ];
|
||||
};
|
||||
|
||||
users.users.dave = {
|
||||
@@ -263,7 +256,6 @@
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"libvirtd"
|
||||
"corectrl"
|
||||
];
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
@@ -322,8 +314,6 @@
|
||||
displayManager.sddm.wayland.enable = true;
|
||||
};
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
services.printing.enable = true;
|
||||
|
||||
services.resolved.enable = true;
|
||||
@@ -335,33 +325,8 @@
|
||||
package = unstable.tailscale;
|
||||
};
|
||||
|
||||
services.ollama = {
|
||||
package = pkgs.ollama;
|
||||
enable = true;
|
||||
# acceleration = "rocm";
|
||||
host = "0.0.0.0";
|
||||
environmentVariables = {
|
||||
HSA_OVERRIDE_GFX_VERSION = "11.0.2";
|
||||
};
|
||||
loadModels = [
|
||||
"dolphin3:8b"
|
||||
"llama3.1"
|
||||
"llava"
|
||||
];
|
||||
};
|
||||
|
||||
services.open-webui = {
|
||||
enable = true;
|
||||
package = pkgs.open-webui;
|
||||
host = "0.0.0.0";
|
||||
environment = {
|
||||
ANONYMIZED_TELEMETRY = "False";
|
||||
DO_NOT_TRACK = "True";
|
||||
SCARF_NO_ANALYTICS = "True";
|
||||
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434/api";
|
||||
OLLAMA_BASE_URL = "http://127.0.0.1:11434";
|
||||
};
|
||||
};
|
||||
services.clamav.daemon.enable = true;
|
||||
services.clamav.updater.enable = true;
|
||||
|
||||
services.opensnitch = {
|
||||
enable = true;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
users.users."dave.gallant".home = "/Users/dave.gallant";
|
||||
users.users."dave.gallant".shell = pkgs.fish;
|
||||
|
||||
|
||||
programs.fish.enable = true;
|
||||
|
||||
system.primaryUser = "dave.gallant";
|
||||
@@ -104,7 +104,6 @@
|
||||
"lulu"
|
||||
"notunes"
|
||||
"obsidian"
|
||||
"ollama"
|
||||
"raycast"
|
||||
"rectangle"
|
||||
"signal"
|
||||
@@ -113,8 +112,9 @@
|
||||
"stats"
|
||||
"steam"
|
||||
"taskexplorer"
|
||||
"tailscale"
|
||||
"tailscale-app"
|
||||
"vlc"
|
||||
"whisky"
|
||||
"zed"
|
||||
];
|
||||
|
||||
@@ -127,9 +127,4 @@
|
||||
];
|
||||
};
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = "/Library/tokyo-night.jpg";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
7
justfile
7
justfile
@@ -5,10 +5,13 @@ alias r := rebuild
|
||||
|
||||
arch := `uname -s`
|
||||
|
||||
cmd := if arch == "Linux" { "nixos-rebuild --sudo" } else { "darwin-rebuild" }
|
||||
cmd := if arch == "Linux" { "nixos-rebuild --sudo" } else { "sudo 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 .
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 297 KiB |
Reference in New Issue
Block a user