Compare commits

...

61 Commits

Author SHA1 Message Date
f4e151981c bump ftb-app to 1.27.3
All checks were successful
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 10m6s
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 32s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 5m47s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 24m3s
2025-03-18 23:10:38 -04:00
2e3d0d0abd merge lego with existing pkgs 2025-03-18 23:10:38 -04:00
779f7f8070 move all packages under one folder 2025-03-18 23:10:38 -04:00
44e87be7f3 update documentation
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-18 23:10:38 -04:00
117bfdf696 add ftb-app to artemision
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-18 23:10:38 -04:00
50356ea736 expose packages output, add it to global nixpkgs
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-18 23:10:38 -04:00
7adf9dd601 add ftb-app package
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-18 23:10:38 -04:00
1941d78711 Merge pull request 'Misc changes after debugging graphical corruption on artemision' (#45) from feature/unpin-nixpkgs into main
All checks were successful
Check flake.lock / Check health of `flake.lock` (push) Successful in 10s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m46s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 9m58s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 17m22s
Update flakes / update_lockfile (push) Successful in 13m44s
Reviewed-on: #45
2025-03-18 23:10:20 -04:00
5b5835e004
fix collabora code service name
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 12s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m46s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 9m31s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 13m10s
2025-03-18 22:56:49 -04:00
b6f2071a91
add docker secret, fix docker pool size 2025-03-18 22:56:37 -04:00
5b825ec05c Merge pull request 'Enable stats statements temporarily on Postgres' (#46) from feature/stats into main
All checks were successful
Check Nix formatting / Perform Nix format checks (push) Successful in 3m0s
Check flake.lock / Check health of `flake.lock` (push) Successful in 9s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 10m5s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 13m59s
Reviewed-on: #46
2025-03-18 22:38:31 -04:00
f0b7a74fcb
unpin nixpkgs
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 48s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 4m55s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 20m35s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 30m59s
2025-03-18 22:03:02 -04:00
github-actions[bot]
2fcb57962a
automated: Update flake.lock
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 2m5s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 8m16s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 18m38s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 29m0s
- The following Nix Flake inputs were updated:

```
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/e41884886e7798003973f487f37b979ee92f7d99?dir=pkgs/firefox-addons&narHash=sha256-ytHdrfSbbPvla43Ykd61cVkS2JLA8wBEHcnf4yLFP7Y%3D' (2025-03-13)
  → 'gitlab:rycee/nur-expressions/d91a2ea080804c3a9213d6e460e8cff68cfacf8d?dir=pkgs/firefox-addons&narHash=sha256-cvqCqT7op8uRCIPUYK8CPJbRRmKytFtOzHqomMyO7u8%3D' (2025-03-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/18780912345970e5b546b1b085385789b6935a83?narHash=sha256-4Y427uj0eql4yRU5rely3EcOlB9q457UDbG9omPtXiA%3D' (2025-03-12)
  → 'github:nix-community/home-manager/22a36aa709de7dd42b562a433b9cefecf104a6ee?narHash=sha256-Tumt3tcMXJniSh7tw2gW%2BWAnVLeB3WWm%2BE%2ByYFnLBXo%3D' (2025-03-18)
• Updated input 'hyprland-contrib':
    'github:hyprwm/contrib/e14d9c5e9aea4a84c3677e0a7c73268153b15327?narHash=sha256-SJrLVyoaQUg29fq3nNdRmYrLgiu9dtgcIVqpl8j/Teo%3D' (2025-03-11)
  → 'github:hyprwm/contrib/bd81329944be53b0ffb99e05864804b95f1d7c65?narHash=sha256-I8JVdQRu8eWvY5W8XWYZkdd5pojDHkxeqQV7mMIsbhs%3D' (2025-03-17)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/66537fb185462ba9b07f4e6f2d54894a1b2d04ab?narHash=sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE%3D' (2025-03-10)
  → 'github:Mic92/nix-index-database/2cfb4e1ca32f59dd2811d7a6dd5d4d1225f0955c?narHash=sha256-pDNzMoR6m1ZSJToZQ6XDTLVSdzIzmFl1b8Pc3f7iV6Y%3D' (2025-03-17)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/507911df8c35939050ae324caccc7cf4ffb76565?narHash=sha256-Co2kAD2SZalOm%2B5zoxmzEVZNvZ17TyafuFsD46BwSdY%3D' (2025-03-02)
  → 'github:nix-community/nixos-generators/83900d5154d840dfae1e0367c5290f59b9dccf03?narHash=sha256-pLRjj0jTL1TloB0ptEwVF51IJJX8a17dSxg%2BgqiWb30%3D' (2025-03-17)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/e1f12151258b12c567f456d8248e4694e9390613?narHash=sha256-f0BVt1/cvA0DQ/q3rB%2BHY4g4tKksd03ZkzI4xehC2Ew%3D' (2025-03-12)
  → 'github:NixOS/nixos-hardware/4f4d97d7b7be387286cc9c988760a7ebaa5be1f1?narHash=sha256-3fwpN7KN226ghLlpO9TR0/WpgQOmOj1e8bieUxpIYSk%3D' (2025-03-17)
• Updated input 'nixos-modules':
    'github:SuperSandro2000/nixos-modules/1183c327ba81205158c95d5c40d37af23a10593e?narHash=sha256-04Uw2LyVWcsHiI1iesauJqJPufrRWsggM4TtVmo1b8w%3D' (2025-03-12)
  → 'github:SuperSandro2000/nixos-modules/f8b6e1d4ea6c9c958b27445c70434b00e8d7f520?narHash=sha256-Um3vjr%2Bnh7MdvdRjPkRX0RiicOWttZd1CuCVEKvOQz8%3D' (2025-03-15)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/cdd2ef009676ac92b715ff26630164bb88fec4e0?narHash=sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB%2Bikn74/xQoNrGQ%3D' (2025-03-13)
  → 'github:nixos/nixpkgs/da044451c6a70518db5b730fe277b70f494188f1?narHash=sha256-IhnK4LhkBlf14/F8THvUy3xi/TxSQkp9hikfDZRD4Ic%3D' (2025-03-18)
• Updated input 'pre-commit-hooks':
    'github:cachix/git-hooks.nix/b5a62751225b2f62ff3147d0a334055ebadcd5cc?narHash=sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc%3D' (2025-03-07)
  → 'github:cachix/git-hooks.nix/ea26a82dda75bee6783baca6894040c8e6599728?narHash=sha256-QmF0proyjXI9YyZO9GZmc7/uEu5KVwCtcdLsKSoxPAI%3D' (2025-03-18)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/f3cd1e0feb994188fe3ad9a5c3ab021ed433b8c8?narHash=sha256-HUtFcF4NLwvu7CAowWgqCHXVkNj0EOc/W6Ism4biV6I%3D' (2025-03-13)
  → 'github:oxalica/rust-overlay/87f0965f9f5b13fca9f38074eee8369dc767550d?narHash=sha256-RB0UEF9IXIgwuuBFC%2Bs9H4rDyvmMZePHlBAK4vRAwf4%3D' (2025-03-18)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d016ce0365b87d848a57c12ffcfdc71da7a2b55f?narHash=sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0%3D' (2025-03-13)
  → 'github:Mic92/sops-nix/787afce414bcce803b605c510b60bf43c11f4b55?narHash=sha256-ptn8dR4Uat3UUadGYNnB7CIH9SQm8mK69D2A/twBUXQ%3D' (2025-03-17)
• Updated input 'stylix':
    'github:danth/stylix/9e3ab4d208e2cc2aef5ab0f8e18932ebf8064fc5?narHash=sha256-ZN5xn3HmG5%2BRWBc3gGdRfkyt98Tc1IhsUK7txwAw46s%3D' (2025-03-12)
  → 'github:danth/stylix/ff9ae322bcaeccabc65812390000276455331123?narHash=sha256-enlpX8hwrfmjv/dHTKWzAB5Cwt1Kr6%2BptikjX3Ob%2BFY%3D' (2025-03-18)
```

```
comparing devShells.x86_64-linux.default:
<<< /nix/store/g5nrqa762qsbx5d1swnzcb71bq8vlmsb-nix-shell.drv
>>> /nix/store/g5nrqa762qsbx5d1swnzcb71bq8vlmsb-nix-shell.drv
No version or selection state changes.
Closure size: 2965 -> 2965 (0 paths added, 0 paths removed, delta +0, disk usage +0B).

comparing nixosConfigurations.artemision.config.system.build.toplevel:
<<< /nix/store/1sl1snwgxpm61y85zyj5w3kjlpkc96wk-nixos-system-artemision-25.05.20250303.1d2fe01.drv
>>> /nix/store/pgi5rcylyclzcav8haf5grl2dacdfcsw-nixos-system-artemision-25.05.20250303.1d2fe01.drv
Version changes:
[C.]  #1  source  <none> x1603 -> <none> x1602
Added packages:
[A.]  #1  nzqa0s9ml7zv2b4g9w9qshmnw2vk8j3k-source  <none>
Removed packages:
[R.]  #1  dconf-db                                 <none>
[R.]  #2  index.theme                              <none>
[R.]  #3  n2hz7xai5jf1dlbwmqxd0pbjxk71ij3m-source  <none>
[R.]  #4  nixos-generated-dconf-keyfiles           <none> x2
[R.]  #5  nixos-generated-dconf-locks              <none>
[R.]  #6  vanilla-dmz                              0.4.5
[R.]  #7  xcursorgen                               1.0.8, 1.0.8.tar.xz
Closure size: 19598 -> 19589 (48 paths added, 57 paths removed, delta -9, disk usage -17.4KiB).

comparing checks.x86_64-linux.pre-commit-check:
<<< /nix/store/61ck5nl3z9y7ykxim6l6cb7qiw77a1ac-pre-commit-run.drv
>>> /nix/store/4idqhk2k4rpz25s5hjr15p79vh5znnv8-pre-commit-run.drv
Added packages:
[A+]  #1  nzqa0s9ml7zv2b4g9w9qshmnw2vk8j3k-source  <none>
Removed packages:
[R-]  #1  n2hz7xai5jf1dlbwmqxd0pbjxk71ij3m-source  <none>
Closure size: 2608 -> 2608 (2 paths added, 2 paths removed, delta +0, disk usage +0B).

comparing nixosConfigurations.palatine-hill.config.system.build.toplevel:
comparison output is empty, please check script logs

comparing formatter.x86_64-linux:
<<< /nix/store/q6sp5kbc7x5qjwsxlbw5p4nf7wisb69f-nixfmt-unstable-2024-12-04.drv
>>> /nix/store/q6sp5kbc7x5qjwsxlbw5p4nf7wisb69f-nixfmt-unstable-2024-12-04.drv
No version or selection state changes.
Closure size: 1311 -> 1311 (0 paths added, 0 paths removed, delta +0, disk usage +0B).

comparing packages.x86_64-linux.lego-latest:
<<< /nix/store/lmqq5aqg4fmxkyffvcsckra4936radrf-lego-4.21.0.drv
>>> /nix/store/lmqq5aqg4fmxkyffvcsckra4936radrf-lego-4.21.0.drv
No version or selection state changes.
Closure size: 940 -> 940 (0 paths added, 0 paths removed, delta +0, disk usage +0B).

```

Auto-generated by [update.yml][1] with the help of
[create-pull-request][2].

[1]: https://nayeonie.com/ahuston-0/nix-dotfiles/src/branch/main/.github/workflows/flake-update.yml
[2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
2025-03-18 21:59:58 -04:00
9b42a703d2
Enable stats statements temporarily on Postgres
All checks were successful
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 11m55s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 22m46s
this is due to the below fix failing

https://github.com/NuschtOS/nixos-modules/pull/234
2025-03-18 21:42:33 -04:00
e14a004180 Merge pull request 'feature/waybar' (#15) from feature/waybar into main
Some checks failed
Check flake.lock / Check health of `flake.lock` (push) Successful in 8s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m38s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 9m28s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 17m6s
Update flakes / update_lockfile (push) Failing after 2m31s
2025-03-15 22:43:02 -04:00
544129cef5
pin flake.lock
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 13s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 3m40s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 11m7s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 18m49s
2025-03-15 22:21:02 -04:00
62960bda7c
ping nixpkgs before the flickering started on artemision, update stable
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 58s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 3m53s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 13m26s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 21m34s
2025-03-14 08:48:53 -04:00
c0a3734f3b
re-enable non-LTS linux
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 18s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m39s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 9m17s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 15m31s
2025-03-13 19:26:47 -04:00
7aded1fb40
comment out invalid hyprlock settings
Some checks failed
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 13s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Has been cancelled
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m40s
2025-03-13 19:24:29 -04:00
d825b594f8
add graphics corruption fix
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 4m14s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 14m38s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m46s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 16m20s
https://gitlab.freedesktop.org/drm/amd/-/issues/2075
https://community.frame.work/t/responded-severe-artifacts-and-poor-performance-with-dgpu/46470/21
2025-03-13 18:10:15 -04:00
c30f65c17e
switch hypridle over to using nixpkgs path
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 18s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m50s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 9m55s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 16m5s
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-13 18:05:15 -04:00
02b8a6bc6c
format json/yml/sh 2025-03-13 18:05:15 -04:00
8294dbdd0b
add waybar 2025-03-13 18:05:15 -04:00
60d48a2231 Merge pull request 'remove discord from artemision' (#42) from feature/remove-discord into main
All checks were successful
Check flake.lock / Check health of `flake.lock` (push) Successful in 16s
Check Nix formatting / Perform Nix format checks (push) Successful in 3m24s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 8m22s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 21m32s
Update flakes / update_lockfile (push) Successful in 13m5s
2025-03-13 17:29:31 -04:00
d2444c1328
remove discord from artemision
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 25s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 3m23s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 8m30s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 21m43s
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-13 09:27:52 -04:00
addc28df9d Merge pull request 'automated: Update flake.lock' (#41) from update-flake-lock into main
All checks were successful
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 5m53s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 14m49s
Check flake.lock / Check health of `flake.lock` (push) Successful in 13s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m38s
2025-03-13 09:14:52 -04:00
github-actions[bot]
1c2daa3a1e automated: Update flake.lock
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 26s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 3m22s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 9m29s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 20m39s
- The following Nix Flake inputs were updated:

```
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/51bc10cdd5c2ea8f2cd5adcc587ba0479409312e?dir=pkgs/firefox-addons&narHash=sha256-1m1krwWuROjou56kuILpYZ3imlOgpW2hPqczObinQwQ%3D' (2025-03-12)
  → 'gitlab:rycee/nur-expressions/e41884886e7798003973f487f37b979ee92f7d99?dir=pkgs/firefox-addons&narHash=sha256-ytHdrfSbbPvla43Ykd61cVkS2JLA8wBEHcnf4yLFP7Y%3D' (2025-03-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/8c1f3147639f009f09d2bfffc64bcf8485bf3fd2?narHash=sha256-AOazEmkhbKnNQi0LqJdAcqPQx711L84a0Vkaos/ZW/A%3D' (2025-03-12)
  → 'github:nixos/nixpkgs/b1f2198021490b51fb92b8b09db97b9ba2a7b4ce?narHash=sha256-gyA3ngXZroBeWdrVsM%2BbL63hQMUheYCrC%2BV78TEgBeU%3D' (2025-03-13)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e653d71e82575a43fe9d228def8eddb73887b866?narHash=sha256-E0RrMykMtEv15V3QhpsFutgoSKhL1JBhidn%2BiZajOyg%3D' (2025-03-10)
  → 'github:Mic92/sops-nix/d016ce0365b87d848a57c12ffcfdc71da7a2b55f?narHash=sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0%3D' (2025-03-13)
```

```
comparing nixosConfigurations.artemision.config.system.build.toplevel:
<<< /nix/store/5wksndlk5yyv3kqih8r6bsgahzsx781s-nixos-system-artemision-25.05.20250312.8c1f314.drv
>>> /nix/store/7p5lsndslzgpvhp2z7k4jji6q43yjssv-nixos-system-artemision-25.05.20250313.b1f2198.drv
Version changes:
[U.]  #1  candy-icons               0-unstable-2025-02-23 -> 0-unstable-2025-03-10
[U.]  #2  nixos-system-artemision   25.05.20250312.8c1f314 -> 25.05.20250313.b1f2198
[U.]  #3  proton-ge-bin-GE-Proton9  25 -> 26
[U.]  #4  terraform                 1.11.1, 1.11.1-go-modules -> 1.11.2, 1.11.2-go-modules
[U.]  #5  zoom                      6.3.10.7150 -> 6.3.11.7212
Added packages:
[A.]  #1  3wanr4zk2kb5w2aq3q1081jh2cp9gl03-source  <none>
Removed packages:
[R.]  #1  pdys2yp28m5nv7xvvrabdkdplj5qy263-source  <none>
Closure size: 18462 -> 18462 (56 paths added, 56 paths removed, delta +0, disk usage -585.8KiB).

comparing formatter.x86_64-linux:
<<< /nix/store/6mnywnsbyzlwrwmh82h0wnszd3nwz1j1-nixfmt-unstable-2025-03-03.drv
>>> /nix/store/6mnywnsbyzlwrwmh82h0wnszd3nwz1j1-nixfmt-unstable-2025-03-03.drv
No version or selection state changes.
Closure size: 1308 -> 1308 (0 paths added, 0 paths removed, delta +0, disk usage +0B).

comparing checks.x86_64-linux.pre-commit-check:
<<< /nix/store/gkscql5l3rchlrlhj39ql0ybn1jdz08j-pre-commit-run.drv
>>> /nix/store/9c06ydgfsdwl3v07halbq3liiisyry3b-pre-commit-run.drv
Added packages:
[A+]  #1  3wanr4zk2kb5w2aq3q1081jh2cp9gl03-source  <none>
Removed packages:
[R-]  #1  pdys2yp28m5nv7xvvrabdkdplj5qy263-source  <none>
Closure size: 2605 -> 2605 (2 paths added, 2 paths removed, delta +0, disk usage +0B).

comparing nixosConfigurations.palatine-hill.config.system.build.toplevel:
<<< /nix/store/v5r1jcf3ybhz6zh520vxgx6qbzv692lv-nixos-system-palatine-hill-25.05.20250312.8c1f314.drv
>>> /nix/store/qdzqydpvpjwhncpb7bb0szbzs688pa1f-nixos-system-palatine-hill-25.05.20250313.b1f2198.drv
Version changes:
[U.]  #1  nixos-system-palatine-hill  25.05.20250312.8c1f314 -> 25.05.20250313.b1f2198
Added packages:
[A.]  #1  3wanr4zk2kb5w2aq3q1081jh2cp9gl03-source  <none>
Removed packages:
[R.]  #1  pdys2yp28m5nv7xvvrabdkdplj5qy263-source  <none>
Closure size: 8563 -> 8563 (30 paths added, 30 paths removed, delta +0, disk usage -585.8KiB).

comparing packages.x86_64-linux.lego-latest:
<<< /nix/store/1xbdhkbrq07pb8wz1i9ml675s7i7g3qv-lego-4.21.0.drv
>>> /nix/store/1xbdhkbrq07pb8wz1i9ml675s7i7g3qv-lego-4.21.0.drv
No version or selection state changes.
Closure size: 939 -> 939 (0 paths added, 0 paths removed, delta +0, disk usage +0B).

comparing devShells.x86_64-linux.default:
<<< /nix/store/vib2dz70yp62nxlxip8g809x2i978vf8-nix-shell.drv
>>> /nix/store/vib2dz70yp62nxlxip8g809x2i978vf8-nix-shell.drv
No version or selection state changes.
Closure size: 2629 -> 2629 (0 paths added, 0 paths removed, delta +0, disk usage +0B).

```

Auto-generated by [update.yml][1] with the help of
[create-pull-request][2].

[1]: https://nayeonie.com/ahuston-0/nix-dotfiles/src/branch/main/.github/workflows/flake-update.yml
[2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
2025-03-13 12:09:42 +00:00
github-actions[bot]
35ece62b06 automated: Update flake.lock
All checks were successful
Check flake.lock / Check health of `flake.lock` (push) Successful in 9s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m55s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 6m40s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 35m19s
Update flakes / update_lockfile (push) Successful in 12m1s
- The following Nix Flake inputs were updated:

```
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/093c063a23aa38f31082a554f03899127750aee3?dir=pkgs/firefox-addons&narHash=sha256-YbAnhXYYOjG8OHX7v4BGj/tDQiFgkwe4JsqCjbFYjB0%3D' (2025-03-03)
  → 'gitlab:rycee/nur-expressions/51bc10cdd5c2ea8f2cd5adcc587ba0479409312e?dir=pkgs/firefox-addons&narHash=sha256-1m1krwWuROjou56kuILpYZ3imlOgpW2hPqczObinQwQ%3D' (2025-03-12)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/3876f6b87db82f33775b1ef5ea343986105db764?narHash=sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo%3D' (2025-03-01)
  → 'github:hercules-ci/flake-parts/f4330d22f1c5d2ba72d3d22df5597d123fdb60a9?narHash=sha256-%2Bu2UunDA4Cl5Fci3m7S643HzKmIDAe%2BfiXrLqYsR2fs%3D' (2025-03-07)
• Updated input 'flake-parts/nixpkgs-lib':
    '6d37022434.tar.gz?narHash=sha256-3wHafybyRfpUCLoE8M%2BuPVZinImg3xX%2BNm6gEfN3G8I%3D' (2025-03-01)
  → 'github:nix-community/nixpkgs.lib/147dee35aab2193b174e4c0868bd80ead5ce755c?narHash=sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk%3D' (2025-03-02)
• Updated input 'home-manager':
    'github:nix-community/home-manager/fcac3d6d88302a5e64f6cb8014ac785e08874c8d?narHash=sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw%3D' (2025-03-01)
  → 'github:nix-community/home-manager/18780912345970e5b546b1b085385789b6935a83?narHash=sha256-4Y427uj0eql4yRU5rely3EcOlB9q457UDbG9omPtXiA%3D' (2025-03-12)
• Updated input 'hyprland-contrib':
    'github:hyprwm/contrib/6f0d5e16c534aeda47d99b4d20bb2a22bfc60c23?narHash=sha256-iQNkVG0368H3kiwSYSs1N6sU7GhHSmx0b9y%2BZ%2BeO1%2Bc%3D' (2025-03-02)
  → 'github:hyprwm/contrib/e14d9c5e9aea4a84c3677e0a7c73268153b15327?narHash=sha256-SJrLVyoaQUg29fq3nNdRmYrLgiu9dtgcIVqpl8j/Teo%3D' (2025-03-11)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/26a0f969549cf4d56f6e9046b9e0418b3f3b94a5?narHash=sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk%3D' (2025-03-02)
  → 'github:Mic92/nix-index-database/66537fb185462ba9b07f4e6f2d54894a1b2d04ab?narHash=sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE%3D' (2025-03-10)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/009b764ac98a3602d41fc68072eeec5d24fc0e49?narHash=sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE%3D' (2025-02-27)
  → 'github:NixOS/nixos-hardware/e1f12151258b12c567f456d8248e4694e9390613?narHash=sha256-f0BVt1/cvA0DQ/q3rB%2BHY4g4tKksd03ZkzI4xehC2Ew%3D' (2025-03-12)
• Updated input 'nixos-modules':
    'github:SuperSandro2000/nixos-modules/c7c9219eb6ff26c203d22ba733e9e988499290f0?narHash=sha256-2tscHztx6UxqeQTK0U1kLM74%2B6mSzROMNYJpKRDLMPM%3D' (2025-03-03)
  → 'github:SuperSandro2000/nixos-modules/1183c327ba81205158c95d5c40d37af23a10593e?narHash=sha256-04Uw2LyVWcsHiI1iesauJqJPufrRWsggM4TtVmo1b8w%3D' (2025-03-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1d2fe0135f360c970aee1d57a53f816f3c9bddae?narHash=sha256-Up7YlXIupmT7fEtC4Oj676M91INg0HAoamiswAsA3rc%3D' (2025-03-03)
  → 'github:nixos/nixpkgs/8c1f3147639f009f09d2bfffc64bcf8485bf3fd2?narHash=sha256-AOazEmkhbKnNQi0LqJdAcqPQx711L84a0Vkaos/ZW/A%3D' (2025-03-12)
• Updated input 'pre-commit-hooks':
    'github:cachix/git-hooks.nix/42b1ba089d2034d910566bf6b40830af6b8ec732?narHash=sha256-JvQvtaphZNmeeV%2BIpHgNdiNePsIpHD5U/7QN5AeY44A%3D' (2025-03-02)
  → 'github:cachix/git-hooks.nix/b5a62751225b2f62ff3147d0a334055ebadcd5cc?narHash=sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc%3D' (2025-03-07)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/20fdb02098fdda9a25a2939b975abdd7bc03f62d?narHash=sha256-BajboqzFnDhxVT0SXTDKVJCKtFP96lZXccBlT/43mao%3D' (2025-03-03)
  → 'github:oxalica/rust-overlay/f3cd1e0feb994188fe3ad9a5c3ab021ed433b8c8?narHash=sha256-HUtFcF4NLwvu7CAowWgqCHXVkNj0EOc/W6Ism4biV6I%3D' (2025-03-13)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/07af005bb7d60c7f118d9d9f5530485da5d1e975?narHash=sha256-7JAGezJ0Dn5qIyA2%2BT4Dt/xQgAbhCglh6lzCekTVMeU%3D' (2025-02-11)
  → 'github:Mic92/sops-nix/e653d71e82575a43fe9d228def8eddb73887b866?narHash=sha256-E0RrMykMtEv15V3QhpsFutgoSKhL1JBhidn%2BiZajOyg%3D' (2025-03-10)
• Updated input 'stylix':
    'github:danth/stylix/489833b201a84488c6b4371a261fdbcafa6abcb6?narHash=sha256-UtSKsLCWwA4wPFm7mgl33qeu8sj0on9Hyt3YhDWWkAM%3D' (2025-03-02)
  → 'github:danth/stylix/9e3ab4d208e2cc2aef5ab0f8e18932ebf8064fc5?narHash=sha256-ZN5xn3HmG5%2BRWBc3gGdRfkyt98Tc1IhsUK7txwAw46s%3D' (2025-03-12)
• Updated input 'stylix/firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/a89108e6272426f4eddd93ba17d0ea101c34fb21?narHash=sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz%2Be/655w%3D' (2025-02-10)
  → 'github:rafaelmardojai/firefox-gnome-theme/5a81d390bb64afd4e81221749ec4bffcbeb5fa80?narHash=sha256-RsvHGNTmO2e/eVfgYK7g%2BeYEdwwh7SbZa%2BgZkT24MEA%3D' (2025-03-10)
• Updated input 'stylix/git-hooks':
    'github:cachix/git-hooks.nix/9364dc02281ce2d37a1f55b6e51f7c0f65a75f17?narHash=sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg%3D' (2025-01-21)
  → 'github:cachix/git-hooks.nix/b5a62751225b2f62ff3147d0a334055ebadcd5cc?narHash=sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc%3D' (2025-03-07)
• Updated input 'stylix/nur':
    'github:nix-community/NUR/496a4a11162bdffb9a7b258942de138873f019f7?narHash=sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s%3D' (2025-02-24)
  → 'github:nix-community/NUR/5479646b2574837f1899da78bdf9a48b75a9fb27?narHash=sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw%3D' (2025-03-11)
• Updated input 'stylix/tinted-schemes':
    'github:tinted-theming/schemes/a1bc2bd89e693e7e3f5764cfe8114e2ae150e184?narHash=sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA%3D' (2025-02-23)
  → 'github:tinted-theming/schemes/47c8c7726e98069cade5827e5fb2bfee02ce6991?narHash=sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk%3D' (2025-03-08)
• Updated input 'stylix/tinted-tmux':
    'github:tinted-theming/tinted-tmux/b6c7f46c8718cc484f2db8b485b06e2a98304cd0?narHash=sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ%3D' (2025-02-23)
  → 'github:tinted-theming/tinted-tmux/d48ee86394cbe45b112ba23ab63e33656090edb4?narHash=sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU%3D' (2025-03-02)
```

```

```

Auto-generated by [update.yml][1] with the help of
[create-pull-request][2].

[1]: https://nayeonie.com/ahuston-0/nix-dotfiles/src/branch/main/.github/workflows/flake-update.yml
[2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
2025-03-13 00:47:04 -04:00
038f76e99a Merge pull request 'fix missing dollar sign' (#40) from feature/remove-cache into main
Some checks failed
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Has been cancelled
Check flake.lock / Check health of `flake.lock` (push) Successful in 23s
Check Nix formatting / Perform Nix format checks (push) Successful in 4m6s
2025-03-12 23:54:41 -04:00
81f97740f4
fix missing dollar sign
Some checks failed
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 1m40s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Has been cancelled
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 7m4s
2025-03-12 23:51:56 -04:00
d8d5a6dff9
update to github-file-reader-action-v2
Some checks failed
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 13s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Has been cancelled
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Has been cancelled
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Has been cancelled
Check flake.lock / Check health of `flake.lock` (push) Successful in 16s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m38s
Check Nix formatting / Perform Nix format checks (push) Successful in 3m3s
2025-03-12 23:30:36 -04:00
178705ef8c Merge pull request 'feature/remove-cache' (#38) from feature/remove-cache into main
All checks were successful
Check flake.lock / Check health of `flake.lock` (push) Successful in 9s
Check Nix formatting / Perform Nix format checks (push) Successful in 3m2s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 8m48s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 15m17s
2025-03-12 23:12:32 -04:00
ca607d235a remove createPullRequest
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-12 23:12:32 -04:00
859e31c290 heh get rid of that thank you 2025-03-12 23:12:32 -04:00
49bca82803 replace file reader
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-12 23:12:32 -04:00
ce32c3ed30 Merge pull request 'Remove build cache from gitea actions' (#37) from feature/remove-cache into main
All checks were successful
Check flake.lock / Check health of `flake.lock` (push) Successful in 9s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m41s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 8m49s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 15m55s
2025-03-12 21:24:53 -04:00
96f4f72ff0
add UWSM to hyprland
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 12s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m41s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 10m2s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 14m3s
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-11 13:15:11 -04:00
5b1ff49a54
mount /nix in act runner by default
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 10s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m34s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 8m2s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 14m14s
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-11 00:08:51 -04:00
0b4c86104d
Revert "add build cache action"
Some checks failed
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 21s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 3m0s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 9m26s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
This reverts commit d53981c94b045e18f6b7fda3ab52af20de35c6fb.
2025-03-10 23:57:20 -04:00
d8d84102ea
Revert "remove dependencies for cache"
This reverts commit dcd8b60085772da6114019c24affce905d38db24.
2025-03-10 23:57:20 -04:00
0761442b77
Revert "fix os matrix?"
This reverts commit 2a0fe0b106fae625dbb34cd1c4b173ef7498aa53.
2025-03-10 23:57:20 -04:00
ed44ba20d9
Revert "reorder oops"
This reverts commit 050b4c9b2f75fe9c64bbe29607095fd93722981f.
2025-03-10 23:57:20 -04:00
81fc9dfb75
Revert "add token to cache-merge"
This reverts commit ea16a83c2e885f46d136c4ec335747ebf755f16d.
2025-03-10 23:57:20 -04:00
588d9fe2c7
Revert "add token to cache-merge"
This reverts commit fd826be6da97bd6042d0cd577340df4fa30ec930.
2025-03-10 23:57:20 -04:00
511335fda3
Revert "add sqlite for restores"
This reverts commit 474184baa70694ecd8e87bdb32555bc1ffdf5f79.
2025-03-10 23:57:20 -04:00
ff1da9803e
add sqlite for restores
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-10 23:57:20 -04:00
ffa24818de Merge pull request 'feature/build-cache' (#36) from feature/build-cache into main
Some checks failed
Nix CI / Check a `common` cache is restored correctly (ubuntu-latest) (push) Has been skipped
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Failing after 1m26s
Check flake.lock / Check health of `flake.lock` (push) Successful in 9s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m19s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 5m47s
Update flakes / update_lockfile (push) Failing after 2m0s
Nix CI / Merge similar caches (ubuntu-latest) (push) Failing after 35s
2025-03-10 10:20:28 -04:00
7dec8a2034 add token to cache-merge
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 19s
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m38s
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Successful in 8m30s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Successful in 21m14s
2025-03-10 09:50:40 -04:00
2aeb416468 add token to cache-merge 2025-03-10 09:50:40 -04:00
4b263206dd Merge pull request 'feature/build-cache' (#35) from feature/build-cache into main
Some checks failed
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 8m41s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 1h40m13s
Check flake.lock / Check health of `flake.lock` (push) Successful in 15s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m35s
Nix CI / Merge similar caches (ubuntu-latest) (push) Failing after 41s
Nix CI / Check a `common` cache is restored correctly (ubuntu-latest) (push) Has been skipped
Update flakes / update_lockfile (push) Failing after 9m54s
2025-03-10 01:24:01 -04:00
3cfdf94428 reorder oops 2025-03-10 01:24:01 -04:00
3bf4740ad3 remove cache max limit 2025-03-10 01:24:01 -04:00
b0d38221a3 Merge pull request 'fix os matrix?' (#34) from feature/build-cache into main
Some checks failed
Check flake.lock / Check health of `flake.lock` (push) Has been cancelled
Check Nix formatting / Perform Nix format checks (push) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 10m11s
Nix CI / Merge similar caches (ubuntu-latest) (push) Failing after 37s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 26m32s
Nix CI / Check a `common` cache is restored correctly (ubuntu-latest) (push) Has been skipped
2025-03-10 00:49:30 -04:00
5d0f7f91d3 fix os matrix?
Some checks failed
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Has been cancelled
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 13s
Check Nix formatting / Perform Nix format checks (pull_request) Has been cancelled
2025-03-10 00:49:19 -04:00
297479380a Merge pull request 'feature/build-cache' (#33) from feature/build-cache into main
Some checks failed
Check Nix formatting / Perform Nix format checks (push) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Has been cancelled
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Has been cancelled
Nix CI / Merge similar caches ([ubuntu-latest]) (push) Waiting to run
Nix CI / Check a `common` cache is restored correctly ([ubuntu-latest]) (push) Blocked by required conditions
Check flake.lock / Check health of `flake.lock` (push) Successful in 14s
2025-03-10 00:46:02 -04:00
dcd8b60085
remove dependencies for cache
Some checks failed
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 11s
Check Nix formatting / Perform Nix format checks (pull_request) Has been cancelled
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Has been cancelled
2025-03-10 00:44:03 -04:00
d53981c94b
add build cache action
Some checks failed
Nix CI / Merge similar caches ([ubuntu-latest]) (pull_request) Has been cancelled
Nix CI / Check a `common` cache is restored correctly ([ubuntu-latest]) (pull_request) Has been cancelled
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Has been cancelled
Check Nix formatting / Perform Nix format checks (pull_request) Has been cancelled
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 18s
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-10 00:43:03 -04:00
97fad34d4d Merge pull request 'fix output to file' (#32) from feature/flake-eval into main
Some checks failed
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Successful in 9m20s
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Successful in 25m37s
Update flakes / createPullRequest (push) Failing after 1m5s
Check flake.lock / Check health of `flake.lock` (push) Successful in 18s
Check Nix formatting / Perform Nix format checks (push) Successful in 2m34s
Update flakes / update_lockfile (push) Successful in 11m25s
2025-03-08 15:22:37 -05:00
8d01d66c5e fix output to file 2025-03-08 15:22:37 -05:00
d06a0edad4 Merge pull request 'move to new flake eval scripts' (#31) from feature/flake-eval into main
Some checks failed
Check Nix flake / Build nix outputs (ubuntu-latest) (push) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (push) Has been cancelled
Check Nix formatting / Perform Nix format checks (push) Successful in 3m3s
Check flake.lock / Check health of `flake.lock` (push) Successful in 21s
2025-03-08 14:52:34 -05:00
6e00ab2d85
move to new flake eval scripts
Some checks failed
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 12s
Check Nix flake / Build nix outputs (ubuntu-latest) (pull_request) Has been cancelled
Check Nix flake / Perform Nix flake checks (ubuntu-latest) (pull_request) Has been cancelled
Check Nix formatting / Perform Nix format checks (pull_request) Successful in 2m48s
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-08 14:47:09 -05:00
47 changed files with 946 additions and 698 deletions

331
.github/settings.yml vendored
View File

@ -1,204 +1,173 @@
# Have borrowed this config from nix-community/infra # Have borrowed this config from nix-community/infra
repository: repository:
# See https://developer.github.com/v3/repos/#edit for all available settings. # See https://developer.github.com/v3/repos/#edit for all available settings.
# The name of the repository. Changing this will rename the repository # The name of the repository. Changing this will rename the repository
name: nix-dotfiles name: nix-dotfiles
# A short description of the repository that will show up on GitHub
# A short description of the repository that will show up on GitHub description: RAD-Dev Infra
description: RAD-Dev Infra # A URL with more information about the repository
# homepage: "https://nix-community.org"
# A URL with more information about the repository
# homepage: "https://nix-community.org"
# A comma-separated list of topics to set on the repository
topics: "nixos"
# Either `true` to make the repository private, or `false` to make it public.
private: false
# Either `true` to enable issues for this repository, `false` to disable them.
has_issues: true
# Either `true` to enable projects for this repository, or `false` to disable them.
# If projects are disabled for the organization, passing `true` will cause an API error.
has_projects: true
# Either `true` to enable the wiki for this repository, `false` to disable it.
has_wiki: false
# Either `true` to enable downloads for this repository, `false` to disable them.
has_downloads: false
# Updates the default branch for this repository.
default_branch: main
# Either `true` to allow squash-merging pull requests, or `false` to prevent
# squash-merging.
allow_squash_merge: true
# Either `true` to allow merging pull requests with a merge commit, or `false`
# to prevent merging pull requests with merge commits.
allow_merge_commit: false
# Either `true` to allow rebase-merging pull requests, or `false` to prevent
# rebase-merging.
allow_rebase_merge: true
# Either `true` to enable automatic deletion of branches on merge, or `false` to disable
delete_branch_on_merge: true
# Either `true` to enable automated security fixes, or `false` to disable
# automated security fixes.
enable_automated_security_fixes: true
# Either `true` to enable vulnerability alerts, or `false` to disable
# vulnerability alerts.
enable_vulnerability_alerts: true
allow_auto_merge: true
# A comma-separated list of topics to set on the repository
topics: "nixos"
# Either `true` to make the repository private, or `false` to make it public.
private: false
# Either `true` to enable issues for this repository, `false` to disable them.
has_issues: true
# Either `true` to enable projects for this repository, or `false` to disable them.
# If projects are disabled for the organization, passing `true` will cause an API error.
has_projects: true
# Either `true` to enable the wiki for this repository, `false` to disable it.
has_wiki: false
# Either `true` to enable downloads for this repository, `false` to disable them.
has_downloads: false
# Updates the default branch for this repository.
default_branch: main
# Either `true` to allow squash-merging pull requests, or `false` to prevent
# squash-merging.
allow_squash_merge: true
# Either `true` to allow merging pull requests with a merge commit, or `false`
# to prevent merging pull requests with merge commits.
allow_merge_commit: false
# Either `true` to allow rebase-merging pull requests, or `false` to prevent
# rebase-merging.
allow_rebase_merge: true
# Either `true` to enable automatic deletion of branches on merge, or `false` to disable
delete_branch_on_merge: true
# Either `true` to enable automated security fixes, or `false` to disable
# automated security fixes.
enable_automated_security_fixes: true
# Either `true` to enable vulnerability alerts, or `false` to disable
# vulnerability alerts.
enable_vulnerability_alerts: true
allow_auto_merge: true
# Labels: define labels for Issues and Pull Requests # Labels: define labels for Issues and Pull Requests
# #
labels: labels:
- name: bug - name: bug
color: '#d73a4a' color: '#d73a4a'
description: Something isn't working description: Something isn't working
- name: CI/CD - name: CI/CD
# If including a `#`, make sure to wrap it with quotes! # If including a `#`, make sure to wrap it with quotes!
color: '#0e8a16' color: '#0e8a16'
description: Related to GH Actions or Hydra description: Related to GH Actions or Hydra
- name: documentation - name: documentation
color: '#0075ca' color: '#0075ca'
description: Improvements or additions to documentation description: Improvements or additions to documentation
- name: duplicate - name: duplicate
color: '#cfd3d7' color: '#cfd3d7'
description: This issue or pull request already exists description: This issue or pull request already exists
- name: enhancement - name: enhancement
color: '#a2eeef' color: '#a2eeef'
description: New feature or request description: New feature or request
- name: good first issue - name: good first issue
color: '#7057ff' color: '#7057ff'
description: Good for newcomers description: Good for newcomers
- name: help wanted - name: help wanted
color: '#008672' color: '#008672'
description: Extra attention is needed description: Extra attention is needed
- name: high priority - name: high priority
color: '#BF480A' color: '#BF480A'
description: A major vurnability was detected description: A major vurnability was detected
- name: invalid - name: invalid
color: '#e4e669' color: '#e4e669'
description: This doesn't seem right description: This doesn't seem right
- name: new user - name: new user
color: '#C302A1' color: '#C302A1'
description: A new user was added to the Flake description: A new user was added to the Flake
- name: question - name: question
color: '#d876e3' color: '#d876e3'
description: Further information is requested description: Further information is requested
- name: wontfix - name: wontfix
color: '#ffffff' color: '#ffffff'
description: This will not be worked on description: This will not be worked on
- name: dependencies - name: dependencies
color: '#cb4ed5' color: '#cb4ed5'
description: Used for PR's related to flake.lock updates description: Used for PR's related to flake.lock updates
- name: automated - name: automated
color: '#42b528' color: '#42b528'
description: PR was automatically generated (through a bot or CI/CD) description: PR was automatically generated (through a bot or CI/CD)
# Milestones: define milestones for Issues and Pull Requests # Milestones: define milestones for Issues and Pull Requests
milestones: milestones:
- title: Go-Live - title: Go-Live
description: >- description: >-
All requirements for official go-live: All requirements for official go-live: - Automated testing via Hydra/Actions - Automated deployments via Hydra/Actions - 90+% testing coverage - Functional formatter with custom rules - palatine-hill is fully stable, enough so that jeeves can be migrated
- Automated testing via Hydra/Actions # The state of the milestone. Either `open` or `closed`
- Automated deployments via Hydra/Actions state: open
- 90+% testing coverage - title: Jeeves Migration
- Functional formatter with custom rules description: >-
- palatine-hill is fully stable, enough so that jeeves can be migrated Test common use-cases for Jeeves - Quadro GPU support - Multi-GPU support - Plex support - Docker support - ZFS support
# The state of the milestone. Either `open` or `closed`
state: open
- title: Jeeves Migration
description: >-
Test common use-cases for Jeeves
- Quadro GPU support
- Multi-GPU support
- Plex support
- Docker support
- ZFS support
# Collaborators: give specific users access to this repository. # Collaborators: give specific users access to this repository.
# See https://docs.github.com/en/rest/reference/repos#add-a-repository-collaborator for available options # See https://docs.github.com/en/rest/reference/repos#add-a-repository-collaborator for available options
collaborators: collaborators:
# - username: numtide-bot # - username: numtide-bot
# Note: `permission` is only valid on organization-owned repositories. # Note: `permission` is only valid on organization-owned repositories.
# The permission to grant the collaborator. Can be one of: # The permission to grant the collaborator. Can be one of:
# * `pull` - can pull, but not push to or administer this repository. # * `pull` - can pull, but not push to or administer this repository.
# * `push` - can pull and push, but not administer this repository. # * `push` - can pull and push, but not administer this repository.
# * `admin` - can pull, push and administer this repository. # * `admin` - can pull, push and administer this repository.
# * `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. # * `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
# * `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. # * `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.
# permission: push # permission: push
# See https://docs.github.com/en/rest/reference/teams#add-or-update-team-repository-permissions for available options # See https://docs.github.com/en/rest/reference/teams#add-or-update-team-repository-permissions for available options
teams: teams:
# - name: admin # - name: admin
# The permission to grant the team. Can be one of: # The permission to grant the team. Can be one of:
# * `pull` - can pull, but not push to or administer this repository. # * `pull` - can pull, but not push to or administer this repository.
# * `push` - can pull and push, but not administer this repository. # * `push` - can pull and push, but not administer this repository.
# * `admin` - can pull, push and administer this repository. # * `admin` - can pull, push and administer this repository.
# * `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. # * `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
# * `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. # * `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.
# permission: admin # permission: admin
branches: branches:
# gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/nix-community/infra/branches/master/protection # gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/nix-community/infra/branches/master/protection
# not available in the api yet # not available in the api yet
# `Require merge queue`: true # `Require merge queue`: true
# `Merge method`: Rebase and merge # `Merge method`: Rebase and merge
# `Maximum pull requests to build`: 1 # `Maximum pull requests to build`: 1
# `Maximum pull requests to merge`: 1 # `Maximum pull requests to merge`: 1
# defaults: # defaults:
# `Maximum pull requests to build`: 5 # `Maximum pull requests to build`: 5
# `Minimum pull requests to merge`: 1 or 5 minutes # `Minimum pull requests to merge`: 1 or 5 minutes
# `Maximum pull requests to merge`: 5 # `Maximum pull requests to merge`: 5
# `Only merge non-failing pull requests`: true # `Only merge non-failing pull requests`: true
# `Consider check failed after`: 60 minutes # `Consider check failed after`: 60 minutes
- name: main
# https://docs.github.com/en/rest/reference/repos#update-branch-protection
# Branch Protection settings. Set to null to disable
protection:
# Required. Require at least one approving review on a pull request, before merging. Set to null to disable.
- name: main # these settings are the same as manually enabling "Require a pull request before merging" but not setting any other restrictions
# https://docs.github.com/en/rest/reference/repos#update-branch-protection required_pull_request_reviews:
# Branch Protection settings. Set to null to disable # # The number of approvals required. (1-6)
protection: required_approving_review_count: 1
# Required. Require at least one approving review on a pull request, before merging. Set to null to disable. # # Dismiss approved reviews automatically when a new commit is pushed.
dismiss_stale_reviews: true
# these settings are the same as manually enabling "Require a pull request before merging" but not setting any other restrictions # # Blocks merge until code owners have reviewed.
required_pull_request_reviews: require_code_owner_reviews: false
# # The number of approvals required. (1-6) # # Specify which users and teams can dismiss pull request reviews. Pass an empty dismissal_restrictions object to disable. User and team dismissal_restrictions are only available for organization-owned repositories. Omit this parameter for personal repositories.
required_approving_review_count: 1 # dismissal_restrictions:
# # Dismiss approved reviews automatically when a new commit is pushed. # users: []
dismiss_stale_reviews: true # teams: []
# # Blocks merge until code owners have reviewed. require_last_push_approval: false
require_code_owner_reviews: false # Required. Require status checks to pass before merging. Set to null to disable
# # Specify which users and teams can dismiss pull request reviews. Pass an empty dismissal_restrictions object to disable. User and team dismissal_restrictions are only available for organization-owned repositories. Omit this parameter for personal repositories. # required_status_checks:
# dismissal_restrictions:
# users: []
# teams: []
require_last_push_approval: false
# Required. Require status checks to pass before merging. Set to null to disable
# required_status_checks:
# Required. Require branches to be up to date before merging. # Required. Require branches to be up to date before merging.
# strict: false # strict: false
# Required. The list of status checks to require in order to merge into this branch # Required. The list of status checks to require in order to merge into this branch
# contexts: # contexts:
# - buildbot/nix-eval # - buildbot/nix-eval
# Required. Enforce all configured restrictions for administrators. Set to true to enforce required status checks for repository administrators. Set to null to disable. # Required. Enforce all configured restrictions for administrators. Set to true to enforce required status checks for repository administrators. Set to null to disable.
enforce_admins: true enforce_admins: true
# Disabled for bors to work # Disabled for bors to work
required_linear_history: true required_linear_history: true
# Required. Restrict who can push to this branch. Team and user restrictions are only available for organization-owned repositories. Set to null to disable. # Required. Restrict who can push to this branch. Team and user restrictions are only available for organization-owned repositories. Set to null to disable.
restrictions: restrictions:
apps: [] apps: []
# TODO: make a buildbot instance # TODO: make a buildbot instance
# users: ["nix-infra-bot"] # users: ["nix-infra-bot"]
teams: [] teams: []

View File

@ -1,48 +1,47 @@
name: "Check Nix flake" name: "Check Nix flake"
on: on:
push: push:
branches: ["main"] branches: ["main"]
pull_request: pull_request:
branches: ["main"] branches: ["main"]
merge_group: merge_group:
jobs: jobs:
health-check: health-check:
name: "Perform Nix flake checks" name: "Perform Nix flake checks"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest] os: [ubuntu-latest]
steps: steps:
- uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/nix-installer-action@main
- name: Setup Attic cache - name: Setup Attic cache
uses: ryanccn/attic-action@v0 uses: ryanccn/attic-action@v0
with: with:
endpoint: ${{ secrets.ATTIC_ENDPOINT }} endpoint: ${{ secrets.ATTIC_ENDPOINT }}
cache: ${{ secrets.ATTIC_CACHE }} cache: ${{ secrets.ATTIC_CACHE }}
token: ${{ secrets.ATTIC_TOKEN }} token: ${{ secrets.ATTIC_TOKEN }}
skip-push: "true" skip-push: "true"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: nix flake check --accept-flake-config - run: nix flake check --accept-flake-config
- run: nix ./utils/attic-push.bash - run: nix ./utils/attic-push.bash
build-checks: build-checks:
name: "Build nix outputs" name: "Build nix outputs"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest] os: [ubuntu-latest]
steps: steps:
- uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/nix-installer-action@main
- name: Setup Attic cache - name: Setup Attic cache
uses: ryanccn/attic-action@v0 uses: ryanccn/attic-action@v0
with: with:
endpoint: ${{ secrets.ATTIC_ENDPOINT }} endpoint: ${{ secrets.ATTIC_ENDPOINT }}
cache: ${{ secrets.ATTIC_CACHE }} cache: ${{ secrets.ATTIC_CACHE }}
token: ${{ secrets.ATTIC_TOKEN }} token: ${{ secrets.ATTIC_TOKEN }}
skip-push: "true" skip-push: "true"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build all outputs - name: Build all outputs
run: nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --build . run: nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --build .
- name: Push to Attic - name: Push to Attic
run: nix ./utils/attic-push.bash run: nix ./utils/attic-push.bash
continue-on-error: true continue-on-error: true

View File

@ -1,152 +1,112 @@
name: "Update flakes" name: "Update flakes"
on: on:
repository_dispatch: repository_dispatch:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: "00 12 * * *" - cron: "00 12 * * *"
jobs: jobs:
createPullRequest: update_lockfile:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/main' # ensure workflow_dispatch only runs on main #if: github.ref == 'refs/heads/main' # ensure workflow_dispatch only runs on main
steps: steps:
- uses: actions/checkout@v4 - name: Checkout repository
# - name: Login to Docker Hub uses: actions/checkout@v4
# uses: docker/login-action@v3 - name: Install nix
# with: uses: https://github.com/DeterminateSystems/nix-installer-action@main
# username: ${{ secrets.DOCKERHUB_USERNAME }} - name: Setup Attic cache
# password: ${{ secrets.DOCKERHUB_TOKEN }} uses: ryanccn/attic-action@v0
- name: Install Nix with:
uses: cachix/install-nix-action@v24 endpoint: ${{ secrets.ATTIC_ENDPOINT }}
with: cache: ${{ secrets.ATTIC_CACHE }}
extra_nix_config: | token: ${{ secrets.ATTIC_TOKEN }}
experimental-features = nix-command flakes skip-push: "true"
install_url: https://releases.nixos.org/nix/nix-2.19.0/install - name: Get pre-snapshot of evaluations
- name: Setup Attic cache run: nix ./utils/eval-to-drv.sh pre
uses: ryanccn/attic-action@v0 - name: Update flake.lock
with: id: update
endpoint: ${{ secrets.ATTIC_ENDPOINT }} run: |
cache: ${{ secrets.ATTIC_CACHE }} nix flake update 2> >(tee /dev/stderr) | awk '
token: ${{ secrets.ATTIC_TOKEN }} /^• Updated input/ {in_update = 1; print; next}
skip-push: "true" in_update && !/^warning:/ {print}
- name: Calculate pre-drv /^$/ {in_update = 0}
run: nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --build . ' > update.log
# - name: Pull latest docker images
# run: nix ./utils/fetch-docker.sh
- name: Update flake.lock (part 1)
run: nix flake update
- name: Calculate post-drv
run: nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --build .
# - name: Calculate diff
# run: nix ./utils/diff-evals.sh
# - name: Read diff into environment
# run: |
# delimiter="$(openssl rand -hex 8)"
# {
# echo "POSTDIFF<<${delimiter}"
# cat post-diff
# echo "${delimiter}"
# } >> $GITHUB_ENV
echo "UPDATE_LOG<<EOF" >> $GITHUB_ENV
cat update.log >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
# - name: Restore flake.lock for next step rm update.log
# run: git restore flake.lock - name: Get post-snapshot of evaluations
# - name: Update flake.lock run: nix ./utils/eval-to-drv.sh post
# id: update - name: Calculate diff
# uses: DeterminateSystems/update-flake-lock@main run: nix ./utils/diff-evals.sh
# with: - name: Read file contents
# token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} id: read_file
# pr-body: | uses: guibranco/github-file-reader-action-v2@latest
# Automated changes by the [update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) GitHub Action. with:
path: "post-diff"
- name: Write PR body template
uses: https://github.com/DamianReeves/write-file-action@v1.3
with:
path: pr_body.template
contents: |
- The following Nix Flake inputs were updated:
# ``` ```
# {{ env.GIT_COMMIT_MESSAGE }} ${{ env.UPDATE_LOG }}
# ``` ```
# ``` ```
# {{ env.POSTDIFF }} ${{ steps.read_file.outputs.contents }}
# ``` ```
# pr-labels: | # Labels to be set on the PR
# dependencies
# automated
update_lockfile:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install nix
uses: https://github.com/DeterminateSystems/nix-installer-action@main
- name: Update flake.lock Auto-generated by [update.yml][1] with the help of
id: update [create-pull-request][2].
run: |
nix flake update 2> >(tee /dev/stderr) | awk '
/^• Updated input/ {in_update = 1; print; next}
in_update && !/^warning:/ {print}
/^$/ {in_update = 0}
' > update.log
echo "UPDATE_LOG<<EOF" >> $GITHUB_ENV [1]: https://nayeonie.com/ahuston-0/nix-dotfiles/src/branch/main/.github/workflows/flake-update.yml
cat update.log >> $GITHUB_ENV [2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
echo "EOF" >> $GITHUB_ENV - name: Generate PR body
uses: pedrolamas/handlebars-action@v2.4.0 # v2.4.0
with:
files: "pr_body.template"
output-filename: "pr_body.md"
- name: Save PR body
id: pr_body
uses: juliangruber/read-file-action@v1
with:
path: "pr_body.md"
- name: Remove temporary files
run: |
rm pr_body.template
rm pr_body.md
rm pre.json
rm post.json
rm post-diff
- name: Create Pull Request
id: create-pull-request
# uses: https://forgejo.stefka.eu/jiriks74/create-pull-request@7174d368c2e4450dea17b297819eb28ae93ee645
uses: https://nayeonie.com/ahuston-0/create-pull-request@main
with:
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
body: ${{ steps.pr_body.outputs.content }}
author: '"github-actions[bot]" <github-actions[bot]@users.noreply.github.com>'
title: 'automated: Update `flake.lock`'
commit-message: |
automated: Update `flake.lock`
rm update.log ${{ steps.pr_body.outputs.content }}
branch: update-flake-lock
- name: Write PR body template delete-branch: true
uses: https://github.com/DamianReeves/write-file-action@v1.3 pr-labels: | # Labels to be set on the PR
with: dependencies
path: pr_body.template automated
contents: | - name: Push to Attic
- The following Nix Flake inputs were updated: run: nix ./utils/attic-push.bash
continue-on-error: true
``` - name: Print PR number
${{ env.UPDATE_LOG }} run: |
``` echo "Pull request number is ${{ steps.create-pull-request.outputs.pull-request-number }}."
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
Auto-generated by [update.yml][1] with the help of
[create-pull-request][2].
[1]: https://forgejo.stefka.eu/jiriks74/nix.nvim/src/branch/main/.github/workflows/update.yml
[2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
- name: Generate PR body
uses: pedrolamas/handlebars-action@v2.4.0 # v2.4.0
with:
files: "pr_body.template"
output-filename: "pr_body.md"
- name: Save PR body
id: pr_body
uses: juliangruber/read-file-action@v1
with:
path: "pr_body.md"
- name: Remove temporary files
run: |
rm pr_body.template
rm pr_body.md
- name: Create Pull Request
id: create-pull-request
# uses: https://forgejo.stefka.eu/jiriks74/create-pull-request@7174d368c2e4450dea17b297819eb28ae93ee645
uses: https://nayeonie.com/ahuston-0/create-pull-request@main
with:
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
body: ${{ steps.pr_body.outputs.content }}
author: '"github-actions[bot]" <github-actions[bot]@users.noreply.github.com>'
title: 'automated: Update `flake.lock`'
commit-message: |
automated: Update `flake.lock`
${{ steps.pr_body.outputs.content }}
branch: update-flake-lock
delete-branch: true
- name: Push to Attic
run: nix ./utils/attic-push.bash
continue-on-error: true
- name: Print PR number
run: |
echo "Pull request number is ${{ steps.create-pull-request.outputs.pull-request-number }}."
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
permissions: permissions:
pull-requests: write pull-requests: write
contents: write contents: write

View File

@ -1,17 +1,16 @@
name: "Check flake.lock" name: "Check flake.lock"
on: on:
push: push:
branches: ["main"] branches: ["main"]
pull_request: pull_request:
branches: ["main"] branches: ["main"]
merge_group: merge_group:
jobs: jobs:
health-check: health-check:
name: "Check health of `flake.lock`" name: "Check health of `flake.lock`"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: DeterminateSystems/flake-checker-action@main - uses: DeterminateSystems/flake-checker-action@main
with: with:
fail-mode: true fail-mode: true

View File

@ -1,26 +1,25 @@
name: "Check Nix formatting" name: "Check Nix formatting"
on: on:
push: push:
branches: ["main"] branches: ["main"]
pull_request: pull_request:
branches: ["main"] branches: ["main"]
merge_group: merge_group:
jobs: jobs:
health-check: health-check:
name: "Perform Nix format checks" name: "Perform Nix format checks"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/nix-installer-action@main
- name: Setup Attic cache - name: Setup Attic cache
uses: ryanccn/attic-action@v0 uses: ryanccn/attic-action@v0
with: with:
endpoint: ${{ secrets.ATTIC_ENDPOINT }} endpoint: ${{ secrets.ATTIC_ENDPOINT }}
cache: ${{ secrets.ATTIC_CACHE }} cache: ${{ secrets.ATTIC_CACHE }}
token: ${{ secrets.ATTIC_TOKEN }} token: ${{ secrets.ATTIC_TOKEN }}
skip-push: "true" skip-push: "true"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: nix fmt -- --check . - run: nix fmt -- --check .
- name: Push to Attic - name: Push to Attic
run: nix ./utils/attic-push.bash run: nix ./utils/attic-push.bash
continue-on-error: true continue-on-error: true

View File

@ -1,51 +1,46 @@
keys: keys:
# The PGP keys in keys/ # The PGP keys in keys/
- &admin_alice 5EFFB75F7C9B74EAA5C4637547940175096C1330 - &admin_alice 5EFFB75F7C9B74EAA5C4637547940175096C1330
# Generate AGE keys from SSH keys with:
# Generate AGE keys from SSH keys with: # ssh-keygen -A
# ssh-keygen -A # nix-shell -p ssh-to-age --run 'cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age'
# nix-shell -p ssh-to-age --run 'cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age' # cspell:disable
# cspell:disable - &artemision age1jd2dcpykagz20kpk2kkchte3augqncwfn6nywursx0dkfyze6feqdzxkq2
- &artemision age1jd2dcpykagz20kpk2kkchte3augqncwfn6nywursx0dkfyze6feqdzxkq2 - &artemision-home age1t29a6z6cfy8m3cnc8uva0ey833vhcppue8psyumts7mtyf0zufcqvfshuc
- &artemision-home age1t29a6z6cfy8m3cnc8uva0ey833vhcppue8psyumts7mtyf0zufcqvfshuc
#- &palatine-hill age1z8q02wdp0a2ep5uuffgfeqlfam4ztl95frhw5qhnn6knn0rrmcnqk5evej #- &palatine-hill age1z8q02wdp0a2ep5uuffgfeqlfam4ztl95frhw5qhnn6knn0rrmcnqk5evej
- &palatine-hill age1qw5k8h72k3fjg5gmlxx8q8gwlc2k6n6u08d8hdzpm2pk9r0fnfxsmw33nh - &palatine-hill age1qw5k8h72k3fjg5gmlxx8q8gwlc2k6n6u08d8hdzpm2pk9r0fnfxsmw33nh
# cspell:enable # cspell:enable
servers: &servers servers: &servers
- *palatine-hill - *palatine-hill
# add new users by executing: sops users/<user>/secrets.yaml # add new users by executing: sops users/<user>/secrets.yaml
# then have someone already in the repo run the below # then have someone already in the repo run the below
# #
# update keys by executing: sops updatekeys secrets.yaml # update keys by executing: sops updatekeys secrets.yaml
# note: add .* before \.yaml if you'd like to use the mergetool config # note: add .* before \.yaml if you'd like to use the mergetool config
creation_rules: creation_rules:
- path_regex: users/alice/secrets.*\.yaml$ - path_regex: users/alice/secrets.*\.yaml$
key_groups: key_groups:
- pgp: - pgp:
- *admin_alice - *admin_alice
age: age:
- *palatine-hill - *palatine-hill
- *artemision - *artemision
- *artemision-home - *artemision-home
- path_regex: systems/palatine-hill/secrets.*\.yaml$
- path_regex: systems/palatine-hill/secrets.*\.yaml$ key_groups:
key_groups: - pgp:
- pgp: - *admin_alice
- *admin_alice age:
age: - *palatine-hill
- *palatine-hill - path_regex: systems/artemision/secrets.*\.yaml$
key_groups:
- path_regex: systems/artemision/secrets.*\.yaml$ - pgp:
key_groups: - *admin_alice
- pgp: age:
- *admin_alice - *artemision
age: - path_regex: systems/palatine-hill/docker/wg/.*\.conf$
- *artemision key_groups:
- path_regex: systems/palatine-hill/docker/wg/.*\.conf$ - pgp:
key_groups: - *admin_alice
- pgp: age:
- *admin_alice - *palatine-hill
age:
- *palatine-hill

View File

@ -1,5 +1,7 @@
{ {
"cSpell.enableFiletypes": ["nix"], "cSpell.enableFiletypes": [
"nix"
],
"cSpell.words": [ "cSpell.words": [
"aarch", "aarch",
"abmlevel", "abmlevel",

View File

@ -40,12 +40,12 @@ and will eventually trip a check when merging to main.
| Branch Name | Use Case | | Branch Name | Use Case |
|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| main | protected branch which all machines pull from, do not try to push directly | | main | protected branch which all machines pull from, do not try to push directly |
| feature/\<item\> | \<item\> is a new feature added to the repo, for personal or common use | | feature/\<item> | \<item> is a new feature added to the repo, for personal or common use |
| fixup/\<item\> | \<item\> is a non-urgent bug, PRs merging from these branches should be merged when possible, but are not considered mission-critical | | fixup/\<item> | \<item> is a non-urgent bug, PRs merging from these branches should be merged when possible, but are not considered mission-critical |
| hotfix/\<item\> | \<item\> is a mission-critical bug, either affecting all users or a breaking change on a user's machines. These PRs should be reviewed ASAP. This is automatically subject to the [Critical Issues](#critical-issues) process | | hotfix/\<item> | \<item> is a mission-critical bug, either affecting all users or a breaking change on a user's machines. These PRs should be reviewed ASAP. This is automatically subject to the [Critical Issues](#critical-issues) process |
| urgent/\<item\> | Accepted as an alias for the above, due to dev's coming from multiple standards and the criticality of these issues | | urgent/\<item> | Accepted as an alias for the above, due to dev's coming from multiple standards and the criticality of these issues |
| exp/\<item\> | \<item\> is a non-critical experiment. This is used for shipping around potential new features or fixes to multiple branches | | exp/\<item> | \<item> is a non-critical experiment. This is used for shipping around potential new features or fixes to multiple branches |
| merge/\<item\> | \<item\> is a temporary branch and should never be merged directly to main. This is solely used for addressing merge conflicts which are too complex to be merged directly on branch | | merge/\<item> | \<item> is a temporary branch and should never be merged directly to main. This is solely used for addressing merge conflicts which are too complex to be merged directly on branch |
### Review Process ### Review Process
@ -94,11 +94,11 @@ rules.
PR has been tested on at least one machine PR has been tested on at least one machine
- Issues which bypass the quorum process must have a second reviewer tagged - Issues which bypass the quorum process must have a second reviewer tagged
- All critical issues which bypass the approval process must have an RCA issue - All critical issues which bypass the approval process must have an RCA issue
opened and the RCA logged into the `inc/` folder opened and the RCA logged into the `inc/` folder
- The second reviewer has 2 weeks to retroactively review and approve the PR - The second reviewer has 2 weeks to retroactively review and approve the PR
- If the retro does not happen in the given window, an issue shall be opened - If the retro does not happen in the given window, an issue shall be opened
to either re-review the PR or to revert and replace the fix with a to either re-review the PR or to revert and replace the fix with a
permanent solution permanent solution
- Critical issues must be tagged to `Nix Flake Features` project, and must have - Critical issues must be tagged to `Nix Flake Features` project, and must have
a priority of `High` and an estimate tagged. Start and end date are not needed a priority of `High` and an estimate tagged. Start and end date are not needed

View File

@ -1,9 +1,9 @@
#!/usr/bin/env nix #!/usr/bin/env nix
#! nix shell nixpkgs#bash nixpkgs#git --command bash #! nix shell nixpkgs#bash nixpkgs#git --command bash
set -o errexit # abort on nonzero exitstatus set -o errexit # abort on nonzero exitstatus
set -o nounset # abort on unbound variable set -o nounset # abort on unbound variable
set -o pipefail # don't hide errors within pipes set -o pipefail # don't hide errors within pipes
PROCEED="N" PROCEED="N"
@ -50,60 +50,58 @@ GITBASE="systems"
FEATUREBRANCH="feature/adding-$MACHINENAME" FEATUREBRANCH="feature/adding-$MACHINENAME"
if [ $PROCEED != "Y" ]; then if [ $PROCEED != "Y" ]; then
echo "PROCEED is not set correctly, please validate the below partitions and update the script accordingly" echo "PROCEED is not set correctly, please validate the below partitions and update the script accordingly"
lsblk -ao NAME,FSTYPE,FSSIZE,FSUSED,SIZE,MOUNTPOINT lsblk -ao NAME,FSTYPE,FSSIZE,FSUSED,SIZE,MOUNTPOINT
fi fi
if [ $CREATEPARTS = "Y" ]; then if [ $CREATEPARTS = "Y" ]; then
# Create partition table # Create partition table
sudo parted "/dev/$DRIVE" -- mklabel gpt sudo parted "/dev/$DRIVE" -- mklabel gpt
# Create boot part # Create boot part
sudo parted "/dev/$DRIVE" -- mkpart ESP fat32 1MB 1024MB sudo parted "/dev/$DRIVE" -- mkpart ESP fat32 1MB 1024MB
sudo parted "/dev/$DRIVE" -- set 1 esp on sudo parted "/dev/$DRIVE" -- set 1 esp on
sudo mkfs.fat -F 32 -n NIXBOOT "/dev/${DRIVE}1" sudo mkfs.fat -F 32 -n NIXBOOT "/dev/${DRIVE}1"
# Create luks part # Create luks part
sudo parted "/dev/$DRIVE" -- mkpart primary ext4 1024MB 100% sudo parted "/dev/$DRIVE" -- mkpart primary ext4 1024MB 100%
sudo parted "/dev/$DRIVE" -- set 2 lvm on sudo parted "/dev/$DRIVE" -- set 2 lvm on
LUKSPART="nixos-pv" LUKSPART="nixos-pv"
sudo cryptsetup luksFormat "/dev/${DRIVE}p2" sudo cryptsetup luksFormat "/dev/${DRIVE}p2"
sudo cryptsetup luksOpen "/dev/${DRIVE}p2" "$LUKSPART" sudo cryptsetup luksOpen "/dev/${DRIVE}p2" "$LUKSPART"
# Create lvm part # Create lvm part
sudo pvcreate "/dev/mapper/$LUKSPART" sudo pvcreate "/dev/mapper/$LUKSPART"
sudo pvresize "/dev/mapper/$LUKSPART" sudo pvresize "/dev/mapper/$LUKSPART"
sudo pvdisplay sudo pvdisplay
# Create volume group # Create volume group
sudo vgcreate "$VOLGROUP" "/dev/mapper/$LUKSPART" sudo vgcreate "$VOLGROUP" "/dev/mapper/$LUKSPART"
sudo vgchange -a y "$VOLGROUP" sudo vgchange -a y "$VOLGROUP"
sudo vgdisplay sudo vgdisplay
# Create swap part on LVM # Create swap part on LVM
if [ $SWAPSIZE != 0 ]; then if [ $SWAPSIZE != 0 ]; then
sudo lvcreate -L "$SWAPSIZE" "$VOLGROUP" -n swap sudo lvcreate -L "$SWAPSIZE" "$VOLGROUP" -n swap
sudo mkswap -L NIXSWAP -c "$SWAPPATH" sudo mkswap -L NIXSWAP -c "$SWAPPATH"
fi fi
# Create home part on LVM, leaving plenty of room for snapshots # Create home part on LVM, leaving plenty of room for snapshots
sudo lvcreate -l 50%FREE "$VOLGROUP" -n home sudo lvcreate -l 50%FREE "$VOLGROUP" -n home
sudo mkfs.ext4 -L NIXHOME -c "$HOMEPATH" sudo mkfs.ext4 -L NIXHOME -c "$HOMEPATH"
# Create root part on LVM, keeping in mind most data will be on /home or /nix # Create root part on LVM, keeping in mind most data will be on /home or /nix
sudo lvcreate -L 5G "$VOLGROUP" -n root sudo lvcreate -L 5G "$VOLGROUP" -n root
sudo mkfs.ext4 -L NIXROOT -c "$ROOTPATH" sudo mkfs.ext4 -L NIXROOT -c "$ROOTPATH"
# Create nix part on LVM # Create nix part on LVM
sudo lvcreate -L 100G "$VOLGROUP" -n nix-store sudo lvcreate -L 100G "$VOLGROUP" -n nix-store
sudo mkfs.ext4 -L NIXSTORE -c "$NIXSTOREPATH" sudo mkfs.ext4 -L NIXSTORE -c "$NIXSTOREPATH"
sudo lvdisplay sudo lvdisplay
lsblk -ao NAME,FSTYPE,FSSIZE,FSUSED,SIZE,MOUNTPOINT lsblk -ao NAME,FSTYPE,FSSIZE,FSUSED,SIZE,MOUNTPOINT
fi fi
# Mount partitions # Mount partitions
@ -116,7 +114,7 @@ sudo mount $BOOTPART /mnt/boot
# Enable swap if SWAPSIZE is non-zero # Enable swap if SWAPSIZE is non-zero
if [ $SWAPSIZE != 0 ]; then if [ $SWAPSIZE != 0 ]; then
sudo swapon "/dev/$VOLGROUP/swap" sudo swapon "/dev/$VOLGROUP/swap"
fi fi
# Clone the repo # Clone the repo
@ -135,31 +133,31 @@ read -r -p "get this into github so you can check everything in, then hit enter
cat "$DOTS/id_ed25519_ghdeploy.pub" cat "$DOTS/id_ed25519_ghdeploy.pub"
if [ $SOPS == "Y" ]; then if [ $SOPS == "Y" ]; then
# Create ssh host-keys # Create ssh host-keys
sudo ssh-keygen -A sudo ssh-keygen -A
sudo mkdir -p /mnt/etc/ssh sudo mkdir -p /mnt/etc/ssh
sudo cp "/etc/ssh/ssh_host_*" /mnt/etc/ssh sudo cp "/etc/ssh/ssh_host_*" /mnt/etc/ssh
# Get line where AGE comment is and insert new AGE key two lines down # Get line where AGE comment is and insert new AGE key two lines down
AGELINE=$(grep "Generate AGE keys from SSH keys with" "$DOTS/.sops.yaml" -n | awk -F ':' '{print ($1+2)}') AGELINE=$(grep "Generate AGE keys from SSH keys with" "$DOTS/.sops.yaml" -n | awk -F ':' '{print ($1+2)}')
AGEKEY=$(nix-shell -p ssh-to-age --run 'cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age') AGEKEY=$(nix-shell -p ssh-to-age --run 'cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age')
sudo sed -i "${AGELINE}i\\ - &${MACHINENAME} $AGEKEY\\" "$DOTS/.sops.yaml" sudo sed -i "${AGELINE}i\\ - &${MACHINENAME} $AGEKEY\\" "$DOTS/.sops.yaml"
# Add server name # Add server name
SERVERLINE=$(grep 'servers: &servers' "$DOTS/.sops.yaml" -n | awk -F ':' '{print ($1+1)}') SERVERLINE=$(grep 'servers: &servers' "$DOTS/.sops.yaml" -n | awk -F ':' '{print ($1+1)}')
sudo sed -i "${SERVERLINE}i\\ - *${MACHINENAME}\\" "$DOTS/.sops.yaml" sudo sed -i "${SERVERLINE}i\\ - *${MACHINENAME}\\" "$DOTS/.sops.yaml"
# Add creation rules # Add creation rules
CREATIONLINE=$(grep 'creation_rules' "$DOTS/.sops.yaml" -n | awk -F ':' '{print ($1+1)}') CREATIONLINE=$(grep 'creation_rules' "$DOTS/.sops.yaml" -n | awk -F ':' '{print ($1+1)}')
# TODO: below was not working when last attempted # TODO: below was not working when last attempted
read -r -d '' PATHRULE <<-EOF read -r -d '' PATHRULE <<-EOF
- path_regex: $GITBASE/$MACHINENAME/secrets\.yaml$ - path_regex: $GITBASE/$MACHINENAME/secrets\.yaml$
key_groups: key_groups:
- pgp: *$OWNERORADMINS - pgp: *$OWNERORADMINS
age: age:
- *$MACHINENAME - *$MACHINENAME
EOF EOF
sudo sed -i "${CREATIONLINE}i\\${PATHRULE}\\" "$DOTS/.sops.yaml" sudo sed -i "${CREATIONLINE}i\\${PATHRULE}\\" "$DOTS/.sops.yaml"
fi fi
read -r -p "press enter to continue" read -r -p "press enter to continue"

131
flake.lock generated
View File

@ -78,11 +78,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1740974607, "lastModified": 1742327995,
"narHash": "sha256-YbAnhXYYOjG8OHX7v4BGj/tDQiFgkwe4JsqCjbFYjB0=", "narHash": "sha256-cvqCqT7op8uRCIPUYK8CPJbRRmKytFtOzHqomMyO7u8=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "093c063a23aa38f31082a554f03899127750aee3", "rev": "d91a2ea080804c3a9213d6e460e8cff68cfacf8d",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -95,11 +95,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1739223196, "lastModified": 1741628778,
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=", "narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21", "rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -127,11 +127,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1740872218, "lastModified": 1741352980,
"narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "3876f6b87db82f33775b1ef5ea343986105db764", "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -232,11 +232,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1737465171, "lastModified": 1741379162,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -312,11 +312,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740845322, "lastModified": 1742326330,
"narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", "narHash": "sha256-Tumt3tcMXJniSh7tw2gW+WAnVLeB3WWm+E+yYFnLBXo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", "rev": "22a36aa709de7dd42b562a433b9cefecf104a6ee",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -332,11 +332,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740923452, "lastModified": 1742213523,
"narHash": "sha256-iQNkVG0368H3kiwSYSs1N6sU7GhHSmx0b9y+Z+eO1+c=", "narHash": "sha256-I8JVdQRu8eWvY5W8XWYZkdd5pojDHkxeqQV7mMIsbhs=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "6f0d5e16c534aeda47d99b4d20bb2a22bfc60c23", "rev": "bd81329944be53b0ffb99e05864804b95f1d7c65",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -352,11 +352,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740886574, "lastModified": 1742174123,
"narHash": "sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk=", "narHash": "sha256-pDNzMoR6m1ZSJToZQ6XDTLVSdzIzmFl1b8Pc3f7iV6Y=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "26a0f969549cf4d56f6e9046b9e0418b3f3b94a5", "rev": "2cfb4e1ca32f59dd2811d7a6dd5d4d1225f0955c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -388,11 +388,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740947705, "lastModified": 1742217219,
"narHash": "sha256-Co2kAD2SZalOm+5zoxmzEVZNvZ17TyafuFsD46BwSdY=", "narHash": "sha256-pLRjj0jTL1TloB0ptEwVF51IJJX8a17dSxg+gqiWb30=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "507911df8c35939050ae324caccc7cf4ffb76565", "rev": "83900d5154d840dfae1e0367c5290f59b9dccf03",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -403,11 +403,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1740646007, "lastModified": 1742217307,
"narHash": "sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE=", "narHash": "sha256-3fwpN7KN226ghLlpO9TR0/WpgQOmOj1e8bieUxpIYSk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "009b764ac98a3602d41fc68072eeec5d24fc0e49", "rev": "4f4d97d7b7be387286cc9c988760a7ebaa5be1f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -426,11 +426,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741017582, "lastModified": 1742073730,
"narHash": "sha256-2tscHztx6UxqeQTK0U1kLM74+6mSzROMNYJpKRDLMPM=", "narHash": "sha256-Um3vjr+nh7MdvdRjPkRX0RiicOWttZd1CuCVEKvOQz8=",
"owner": "SuperSandro2000", "owner": "SuperSandro2000",
"repo": "nixos-modules", "repo": "nixos-modules",
"rev": "c7c9219eb6ff26c203d22ba733e9e988499290f0", "rev": "f8b6e1d4ea6c9c958b27445c70434b00e8d7f520",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -441,11 +441,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1740981371, "lastModified": 1742276595,
"narHash": "sha256-Up7YlXIupmT7fEtC4Oj676M91INg0HAoamiswAsA3rc=", "narHash": "sha256-bsg9y3NoMGu0jgTI5XbxvzQFc9JtZB51i500WlVws80=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1d2fe0135f360c970aee1d57a53f816f3c9bddae", "rev": "2b3795787eba0066a2bc8bba7362422e5713840f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -457,28 +457,31 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1740872140, "lastModified": 1740877520,
"narHash": "sha256-3wHafybyRfpUCLoE8M+uPVZinImg3xX+Nm6gEfN3G8I=", "narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
"type": "tarball", "owner": "nix-community",
"url": "https://github.com/NixOS/nixpkgs/archive/6d3702243441165a03f699f64416f635220f4f15.tar.gz" "repo": "nixpkgs.lib",
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c",
"type": "github"
}, },
"original": { "original": {
"type": "tarball", "owner": "nix-community",
"url": "https://github.com/NixOS/nixpkgs/archive/6d3702243441165a03f699f64416f635220f4f15.tar.gz" "repo": "nixpkgs.lib",
"type": "github"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1735563628, "lastModified": 1742268799,
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", "narHash": "sha256-IhnK4LhkBlf14/F8THvUy3xi/TxSQkp9hikfDZRD4Ic=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", "rev": "da044451c6a70518db5b730fe277b70f494188f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-24.05", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -493,11 +496,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1740408283, "lastModified": 1741693509,
"narHash": "sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s=", "narHash": "sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "496a4a11162bdffb9a7b258942de138873f019f7", "rev": "5479646b2574837f1899da78bdf9a48b75a9fb27",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -517,11 +520,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740915799, "lastModified": 1742300892,
"narHash": "sha256-JvQvtaphZNmeeV+IpHgNdiNePsIpHD5U/7QN5AeY44A=", "narHash": "sha256-QmF0proyjXI9YyZO9GZmc7/uEu5KVwCtcdLsKSoxPAI=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "42b1ba089d2034d910566bf6b40830af6b8ec732", "rev": "ea26a82dda75bee6783baca6894040c8e6599728",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -559,11 +562,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740969088, "lastModified": 1742265167,
"narHash": "sha256-BajboqzFnDhxVT0SXTDKVJCKtFP96lZXccBlT/43mao=", "narHash": "sha256-RB0UEF9IXIgwuuBFC+s9H4rDyvmMZePHlBAK4vRAwf4=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "20fdb02098fdda9a25a2939b975abdd7bc03f62d", "rev": "87f0965f9f5b13fca9f38074eee8369dc767550d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -579,11 +582,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739262228, "lastModified": 1742239755,
"narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=", "narHash": "sha256-ptn8dR4Uat3UUadGYNnB7CIH9SQm8mK69D2A/twBUXQ=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975", "rev": "787afce414bcce803b605c510b60bf43c11f4b55",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -620,11 +623,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1740959323, "lastModified": 1742299802,
"narHash": "sha256-UtSKsLCWwA4wPFm7mgl33qeu8sj0on9Hyt3YhDWWkAM=", "narHash": "sha256-enlpX8hwrfmjv/dHTKWzAB5Cwt1Kr6+ptikjX3Ob+FY=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "489833b201a84488c6b4371a261fdbcafa6abcb6", "rev": "ff9ae322bcaeccabc65812390000276455331123",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -700,11 +703,11 @@
"tinted-schemes": { "tinted-schemes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1740351358, "lastModified": 1741468895,
"narHash": "sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA=", "narHash": "sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "schemes", "repo": "schemes",
"rev": "a1bc2bd89e693e7e3f5764cfe8114e2ae150e184", "rev": "47c8c7726e98069cade5827e5fb2bfee02ce6991",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -716,11 +719,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1740272597, "lastModified": 1740877430,
"narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=", "narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0", "rev": "d48ee86394cbe45b112ba23ab63e33656090edb4",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -26,7 +26,8 @@
nixos-hardware.url = "github:NixOS/nixos-hardware"; nixos-hardware.url = "github:NixOS/nixos-hardware";
#nixpkgs.url = "github:nuschtos/nuschtpkgs/nixos-unstable"; #nixpkgs.url = "github:nuschtos/nuschtpkgs/nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; #nixpkgs.url = "github:nixos/nixpkgs/1d2fe0135f360c970aee1d57a53f816f3c9bddae?narHash=sha256-Up7YlXIupmT7fEtC4Oj676M91INg0HAoamiswAsA3rc%3D";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
systems.url = "github:nix-systems/default"; systems.url = "github:nix-systems/default";
# attic = { # attic = {
@ -144,7 +145,7 @@
} }
); );
inherit (lib.rad-dev.systems) genSystems getImages; inherit (lib.rad-dev.systems) genSystems getImages;
inherit (self) outputs; # for hydra inherit (self) outputs; # for hydra and packages
in in
rec { rec {
inherit lib; # for allowing use of custom functions in nix repl inherit lib; # for allowing use of custom functions in nix repl
@ -159,10 +160,7 @@
qcow = getImages nixosConfigurations "qcow"; qcow = getImages nixosConfigurations "qcow";
}; };
packages.x86_64-linux.lego-latest = packages = import ./pkgs { pkgs = nixpkgs.legacyPackages.x86_64-linux; };
nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/lego-latest/default.nix
{ };
checks = import ./checks.nix { inherit inputs forEachSystem formatter; }; checks = import ./checks.nix { inherit inputs forEachSystem formatter; };
devShells = import ./shell.nix { inherit inputs forEachSystem checks; }; devShells = import ./shell.nix { inherit inputs forEachSystem checks; };

View File

@ -128,6 +128,7 @@ rec {
# configPath: path to the folder containing hardware.nix & configuration.nix # configPath: path to the folder containing hardware.nix & configuration.nix
# hostname: hostname of the server # hostname: hostname of the server
# inputs: flake inputs to be used # inputs: flake inputs to be used
# outputs: flake outputs to be used, primarily for accessing custom packages
# src: base path of the repo # src: base path of the repo
# users: list of users to be added # users: list of users to be added
# home: enables home-manager on this machine (requires all users to have home-manager) # home: enables home-manager on this machine (requires all users to have home-manager)
@ -149,7 +150,7 @@ rec {
configPath, configPath,
hostname, hostname,
inputs, inputs,
outputs, outputs ? { },
src, src,
users, users,
home ? true, home ? true,
@ -191,6 +192,7 @@ rec {
# #
# args: # args:
# inputs: flake-inputs to be distributed to each system config # inputs: flake-inputs to be distributed to each system config
# outputs: flake-outputs to be distributed to each system config
# src: the base path to the repo # src: the base path to the repo
# path: the path to read the systems from, should be a directory containing one directory per machine, each having at least the following # path: the path to read the systems from, should be a directory containing one directory per machine, each having at least the following
# - default.nix (with the extra params for constructSystem in it, see systems/palatine-hill/default.nix for an example) # - default.nix (with the extra params for constructSystem in it, see systems/palatine-hill/default.nix for an example)
@ -219,7 +221,7 @@ rec {
; ;
hostname = name; hostname = name;
} }
// import configPath { inherit inputs; } // import configPath { inherit inputs outputs; }
); );
} }
) (lib.rad-dev.lsdir path) ) (lib.rad-dev.lsdir path)

View File

@ -1,4 +1,9 @@
{ lib, pkgs, ... }: {
lib,
pkgs,
outputs,
...
}:
{ {
nix = { nix = {
package = pkgs.nixVersions.latest; package = pkgs.nixVersions.latest;
@ -46,4 +51,11 @@
dates = [ "01:00" ]; dates = [ "01:00" ];
}; };
}; };
nixpkgs.overlays = [
(_: _: {
# bring all packages into a namespace called rad-pkgs
rad-pkgs = lib.genAttrs (lib.attrNames outputs.packages) (pkg: outputs.packages.${pkg});
})
];
} }

9
pkgs/default.nix Normal file
View File

@ -0,0 +1,9 @@
{ pkgs, ... }:
let
rad-maintainers = import ./maintainers.nix;
in
{
ftb-app = pkgs.callPackage ./ftb-app { inherit rad-maintainers; };
lego-latest = pkgs.callPackage ./lego-latest { inherit rad-maintainers; };
}

111
pkgs/ftb-app/default.nix Normal file
View File

@ -0,0 +1,111 @@
{
alsa-lib,
at-spi2-atk,
cairo,
cups,
dbus,
dpkg,
expat,
fetchurl,
gtk3,
gdk-pixbuf,
jre,
lib,
libdrm,
libxkbcommon,
makeWrapper,
mesa,
nspr,
nss,
pango,
rad-maintainers,
stdenv,
xorg,
...
}:
# source_aarch64=("https://piston.feed-the-beast.com/app/ftb-app-${pkgver}-arm64.deb")
# sha256sums_aarch64=(ad1197556a187693cbc488142562a0c17144e33056f1c914950c2f1496a4c532)
stdenv.mkDerivation rec {
pname = "ftb-app";
version = "1.27.3";
src = fetchurl {
url = "https://piston.feed-the-beast.com/app/ftb-app-linux-${version}-amd64.deb";
sha256 = "031a73g58vj35h33pmp3swjrjlg09ismdx46810sp7ihrpvs0ad6";
};
nativeBuildInputs = [
dpkg
makeWrapper
];
unpackPhase = ''
runHook preUnpack
dpkg -x $src ./ftb-app
runHook postUnpack
'';
installPhase = ''
runHook preInstall
mkdir -p "$out"
cp -r ftb-app/* "$out"
# Flatten /usr and manually merge lib/ and usr/lib/, since mv refuses to.
mv "$out"'/opt/FTB Electron App' "$out/bin"
mv "$out/usr/"* "$out/"
rmdir "$out/usr"
rmdir "$out/opt"
for f in "$out/share/applications/"*.desktop; do
substituteInPlace "$f" \
--replace-fail '/opt/FTB Electron App/ftb-app' "$out/bin/ftb-app"
done
# prevent self-upgrade with dpkg
rm "$out/bin/resources/package-type"
chmod +x "$out/bin/ftb-app"
libs="${nss}/lib/libnss3.so ${nss}/lib/libnssutil3.so ${nss}/lib/libsmime3.so "
libs+="${nspr}/lib/libnspr4.so ${dbus.lib}/lib/libdbus-1.so.3 "
libs+="${at-spi2-atk}/lib/libatk-1.0.so.0 ${cups.lib}/lib/libcups.so.2 "
libs+="${at-spi2-atk}/lib/libatk-bridge-2.0.so.0 "
libs+="${libdrm}/lib/libdrm.so.2 ${gtk3}/lib/libgtk-3.so.0 "
libs+="${pango.out}/lib/libpango-1.0.so.0 ${cairo}/lib/libcairo.so.2 "
libs+="${xorg.libX11}/lib/libX11.so.6 ${xorg.libXext}/lib/libXext.so.6 "
libs+="${xorg.libXcomposite}/lib/libXcomposite.so.1 "
libs+="${xorg.libXdamage}/lib/libXdamage.so.1 "
libs+="${xorg.libXfixes}/lib/libXfixes.so.3 ${expat}/lib/libexpat.so.1 "
libs+="${xorg.libXrandr}/lib/libXrandr.so.2 ${mesa}/lib/libgbm.so.1 "
libs+="${xorg.libxcb}/lib/libxcb.so.1 ${alsa-lib}/lib/libasound.so.2 "
libs+="${libxkbcommon}/lib/libxkbcommon.so.0 "
libs+="${at-spi2-atk}/lib/libatspi.so.0 ${xorg.libXtst}/lib/libXtst.so.6 "
libs+="${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.so.0 "
echo "$libs"
for p in "$out/bin/ftb-app"; do
wrapProgram "$p" \
--set LD_PRELOAD "$libs" \
--set NIX_REDIRECTS "/usr/share=$out/share:"'/opt/FTB Electron Application'"=$out/bin" \
--set JAVA_HOME "${jre.home}"
# --prefix PATH : "{lib.makeBinPath [ gzip gnutar ]}"
done
runHook postInstall
'';
meta = with lib; {
description = "A new Modpack launcher for FTB and Curse modpacks.";
homepage = "https://feed-the-beast.com/app";
license = with licenses; [ lgpl21Only ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = with rad-maintainers; [ ahuston-0 ];
platforms = [ "x86_64-linux" ];
mainProgram = "ftb-app";
};
}

View File

@ -2,6 +2,7 @@
lib, lib,
fetchFromGitHub, fetchFromGitHub,
buildGoModule, buildGoModule,
rad-maintainers,
}: }:
buildGoModule rec { buildGoModule rec {
@ -31,7 +32,7 @@ buildGoModule rec {
description = "Let's Encrypt client and ACME library written in Go"; description = "Let's Encrypt client and ACME library written in Go";
license = licenses.mit; license = licenses.mit;
homepage = "https://go-acme.github.io/lego/"; homepage = "https://go-acme.github.io/lego/";
maintainers = teams.acme.members; maintainers = teams.acme.members ++ [ rad-maintainers.ahuston-0 ];
mainProgram = "lego"; mainProgram = "lego";
}; };

77
pkgs/maintainers.nix Normal file
View File

@ -0,0 +1,77 @@
/*
Borrowed this from nixpkgs :)
List of NixOS maintainers.
```nix
handle = {
# Required
name = "Your name";
# Optional, but at least one of email, matrix or githubId must be given
email = "address@example.org";
matrix = "@user:example.org";
github = "GithubUsername";
githubId = your-github-id;
keys = [{
fingerprint = "AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333";
}];
};
```
where
- `handle` is the handle you are going to use in nixpkgs expressions,
- `name` is a name that people would know and recognize you by,
- `email` is your maintainer email address,
- `matrix` is your Matrix user ID,
- `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`),
- `githubId` is your GitHub user ID, which can be found at `https://api.github.com/users/<userhandle>`,
- `keys` is a list of your PGP/GPG key fingerprints.
Specifying a GitHub account ensures that you automatically:
- get invited to the @NixOS/nixpkgs-maintainers team ;
- once you are part of the @NixOS org, OfBorg will request you review
pull requests that modify a package for which you are a maintainer.
`handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient.
If `github` begins with a numeral, `handle` should be prefixed with an underscore.
```nix
_1example = {
github = "1example";
};
```
Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
To get the required PGP/GPG values for a key run
```shell
gpg --fingerprint <email> | head -n 2
```
!!! Note that PGP/GPG values stored here are for informational purposes only, don't use this file as a source of truth.
More fields may be added in the future, however, in order to comply with GDPR this file should stay as minimal as possible.
When editing this file:
* keep the list alphabetically sorted, check with:
nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix
* test the validity of the format with:
nix-build lib/tests/maintainers.nix
See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
When adding a new maintainer, be aware of the current commit conventions
documented at [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#commit-conventions)
file located in the root of the Nixpkgs repo.
*/
{
ahuston-0 = {
name = "ahuston-0";
email = "aliceghuston@gmail.com";
github = "ahuston-0";
githubId = 43225907;
keys = [ { fingerprint = "F638 32C3 080D 6E1A C77E ECF8 0B42 45FF E305 BC82"; } ];
};
}

View File

@ -45,6 +45,10 @@ forEachSystem (
treefmt treefmt
statix statix
nixfmt-rfc-style nixfmt-rfc-style
jsonfmt
mdformat
shfmt
yamlfmt
]; ];
}; };
in in

View File

@ -32,7 +32,7 @@
}; };
boot = { boot = {
kernelPackages = lib.mkForce pkgs.linuxPackages_6_6; #kernelPackages = lib.mkForce pkgs.linuxPackages_6_6;
useSystemdBoot = true; useSystemdBoot = true;
default = true; default = true;
}; };
@ -88,6 +88,10 @@
programs.adb.enable = true; programs.adb.enable = true;
environment.variables = {
"KWIN_DRM_NO_DIRECT_SCANOUT" = "1";
};
sops = { sops = {
defaultSopsFile = ./secrets.yaml; defaultSopsFile = ./secrets.yaml;
#secrets = { #secrets = {

View File

@ -7,6 +7,7 @@
hyprland = { hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
withUWSM = true;
}; };
hyprlock.enable = true; hyprlock.enable = true;
gnupg.agent = { gnupg.agent = {
@ -29,6 +30,10 @@
}; };
# Optional, hint electron apps to use wayland: # Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
services = { services = {
xserver = { xserver = {

View File

@ -18,8 +18,6 @@
croc croc
deadnix deadnix
direnv direnv
discord
discord-canary
easyeffects easyeffects
eza eza
fanficfare fanficfare
@ -44,6 +42,7 @@
kitty kitty
kubectl kubectl
kubernetes-helm kubernetes-helm
libreoffice-fresh
libtool libtool
lsof lsof
lynis lynis
@ -73,6 +72,7 @@
protontricks protontricks
proxychains proxychains
qrencode qrencode
rad-pkgs.ftb-app
redshift redshift
restic restic
ripgrep ripgrep

View File

@ -31,7 +31,7 @@
openssl openssl
] ]
++ [ ++ [
outputs.packages.x86_64-linux.lego-latest outputs.packages.lego-latest
] ]
); );

View File

@ -2,9 +2,9 @@
#! nix shell nixpkgs#bash nixpkgs#findutils nixpkgs#attic-client --command bash #! nix shell nixpkgs#bash nixpkgs#findutils nixpkgs#attic-client --command bash
sync_directories=( sync_directories=(
/ZFS/ZFS-primary/hydra /ZFS/ZFS-primary/hydra
) )
for dir in "${sync_directories[@]}"; do for dir in "${sync_directories[@]}"; do
find "$dir" -regex ".*\.drv$" -exec attic push cache-nix-dot '{}' \; find "$dir" -regex ".*\.drv$" -exec attic push cache-nix-dot '{}' \;
done done

View File

@ -23,6 +23,7 @@ in
"${act_path}/stable-latest-main/config.yaml:/config.yaml" "${act_path}/stable-latest-main/config.yaml:/config.yaml"
"${act_path}/stable-latest-main/data:/data" "${act_path}/stable-latest-main/data:/data"
"/var/run/docker.sock:/var/run/docker.sock" "/var/run/docker.sock:/var/run/docker.sock"
"/nix:/nix"
]; ];
environment = { environment = {
CONFIG_FILE = "/config.yaml"; CONFIG_FILE = "/config.yaml";
@ -45,6 +46,7 @@ in
"${act_path}/stable-latest-1/config.yaml:/config.yaml" "${act_path}/stable-latest-1/config.yaml:/config.yaml"
"${act_path}/stable-latest-1/data:/data" "${act_path}/stable-latest-1/data:/data"
"/var/run/docker.sock:/var/run/docker.sock" "/var/run/docker.sock:/var/run/docker.sock"
"/nix:/nix"
]; ];
environment = { environment = {
CONFIG_FILE = "/config.yaml"; CONFIG_FILE = "/config.yaml";
@ -67,6 +69,7 @@ in
"${act_path}/stable-latest-2/config.yaml:/config.yaml" "${act_path}/stable-latest-2/config.yaml:/config.yaml"
"${act_path}/stable-latest-2/data:/data" "${act_path}/stable-latest-2/data:/data"
"/var/run/docker.sock:/var/run/docker.sock" "/var/run/docker.sock:/var/run/docker.sock"
"/nix:/nix"
]; ];
environment = { environment = {
CONFIG_FILE = "/config.yaml"; CONFIG_FILE = "/config.yaml";
@ -89,6 +92,7 @@ in
"${act_path}/stable-latest-3/config.yaml:/config.yaml" "${act_path}/stable-latest-3/config.yaml:/config.yaml"
"${act_path}/stable-latest-3/data:/data" "${act_path}/stable-latest-3/data:/data"
"/var/run/docker.sock:/var/run/docker.sock" "/var/run/docker.sock:/var/run/docker.sock"
"/nix:/nix"
]; ];
environment = { environment = {
CONFIG_FILE = "/config.yaml"; CONFIG_FILE = "/config.yaml";
@ -111,6 +115,7 @@ in
"${act_path}/stable-latest-4/config.yaml:/config.yaml" "${act_path}/stable-latest-4/config.yaml:/config.yaml"
"${act_path}/stable-latest-4/data:/data" "${act_path}/stable-latest-4/data:/data"
"/var/run/docker.sock:/var/run/docker.sock" "/var/run/docker.sock:/var/run/docker.sock"
"/nix:/nix"
]; ];
environment = { environment = {
CONFIG_FILE = "/config.yaml"; CONFIG_FILE = "/config.yaml";
@ -133,6 +138,7 @@ in
"${act_path}/stable-latest-5/config.yaml:/config.yaml" "${act_path}/stable-latest-5/config.yaml:/config.yaml"
"${act_path}/stable-latest-5/data:/data" "${act_path}/stable-latest-5/data:/data"
"/var/run/docker.sock:/var/run/docker.sock" "/var/run/docker.sock:/var/run/docker.sock"
"/nix:/nix"
]; ];
environment = { environment = {
CONFIG_FILE = "/config.yaml"; CONFIG_FILE = "/config.yaml";

View File

@ -31,47 +31,47 @@
default-address-pools = [ default-address-pools = [
{ {
base = "169.254.2.0/23"; base = "169.254.2.0/23";
size = "28"; size = 28;
} }
{ {
base = "169.254.4.0/22"; base = "169.254.4.0/22";
size = "28"; size = 28;
} }
{ {
base = "169.254.8.0/21"; base = "169.254.8.0/21";
size = "28"; size = 28;
} }
{ {
base = "169.254.16.0/20"; base = "169.254.16.0/20";
size = "28"; size = 28;
} }
{ {
base = "169.254.32.0/19"; base = "169.254.32.0/19";
size = "28"; size = 28;
} }
{ {
base = "169.254.64.0/18"; base = "169.254.64.0/18";
size = "28"; size = 28;
} }
{ {
base = "169.254.128.0/18"; base = "169.254.128.0/18";
size = "28"; size = 28;
} }
{ {
base = "169.254.192.0/19"; base = "169.254.192.0/19";
size = "28"; size = 28;
} }
{ {
base = "169.254.224.0/20"; base = "169.254.224.0/20";
size = "28"; size = 28;
} }
{ {
base = "169.254.240.0/21"; base = "169.254.240.0/21";
size = "28"; size = 28;
} }
{ {
base = "169.254.248.0/22"; base = "169.254.248.0/22";
size = "28"; size = 28;
} }
]; ];
mtu = 9000; mtu = 9000;

View File

@ -100,7 +100,7 @@ in
}; };
"docker/collabora" = { "docker/collabora" = {
owner = "www-data"; owner = "www-data";
restartUnits = [ "docker-collabora.service" ]; restartUnits = [ "docker-collabora-code.service" ];
}; };
}; };
}; };

View File

@ -6,8 +6,8 @@ outdated_msg="Project code is out of date and needs to be upgraded. To remedy th
label="$1" label="$1"
label_val="$2" label_val="$2"
if (( $# != 2 )); then if (($# != 2)); then
echo "usage: $0 label label_value" echo "usage: $0 label label_value"
fi fi
containers=$(docker ps --format '{{.Names}}' -f "label=${label}=${label_val}") containers=$(docker ps --format '{{.Names}}' -f "label=${label}=${label_val}")

View File

@ -19,6 +19,8 @@ in
enable = true; enable = true;
enableJIT = true; enableJIT = true;
package = pkgs.postgresql_16; package = pkgs.postgresql_16;
enableAllPreloadedLibraries = true;
configurePgStatStatements = true;
identMap = '' identMap = ''
# ArbitraryMapName systemUser DBUser # ArbitraryMapName systemUser DBUser
superuser_map root postgres superuser_map root postgres

View File

@ -12,3 +12,21 @@ command = "nixfmt"
#options = [] #options = []
# Glob pattern of files to include # Glob pattern of files to include
includes = [ "*.nix" ] includes = [ "*.nix" ]
[formatter.jsonfmt]
command = "jsonfmt"
excludes = []
includes = ["*.json"]
options = ["-w"]
[formatter.shfmt]
command = "shfmt"
excludes = []
includes = ["*.sh", "*.bash", "*.envrc", "*.envrc.*"]
options = ["-i", "2", "-s", "-w"]
[formatter.yamlfmt]
command = "yamlfmt"
excludes = []
includes = ["*.yaml", "*.yml"]
options = ["-formatter","indent=4"]

View File

@ -16,6 +16,7 @@
./home/gammastep.nix ./home/gammastep.nix
./home/doom ./home/doom
./home/hypr ./home/hypr
./home/waybar.nix
./non-server.nix ./non-server.nix
]; ];
@ -75,6 +76,7 @@
nix-prefetch nix-prefetch
nix-tree nix-tree
nh nh
nix-prefetch-scripts
# doom emacs dependencies # doom emacs dependencies
fd fd
@ -89,6 +91,7 @@
nodejs_20 nodejs_20
nodePackages.prettier nodePackages.prettier
treefmt treefmt
]; ];
}; };

View File

@ -8,6 +8,7 @@
{ {
xdg.configFile = { xdg.configFile = {
"hypr/hyprland.conf".source = ./hyprland.conf; "hypr/hyprland.conf".source = ./hyprland.conf;
"hypr/show-hide.sh".source = ./show-hide.sh;
}; };
imports = [ imports = [

View File

@ -18,14 +18,14 @@
listener = [ listener = [
{ {
timeout = 150; # 2.5min. timeout = 150; # 2.5min.
on-timeout = "brightnessctl -s set 1"; # set monitor backlight to minimum, avoid 0 on OLED monitor. on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -s set 1"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = "brightnessctl -r"; # monitor backlight restore. on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -r"; # monitor backlight restore.
} }
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. # turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
{ {
timeout = 150; # 2.5min. timeout = 150; # 2.5min.
on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight. on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight.
on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight. on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight.
} }
{ {
timeout = 300; # 5min timeout = 300; # 5min

View File

@ -22,6 +22,9 @@ monitor=,preferred,auto,auto
# exec-once = waybar & hyprpaper & firefox # exec-once = waybar & hyprpaper & firefox
exec-once = wired & exec-once = wired &
exec-once = wired
exec-once = systemctl --user start polkit-gnome-authentication-agent-1.service
# Source a file (multi-file configs) # Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf # source = ~/.config/hypr/myColors.conf
@ -207,3 +210,7 @@ bind = $mainMod, P, exec, bwm
# lock screen # lock screen
bind = $mainMod, L, exec, loginctl lock-session bind = $mainMod, L, exec, loginctl lock-session
# hide active window
bind = $mainMod,H,exec,/home/alice/config/hypr/hide_unhide_window.sh h
# show hide window
bind = $mainMod,I,exec,/home/alice/config/hypr/hide_unhide_window.sh s

View File

@ -11,7 +11,8 @@
settings = { settings = {
general = { general = {
immediate_render = true; immediate_render = true;
no_fade_in = true; # disabling as config doesn't exist
#no_fade_in = true;
}; };
background = { background = {
monitor = ""; monitor = "";
@ -54,7 +55,8 @@
dots_spacing = 0.15; # Scale of dots' absolute size, -1.0 - 1.0 dots_spacing = 0.15; # Scale of dots' absolute size, -1.0 - 1.0
dots_center = false; dots_center = false;
dots_rounding = -1; # -1 default circle, -2 follow input-field rounding dots_rounding = -1; # -1 default circle, -2 follow input-field rounding
dots_fade_time = 200; # Milliseconds until a dot fully fades in # disabling as config doesn't exist
# dots_fade_time = 200; # Milliseconds until a dot fully fades in
dots_text_format = ""; # Text character used for the input indicator. Leave empty for a rectangle that will be rounded via dots_rounding (default). dots_text_format = ""; # Text character used for the input indicator. Leave empty for a rectangle that will be rounded via dots_rounding (default).
# disabling due to stylix # disabling due to stylix
# outer_color = "rgb(151515)"; # outer_color = "rgb(151515)";
@ -70,7 +72,8 @@
#fail_color = "rgb(204, 34, 34)"; # if authentication failed, changes outer_color and fail message color #fail_color = "rgb(204, 34, 34)"; # if authentication failed, changes outer_color and fail message color
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>"; # can be set to empty fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>"; # can be set to empty
fail_timeout = 2000; # milliseconds before fail_text and fail_color disappears fail_timeout = 2000; # milliseconds before fail_text and fail_color disappears
fail_transition = 300; # transition time in ms between normal outer_color and fail_color # disabling as config doesn't exist
#fail_transition = 300; # transition time in ms between normal outer_color and fail_color
capslock_color = -1; capslock_color = -1;
numlock_color = -1; numlock_color = -1;
bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above) bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)

View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
stack_file="/tmp/hide_window_pid_stack.txt"
function hide_window() {
pid=$(hyprctl activewindow -j | jq '.pid')
hyprctl dispatch movetoworkspacesilent "88,pid:$pid"
echo "$pid" >>$stack_file
}
function show_window() {
pid=$(tail -1 $stack_file && sed -i '$d' $stack_file)
[ -z "$pid" ] && exit
current_workspace=$(hyprctl activeworkspace -j | jq '.id')
hyprctl dispatch movetoworkspacesilent "$current_workspace,pid:$pid"
}
if [ -n "$1" ]; then
if [ "$1" == "h" ]; then
hide_window >>/dev/null
else
show_window >>/dev/null
fi
fi

View File

@ -0,0 +1,40 @@
[
{
"height": 20,
"layer": "top",
"position": "top",
"output": [
"eDP-2",
"eDP-1",
"HDMI-0",
"DP-0"
],
"hyprland/workspaces": {
"active-only": true,
"all-outputs": false,
"show-special": true,
"move-to-monitor": true,
"format": "{icon} {windows}",
"format-window-separator": " ",
"format-icons": {
"1": "󰎤",
"2": "󰎧",
"3": "󰎪",
"default": "",
"empty": "󱓼",
"urgent": "󱨇"
},
"persistent-workspaces": {
"1": "HDMI-0"
},
"on-scroll-down": "hyprctl dispatch workspace e-1",
"on-scroll-up": "hyprctl dispatch workspace e+1",
"window-rewrite": {
"title<Steam>": ""
},
"window-rewrite-default": "",
"window-rewrite-separator": " ",
"sort-by": "number"
}
}
]

View File

@ -2,6 +2,6 @@
lib.mkIf (!machineConfig.server) { lib.mkIf (!machineConfig.server) {
programs.waybar = { programs.waybar = {
enable = true; enable = true;
#settings = builtins.fromJSON (import ./waybar.json); settings = builtins.fromJSON (builtins.readFile ./waybar.json);
}; };
} }

View File

@ -64,5 +64,6 @@
zathura zathura
obsidian obsidian
libreoffice-qt-fresh libreoffice-qt-fresh
wlr-randr
]; ];
} }

View File

@ -8,6 +8,7 @@ alice:
attic-nix-cache-reader: ENC[AES256_GCM,data:DWIkRri3lHJOVXIAbHWJL7cCV4FHjB91bbpPAib/5ZDKap3xjnxUjwswc7wjO1hCoV3+gmep1a64kma6MJts4bcAug5bPyrrPy//rVpCYvSbSmbPz5k4sW5GLU/Sf4NyBevsQo9KRrphpoSUQEFQB27vabYDjjkB051/qJo1B9B7nqmrSyd3np4YdyHAgUiMyJt0oqx8nXySz3XZU+DIM8/OhMZILpnEWIgyP2K7j8JNNpZZJ5sD/icUy6Vba/4LcKjtmYtfQ+HO1soyF6aMiQSjhp7fzJHktwa9kgB3oDzIg3KyCJYS2RNW7mW9Dd1T,iv:fvhGFU22KgknMpJbOkA3v29bKzRVX6hi7V7xJgSUjPg=,tag:TjGSUl0XXS7jlhP/NG4cvQ==,type:str] attic-nix-cache-reader: ENC[AES256_GCM,data:DWIkRri3lHJOVXIAbHWJL7cCV4FHjB91bbpPAib/5ZDKap3xjnxUjwswc7wjO1hCoV3+gmep1a64kma6MJts4bcAug5bPyrrPy//rVpCYvSbSmbPz5k4sW5GLU/Sf4NyBevsQo9KRrphpoSUQEFQB27vabYDjjkB051/qJo1B9B7nqmrSyd3np4YdyHAgUiMyJt0oqx8nXySz3XZU+DIM8/OhMZILpnEWIgyP2K7j8JNNpZZJ5sD/icUy6Vba/4LcKjtmYtfQ+HO1soyF6aMiQSjhp7fzJHktwa9kgB3oDzIg3KyCJYS2RNW7mW9Dd1T,iv:fvhGFU22KgknMpJbOkA3v29bKzRVX6hi7V7xJgSUjPg=,tag:TjGSUl0XXS7jlhP/NG4cvQ==,type:str]
attic-nix-cache-writer: ENC[AES256_GCM,data:vxSeys7EJDyatZFpeyxeDzaKGqDtm3atpVly6+BPHUFTrlLaVl86roGZjpBB9wwOMuP007qJNva0HQcTONbSyNw/snUU5JpaFWLT87Eu81V8gdulzHwm61caQ4A/e1ylKkdtwalNymBSyWi9b+SOWXTgralrg9L3OHw+nVuZaAi8QXF2ImLoZ2vXl7MGNXParflV2KK2uqfRatDZMbSSFipT0tQpkNTBTA6l8woILK3BKrHdYq+D8n4EmRowSuMWuN1uknyctb4+Ap3AeBITvyJjKejocQ9qK9plP6CChiC4Z1mmt/HOrfXYXiJO+Va64rOYRywMga8=,iv:bAx7iR24dpIOudkiFOc/xmIG73rcaMDdhWjiBO4BsBM=,tag:gtTyldhdRV97YJREG5lPjA==,type:str] attic-nix-cache-writer: ENC[AES256_GCM,data:vxSeys7EJDyatZFpeyxeDzaKGqDtm3atpVly6+BPHUFTrlLaVl86roGZjpBB9wwOMuP007qJNva0HQcTONbSyNw/snUU5JpaFWLT87Eu81V8gdulzHwm61caQ4A/e1ylKkdtwalNymBSyWi9b+SOWXTgralrg9L3OHw+nVuZaAi8QXF2ImLoZ2vXl7MGNXParflV2KK2uqfRatDZMbSSFipT0tQpkNTBTA6l8woILK3BKrHdYq+D8n4EmRowSuMWuN1uknyctb4+Ap3AeBITvyJjKejocQ9qK9plP6CChiC4Z1mmt/HOrfXYXiJO+Va64rOYRywMga8=,iv:bAx7iR24dpIOudkiFOc/xmIG73rcaMDdhWjiBO4BsBM=,tag:gtTyldhdRV97YJREG5lPjA==,type:str]
attic-nix-cache-admin: ENC[AES256_GCM,data:OP02nJTo0cx8M9cR+P7cpI1gEXCKqXWehlaL+dYGwGSUnQ6iSC25vpdZ5SSnjyhiBZe+VnYld+b5PO+OOt7NMGxVvQ0zcuvrG7qfhEpIfGrbx9S9cEV2eAMchG/Hua609MUTbFYKvpwWw6tFZD2dYYQv2gXI7mYSeN0Tw4i2x1f/+cKDtV+ak+UHRgEe/f5OdE8v5I6dRXUQGVOBSRAQkfYDFuI2JUz4oNJsz66YkdMtgudhqWi4mekODD3v2Gcg/zAv1PogaHaIH1BHNvLQ/DsNVcvLsnTb6inM3cTCyPpHcx+VwPO7g9kYNV8xcCRkAIvX6aFzRVT0tJcEXFWStMnKS8nr8HoKFQ==,iv:ftmN3jK5qa6SwrSyhhL3PZls2hTG6xGa0LW7ycdkYxQ=,tag:TQCELzJQjsMfAJseZ7tB4w==,type:str] attic-nix-cache-admin: ENC[AES256_GCM,data:OP02nJTo0cx8M9cR+P7cpI1gEXCKqXWehlaL+dYGwGSUnQ6iSC25vpdZ5SSnjyhiBZe+VnYld+b5PO+OOt7NMGxVvQ0zcuvrG7qfhEpIfGrbx9S9cEV2eAMchG/Hua609MUTbFYKvpwWw6tFZD2dYYQv2gXI7mYSeN0Tw4i2x1f/+cKDtV+ak+UHRgEe/f5OdE8v5I6dRXUQGVOBSRAQkfYDFuI2JUz4oNJsz66YkdMtgudhqWi4mekODD3v2Gcg/zAv1PogaHaIH1BHNvLQ/DsNVcvLsnTb6inM3cTCyPpHcx+VwPO7g9kYNV8xcCRkAIvX6aFzRVT0tJcEXFWStMnKS8nr8HoKFQ==,iv:ftmN3jK5qa6SwrSyhhL3PZls2hTG6xGa0LW7ycdkYxQ=,tag:TQCELzJQjsMfAJseZ7tB4w==,type:str]
gitea-actions-token: ENC[AES256_GCM,data:QTEPMAh1RWWJ/O3yhkQkEBTdVL8XhIRGCDbiM0lLjfILKF4SpSJ2sA==,iv:mBaaB1JHb2KVc9n2pdeX4pSMvb7q5z3joMT7rR5Whgs=,tag:ef+58SI4AUeqUsk3RVDsRQ==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -41,8 +42,8 @@ sops:
ZERFTlFyNjhOb3VCaW43ZXFHT1Vxc0UK7YV+BU7dCEOZxpqkQA394eDsnthvorj6 ZERFTlFyNjhOb3VCaW43ZXFHT1Vxc0UK7YV+BU7dCEOZxpqkQA394eDsnthvorj6
7bqrCdeU+6DU7DmFs6++BrNO2tx8vvOa1im+ZGrM/gZAJdv/7R2d6Q== 7bqrCdeU+6DU7DmFs6++BrNO2tx8vvOa1im+ZGrM/gZAJdv/7R2d6Q==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-26T04:17:36Z" lastmodified: "2025-03-18T22:08:52Z"
mac: ENC[AES256_GCM,data:BJ5d3iqdIBwqtnYOYfmsFqnJDXz67uzJ4UKWrjVUEgr4Nc95tE8mEyV40poZk/wAJGJMSDdRhsPmZI4H1xztkjkTsUCUJ2rR+SZ6gP1VhSEXu7bSvv63+bnajZQi9kZrfN0EZN8TLzzVHVvSVHcNEfbq9STWkZq6zCk9E2cUfhk=,iv:MQ/lQkNi/S3bfz1PegcVfwy06RsxdQwZIU6sdOjkhgU=,tag:l5tK1SUwjTolliPkbfNDHg==,type:str] mac: ENC[AES256_GCM,data:3Hr8FyzfZvvtyusqdDOjggDGFlBwyOq2VND+/jtNbY5i5JPK+qTkamn98IKkcHSPooaIVzEAek91fZDo90mYRhCzEwfbLATmFXPHsZHUg+5nD8VzcNUWQDb2/ey4RPhzTMtXfY9v9wdIcTdBKYKSZ61puptSX8nJ2S74ag6B5AY=,iv:J+VxUvwWE496DqTsVXdlpxgkf8zGT9uDvt6RLrmc0n0=,tag:X2Qg3DDzOTBDqo+6eQPHvw==,type:str]
pgp: pgp:
- created_at: "2024-09-05T06:10:22Z" - created_at: "2024-09-05T06:10:22Z"
enc: |- enc: |-
@ -57,4 +58,4 @@ sops:
-----END PGP MESSAGE----- -----END PGP MESSAGE-----
fp: 5EFFB75F7C9B74EAA5C4637547940175096C1330 fp: 5EFFB75F7C9B74EAA5C4637547940175096C1330
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.3 version: 3.9.4

View File

@ -6,17 +6,21 @@
set -e set -e
# retrieve all paths under 2G # retrieve all paths under 2G
nix_paths=$(nix path-info --json --all --closure-size \ # nix_paths=$(nix path-info --json --all --closure-size \
| jq 'map_values(.closureSize | select(. < 2e9)) | to_entries | sort_by(.value)' \ # | jq 'map_values(.closureSize | select(. < 2e9)) | to_entries | sort_by(.value)' \
| jq 'map(.key) | join("\n")' | sed -E -e 's/\\n/\n/g;s/^"//g;s/"$//g') # | jq 'map(.key) | join("\n")' | sed -E -e 's/\\n/\n/g;s/^"//g;s/"$//g')
# retrieve all paths
nix_paths=$(nix path-info --json --all --closure-size |
jq 'map_values(.closureSize | select(true)) | to_entries | sort_by(.value)' |
jq 'map(.key) | join("\n")' | sed -E -e 's/\\n/\n/g;s/^"//g;s/"$//g')
readarray -t nix_path_array < <(echo "$nix_paths") readarray -t nix_path_array < <(echo "$nix_paths")
batchsize=1000 batchsize=1000
for((i=0; i < ${#nix_path_array[@]}; i+=batchsize)) for ((i = 0; i < ${#nix_path_array[@]}; i += batchsize)); do
do part=("${nix_path_array[@]:i:batchsize}")
part=( "${nix_path_array[@]:i:batchsize}" )
attic push nix-cache "${part[@]}" attic push nix-cache "${part[@]}"
done done

View File

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
if (( $# != 3 )); then if (($# != 3)); then
echo "usage: $0 <cache/cache group> <cache pattern> <token type>" echo "usage: $0 <cache/cache group> <cache pattern> <token type>"
exit 1 exit 1
fi fi
cache="$1" cache="$1"
@ -10,27 +10,27 @@ cache_pattern="$2"
token_type="$3" token_type="$3"
case $token_type in case $token_type in
"cache-creator") "cache-creator")
atticd-atticadm make-token --sub "$cache-cache-creator" --validity "1y" \ atticd-atticadm make-token --sub "$cache-cache-creator" --validity "1y" \
--pull "$cache_pattern" --push "$cache_pattern" --delete "$cache_pattern" \ --pull "$cache_pattern" --push "$cache_pattern" --delete "$cache_pattern" \
--create-cache "$cache_pattern" --configure-cache "$cache_pattern" \ --create-cache "$cache_pattern" --configure-cache "$cache_pattern" \
--configure-cache-retention "$cache_pattern" --destroy-cache "$cache_pattern" --configure-cache-retention "$cache_pattern" --destroy-cache "$cache_pattern"
;; ;;
"admin") "admin")
atticd-atticadm make-token --sub "$cache-admin" --validity "1y" --pull "$cache_pattern" \ atticd-atticadm make-token --sub "$cache-admin" --validity "1y" --pull "$cache_pattern" \
--push "$cache_pattern" --configure-cache "$cache_pattern" \ --push "$cache_pattern" --configure-cache "$cache_pattern" \
--configure-cache-retention "$cache_pattern" --configure-cache-retention "$cache_pattern"
;; ;;
"writer") "writer")
atticd-atticadm make-token --sub "$cache-writer" --validity "1y" --pull "$cache_pattern" \ atticd-atticadm make-token --sub "$cache-writer" --validity "1y" --pull "$cache_pattern" \
--push "$cache_pattern" --push "$cache_pattern"
;; ;;
"reader") "reader")
atticd-atticadm make-token --sub "$cache-reader" --validity "1y" --pull "$cache_pattern" atticd-atticadm make-token --sub "$cache-reader" --validity "1y" --pull "$cache_pattern"
;; ;;
*) *)
echo "invalid token type: $token_type" echo "invalid token type: $token_type"
echo "available options: cache-creator, admin, writer, reader" echo "available options: cache-creator, admin, writer, reader"
exit 1 exit 1
;; ;;
esac esac

View File

@ -10,15 +10,4 @@ set -e
script_path=$(dirname "$(readlink -f $0)") script_path=$(dirname "$(readlink -f $0)")
parent_path=$(dirname "$script_path") parent_path=$(dirname "$script_path")
readarray -t pre_drv < "$parent_path/pre-drv" nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --compare-drvs --compare-output-to-file "$parent_path"
readarray -t post_drv < "$parent_path/post-drv"
post_drv_path="$parent_path/post-diff"
# cleanup any files with the same name
rm "$post_drv_path" || true
touch "$post_drv_path"
for i in $(seq 0 $(( "${#pre_drv[@]}" -1 ))); do
echo "Diffing updates to $(echo "${pre_drv[$i]}" | cut -f 2- -d '-')" >> "$post_drv_path"
nvd diff "${pre_drv[$i]}" "${post_drv[$i]}" >> "$post_drv_path"
done

View File

@ -8,15 +8,12 @@ set -v
set -e set -e
if [ "$#" -ne 1 ]; then if [ "$#" -ne 1 ]; then
echo "$0 (pre|post)" echo "$0 (pre|post)"
exit 1 exit 1
fi fi
script_path=$(dirname "$(readlink -f $0)") script_path=$(dirname "$(readlink -f $0)")
parent_path=$(dirname "$script_path") parent_path=$(dirname "$script_path")
out_path="$parent_path/$1-drv" out_path="$parent_path/$1.json"
nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --evaluate --json "$out_path" "$parent_path"
drv=$(nix flake check --verbose 2> >(grep -P -o "derivation evaluated to (/nix/store/.*\.drv)" | grep -P -o "/nix/store/.*\.drv"))
echo "$drv" > "$out_path"

View File

@ -14,10 +14,10 @@ parent_path=$(dirname "$script_path")
# relpath is the relative path to the parent_path where you want the file written # relpath is the relative path to the parent_path where you want the file written
# format: <image name>,<image tag>,<image architecture>,<os>,<relpath> # format: <image name>,<image tag>,<image architecture>,<os>,<relpath>
images=( images=(
"nextcloud,apache,amd64,linux,/systems/palatine-hill/docker/nextcloud-image/nextcloud-apache.nix" "nextcloud,apache,amd64,linux,/systems/palatine-hill/docker/nextcloud-image/nextcloud-apache.nix"
) )
IFS="," IFS=","
while read -r name tag arch os relpath; do while read -r name tag arch os relpath; do
nix-prefetch-docker --image-name "$name" --image-tag "$tag" --arch "$arch" --os "$os" --quiet > "$parent_path/$relpath" nix-prefetch-docker --image-name "$name" --image-tag "$tag" --arch "$arch" --os "$os" --quiet >"$parent_path/$relpath"
git --no-pager diff "$parent_path/$relpath" git --no-pager diff "$parent_path/$relpath"
done<<< "${images[@]}" done <<<"${images[@]}"

View File

@ -2,7 +2,10 @@
# Rename CLI parameters to friendlier names # Rename CLI parameters to friendlier names
# https://git-scm.com/docs/gitattributes#_defining_a_custom_merge_driver # https://git-scm.com/docs/gitattributes#_defining_a_custom_merge_driver
base="$1"; local_="$2"; remote="$3"; merged="$4" base="$1"
local_="$2"
remote="$3"
merged="$4"
# Load the mergetool scripts # Load the mergetool scripts
TOOL_MODE=merge TOOL_MODE=merge
@ -20,7 +23,7 @@ merged_decrypted="${base_decrypted/_BASE_/_MERGED_}"
backup_decrypted="${base_decrypted/_BASE_/_BACKUP_}" backup_decrypted="${base_decrypted/_BASE_/_BACKUP_}"
# If anything goes wrong, then delete our decrypted files # If anything goes wrong, then delete our decrypted files
handle_trap_exit () { handle_trap_exit() {
rm $base_decrypted || true rm $base_decrypted || true
rm $local_decrypted || true rm $local_decrypted || true
rm $remote_decrypted || true rm $remote_decrypted || true
@ -30,12 +33,12 @@ handle_trap_exit () {
trap handle_trap_exit EXIT trap handle_trap_exit EXIT
# Decrypt our file contents # Decrypt our file contents
sops --decrypt --show-master-keys "$base" > "$base_decrypted" sops --decrypt --show-master-keys "$base" >"$base_decrypted"
sops --decrypt --show-master-keys "$local_" > "$local_decrypted" sops --decrypt --show-master-keys "$local_" >"$local_decrypted"
sops --decrypt --show-master-keys "$remote" > "$remote_decrypted" sops --decrypt --show-master-keys "$remote" >"$remote_decrypted"
# Create a merge-diff to compare against # Create a merge-diff to compare against
git merge-file -p "$local_decrypted" "$base_decrypted" "$remote_decrypted" > "$merged_decrypted" git merge-file -p "$local_decrypted" "$base_decrypted" "$remote_decrypted" >"$merged_decrypted"
cp "$merged_decrypted" "$backup_decrypted" cp "$merged_decrypted" "$backup_decrypted"
# Set up variables for the mergetool # Set up variables for the mergetool
@ -48,7 +51,7 @@ MERGED="$merged_decrypted"
BACKUP="$backup_decrypted" BACKUP="$backup_decrypted"
# Override `check_unchanged` with a custom script # Override `check_unchanged` with a custom script
check_unchanged () { check_unchanged() {
# If the contents haven't changed, then fail # If the contents haven't changed, then fail
if test "$MERGED" -nt "$BACKUP"; then if test "$MERGED" -nt "$BACKUP"; then
return 0 return 0
@ -61,5 +64,4 @@ check_unchanged () {
run_merge_tool "${mergetool}" true run_merge_tool "${mergetool}" true
# Re-encrypt content # Re-encrypt content
sops --encrypt "$merged_decrypted" > "$merged" sops --encrypt "$merged_decrypted" >"$merged"

View File

@ -6,7 +6,10 @@ set -x
# Rename our variables to friendlier equivalents # Rename our variables to friendlier equivalents
# https://git-scm.com/docs/gitattributes#_defining_a_custom_merge_driver # https://git-scm.com/docs/gitattributes#_defining_a_custom_merge_driver
base="$1"; local_="$2"; remote="$3"; merged="$4" base="$1"
local_="$2"
remote="$3"
merged="$4"
echo "$base" echo "$base"
echo "$local_" echo "$local_"
@ -18,7 +21,7 @@ echo "$merged"
mergetool="$(git config --get merge.tool)" mergetool="$(git config --get merge.tool)"
GIT_DIR="$(git --exec-path)" GIT_DIR="$(git --exec-path)"
if test "$mergetool" = ""; then if test "$mergetool" = ""; then
echo "No default \`merge.tool\` was set for \`git\`. Please set one via \`git config --set merge.tool <tool>\`" 1>&2 echo 'No default `merge.tool` was set for `git`. Please set one via `git config --set merge.tool <tool>`' 1>&2
exit 1 exit 1
fi fi
@ -32,7 +35,7 @@ merged_decrypted="${base_decrypted/_BASE_/_MERGED_}"
backup_decrypted="${base_decrypted/_BASE_/_BACKUP_}" backup_decrypted="${base_decrypted/_BASE_/_BACKUP_}"
# If anything goes wrong, then delete our decrypted files # If anything goes wrong, then delete our decrypted files
handle_trap_exit () { handle_trap_exit() {
rm $base_decrypted || true rm $base_decrypted || true
rm $local_decrypted || true rm $local_decrypted || true
rm $remote_decrypted || true rm $remote_decrypted || true
@ -42,13 +45,13 @@ handle_trap_exit () {
trap handle_trap_exit EXIT trap handle_trap_exit EXIT
# Decrypt our file contents # Decrypt our file contents
sops --decrypt --show-master-keys "$base" > "$base_decrypted" sops --decrypt --show-master-keys "$base" >"$base_decrypted"
sops --decrypt --show-master-keys "$local_" > "$local_decrypted" sops --decrypt --show-master-keys "$local_" >"$local_decrypted"
sops --decrypt --show-master-keys "$remote" > "$remote_decrypted" sops --decrypt --show-master-keys "$remote" >"$remote_decrypted"
# Create a merge-diff to compare against # Create a merge-diff to compare against
set +e set +e
git merge-file -p "$local_decrypted" "$base_decrypted" "$remote_decrypted" > "$merged_decrypted" git merge-file -p "$local_decrypted" "$base_decrypted" "$remote_decrypted" >"$merged_decrypted"
set -e set -e
cp "$merged_decrypted" "$backup_decrypted" cp "$merged_decrypted" "$backup_decrypted"
@ -66,7 +69,7 @@ source "$GIT_DIR/git-mergetool--lib"
source "$GIT_DIR/mergetools/$mergetool" source "$GIT_DIR/mergetools/$mergetool"
# Override `check_unchanged` with a custom script # Override `check_unchanged` with a custom script
check_unchanged () { check_unchanged() {
# If the contents haven't changed, then fail # If the contents haven't changed, then fail
if test "$MERGED" -nt "$BACKUP"; then if test "$MERGED" -nt "$BACKUP"; then
return 0 return 0
@ -82,5 +85,4 @@ merge_cmd
set -eu set -eu
# Re-encrypt content # Re-encrypt content
sops --encrypt "$merged_decrypted" > "$merged" sops --encrypt "$merged_decrypted" >"$merged"