Compare commits

...

369 commits

Author SHA1 Message Date
9ea4b26421 feat(flake): use nix-systems and make sure all inputs use the same one
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-06 13:27:06 -04:00
c5c1dfe63b refactor(flake): rename flake.in.nix to outputs.nix
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-05 20:51:11 -04:00
087dd2af15 refactor: rename checks and move files out of flake dir
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-05 16:40:32 -04:00
94bd0d81f5 refactor(desktop): place all theming config in same folder
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-05 16:23:53 -04:00
755ef78440 chore(servers): jellyfin 10.9.8 -> 10.9.9
All checks were successful
Discord / discord commits (push) Successful in 1m3s
2024-08-05 11:45:07 -04:00
eba41259b4 feat(bbsteamie): set plymouth to bgrt
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-04 20:36:20 -04:00
8aa6f5b2b0 fix(bbsteamie): use plasma wayland without annoying popups
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-04 18:44:53 -04:00
d8ef7d99ed chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'caddy-plugins':
    'github:matt1432/nixos-caddy-cloudflare/f2a856f' (2024-07-31)
  → 'github:matt1432/nixos-caddy-cloudflare/7b84723' (2024-08-03)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/f7a47ab' (2024-07-31)
  → 'github:matt1432/discord-nightly-overlay/91d970e' (2024-08-04)

• Updated input 'discord-overlay/Vencord-src':
    'github:Vendicated/vencord/1bfdcf2' (2024-07-31)
  → 'github:Vendicated/vencord/5160f90' (2024-08-03)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=dde9c3f' (2024-08-01)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=7bee923' (2024-08-04)

• Updated input 'headscale':
    'github:juanfont/headscale/06f0705' (2024-07-28)
  → 'github:juanfont/headscale/948d53f' (2024-08-04)

• Updated input 'home-manager':
    'github:nix-community/home-manager/6e09057' (2024-07-31)
  → 'github:nix-community/home-manager/afc892d' (2024-08-02)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=09bb565&submodules=1' (2024-08-01)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=5dd2c27&submodules=1' (2024-08-04)

• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/4c2cef8' (2024-07-22)
  → 'github:hyprwm/hyprland-plugins/4fcb403' (2024-08-03)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/ff83ee2' (2024-08-01)
  → 'github:Jovian-Experiments/Jovian-NixOS/bcfe9dc' (2024-08-03)

• Updated input 'nh':
    'github:viperML/nh/168c7ce' (2024-07-16)
  → 'github:viperML/nh/324ed46' (2024-08-03)

• Updated input 'nix-gaming':
    'github:fufexan/nix-gaming/78f4737' (2024-08-01)
  → 'github:fufexan/nix-gaming/88aa6c5' (2024-08-04)

• Updated input 'nix-gaming/umu':
    'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=7e00027&submodules=1' (2024-07-26)
  → 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=babc721&submodules=1' (2024-08-03)

• Updated input 'nix-index-db':
    'github:Mic92/nix-index-database/c0ca47e' (2024-07-28)
  → 'github:Mic92/nix-index-database/97ca0a0' (2024-08-04)

• Updated input 'nixd':
    'github:nix-community/nixd/5c3f5ca' (2024-07-31)
  → 'github:nix-community/nixd/d938026' (2024-08-02)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9f918d6' (2024-07-31)
  → 'github:NixOS/nixpkgs/d049530' (2024-08-02)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/f542b1e' (2024-08-02)
  → 'github:nix-community/nixpkgs-wayland/55eeb6e' (2024-08-04)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/f3cc4e9' (2024-08-01)
  → 'github:matt1432/nixos-pcsd/bd2cfa7' (2024-08-02)

Docker Images:
• rssbridge/rss-bridge latest:
   sha256:7fe570255a762fe4c183be06bcb58f0a5718605a24bd4a87ef32fc6e8ea8657d
 → sha256:e13b87cd36a828237d9e284e66ca6fb55e1d9819d6c925e35a689e6b529aeb39

• nextcloud 29.0.4-fpm:
   sha256:3673ad2455a4dfbdbeef2860aa0f5955b3b122a5ed56d463a0315df9e4405758
 → sha256:5640795ab708511d584f9e21d7c468f7c3533c92b5f216075b1883bcca4df91c

• ghcr.io/linuxserver/calibre-web latest:
   sha256:49660a8890e2e4356cbc4b8874ff5ad1ebc40f647fdb2419fc289700affebcf0
 → sha256:14c3eafe5aec2344581e27991adc6545c9928f54020b50affe1678b8b5f22021

• ghcr.io/linuxserver/sonarr latest:
   sha256:fbee5770f688e4f89dd073534feda11251bfde0e0a4e6ac74dd8c33bb856b505
 → sha256:f0c1fe322671a5c4a302e27ee7aac622fb3c7ba6da231f6c378fe07ab900d6eb
2024-08-04 15:12:56 -04:00
c91c8e703e fix(pkgs): improve versioning
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-04 13:52:41 -04:00
cf4cfa8b6a fix(mail): delay open to wait for wifi
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-03 21:15:32 -04:00
be865cc86f fix(desktop): adjust paths to newest refactor
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-03 20:30:23 -04:00
2861935ddd fix(#1): merge 'follows' directives with mkDep
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-02 23:28:04 -04:00
24aa4b9842 refactor: make modules independant and exposed in the flake for outside use
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-02 22:32:29 -04:00
bc753eb285 feat(nvim): reduce nixd logs
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-02 11:26:15 -04:00
fef7e37f17 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/a9c387d' (2024-07-30)
  → 'github:matt1432/discord-nightly-overlay/f7a47ab' (2024-07-31)

• Updated input 'discord-overlay/Vencord-src':
    'github:Vendicated/vencord/5e9a9fe' (2024-07-25)
  → 'github:Vendicated/vencord/1bfdcf2' (2024-07-31)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=ddf3fa5' (2024-07-28)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=dde9c3f' (2024-08-01)

• Updated input 'home-manager':
    'github:nix-community/home-manager/4fcd54d' (2024-07-30)
  → 'github:nix-community/home-manager/6e09057' (2024-07-31)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=3b9b534&submodules=1' (2024-07-30)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=09bb565&submodules=1' (2024-08-01)

• Updated input 'jellyfin-flake':
    'github:matt1432/nixos-jellyfin/7253d43' (2024-07-30)
  → 'github:matt1432/nixos-jellyfin/8787fa9' (2024-08-01)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/3bd0599' (2024-07-26)
  → 'github:Jovian-Experiments/Jovian-NixOS/ff83ee2' (2024-08-01)

• Updated input 'nix-gaming':
    'github:fufexan/nix-gaming/7a07614' (2024-07-29)
  → 'github:fufexan/nix-gaming/78f4737' (2024-08-01)

• Updated input 'nixd':
    'github:nix-community/nixd/4c306e7' (2024-07-26)
  → 'github:nix-community/nixd/5c3f5ca' (2024-07-31)

• Added input 'nixd/treefmt-nix':
    'github:numtide/treefmt-nix/768acdb' (2024-07-30)

• Added input 'nixd/treefmt-nix/nixpkgs':
    follows 'nixd/nixpkgs'

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3fcada1' (2024-07-30)
  → 'github:NixOS/nixpkgs/9f918d6' (2024-07-31)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/8badd76' (2024-07-30)
  → 'github:nix-community/nixpkgs-wayland/f542b1e' (2024-08-02)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/3fa8578' (2024-07-31)
  → 'github:matt1432/nixos-pcsd/f3cc4e9' (2024-08-01)

Docker Images:
• vegardit/gitea-act-runner dind-latest:
   sha256:4b6c8d7b73c597b70b6d675ad8bb75b1ad0cdd686fabd51a50f89baa2e9c27e8
 → sha256:a69efce45a138217a87e24fe0197519a95ec60fc35bfcaffaced9fed5e86a1ec

• rssbridge/rss-bridge latest:
   sha256:6161fe1fef70ad077dcae364164d7739c9c0d76bbc7f154dd64a2352fc93f291
 → sha256:7fe570255a762fe4c183be06bcb58f0a5718605a24bd4a87ef32fc6e8ea8657d

• nextcloud 29.0.4-fpm:
   sha256:ef2c7bb5acb7763d2f898214db4a65876c828aaf36567cd2ab2af6697c2f758e
 → sha256:3673ad2455a4dfbdbeef2860aa0f5955b3b122a5ed56d463a0315df9e4405758

• ghcr.io/linuxserver/calibre latest:
   sha256:9d769fe402690da7f3ca750a925859ef99b4e5bec86d4739f87c7cd43e18a246
 → sha256:e179e32b1ed42814816e5379d08ee9d9f957f6e704c8695bd1ffece9668a9192

• ghcr.io/linuxserver/prowlarr latest:
   sha256:9a98da4fb506278ce92c2fdbb4e08a38418dd1456e3dd8b3a1f00a42a8ec4fb0
 → sha256:7fe57565907f4f776d43c15b2e020a0e4a62fe1e04e80e25b85a3ae4ca49e5d0

• ghcr.io/linuxserver/sabnzbd latest:
   sha256:d6a2a967d47b495c5342bc23de76d35eeb2f3ceb53c7be51885ad25f95dffe9b
 → sha256:dda700370ad4281d8ffda4fbdad8ac3f720a2829936eafc794fca652095ed4be

• ghcr.io/fallenbagel/jellyseerr develop:
   sha256:788f508bdb33812a77acc8281e1299ff95ddebd07aee40d452e4f0c74bb15dc9
 → sha256:8ea014ac2b7058c3a6a68df0cb0399a96c04438f1c9376dee1bbb6ec747ee7c1

Firefox Addons:
ublock-origin: 1.58.0 -> 1.59.0

Misc Sources:
Vuetorrent: 2.11.0 -> 2.11.1
2024-08-02 01:38:41 -04:00
e1dd7909e0 feat(nvim): change cmp binds
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-02 00:08:30 -04:00
59675a6d1f feat(ags clipboard): hide long clips past 5 lines
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-01 21:09:38 -04:00
1928a74e90 feat(ags): cleanup sorted list and hide not matching clips
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-01 17:21:52 -04:00
3e4486dc33 feat(ags): set bar time to 12h format
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-01 14:00:50 -04:00
71058f3ea6 fix(ags clipboard): treat binary clips as text
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-01 13:44:49 -04:00
28615e8152 fix(ags nvim): get eslint to work again and update deps
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-01 12:54:32 -04:00
a79cb29aaf feat(steam): add proton pkg that doesn't change name in steam
All checks were successful
Discord / discord commits (push) Has been skipped
2024-08-01 00:41:47 -04:00
f0b721c12d fix(bbsteamie): put symlink of gaming mode switch on desktop
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-31 23:47:15 -04:00
be905e8d76 feat(bbsteamie): use wayland for sddm
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-31 23:40:58 -04:00
346fee51ca feat: add global npmrc
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-31 15:50:51 -04:00
2487d2db64 chore: change wan
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-31 03:35:30 -04:00
04b8aba9e7 refactor: change versioning to 0.0.0
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-30 22:35:17 -04:00
b04d77f43f chore: update flake.lock
Flake Inputs:
• Updated input 'caddy-plugins':
    'github:matt1432/nixos-caddy-cloudflare/3e6819b' (2024-07-04)
  → 'github:matt1432/nixos-caddy-cloudflare/f2a856f' (2024-07-30)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/4df152b' (2024-07-29)
  → 'github:matt1432/discord-nightly-overlay/a9c387d' (2024-07-30)

• Updated input 'home-manager':
    'github:nix-community/home-manager/89670e2' (2024-07-29)
  → 'github:nix-community/home-manager/4fcd54d' (2024-07-30)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=e673220&submodules=1' (2024-07-29)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=3b9b534&submodules=1' (2024-07-30)

• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/4918e57' (2024-07-27)
  → 'github:hyprwm/aquamarine/7c3565f' (2024-07-30)

• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/0e2f3b9' (2024-07-28)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/7f2a77d' (2024-07-30)

• Updated input 'jellyfin-flake':
    'github:matt1432/nixos-jellyfin/4b8f983' (2024-07-26)
  → 'github:matt1432/nixos-jellyfin/7253d43' (2024-07-30)

• Updated input 'khepri':
    'github:matt1432/khepri/52d9b7e' (2024-07-24)
  → 'github:matt1432/khepri/a7d1a51' (2024-07-30)

• Updated input 'minix':
    'github:matt1432/Minix/7537fb8' (2024-07-13)
  → 'github:matt1432/Minix/d3f8c44' (2024-07-30)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b73c222' (2024-07-27)
  → 'github:NixOS/nixpkgs/3fcada1' (2024-07-30)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/6642ef6' (2024-07-28)
  → 'github:nix-community/nixpkgs-wayland/8badd76' (2024-07-30)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/62b44c2' (2024-07-27)
  → 'github:matt1432/nixos-pcsd/3fa8578' (2024-07-30)

• Updated input 'pr-tracker':
    'github:matt1432/pr-tracker/c0df731' (2024-07-30)
  → 'github:matt1432/pr-tracker/8e93c30' (2024-07-30)

Docker Images:
• codeberg.org/forgejo/forgejo 8.0.0:
   sha256:6f4620d8fb4bb8288315b07ca65286da958745d623fc9eaef4bb4e0e34c68b3d
 → sha256:f3ec5c63038cf2ce31a71e50e48b24c334ba0a5233808d1a5a60d45203f84f02

• rssbridge/rss-bridge latest:
   sha256:5d8906da7276396e077e054eb7e646f4f02d639be60a0b3bded97ec751fc0700
 → sha256:6161fe1fef70ad077dcae364164d7739c9c0d76bbc7f154dd64a2352fc93f291

• ghcr.io/immich-app/immich-machine-learning v1.111.0:
   sha256:794c3fc4a1da9925f1fdd4ac13fd0646f11a5f682bd50e1cd7e2283f3332ac65
 → sha256:d4a5db2c7cda2897abea98a3d5fd0c3cc76618fff271708075faeee426fe1b64

• ghcr.io/immich-app/immich-server v1.111.0:
   sha256:9de91632ea5c0aabcd5558cab8b270f6bde00679fc6bdc35806fb49367e4a583
 → sha256:14ad5881f5afbea1dbf751e14acaafe00e6b012ffb18a56e9f117b00eb067d1d

• ghcr.io/linuxserver/bazarr latest:
   sha256:25f0d19ba9226fdf15aec0fc7fa134ba89fc6f77f09d7bd45b33c5960c47821e
 → sha256:e70de8a714ac57395d45052392001ec433b8f48aa1c204f13dae312cbcbe43af

Firefox Addons:
bitwarden: 2024.6.3 -> 2024.7.1
2024-07-30 22:21:08 -04:00
85ce0e06f7 chore(hyprgrass): get ride of override
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-30 02:03:55 -04:00
cc9cb421c8 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/798e83f' (2024-07-27)
  → 'github:matt1432/discord-nightly-overlay/4df152b' (2024-07-29)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=5e2a233' (2024-07-26)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=ddf3fa5' (2024-07-28)

• Updated input 'gtk-theme-src':
    'github:dracula/gtk/c9896cb' (2024-07-21)
  → 'github:dracula/gtk/100310f' (2024-07-29)

• Updated input 'headscale':
    'github:juanfont/headscale/4ad3f3c' (2024-07-22)
  → 'github:juanfont/headscale/06f0705' (2024-07-28)

• Updated input 'home-manager':
    'github:nix-community/home-manager/975b83c' (2024-07-27)
  → 'github:nix-community/home-manager/89670e2' (2024-07-29)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=729b47d46d0c749efbffe01ea863a124fad562b4&submodules=1' (2024-07-27)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=e67322034037fef22079c8e480be38c1d04b5a4a&submodules=1' (2024-07-29)

• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/f95d1509370b7f40ef356ff69a332bd0356ab044?narHash=sha256-GFDSPWxOqEkNrbuSfyoQHGIaRhJNapn2Rv0EEmBGR9A%3D' (2024-07-26)
  → 'github:hyprwm/aquamarine/4918e57979bbdbd05aabb20f63e1cb5dc289bcbd?narHash=sha256-75Hcx5Zu0f%2BBeCkZxN1frkYacjbkwgCq%2Bz3doVgr4Hw%3D' (2024-07-27)

• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/962582a090bc233c4de9d9897f46794280288989?narHash=sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk%3D' (2024-07-18)
  → 'github:hyprwm/hyprutils/5dcbbc1e3de40b2cecfd2007434d86e924468f1f?narHash=sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu%2BxHxIVtSN%2BKkWZYvvVs%3D' (2024-07-27)

• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/5555f467f68ce7cdf1060991c24263073b95e9da?narHash=sha256-O17b38bQnmfxv7It3OnVYx7fp1seEdI7xxnw5vJFv30%3D' (2024-07-23)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/0e2f3b9c85f7bab3983098a01366876d34daf383?narHash=sha256-Lj/g1UzrsTZUixtveQix6eB3pon2j23qv5/5pzTx0LQ%3D' (2024-07-28)
• Updated input 'hyprland/xdph/hyprland-protocols':
    'github:hyprwm/hyprland-protocols/1b61f0093afff20ab44d88ad707aed8bf2215290?narHash=sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY%3D' (2024-06-18)
  → 'github:hyprwm/hyprland-protocols/5a11232266bf1a1f5952d5b179c3f4b2facaaa84?narHash=sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg%3D' (2024-07-18)

• Updated input 'hyprgrass':
    'github:horriblename/hyprgrass/736119f' (2024-06-14)
  → 'github:horriblename/hyprgrass/5c93341' (2024-07-28)

• Updated input 'nix-gaming':
    'github:fufexan/nix-gaming/dc966ed' (2024-07-27)
  → 'github:fufexan/nix-gaming/7a07614' (2024-07-29)

• Updated input 'nix-gaming/umu':
    'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=abbdeed&submodules=1' (2024-07-20)
  → 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=7e00027&submodules=1' (2024-07-26)

• Updated input 'nix-index-db':
    'github:Mic92/nix-index-database/b6db9fd' (2024-07-21)
  → 'github:Mic92/nix-index-database/c0ca47e' (2024-07-28)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/9cf33b4' (2024-07-27)
  → 'github:nix-community/nixpkgs-wayland/6642ef6' (2024-07-28)

• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/e0ea775' (2024-07-21)
  → 'github:nix-community/lib-aggregate/4ce8efe' (2024-07-28)

• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/31a9902' (2024-07-21)
  → 'github:nix-community/nixpkgs.lib/d15f6f6' (2024-07-28)

Docker Images:
• rssbridge/rss-bridge latest:
   sha256:94480c924f35512e81ad846fd9968591c63d20221484b7774083055b990ab31f
 → sha256:5d8906da7276396e077e054eb7e646f4f02d639be60a0b3bded97ec751fc0700

• ghcr.io/linuxserver/calibre-web latest:
   sha256:604ae903f520bd5485bcbdb2f70ea460c90a559bca3d4ac3fc05b93da2737a0a
 → sha256:49660a8890e2e4356cbc4b8874ff5ad1ebc40f647fdb2419fc289700affebcf0

• ghcr.io/linuxserver/radarr latest:
   sha256:2a02b311cefb344cd0caf74a443b9d6318daf15bda5280a3bc732381db983dc3
 → sha256:9d6f0548fd805edb30108fdd06d0fc5a4436c9bd708b57bd4119d7aefa815fe4

• ghcr.io/fallenbagel/jellyseerr develop:
   sha256:4faf2f19c7a2be559354821e7da57477c236a22afb78e17a40dd40a75a120435
 → sha256:788f508bdb33812a77acc8281e1299ff95ddebd07aee40d452e4f0c74bb15dc9
2024-07-30 01:45:01 -04:00
dbc4e70900 feat: add pr-tracker service
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-30 00:24:10 -04:00
ffb8b9f154 feat(hypr): pin to latest commit that works
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-28 14:26:53 -04:00
d4d98bba73 feat(nvim): switch to cmp and add package-info
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-28 02:54:34 -04:00
b09cceb259 feat: add 'from' script to get real path of exe
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-28 01:44:16 -04:00
d823b36559 fix(hypr): pin commit to have fade out anims
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-28 01:06:50 -04:00
8ebc6de43e fix(docker): force global dns and update jfa
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-28 00:44:09 -04:00
a8a278202c chore: unpin pcsd and hypr to update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=cd942ad&submodules=1' (2024-07-25)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=bc86afe&submodules=1' (2024-07-27)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/40731ec' (2024-07-20)
  → 'github:matt1432/nixos-pcsd/62b44c2' (2024-07-27)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/1a8688b' (2024-07-26)
  → 'github:matt1432/discord-nightly-overlay/798e83f' (2024-07-27)

• Updated input 'home-manager':
    'github:nix-community/home-manager/bc2b96a' (2024-07-26)
  → 'github:nix-community/home-manager/975b83c' (2024-07-27)

• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/353dc1b' (2024-07-24)
  → 'github:hyprwm/aquamarine/4918e57' (2024-07-27)

• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/962582a' (2024-07-18)
  → 'github:hyprwm/hyprutils/5dcbbc1' (2024-07-27)

• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/663be9c' (2024-07-22)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/5555f46' (2024-07-23)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5ad6a14' (2024-07-25)
  → 'github:NixOS/nixpkgs/b73c222' (2024-07-27)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/55a7d37' (2024-07-26)
  → 'github:nix-community/nixpkgs-wayland/9cf33b4' (2024-07-27)

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/aff2f88' (2024-07-22)
  → 'github:Mic92/sops-nix/eb34eb5' (2024-07-27)
2024-07-27 17:40:10 -04:00
8c8c62bb6e feat(bbsteamie): add setup for palia map
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-27 15:22:55 -04:00
cfb4ab02f0 fix: pin hyprland to version wher ags doesn't crash
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-26 22:46:39 -04:00
2c6bc8215d fix: pin pcsd to working commit
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-26 22:26:08 -04:00
c7bf2a1b18 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'astal-tray':
    'github:astal-sh/tray/b18faef' (2024-07-17)
  → 'github:astal-sh/tray/5db80aa' (2024-07-26)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/843a8bd' (2024-07-24)
  → 'github:matt1432/discord-nightly-overlay/1a8688b' (2024-07-26)

• Updated input 'discord-overlay/Vencord-src':
    'github:Vendicated/vencord/80b493d' (2024-07-17)
  → 'github:Vendicated/vencord/5e9a9fe' (2024-07-25)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=e107adb' (2024-07-23)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=5e2a233' (2024-07-26)

• Updated input 'home-manager':
    'github:nix-community/home-manager/304a011' (2024-07-24)
  → 'github:nix-community/home-manager/bc2b96a' (2024-07-26)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=4beac91&submodules=1' (2024-07-24)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=57371b9&submodules=1' (2024-07-26)

• Updated input 'jellyfin-flake':
    'github:matt1432/nixos-jellyfin/77a7ca8' (2024-07-21)
  → 'github:matt1432/nixos-jellyfin/4b8f983' (2024-07-26)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/927eea3' (2024-07-17)
  → 'github:Jovian-Experiments/Jovian-NixOS/3bd0599' (2024-07-26)

• Updated input 'nix-gaming':
    'github:fufexan/nix-gaming/6796ca9' (2024-07-25)
  → 'github:fufexan/nix-gaming/dc966ed' (2024-07-27)

• Updated input 'nixd':
    'github:nix-community/nixd/86dc0ba' (2024-07-23)
  → 'github:nix-community/nixd/4c306e7' (2024-07-26)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/68c9ed8' (2024-07-21)
  → 'github:NixOS/nixpkgs/5ad6a14' (2024-07-25)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/79e1f9e' (2024-07-22)
  → 'github:nix-community/nixpkgs-wayland/55a7d37' (2024-07-26)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/40731ec' (2024-07-20)
  → 'github:matt1432/nixos-pcsd/155642b' (2024-07-25)

• Updated input 'ts-for-gir-src':
    'github:gjsify/ts-for-gir/b4768a5' (2024-07-24)
  → 'github:gjsify/ts-for-gir/70838c7' (2024-07-26)

• Updated input 'vimplugin-easytables-src':
    'github:Myzel394/easytables.nvim/a00222f' (2024-02-26)
  → 'github:Myzel394/easytables.nvim/ae57fda' (2024-07-25)

Docker Images:
• postgres 14:
   sha256:11abfc3f53b02f6099db1fb0e202b41be3ec66698180da9eb8cfad0ce55051cd
 → sha256:f055b09e632d40c562d80e1078c21362d720d3c8c040f65edf6cb609229f09d3

• ghcr.io/immich-app/immich-machine-learning v1.110.0:
   sha256:3ab8e332004c693421320ac7e22065a1187f3d0e84255f97cacf83bce7bdfc1f
 → sha256:794c3fc4a1da9925f1fdd4ac13fd0646f11a5f682bd50e1cd7e2283f3332ac65

• ghcr.io/immich-app/immich-server v1.110.0:
   sha256:79f5d0c375b0df84e4d0ac89103753d6145ec3facb329e860008f2813f647d84
 → sha256:9de91632ea5c0aabcd5558cab8b270f6bde00679fc6bdc35806fb49367e4a583

• ghcr.io/linuxserver/prowlarr latest:
   sha256:7c3e7840c726828643131583514b66f38e7af29021d5a7b05ed8ed5c8ec0b596
 → sha256:9a98da4fb506278ce92c2fdbb4e08a38418dd1456e3dd8b3a1f00a42a8ec4fb0

• ghcr.io/fallenbagel/jellyseerr develop:
   sha256:1a70daa5c9a72bb0846602ef8ce16949ee4a6144f5577daed3c539c4e5b192de
 → sha256:4faf2f19c7a2be559354821e7da57477c236a22afb78e17a40dd40a75a120435

Firefox Addons:
floccus: 5.2.4 -> 5.2.5
2024-07-26 22:03:01 -04:00
3923dcb604 fix(servers): update jmusicbots to latest
All checks were successful
Discord / discord commits (push) Successful in 39s
2024-07-25 23:29:11 -04:00
85ff6af1bf refactor(greetd): astal -> ags
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-25 23:24:19 -04:00
aa979f0fe4 feat(ags clipboard): add wl-paste --watch
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-25 18:42:25 -04:00
0a5c8d03bd fix(servers): revert jmusicbot to 0.3.9
All checks were successful
Discord / discord commits (push) Successful in 41s
2024-07-25 15:50:56 -04:00
aac17cff3e feat(servers): stop using beta for 7Days server
All checks were successful
Discord / discord commits (push) Successful in 59s
2024-07-25 15:20:23 -04:00
4173e8bef3 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/02c87d4' (2024-07-23)
  → 'github:matt1432/discord-nightly-overlay/843a8bd' (2024-07-24)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=7d719a4' (2024-07-23)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=e107adb' (2024-07-23)

• Updated input 'home-manager':
    'github:nix-community/home-manager/7560dc9' (2024-07-23)
  → 'github:nix-community/home-manager/304a011' (2024-07-24)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=8a4548e&submodules=1' (2024-07-23)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=4beac91&submodules=1' (2024-07-24)

• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/601f6cf' (2024-07-21)
  → 'github:hyprwm/aquamarine/353dc1b' (2024-07-24)

• Updated input 'nix-gaming':
    'github:fufexan/nix-gaming/62dbe58' (2024-07-21)
  → 'github:fufexan/nix-gaming/6796ca9' (2024-07-25)

• Updated input 'piper-src':
    'github:libratbag/piper/efa2712' (2024-06-04)
  → 'github:libratbag/piper/71431bd' (2024-07-24)

• Updated input 'ts-for-gir-src':
    'github:gjsify/ts-for-gir/8b3ec80' (2024-07-22)
  → 'github:gjsify/ts-for-gir/b4768a5' (2024-07-24)

Docker Images:
• vegardit/gitea-act-runner dind-latest:
   sha256:a6d70b4df97eab6b52ee7094c80109b28c0c2e8d9066c60b71b3222e88726444
 → sha256:4b6c8d7b73c597b70b6d675ad8bb75b1ad0cdd686fabd51a50f89baa2e9c27e8

• postgres 14:
   sha256:0c9b69b804edbfd211b8cdfc87ac4c79db52dbcc8fb8c278d07136db2f79fe6c
 → sha256:11abfc3f53b02f6099db1fb0e202b41be3ec66698180da9eb8cfad0ce55051cd

• nextcloud 29.0.4-fpm:
   sha256:dd4306e19bb2992246f837e50541b7baf010f47954e3afcf65cafd10657f365d
 → sha256:ef2c7bb5acb7763d2f898214db4a65876c828aaf36567cd2ab2af6697c2f758e

• nginx latest:
   sha256:05ab1728068284cbd42d54554fa2b69a3d6334adafccf2e70cf20925d7d55e90
 → sha256:6af79ae5de407283dcea8b00d5c37ace95441fd58a8b1d2aa1ed93f5511bb18c

• postgres 15-alpine:
   sha256:d98d4ee225766374077e2d689a4a20be9195c0c112dfc36ff9b54701d279e221
 → sha256:468d34fefd6338031787c7b8e94078975b3aaf4d66c7ead25c39cd3ba46a15c6

• ghcr.io/linuxserver/bazarr latest:
   sha256:5da74fc1bbd5da69e3b4f9b2376f6ccfbe3b47f143e6eb5651ed37cc1d4412dd
 → sha256:25f0d19ba9226fdf15aec0fc7fa134ba89fc6f77f09d7bd45b33c5960c47821e

• ghcr.io/linuxserver/calibre latest:
   sha256:8db829132ee053bfdb0fd5835c25d357af396048ea2d4666ca1e21a715a3b45e
 → sha256:9d769fe402690da7f3ca750a925859ef99b4e5bec86d4739f87c7cd43e18a246

• ghcr.io/linuxserver/sabnzbd latest:
   sha256:31ea64a7ce1e9a5ff8187f9b7c905eaa1d0a79d49b04724e47059c67407157eb
 → sha256:d6a2a967d47b495c5342bc23de76d35eeb2f3ceb53c7be51885ad25f95dffe9b

• ghcr.io/fallenbagel/jellyseerr develop:
   sha256:15e7464dd1a2997d9398b1f2161c7e8fff8518cf71c1b20b8fb1b5e354b31ece
 → sha256:1a70daa5c9a72bb0846602ef8ce16949ee4a6144f5577daed3c539c4e5b192de
2024-07-24 22:11:30 -04:00
f33090798d fix(update): use nix run for mozilla-addons-to-nix 2024-07-24 22:11:21 -04:00
4b7fa67767 feat: go back to nix
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-24 21:58:37 -04:00
59d2205e7a fix(docker): add required changes to make every container work
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-24 20:52:32 -04:00
827bf6ba8c feat(docker): arion -> khepri
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-24 15:49:31 -04:00
acd4ebc1e2 feat: go back to nixpkgs nvim to reduce amount of IFD
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-24 13:26:02 -04:00
38019afcef feat(ags gsr): add 'Edit in kdenlive' option
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-24 12:04:50 -04:00
18d42f406e feat(ags binto): add calendar widget
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-24 11:45:28 -04:00
5ad37a0439 feat: nix -> lix
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-23 21:40:13 -04:00
92398d5cbf chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/d558ffa' (2024-07-20)
  → 'github:matt1432/discord-nightly-overlay/02c87d4' (2024-07-23)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=da73b3a' (2024-07-22)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=7d719a4' (2024-07-23)

• Updated input 'home-manager':
    'github:nix-community/home-manager/635563f' (2024-07-21)
  → 'github:nix-community/home-manager/7560dc9' (2024-07-23)

• Updated input 'hyprland'

• Updated input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/4c72cd4' (2024-07-23)
  → 'github:hyprwm/aquamarine/601f6cf' (2024-07-21)

• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/464172e' (2024-07-22)
  → 'github:nix-community/neovim-nightly-overlay/0380256' (2024-07-23)

• Updated input 'neovim-nightly/neovim-src':
    'github:neovim/neovim/7381f0a' (2024-07-21)
  → 'github:neovim/neovim/9322b7e' (2024-07-22)

• Updated input 'nixd':
    'github:nix-community/nixd/87135e0' (2024-07-21)
  → 'github:nix-community/nixd/86dc0ba' (2024-07-23)

Docker Images:
• postgres 14:
   sha256:2f7365d1f574dba34f6332978169afe60af9de9608fffbbfecb7d04cc5233698
 → sha256:0c9b69b804edbfd211b8cdfc87ac4c79db52dbcc8fb8c278d07136db2f79fe6c

• postgres 15-alpine:
   sha256:ede3a168dae0d2154440c2b1b2c7773201bfa969d85a1859c44b6f4ab2df0ef7
 → sha256:d98d4ee225766374077e2d689a4a20be9195c0c112dfc36ff9b54701d279e221

• nginx latest:
   sha256:67682bda769fae1ccf5183192b8daf37b64cae99c6c3302650f6f8bf5f0f95df
 → sha256:05ab1728068284cbd42d54554fa2b69a3d6334adafccf2e70cf20925d7d55e90

• nextcloud 29.0.4-fpm:
   sha256:d2dc74b2ce5fc6b06e1bf454320bb6388817757b41314a0214af4eac278a3c42
 → sha256:dd4306e19bb2992246f837e50541b7baf010f47954e3afcf65cafd10657f365d
2024-07-23 18:39:17 -04:00
b307e7df13 feat(hypr): use hyprcursor for cursor theme
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-23 16:04:18 -04:00
3e1df66156 fix(hypr): pin commit to before aquamarine
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-22 20:50:41 -04:00
423dcaf7fa chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=9ca5847' (2024-07-21)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=da73b3a' (2024-07-22)

• Updated input 'gtk-theme-src':
    'github:dracula/gtk/25dc510' (2024-07-14)
  → 'github:dracula/gtk/c9896cb' (2024-07-21)

• Updated input 'headscale':
    'github:juanfont/headscale/ca47d6f' (2024-07-19)
  → 'github:juanfont/headscale/4ad3f3c' (2024-07-22)

• Updated input 'home-manager':
    'github:nix-community/home-manager/afd2021' (2024-07-16)
  → 'github:nix-community/home-manager/635563f' (2024-07-21)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=f642fb9&submodules=1' (2024-07-20)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=3c758db&submodules=1' (2024-07-22)

• Added input 'hyprland/aquamarine':
    'github:hyprwm/aquamarine/601f6cf' (2024-07-21)

• Added input 'hyprland/aquamarine/hyprutils':
    follows 'hyprland/hyprutils'

• Added input 'hyprland/aquamarine/hyprwayland-scanner':
    follows 'hyprland/hyprwayland-scanner'

• Added input 'hyprland/aquamarine/nixpkgs':
    follows 'hyprland/nixpkgs'

• Added input 'hyprland/aquamarine/systems':
    follows 'hyprland/systems'

• Updated input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/a5c0d57' (2024-07-04)
  → 'github:hyprwm/hyprcursor/4493a97' (2024-07-18)

• Updated input 'hyprland/hyprlang':
    'github:hyprwm/hyprlang/5df0174' (2024-07-07)
  → 'github:hyprwm/hyprlang/adbefbf' (2024-07-18)

• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/eb1ceff' (2024-07-15)
  → 'github:hyprwm/hyprutils/962582a' (2024-07-18)

• Updated input 'hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/d5fa094' (2024-07-05)
  → 'github:hyprwm/hyprwayland-scanner/a048a6c' (2024-07-18)

• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/b9b97e5' (2024-07-05)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/663be9c' (2024-07-22)

• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/f23d3eb' (2024-07-19)
  → 'github:hyprwm/hyprland-plugins/4c2cef8' (2024-07-22)

• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/d9fcc47' (2024-07-19)
  → 'github:nix-community/neovim-nightly-overlay/464172e' (2024-07-22)

• Updated input 'neovim-nightly/neovim-src':
    'github:neovim/neovim/f61efe3' (2024-07-18)
  → 'github:neovim/neovim/7381f0a' (2024-07-21)

• Updated input 'nix-on-droid':
    'github:nix-community/nix-on-droid/c00333e' (2024-07-14)
  → 'github:nix-community/nix-on-droid/248cc08' (2024-07-22)

• Updated input 'nixd':
    'github:nix-community/nixd/334da32' (2024-07-16)
  → 'github:nix-community/nixd/87135e0' (2024-07-21)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1d9c2c9' (2024-07-19)
  → 'github:NixOS/nixpkgs/68c9ed8' (2024-07-21)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ae7066a' (2024-07-20)
  → 'github:nix-community/nixpkgs-wayland/79e1f9e' (2024-07-22)

• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/6e56a6f' (2024-07-14)
  → 'github:nix-community/lib-aggregate/e0ea775' (2024-07-21)

• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/3b0b176' (2024-07-14)
  → 'github:nix-community/nixpkgs.lib/31a9902' (2024-07-21)

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/909e8cf' (2024-07-21)
  → 'github:Mic92/sops-nix/aff2f88' (2024-07-22)

• Updated input 'ts-for-gir-src':
    'github:gjsify/ts-for-gir/199bb13' (2024-07-19)
  → 'github:gjsify/ts-for-gir/8b3ec80' (2024-07-22)

Docker Images:
• ghcr.io/linuxserver/radarr latest:
   sha256:1eaf9e83fca2b9170d4f49f6c0e55ba38693718e7815743a9ec297d199ab1e73
 → sha256:2a02b311cefb344cd0caf74a443b9d6318daf15bda5280a3bc732381db983dc3

• ghcr.io/fallenbagel/jellyseerr develop:
   sha256:743fa4f6d66d2e558abc35239c4edeeaed74493728b0717111dea7f003bf262f
 → sha256:15e7464dd1a2997d9398b1f2161c7e8fff8518cf71c1b20b8fb1b5e354b31ece

Misc Sources:
Vuetorrent: 2.10.2 -> 2.11.0
2024-07-22 20:16:03 -04:00
8a9516e5b1 docs: fix package readmes
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-21 17:30:11 -04:00
c701e335d1 refactor(flake): move some code out of flake.in.nix
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-21 17:12:26 -04:00
b3b65c1bd9 refactor(flake): move stuff in flake dir
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-21 16:10:13 -04:00
8e98d62921 fix(ags binto): add padding on right side of current-window
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-21 12:52:15 -04:00
998c952bab chore: jellyfin 10.9.7 -> 10.9.8
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-21 10:25:32 -04:00
6af0cef436 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs:
• Updated input 'ags':
    'github:Aylur/ags/60c4fdc' (2024-07-17)
  → 'github:Aylur/ags/344ea72' (2024-07-18)

• Added input 'ags/systems':
    'github:nix-systems/default-linux/31732fc' (2023-07-14)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/2e2305f' (2024-07-17)
  → 'github:matt1432/discord-nightly-overlay/d558ffa' (2024-07-20)

• Updated input 'discord-overlay/Vencord-src':
    'github:Vendicated/vencord/5bd10c8' (2024-07-15)
  → 'github:Vendicated/vencord/80b493d' (2024-07-17)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=098aa5c' (2024-07-17)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=9ca5847' (2024-07-21)

• Updated input 'headscale':
    'github:juanfont/headscale/00ff288' (2024-07-17)
  → 'github:juanfont/headscale/ca47d6f' (2024-07-19)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=300228b&submodules=1' (2024-07-17)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=f642fb9&submodules=1' (2024-07-20)

• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/928164d' (2024-07-13)
  → 'github:hyprwm/hyprland-plugins/f23d3eb' (2024-07-19)

• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/d004040' (2024-07-17)
  → 'github:nix-community/neovim-nightly-overlay/d9fcc47' (2024-07-19)

• Updated input 'neovim-nightly/neovim-src':
    'github:neovim/neovim/1f2f460' (2024-07-16)
  → 'github:neovim/neovim/f61efe3' (2024-07-18)

• Updated input 'nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/c132534' (2024-07-14)
  → 'github:nix-community/nix-eval-jobs/2e522fb' (2024-07-20)

• Updated input 'nix-gaming':
    'github:fufexan/nix-gaming/fce5654' (2024-07-14)
  → 'github:fufexan/nix-gaming/62dbe58' (2024-07-21)

• Added input 'nix-gaming/umu':
    'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=abbdeed&submodules=1' (2024-07-20)

• Added input 'nix-gaming/umu/nixpkgs':
    follows 'nix-gaming/nixpkgs'

• Updated input 'nix-index-db':
    'github:Mic92/nix-index-database/5fe5b0c' (2024-07-14)
  → 'github:Mic92/nix-index-database/b6db9fd' (2024-07-21)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/693bc46' (2024-07-14)
  → 'github:NixOS/nixpkgs/1d9c2c9' (2024-07-19)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/7421424' (2024-07-15)
  → 'github:nix-community/nixpkgs-wayland/ae7066a' (2024-07-20)

• Updated input 'nixpkgs-wayland/nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/c132534' (2024-07-14)
  → 'github:nix-community/nix-eval-jobs/2e522fb' (2024-07-20)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/5b32394' (2024-07-16)
  → 'github:matt1432/nixos-pcsd/40731ec' (2024-07-20)

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/0703ba0' (2024-07-14)
  → 'github:Mic92/sops-nix/909e8cf' (2024-07-21)

• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/74348da' (2024-07-14)
  → 'github:NixOS/nixpkgs/556533a' (2024-07-21)

• Updated input 'ts-for-gir-src':
    'github:gjsify/ts-for-gir/80cacc3' (2024-07-15)
  → 'github:gjsify/ts-for-gir/199bb13' (2024-07-19)

Docker Images:
• ghcr.io/gethomepage/homepage latest:
   sha256:125ca0a320f7c23b003a5fbce43b282b789b57fd576423d5714e565a4415a7f5
 → sha256:e23fcd332ecf927fe5c0149142040236b17686916004566c149eef06eb6f8d75

• ghcr.io/immich-app/immich-server v1.109.2:
   sha256:248a6da7dadeb57f90eacd5635ecc65e63d4c3646a6c94a362bb57cba1b314fa
 → sha256:79f5d0c375b0df84e4d0ac89103753d6145ec3facb329e860008f2813f647d84

• ghcr.io/immich-app/immich-machine-learning v1.109.2:
   sha256:4dc544396bf08cd92066f83a270155201d80512add127ca9fac2d3e56694d2a4
 → sha256:3ab8e332004c693421320ac7e22065a1187f3d0e84255f97cacf83bce7bdfc1f

• ghcr.io/linuxserver/calibre-web latest:
   sha256:0caef2dc9c26f29623c42b2e6496274224ae79efc99849db53d08f9a5224b4f2
 → sha256:604ae903f520bd5485bcbdb2f70ea460c90a559bca3d4ac3fc05b93da2737a0a

• ghcr.io/linuxserver/calibre latest:
   sha256:70be7cdb6eb010e9101e83e2731b2c4859ddcfd682049b80a7ba73508d948c1e
 → sha256:8db829132ee053bfdb0fd5835c25d357af396048ea2d4666ca1e21a715a3b45e
2024-07-21 01:17:21 -04:00
44d56aab0f feat(update): consolidate update msgs and format at end
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-21 01:17:10 -04:00
262bcedbd2 feat(update): migrate flake inputs update script to typescript
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-20 23:40:06 -04:00
322aeebd45 feat(update): migrate vuetorrent update script to typescript
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-20 22:33:14 -04:00
60bc645ae0 feat(update): migrate docker update script to typescript
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-20 22:02:22 -04:00
970a380805 feat(update): migrate ffz script to typescript
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-20 21:06:52 -04:00
9c1f5c271c refactor(update): split up script
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-20 20:30:43 -04:00
96067d726b feat(update): start migrating to typescript for script
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-20 19:56:59 -04:00
f50ee16e0f feat(flake): change ags devshell to node
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-20 09:38:17 -04:00
092626a7db refactor(ags): move lockscreen.ts out of the root dir
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-19 20:15:04 -04:00
800eee46f2 feat(ags binto): move bar to 3rd monitor to fix systray
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-18 20:46:58 -04:00
690ff6498b chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake inputs:
• Updated input 'ags':
    'github:Aylur/ags/8194f0c9546a150525a2022c17aed51df1464b80?narHash=sha256-RhqFBMLh6G5vAo7Jz9mdsworI50E4FAAg7rPho4CNfY%3D' (2024-07-15)
  → 'github:Aylur/ags/60c4fdcca841b9375bca68ce14b4dbac07f7c503?narHash=sha256-cuqMXJs1Zkh6yfwx1mG5/zyvxST8cm%2BXXQ1xXJMHQhY%3D' (2024-07-17)

• Updated input 'astal-tray':
    'github:astal-sh/tray/9a484bdee02904034449961612fd5b2cdbe6a337?narHash=sha256-6DfK50lMbMLVgqL3IyCe6zMAGnB5V5cTTPsMIf80GVE%3D' (2024-06-28)
  → 'github:astal-sh/tray/b18faefdf0eec619bbcf086954471fefc9a7751a?narHash=sha256-U3XQOwdp47uwvNZLw9RlQnf91d1VhHL6FPE88FV3zFk%3D' (2024-07-17)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/0f12e622863a972d515cb03a2d8eb298b3413817?narHash=sha256-OeOK5iEILJusPfvEpgNz6zWrV8XOYfFoyny5pvyloDE%3D' (2024-07-15)
  → 'github:matt1432/discord-nightly-overlay/2e2305fe172cfa3c0263144dd8bd1ce1f5455d0a?narHash=sha256-WIuEaOdGJCsToXc8zyugwJJrDZdaCS2Eu9I%2BXDJ3szU%3D' (2024-07-17)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=73146d8957d6dc746d9c41cdd4f71c00d1b7000e' (2024-07-15)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=098aa5c57ae71bf83fb21e9bc46496920876f51b' (2024-07-17)

• Updated input 'headscale':
    'github:juanfont/headscale/3f60ab23a68eff50d70054f7cbb622e53b52c625?narHash=sha256-RIXtwvl6PBYBq59if7A/L8OddhPnfRU30qHpORfv2Y4%3D' (2024-07-14)
  → 'github:juanfont/headscale/00ff288f0cae53d25f4c40355d3bd77cb3b06f4b?narHash=sha256-djkVZURS9vzrbd0DC5WMU1GzypHTaddccNYK9FZNuaQ%3D' (2024-07-17)

• Updated input 'home-manager':
    'github:nix-community/home-manager/90ae324e2c56af10f20549ab72014804a3064c7f?narHash=sha256-neWQ8eNtLTd%2BYMesb7WjKl1SVCbDyCm46LUgP/g/hdo%3D' (2024-07-11)
  → 'github:nix-community/home-manager/afd2021bedff2de92dfce0e257a3d03ae65c603d?narHash=sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY%3D' (2024-07-16)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=bd526822deb9ed47c0b51b534817aa8541fff07b&submodules=1' (2024-07-15)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=300228b503b36e5977b0d58713c5b4cf1f07b8a9&submodules=1' (2024-07-17)

• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/6174a2a25f4e216c0f1d0c4278adc23c476b1d09?narHash=sha256-Pxacc2uoxI00koXp5%2BCyNqHOTQlqNlK0rlRHDBHX4%2Bg%3D' (2024-07-09)
  → 'github:hyprwm/hyprutils/eb1ceff2b87f6820789249f63faa8e9dcb54d05f?narHash=sha256-qmC9jGfbE4%2BEIBbbSAkrfR/p49wShjpv4/KztgE/P54%3D' (2024-07-15)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/bba994424596df09228f5437bcf8ef7fde1fe56e?narHash=sha256-IvFFc57vljkR1eP4VeNMuXJTS/POClq%2BytFAadigSY0%3D' (2024-07-11)
  → 'github:Jovian-Experiments/Jovian-NixOS/927eea31915468e06b94bedf678261dc7cf048c8?narHash=sha256-KfdwusX12hhkzXKBmu2HhaU9EhaxVeWLDQw1Ll2A03o%3D' (2024-07-17)

• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/34b8101a10dfb4cb38832a17ef33281d59e2b2b3?narHash=sha256-gh34LtCLvXCd/Xyk33mgQU3QqNyJ7ZwJj59c4Qdad78%3D' (2024-07-13)
  → 'github:nix-community/neovim-nightly-overlay/d0040404432ef2f6492d06284c556303262e5054?narHash=sha256-3iNMy%2BGUVaFVHv2U%2Bg6cMJwouAJinDkT/TLqZpiwsU8%3D' (2024-07-17)

• Updated input 'neovim-nightly/neovim-src':
    'github:neovim/neovim/10256bb760fcab0dc25f7eb5b0b45966cb771939?narHash=sha256-C8bdG2wrI29afHI1705W37M7CPudz5117YafiBlW0Y4%3D' (2024-07-12)
  → 'github:neovim/neovim/1f2f460b4a77a8ff58872e03c071b5d0d882dd44?narHash=sha256-mKvJmYNz0d%2BirdQFtUrkFtHY6LgE1SxoT14Zmbn1OXU%3D' (2024-07-16)

• Updated input 'nh':
    'github:viperML/nh/7f8a1859ed6ea971fcf49b07ca8938e3000c3af4?narHash=sha256-G5iteuo2gobI0Y5jHNEBc6UN9ixjwj6zopPKi7bJBE4%3D' (2024-07-06)
  → 'github:viperML/nh/168c7ceea2b8d6208cf32de9eb8effa9c008b40d?narHash=sha256-m6LmfrUMpt1ZUX3eqB7Gp%2BZV6sAWPqkATwZNvA7Bj9U%3D' (2024-07-16)

• Updated input 'nixd':
    'github:nix-community/nixd/60a925008bc353136ba5babce437f42819c1645c?narHash=sha256-q5nj4TFggEHcyKuETmVEFeGztkAYXl3TDIOfd6swo4U%3D' (2024-06-26)
  → 'github:nix-community/nixd/334da32238a641c24ca7bff59d7a7d38c48fea06?narHash=sha256-f%2BRjBJ4BZ8Uv6QuQ/TEaA8crKP%2BUw6DZXdtRY2EvwlQ%3D' (2024-07-16)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/608c313af683be0015d1ab446f6406bd93d9f637?narHash=sha256-NL0jQzrayJKRgg7fRncyLHEDvOr39VKdo4cqTpTPo/k%3D' (2024-07-13)
  → 'github:matt1432/nixos-pcsd/5b32394f8d176afc281aae3024d3a37ff258dc25?narHash=sha256-DCZChfA3/bAXOk5qN0ctF/y4jNf8uLkKVad1mkEReT4%3D' (2024-07-16)

Docker Images:
• ghcr.io/gethomepage/homepage latest:
   sha256:cbc5b49533f9afd0be57f6d5168eef48be2d713709259d6697f0d33b4ecb2f28
 → sha256:125ca0a320f7c23b003a5fbce43b282b789b57fd576423d5714e565a4415a7f5

• ghcr.io/wg-easy/wg-easy latest:
   sha256:24eddefd4e5ae2cff930d4f9254f018d5f4cdd48daf559e7a73a14da6a9fbbb4
 → sha256:4c2c591498aa910ce86a90fa00c4714ffd78dd7556b1f488f226471b97346bc6

• ghcr.io/linuxserver/calibre latest:
   sha256:afd005e6e065913e9e20e3ac098decf3f79495f3300215acf03f2537a6c0ac6a
 → sha256:70be7cdb6eb010e9101e83e2731b2c4859ddcfd682049b80a7ba73508d948c1e

• ghcr.io/linuxserver/prowlarr latest:
   sha256:c43dc0311d4381395b60b3a6068e82226eddb213278bfe886bebabe67eb0f762
 → sha256:7c3e7840c726828643131583514b66f38e7af29021d5a7b05ed8ed5c8ec0b596

• ghcr.io/linuxserver/sabnzbd latest:
   sha256:d9ad6d86542e07d90e6da20b2adb9e89cb26ec1dc1d95bd88eeceef65c12f94b
 → sha256:31ea64a7ce1e9a5ff8187f9b7c905eaa1d0a79d49b04724e47059c67407157eb

• ghcr.io/fallenbagel/jellyseerr develop:
   sha256:aa0c5261afddceab7d4a814647ff591427515b73de9c883f93ea37d846f81fe6
 → sha256:743fa4f6d66d2e558abc35239c4edeeaed74493728b0717111dea7f003bf262f

• ghcr.io/linuxserver/sonarr latest:
   sha256:746601dcc9dd95b3e2703c0244e453653d29b064281f7a9174d2d24d2aba81ef
 → sha256:fbee5770f688e4f89dd073534feda11251bfde0e0a4e6ac74dd8c33bb856b505
2024-07-17 22:48:02 -04:00
2df8ab7e48 feat(obs): add droidcam plugin
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-17 09:12:58 -04:00
8f0ec20dcf fix(ags): use package flag on ts-for-gir
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-17 00:21:12 -04:00
628ccd1758 feat(nvim): don't hide gitignored files
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-16 20:57:44 -04:00
90e573a698 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake inputs:
• Updated input 'ags':
    'github:Aylur/ags/646d5ad073ff7f8b1d50cfbd40f5b8a250fcd59d?narHash=sha256-TFJah1RW5qnYW7kajjAFPAS5j/0q0R3vz9zPjrRA0Mc%3D' (2024-06-20)
  → 'github:Aylur/ags/8194f0c9546a150525a2022c17aed51df1464b80?narHash=sha256-RhqFBMLh6G5vAo7Jz9mdsworI50E4FAAg7rPho4CNfY%3D' (2024-07-15)

• Updated input 'astal':
    'github:Aylur/Astal/4e4b4eb6b38ffdfbfc4ca87878817d075c8bd988?narHash=sha256-Uf6m0XD%2Bol7pb26QykZQmZoRdRkKDlLoCrYGiANMvuQ%3D' (2024-03-19)
  → 'github:Aylur/Astal/0e2a33b78ebaed008a5d496ab42cd9207cf48db4?narHash=sha256-jTwdQeGHEUMKNI4iIqUpgKbx9kNsY1y7/Vcxi3b2pzQ%3D' (2024-07-15)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/b98cec52fff1cb11e743c1e9d7da9395d977a81c?narHash=sha256-SkGY494dDLgMHoMSDDr%2BrwVZAZ%2BXuHXSUK28Asn2pt8%3D' (2024-07-13)
  → 'github:matt1432/discord-nightly-overlay/0f12e622863a972d515cb03a2d8eb298b3413817?narHash=sha256-OeOK5iEILJusPfvEpgNz6zWrV8XOYfFoyny5pvyloDE%3D' (2024-07-15)

• Updated input 'discord-overlay/Vencord-src':
    'github:Vendicated/vencord/0057ab42e8e11f79589c9d17c24dddcafef18272?narHash=sha256-HzwG67iLIA/5EqH4J771rc5/gZ6tbYREY5uoxnbJVaM%3D' (2024-07-12)
  → 'github:Vendicated/vencord/5bd10c860861b1c2ab8bf61b029592c0805c497d?narHash=sha256-7eJkdcZX4D6PUnnpY%2BiucWWZx9/ned8z/zA0M5TRcaY%3D' (2024-07-15)

• Updated input 'gpu-screen-recorder-src':
    'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=c447a9a35f51815db307e5d58630040cd63ad4b7' (2024-07-06)
  → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=73146d8957d6dc746d9c41cdd4f71c00d1b7000e' (2024-07-15)

• Updated input 'gtk-theme-src':
    'github:dracula/gtk/938d3f5f804fa970b641483bd4ec5a299fce3ff4?narHash=sha256-308sO%2BazPD0zqh9Xdqdcm8I8KqYkoR9kGXbwV%2BHXN90%3D' (2024-07-13)
  → 'github:dracula/gtk/25dc51066f0674be02d8e402cc2717465aa472f1?narHash=sha256-G4ILXKVe7H%2B4cNjJGVdtSih/5oaZhVgRTs2KPCuS62w%3D' (2024-07-14)

• Updated input 'headscale':
    'github:juanfont/headscale/eb1591df35624b6cbe85e5c671869a0806dedfba?narHash=sha256-Dmw4%2BflzQlmKxaWsu6GGxkqXpstKzMO8rVHDBgXL3E8%3D' (2024-07-07)
  → 'github:juanfont/headscale/3f60ab23a68eff50d70054f7cbb622e53b52c625?narHash=sha256-RIXtwvl6PBYBq59if7A/L8OddhPnfRU30qHpORfv2Y4%3D' (2024-07-14)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=bc6b0880dda2607a80f000c134f573c970452a0f&submodules=1' (2024-07-13)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=bd526822deb9ed47c0b51b534817aa8541fff07b&submodules=1' (2024-07-15)

• Updated input 'nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/9bed665aa71907dcacc8ae6dba1a3055a9ff2de7?narHash=sha256-qbtex5uSOUQnK4797JztyTQWlnlhEsE8x5g5qs5DgvQ%3D' (2024-06-24)
  → 'github:nix-community/nix-eval-jobs/c132534bc68eb48479a59a3116ee7ce0f16ce12b?narHash=sha256-QHajV5BjfaMWbiOAJ/MGH%2BexXo%2BCjzUpkxxEtz0ZZ2k%3D' (2024-07-14)

• Updated input 'nix-gaming':
    'github:fufexan/nix-gaming/96379e6b4d1f234ffd4bbe684d83a3d08a3dd2a7?narHash=sha256-B7CRTjGf0Nll2RouHAzLsOt5L0u04JTN4vetrGXXmUk%3D' (2024-07-07)
  → 'github:fufexan/nix-gaming/fce565402d5b1ed4e92c4a9dfcd094d0172d8f0b?narHash=sha256-0dNwRhtUVQha5S%2BNFeoeMXEt/6v0x56DCdyUk%2BvEFeY%3D' (2024-07-14)

• Updated input 'nix-index-db':
    'github:Mic92/nix-index-database/685e40e1348007d2cf76747a201bab43d86b38cb?narHash=sha256-X9pEvvHTVWJphhbUYqXvlLedOndNqGB7rvhSvL2CIgU%3D' (2024-07-07)
  → 'github:Mic92/nix-index-database/5fe5b0cdf1268112dc96319388819b46dc051ef4?narHash=sha256-fW6e27L6qY6s%2BTxInwrS2EXZZfhMAlaNqT0sWS49qMA%3D' (2024-07-14)

• Updated input 'nix-on-droid':
    'github:nix-community/nix-on-droid/8bcadcef69dcb5ca177bfb6ea3dc6b092cda2b06?narHash=sha256-WbjV0gmnh6jG1B292K4KIJwtBacn2sTWhiw1ZMeti9s%3D' (2024-07-10)
  → 'github:nix-community/nix-on-droid/c00333ee42aa2b4d4825e0388a1049fdeeded6c6?narHash=sha256-UwVKfjrQ6FWTuqks6lF4%2BVlzPFDC/GR1Ti/iBKTEQco%3D' (2024-07-14)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9?narHash=sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y%3D' (2024-07-12)
  → 'github:NixOS/nixpkgs/693bc46d169f5af9c992095736e82c3488bf7dbb?narHash=sha256-oedh2RwpjEa%2BTNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA%3D' (2024-07-14)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/3b41bcf482b8dfcd69d7ee8da0897bbbdb202337?narHash=sha256-xRlxLFPJOJjXw4es7nqSZVbTrsioq6Cw/ucm8BiL6nE%3D' (2024-07-13)
  → 'github:nix-community/nixpkgs-wayland/7421424feb2e68a173f6fd218bbf71eb352404e5?narHash=sha256-9%2Bv7DYzlQn0djo2j11Ges0uj5WzWajpob/Y3WcsEFks%3D' (2024-07-15)

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/67035a355b1d52d2d238501f8cc1a18706979760?narHash=sha256-jqvhLDXzTLTHq9ZviFOpcTmXXmnbLfz7mWhgMNipMN4%3D' (2024-07-08)
  → 'github:Mic92/sops-nix/0703ba03fd9c1665f8ab68cc3487302475164617?narHash=sha256-eTpnrT6yu1vp8C0B5fxHXhgKxHoYMoYTEikQx///jxY%3D' (2024-07-14)

Docker Images:
• onlyoffice/documentserver latest:
   sha256:423328ee377374c48a30c2aa416e4afedf621faff068f97966cb9b87a28550bd
 → sha256:9b74cb0e05580bced87f9af69de68d5f4c9e5b3340448ddc94333f5f7f4eba85

• ghcr.io/linuxserver/calibre-web latest:
   sha256:73aa52c663537a21d0b2e5315ba1080aeaecff1fa29dc7c020a4107f64e96490
 → sha256:0caef2dc9c26f29623c42b2e6496274224ae79efc99849db53d08f9a5224b4f2

• ghcr.io/linuxserver/radarr latest:
   sha256:bf5aaf1577edbc3ba33db069676e7f8324eda33761ca59721942bc8ef56c015c
 → sha256:1eaf9e83fca2b9170d4f49f6c0e55ba38693718e7815743a9ec297d199ab1e73

• ghcr.io/linuxserver/sabnzbd latest:
   sha256:cd0e0de27454b040a0d55d1a06885dc78366435ce6794b82a6e4194b795e213a
 → sha256:d9ad6d86542e07d90e6da20b2adb9e89cb26ec1dc1d95bd88eeceef65c12f94b

• ghcr.io/fallenbagel/jellyseerr develop:
   sha256:164365db8dc720291ba1eedab14e37025cd6b9e1ba45bebd06dac3bc15305f18
 → sha256:aa0c5261afddceab7d4a814647ff591427515b73de9c883f93ea37d846f81fe6

• ghcr.io/linuxserver/sonarr latest:
   sha256:a9f25c54b7eb8ecf11e506e90ee7eab9e9786143e08eeb76d5bfc3e82531eeab
 → sha256:746601dcc9dd95b3e2703c0244e453653d29b064281f7a9174d2d24d2aba81ef
2024-07-15 21:28:00 -04:00
7941c8cf35 refactor(devices): place configs in order and delete oksys
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-14 22:59:33 -04:00
89ebaa520f refactor: move adb to flake module
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-14 19:30:28 -04:00
cc2329ec67 fix(ags): close clipboard when copying old item
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-14 16:26:07 -04:00
c4095afd16 feat(ags): use eslint flat-config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-14 16:12:09 -04:00
d13e984368 feat(servers): reset 7days map and add auto backups
All checks were successful
Discord / discord commits (push) Successful in 38s
2024-07-13 22:12:35 -04:00
031a36acdd chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake inputs:
• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/94cb9dac116b1038d65f7733c8a88d9139a6f773?narHash=sha256-mnFt2qx1hgYEV5Brimp/swrbyl8zlm0NO55Q%2BUqBGtk%3D' (2024-07-11)
  → 'github:matt1432/discord-nightly-overlay/b98cec52fff1cb11e743c1e9d7da9395d977a81c?narHash=sha256-SkGY494dDLgMHoMSDDr%2BrwVZAZ%2BXuHXSUK28Asn2pt8%3D' (2024-07-13)

• Updated input 'discord-overlay/Vencord-src':
    'github:Vendicated/vencord/9f8c7494216b3d5aadb8d3fec14fa5ac7d8f448a?narHash=sha256-uZQkPqIYcy7ESnCADR7lpjNQL3C1tcqZcgpwioDbb5o%3D' (2024-07-10)
  → 'github:Vendicated/vencord/0057ab42e8e11f79589c9d17c24dddcafef18272?narHash=sha256-HzwG67iLIA/5EqH4J771rc5/gZ6tbYREY5uoxnbJVaM%3D' (2024-07-12)

• Updated input 'gtk-theme-src':
    'github:dracula/gtk/6a4c251da78f523c60838dd5ecee8a01f9145278?narHash=sha256-bWUIXzsGaL6BhIgAn4Cr/CLCKEfqVCO%2BX/Hl38tXfac%3D' (2024-07-05)
  → 'github:dracula/gtk/938d3f5f804fa970b641483bd4ec5a299fce3ff4?narHash=sha256-308sO%2BazPD0zqh9Xdqdcm8I8KqYkoR9kGXbwV%2BHXN90%3D' (2024-07-13)

• Updated input 'home-manager':
    'github:nix-community/home-manager/c085b984ff2808bf322f375b10fea5a415a9c43d?narHash=sha256-BivO5yIQukDlJL%2B1875Sqf3GuOPxZDdA48dYDi3PkL8%3D' (2024-07-10)
  → 'github:nix-community/home-manager/90ae324e2c56af10f20549ab72014804a3064c7f?narHash=sha256-neWQ8eNtLTd%2BYMesb7WjKl1SVCbDyCm46LUgP/g/hdo%3D' (2024-07-11)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=b03f41efec14273cf25c42d4cef326acc36cb319&submodules=1' (2024-07-08)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=bc6b0880dda2607a80f000c134f573c970452a0f&submodules=1' (2024-07-13)

• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/a8c3a135701a7b64db0a88ec353a392f402d2a87?narHash=sha256-lq2dPPPcwMHTLsFrQ2pRp4c2LwDZWoqzSyjuPdeJCP4%3D' (2024-07-05)
  → 'github:hyprwm/hyprutils/6174a2a25f4e216c0f1d0c4278adc23c476b1d09?narHash=sha256-Pxacc2uoxI00koXp5%2BCyNqHOTQlqNlK0rlRHDBHX4%2Bg%3D' (2024-07-09)

• Updated input 'hyprland-plugins':
    'github:hyprwm/hyprland-plugins/98cb18c6fcfe8196ef4150d09fbae305b7bb2954?narHash=sha256-D7O5%2Bnh2Wn9tQPJArWHrDSZeEfBCtj5zTGd86701LPE%3D' (2024-06-30)
  → 'github:hyprwm/hyprland-plugins/928164d6d2560a20328c74b6b3e5da271e8e0b5a?narHash=sha256-drNSMTp5qV8nm4e6XijygrCtnbaKzP0oEKfYV%2B1mIfg%3D' (2024-07-13)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/6f9390004b18e8b9be7863ab6506a038129e4f06?narHash=sha256-DPP3lWzpRxEETzlYbfvQVmIse/ZKWqLkDAFkvu4XRl4%3D' (2024-07-10)
  → 'github:Jovian-Experiments/Jovian-NixOS/bba994424596df09228f5437bcf8ef7fde1fe56e?narHash=sha256-IvFFc57vljkR1eP4VeNMuXJTS/POClq%2BytFAadigSY0%3D' (2024-07-11)

• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/ec4631892b2515261158b1b12900758a9eb5a660?narHash=sha256-x%2Bg48Jl5De2oOfFazKbEP8IabXaeAKmF3JLcQyADYvE%3D' (2024-07-10)
  → 'github:nix-community/neovim-nightly-overlay/34b8101a10dfb4cb38832a17ef33281d59e2b2b3?narHash=sha256-gh34LtCLvXCd/Xyk33mgQU3QqNyJ7ZwJj59c4Qdad78%3D' (2024-07-13)

• Updated input 'neovim-nightly/neovim-src':
    'github:neovim/neovim/f3c7fb9db176f32606e83eb47cc7549300191d2f?narHash=sha256-1rWj8M6J/pd4NtNJlnucdteZ%2BYzSIA5YJVdk/T2ssfo%3D' (2024-07-09)
  → 'github:neovim/neovim/10256bb760fcab0dc25f7eb5b0b45966cb771939?narHash=sha256-C8bdG2wrI29afHI1705W37M7CPudz5117YafiBlW0Y4%3D' (2024-07-12)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/feb2849fdeb70028c70d73b848214b00d324a497?narHash=sha256-ZgnNHuKV6h2%2BfQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ%3D' (2024-07-09)
  → 'github:NixOS/nixpkgs/7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9?narHash=sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y%3D' (2024-07-12)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/8f132445454c6b9f0b21952953885007b961310a?narHash=sha256-r0a7rtlx5GzJ57izpq58B30sAzSIH2V/ctwIsMV51rY%3D' (2024-07-11)
  → 'github:nix-community/nixpkgs-wayland/3b41bcf482b8dfcd69d7ee8da0897bbbdb202337?narHash=sha256-xRlxLFPJOJjXw4es7nqSZVbTrsioq6Cw/ucm8BiL6nE%3D' (2024-07-13)

• Updated input 'nvim-theme-src':
    'github:Mofiqul/dracula.nvim/8d8bddb8814c3e7e62d80dda65a9876f97eb699c?narHash=sha256-I3rtbJYv1D%2BkniOLL9hmTF3ucp/qSNewnO2GmYAERko%3D' (2024-02-25)
  → 'github:Mofiqul/dracula.nvim/fdf503e52ec1c8aae07353604d891fe5a3ed5201?narHash=sha256-Mor0cLSNz%2BIZAVjuPNLDJ3pFQn7arbLqKVykDPkTA7g%3D' (2024-07-12)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/797d947767101781497a1e1b869f27d449e2a7c2?narHash=sha256-MFbEMQu%2BvlWYzRPYrEANm02PWkRSgkJkaHuSVIyIEzM%3D' (2024-07-11)
  → 'github:matt1432/nixos-pcsd/608c313af683be0015d1ab446f6406bd93d9f637?narHash=sha256-NL0jQzrayJKRgg7fRncyLHEDvOr39VKdo4cqTpTPo/k%3D' (2024-07-13)

Docker Images:
• ghcr.io/linuxserver/calibre latest:
   sha256:4e886252cad4a7796289a737afb4b47e9b547b7e2d2b9e35fd3153c8f97eefca
 → sha256:afd005e6e065913e9e20e3ac098decf3f79495f3300215acf03f2537a6c0ac6a

• ghcr.io/linuxserver/sonarr latest:
   sha256:8414846e440ca34c1cbed96daf7d5b3bcde20aab79761aaaaef496f24cec8d20
 → sha256:a9f25c54b7eb8ecf11e506e90ee7eab9e9786143e08eeb76d5bfc3e82531eeab
2024-07-13 19:46:53 -04:00
8af4a53238 refactor(minecraft): update to minix and remove unused
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-12 22:16:00 -04:00
cc57e70de5 chore: bump firefox-gx
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-11 07:26:52 -04:00
d230f9fabe chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake inputs:
• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/012ca035ff0e7eb8d8663674645e00f8cea5757e?narHash=sha256-A1gms/3YZLz%2B6E2RQoR/aCRApz6imSy9KOlct8QY1hs%3D' (2024-07-09)
  → 'github:matt1432/discord-nightly-overlay/94cb9dac116b1038d65f7733c8a88d9139a6f773?narHash=sha256-mnFt2qx1hgYEV5Brimp/swrbyl8zlm0NO55Q%2BUqBGtk%3D' (2024-07-11)

• Updated input 'discord-overlay/Vencord-src':
    'github:Vendicated/vencord/02092a985c2f95f2f265387a849db8cec95742a8?narHash=sha256-i7UqEjdV6%2BkeocA8jkZsLYKEYew8luJqYn7CS5cgF7w%3D' (2024-07-06)
  → 'github:Vendicated/vencord/9f8c7494216b3d5aadb8d3fec14fa5ac7d8f448a?narHash=sha256-uZQkPqIYcy7ESnCADR7lpjNQL3C1tcqZcgpwioDbb5o%3D' (2024-07-10)

• Updated input 'home-manager':
    'github:nix-community/home-manager/2fb5c1e0a17bc6059fa09dc411a43d75f35bb192?narHash=sha256-7ftA4Bv5KfH4QdTRxqe8/Hz2YTKo%2B7IQ9n7vbNWgv28%3D' (2024-07-08)
  → 'github:nix-community/home-manager/c085b984ff2808bf322f375b10fea5a415a9c43d?narHash=sha256-BivO5yIQukDlJL%2B1875Sqf3GuOPxZDdA48dYDi3PkL8%3D' (2024-07-10)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/5d1928b925da7390eae3e369e6808d64cf916ed7?narHash=sha256-rw8s4EsRSVtlAGNd5ttO4Ynb/eq0rMJsqG9zyREK3sk%3D' (2024-07-08)
  → 'github:Jovian-Experiments/Jovian-NixOS/6f9390004b18e8b9be7863ab6506a038129e4f06?narHash=sha256-DPP3lWzpRxEETzlYbfvQVmIse/ZKWqLkDAFkvu4XRl4%3D' (2024-07-10)

• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/b6b51915180e6d2eac488d6f882e4ba36bad380d?narHash=sha256-IG/g4l/W0R2M/jxEyu/Sl3BmR/OK5D1jiahpc0wlpvE%3D' (2024-07-09)
  → 'github:nix-community/neovim-nightly-overlay/ec4631892b2515261158b1b12900758a9eb5a660?narHash=sha256-x%2Bg48Jl5De2oOfFazKbEP8IabXaeAKmF3JLcQyADYvE%3D' (2024-07-10)

• Updated input 'neovim-nightly/git-hooks':
    'github:cachix/git-hooks.nix/2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96?narHash=sha256-1in42htN3g3MnE3/AO5Qgs6pMWUzmtPQ7s675brO8uw%3D' (2024-07-08)
  → 'github:cachix/git-hooks.nix/8d6a17d0cdf411c55f12602624df6368ad86fac1?narHash=sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY%3D' (2024-07-09)

• Updated input 'neovim-nightly/neovim-src':
    'github:neovim/neovim/fb6c059dc55c8d594102937be4dd70f5ff51614a?narHash=sha256-66u%2Byzjk6NrFr2jj2svD3jwNX8P2B8/DNH9A51V4kh8%3D' (2024-07-08)
  → 'github:neovim/neovim/f3c7fb9db176f32606e83eb47cc7549300191d2f?narHash=sha256-1rWj8M6J/pd4NtNJlnucdteZ%2BYzSIA5YJVdk/T2ssfo%3D' (2024-07-09)

• Updated input 'nix-on-droid':
    'github:nix-community/nix-on-droid/f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25?narHash=sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q%3D' (2024-07-07)
  → 'github:nix-community/nix-on-droid/8bcadcef69dcb5ca177bfb6ea3dc6b092cda2b06?narHash=sha256-WbjV0gmnh6jG1B292K4KIJwtBacn2sTWhiw1ZMeti9s%3D' (2024-07-10)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/655a58a72a6601292512670343087c2d75d859c1?narHash=sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU%3D' (2024-07-08)
  → 'github:NixOS/nixpkgs/feb2849fdeb70028c70d73b848214b00d324a497?narHash=sha256-ZgnNHuKV6h2%2BfQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ%3D' (2024-07-09)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/813f608e25bc14b16053c005b05ebf8b18d25503?narHash=sha256-05wIPweI6ts1BtVaMYbdL5KEelMfM4g5f/Z/xQzXRQI%3D' (2024-07-08)
  → 'github:nix-community/nixpkgs-wayland/8f132445454c6b9f0b21952953885007b961310a?narHash=sha256-r0a7rtlx5GzJ57izpq58B30sAzSIH2V/ctwIsMV51rY%3D' (2024-07-11)

• Updated input 'pcsd':
    'github:matt1432/nixos-pcsd/f9a452d33a0c02d6aecb15d330c9bb91b3f3b11e?narHash=sha256-b1IcFAJpwQNb/761B2Ohq02tTlNtDhKihX1wpQY8Qic%3D' (2024-07-07)
  → 'github:matt1432/nixos-pcsd/797d947767101781497a1e1b869f27d449e2a7c2?narHash=sha256-MFbEMQu%2BvlWYzRPYrEANm02PWkRSgkJkaHuSVIyIEzM%3D' (2024-07-11)

Docker Images:
• vegardit/gitea-act-runner dind-latest:
   sha256:01f8359d5e1bbb7aa614acffebf81bea6ffce4f9fb9e57872466df381103a4bd
 → sha256:a6d70b4df97eab6b52ee7094c80109b28c0c2e8d9066c60b71b3222e88726444

• ghcr.io/immich-app/immich-server v1.108.0:
   sha256:75746006b35a7bc61408cd4d124dc73344f0a087c2d9769c4715ca84a1d87591
 → sha256:248a6da7dadeb57f90eacd5635ecc65e63d4c3646a6c94a362bb57cba1b314fa

• ghcr.io/immich-app/immich-machine-learning v1.108.0:
   sha256:f22d949f5f3e16d1c3dcf0aa3ca5f7a73f053b51d2883ac864f9742d3053576b
 → sha256:4dc544396bf08cd92066f83a270155201d80512add127ca9fac2d3e56694d2a4

• ghcr.io/linuxserver/calibre latest:
   sha256:ab3c6fb537e1b3085963c7407a4971e7e535812341eb65b10b42691389697292
 → sha256:4e886252cad4a7796289a737afb4b47e9b547b7e2d2b9e35fd3153c8f97eefca

• ghcr.io/linuxserver/sabnzbd latest:
   sha256:db76abdcd65ba2c06a630d17d7e71e75245f8c7ace734d4cadd6402e2776ad5c
 → sha256:cd0e0de27454b040a0d55d1a06885dc78366435ce6794b82a6e4194b795e213a
2024-07-11 07:02:50 -04:00
1bc2b60d6a feat(bbsteamie): add steam-rom-manager
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 21:58:10 -04:00
640c3aec06 fix(plymouth): set timeout to 0
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 21:27:29 -04:00
b05864573d feat: add plymouth to bbsteamie
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 20:38:03 -04:00
dc1b120c50 feat(desktop): visually cleanup boot sequence
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 20:12:46 -04:00
fdea25896e fix(desktop: make sure tailscale works at hyprland launch
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 17:33:09 -04:00
13abafb1b2 refactor(dm): use home-manager for greeter hyprland config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 16:56:19 -04:00
f793e546f6 refactor(ags clipboard): make a clipboard service
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 15:14:44 -04:00
9c91d8634f feat(ags): add setup_list func for sorted list
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 14:15:48 -04:00
7600d2f4cf perf(ags): don't sort multiple times
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-10 13:55:45 -04:00
b28f07d9db chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
Flake inputs:
• Updated input 'Hyprspace':
    'github:KZDKM/Hyprspace/2f3edb68f47a8f5d99d10b322e9a85a285f53cc7?narHash=sha256-iyj4D6c77uROAH9QdZjPd9SKnS/DuACMESqaEKnBgI8%3D' (2024-06-17)
  → 'github:KZDKM/Hyprspace/e8662093ae5b6e13a3cf1145d21d4804a3e84aeb?narHash=sha256-9aM4MCBJn4UstcsSdukOFTxg79keUMTw9Kmqr7Wsfmw%3D' (2024-07-09)

• Updated input 'discord-overlay':
    'github:matt1432/discord-nightly-overlay/d01718cae1920c0304dba16c8a579d7e309dd91e?narHash=sha256-7BmikJsEItlCGd3ppAB6sn8EXNB08U4pRXttoSQGN0Q%3D' (2024-07-07)
  → 'github:matt1432/discord-nightly-overlay/012ca035ff0e7eb8d8663674645e00f8cea5757e?narHash=sha256-A1gms/3YZLz%2B6E2RQoR/aCRApz6imSy9KOlct8QY1hs%3D' (2024-07-09)

• Updated input 'home-manager':
    'github:nix-community/home-manager/6b7ce96f34b324e4e104abc30d06955d216bac71?narHash=sha256-kAsg3Lg4YKKpGw%2Bf1W2s5hzjP8B0y/juowvjK8utIag%3D' (2024-07-07)
  → 'github:nix-community/home-manager/2fb5c1e0a17bc6059fa09dc411a43d75f35bb192?narHash=sha256-7ftA4Bv5KfH4QdTRxqe8/Hz2YTKo%2B7IQ9n7vbNWgv28%3D' (2024-07-08)

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=22138ac259b2f4253be29311f6b60fbd675074b4&submodules=1' (2024-07-07)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=b03f41efec14273cf25c42d4cef326acc36cb319&submodules=1' (2024-07-08)

• Updated input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6?narHash=sha256-jpsns6buS4bK%2B1sF8sL8AaixAiCRjA%2BnldTKvcwmvUs%3D' (2024-06-15)
  → 'github:hyprwm/hyprcursor/a5c0d57325c5f0814c39110a70ca19c070ae9486?narHash=sha256-AxRkTJlbB8r7aG6gvc7IaLhc2T9TO4/8uqanKRxukBQ%3D' (2024-07-04)

• Updated input 'hyprland/hyprlang':
    'github:hyprwm/hyprlang/ec6938c66253429192274d612912649a0cfe4d28?narHash=sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM%2BJj94%3D' (2024-06-08)
  → 'github:hyprwm/hyprlang/5df0174fd09de4ac5475233d65ffc703e89b82eb?narHash=sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k%3D' (2024-07-07)

• Updated input 'hyprland/hyprutils':
    'github:hyprwm/hyprutils/1f6bbec5954f623ff8d68e567bddcce97cd2f085?narHash=sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw%3D' (2024-06-25)
  → 'github:hyprwm/hyprutils/a8c3a135701a7b64db0a88ec353a392f402d2a87?narHash=sha256-lq2dPPPcwMHTLsFrQ2pRp4c2LwDZWoqzSyjuPdeJCP4%3D' (2024-07-05)

• Updated input 'hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/914f083741e694092ee60a39d31f693d0a6dc734?narHash=sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74%3D' (2024-06-22)
  → 'github:hyprwm/hyprwayland-scanner/d5fa094ca27e0039be5e94c0a80ae433145af8bb?narHash=sha256-JPdL%2BQul%2BjEueAn8CARfcWP83eJgwkhMejQYfDvrgvU%3D' (2024-07-05)

• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/c7894aa54f9a7dbd16df5cd24d420c8af22d5623?narHash=sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA%3D' (2024-06-17)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/b9b97e5ba23fe7bd5fa4df54696102e8aa863cf6?narHash=sha256-Rizg9efi6ue95zOp0MeIV2ZedNo%2B5U9G2l6yirgBUnA%3D' (2024-07-05)
• Updated input 'hyprland/xdph/hyprland-protocols':
    'github:hyprwm/hyprland-protocols/e06482e0e611130cd1929f75e8c1cf679e57d161?narHash=sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM%3D' (2024-05-05)
  → 'github:hyprwm/hyprland-protocols/1b61f0093afff20ab44d88ad707aed8bf2215290?narHash=sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY%3D' (2024-06-18)

• Updated input 'jovian':
    'github:Jovian-Experiments/Jovian-NixOS/fdcaab38857f221eea20a0073f891feb36ea8e99?narHash=sha256-KqGnYAKWxwRgWxc/78HbL3PHeuDJOSS/9%2BPkm5doUk8%3D' (2024-07-05)
  → 'github:Jovian-Experiments/Jovian-NixOS/5d1928b925da7390eae3e369e6808d64cf916ed7?narHash=sha256-rw8s4EsRSVtlAGNd5ttO4Ynb/eq0rMJsqG9zyREK3sk%3D' (2024-07-08)

• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/9822e0611d49ae70278ac20c9d7b68e4797b2fab?narHash=sha256-ihHXj%2Bfp/BVpc86rCNN%2BQbnpg6OrbeI%2Bjxz6VRyzcy0%3D' (2024-07-06)
  → 'github:nix-community/neovim-nightly-overlay/b6b51915180e6d2eac488d6f882e4ba36bad380d?narHash=sha256-IG/g4l/W0R2M/jxEyu/Sl3BmR/OK5D1jiahpc0wlpvE%3D' (2024-07-09)

• Updated input 'neovim-nightly/git-hooks':
    'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07?narHash=sha256-F1h%2BXIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4%3D' (2024-06-24)
  → 'github:cachix/git-hooks.nix/2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96?narHash=sha256-1in42htN3g3MnE3/AO5Qgs6pMWUzmtPQ7s675brO8uw%3D' (2024-07-08)

• Updated input 'neovim-nightly/neovim-src':
    'github:neovim/neovim/3c53e8f78511d6db9a6c804e5a479ba38c33102d?narHash=sha256-9tiW0rkQZGhnNaIP6gWj7N/iTlCLFdD5r37R1jVOs3s%3D' (2024-07-05)
  → 'github:neovim/neovim/fb6c059dc55c8d594102937be4dd70f5ff51614a?narHash=sha256-66u%2Byzjk6NrFr2jj2svD3jwNX8P2B8/DNH9A51V4kh8%3D' (2024-07-08)

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6?narHash=sha256-rwz8NJZV%2B387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ%3D' (2024-07-03)
  → 'github:NixOS/nixpkgs/655a58a72a6601292512670343087c2d75d859c1?narHash=sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU%3D' (2024-07-08)

• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/2e42a42b46fd0e79306cf9207b00a7364e77c1ab?narHash=sha256-DMmXUEesU/CGtnOiXkMZYJvXf%2BTJNZnKxIuiuA6ssZs%3D' (2024-07-07)
  → 'github:nix-community/nixpkgs-wayland/813f608e25bc14b16053c005b05ebf8b18d25503?narHash=sha256-05wIPweI6ts1BtVaMYbdL5KEelMfM4g5f/Z/xQzXRQI%3D' (2024-07-08)

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c184aca4db5d71c3db0c8cbfcaaec337a5d065ea?narHash=sha256-kcI8q9Nh8/CSj0ygfWq1DLckHl8IHhFarL8ie6g7OEk%3D' (2024-07-07)
  → 'github:Mic92/sops-nix/67035a355b1d52d2d238501f8cc1a18706979760?narHash=sha256-jqvhLDXzTLTHq9ZviFOpcTmXXmnbLfz7mWhgMNipMN4%3D' (2024-07-08)

Docker Images:
• craumix/jmusicbot 0.4.1:
   sha256:3d93112ea5318eb527b9dd599e7fd5540fee8e6f481769a86f225e6d715d91b2
 → sha256:560d380cbe9e90fd51e420eb060d5780dca07a5e04457b221f72e89210d23eb2

• quay.io/vaultwarden/server latest:
   sha256:edb8e2bab9cbca22e555638294db9b3657ffbb6e5d149a29d7ccdb243e3c71e0
 → sha256:4e28425bad4bd13568e1779f682ff7e441eca2ecd079bd77cfcba6e4eaf1b999

• ghcr.io/linuxserver/bazarr latest:
   sha256:86ad012fc31e974dcf0147900a202443d92d12f4334a9e4ec89baa2052fb12fa
 → sha256:5da74fc1bbd5da69e3b4f9b2376f6ccfbe3b47f143e6eb5651ed37cc1d4412dd

• ghcr.io/linuxserver/calibre-web latest:
   sha256:2de4ab91f2768c6db32d083a5935663fcc0eded1a67a4fdc2c1f705f7bb24d2d
 → sha256:73aa52c663537a21d0b2e5315ba1080aeaecff1fa29dc7c020a4107f64e96490
2024-07-09 18:35:28 -04:00
fc98b6020d feat: remove stylelint and neofetch
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-09 14:17:03 -04:00
3412b79c1b refactor(ags): switch to astal-tray
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-08 21:15:11 -04:00
c6dea3b93d chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-07 20:59:24 -04:00
423553b292 fix(bbsteamie): use yuzu instead of ryujinx
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-07 18:41:43 -04:00
de44eef38d chore: fix some package names
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-07 17:10:17 -04:00
7a78e34479 feat: add yuzu package
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-07 16:55:16 -04:00
a29dd7f1d2 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-07 02:10:08 -04:00
52242e645a refactor: use simple instead of oneshot type for systemd
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-07 01:54:46 -04:00
2a8eb46b03 feat(servers): make 7 Days to Die server work
All checks were successful
Discord / discord commits (push) Successful in 38s
2024-07-06 23:55:05 -04:00
4fb8fab641 fix(desktop): adjust monitor refresh rates
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-06 16:00:20 -04:00
efb2ae0425 fix(desktop): focus mainMonitor on launch
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-06 15:41:18 -04:00
35645b93a6 feat(desktop): wpaperd -> hyprpaper
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-06 03:07:47 -04:00
79c293f29f feat(bbsteamie): add discover
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-05 00:27:40 -04:00
23ee3bfab9 feat: add more archive cli tools to common config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-04 21:34:46 -04:00
8242426c66 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-04 19:33:33 -04:00
49aa21cf32 doc(bbsteamie): add instructions for how to make decky work
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-04 19:06:17 -04:00
3a4100cb28 fix(bbsteamie): add some packages to decky
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-04 17:54:27 -04:00
61b3fc2c75 fix(bbsteamie): run decky in user's folders
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-04 17:47:09 -04:00
04f5aa0f4b fix(bbsteamie): use older version of ryujinx
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-03 20:54:52 -04:00
185ce55dbc feat(bbsteamie): add steam settings
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-03 17:49:48 -04:00
ac15f698b0 chore: update flake.lock and add discord overlay
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-03 13:24:53 -04:00
4405ad4bf9 fix: update flake.lock for latest openssh
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-02 12:21:47 -04:00
b1db2f2f85 feat(steam-servers): update 7days to 1.0
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-01 22:43:18 -04:00
9a7659814c chore: bump nextcloud
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-01 00:27:07 -04:00
ce25e44e57 feat(desktop): add kde-cli-tools
All checks were successful
Discord / discord commits (push) Has been skipped
2024-07-01 00:26:45 -04:00
128bad02f3 fix(bbsteamie): switch to x11 session
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-30 12:58:09 -04:00
f4473b23b4 feat(bbsteamie): add ryujinx
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-30 12:01:18 -04:00
b063022753 feat(bbsteamie): switch to plasma5 to not have annoying popup
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-30 11:58:47 -04:00
011b80e760 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-30 11:43:04 -04:00
2413c5b74f feat(bbsteamie): add gaming mode button
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-30 02:20:12 -04:00
1bb3f8e5e1 fix(bbsteamie): add timeout to decky
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-30 00:35:53 -04:00
a69f665865 fix(bbsteamie): fix autologin
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 23:00:49 -04:00
d6998d84d0 fix(bbsteamie): set correct defaultDesktop
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 22:55:16 -04:00
5712f36177 fix(bbsteamie): enable sddm
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 22:53:47 -04:00
16c948d70e fix(bbsteamie): correct the size of swapfile
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 22:44:08 -04:00
aae39388b2 feat(bbsteamie): add kmscon to config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 22:30:08 -04:00
bf0eb1bb86 fix(bbsteamie): correct the path to swapfile
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 22:19:22 -04:00
045eb7bb00 feat: use http for cache if tailscale not enabled
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 22:10:01 -04:00
8319e4b87b feat(bbsteamie): add auto-gen'd config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 21:38:22 -04:00
7e7dde4c6f feat(servers): add config for 7Days server
All checks were successful
Discord / discord commits (push) Successful in 41s
2024-06-29 17:57:50 -04:00
702f0a4d64 feat(firefox): add auto-refresh addon
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 17:46:32 -04:00
2ceaaeff76 feat(steamdeck): prepare config for eventual install
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-29 03:45:06 -04:00
724ced18f1 refactor(vars): get list of colors from schemes
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-28 22:09:17 -04:00
261efa8768 feat: support more fs for default x86-linux
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-28 21:47:11 -04:00
df6fc2d165 feat(servers): attempt to make a 7 Days to Die server
All checks were successful
Discord / discord commits (push) Successful in 1m14s
2024-06-28 17:43:43 -04:00
2789cbed33 feat(steamdeck): add jovian overlays
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-28 13:44:12 -04:00
4a2ba58cd4 feat(nix): use disk for nix cache
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-28 13:40:52 -04:00
e11914aa08 feat(hypr): unify home/packages to desktop module
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-28 13:37:10 -04:00
261f1f0f34 chore: update flake.lock and nvidia version
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-28 02:06:10 -04:00
686d459f9c fix(gsr): change path to mainMonitor
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-27 01:03:50 -04:00
85a3c28438 refactor: start making flake exposed modules with desktop
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-27 00:56:27 -04:00
c119757766 docs: fix typo
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-26 14:48:48 -04:00
fc712b5223 refactor: move mpv scripts and firefox addons to scopes in lgcyPkgs
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-26 14:47:14 -04:00
c928cc2a86 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-26 10:42:46 -04:00
eb36ad141b chore(servers): jellyfin 10.9.6 -> 10.9.7
All checks were successful
Discord / discord commits (push) Successful in 45s
2024-06-24 21:25:03 -04:00
a504df00e9 fix(ags): don't close widgets on pressing the bar
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-24 16:52:09 -04:00
27f1d01f31 refactor: get rid of mdDocs usage
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-24 12:30:49 -04:00
a793ff8a13 feat(hypr): add stuff to make development easier
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-24 11:46:08 -04:00
22267e6c2e refactor: remove precise inputs from lib.nix
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-24 11:38:30 -04:00
e581ce4582 feat(nvim): set tabs to 4 spaces for c/cpp
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-24 11:33:02 -04:00
4a396a28cc fix(hypr): unpin commit
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-23 20:32:04 -04:00
ba8c00497d feat(servers): update mc-cv to 1.21
All checks were successful
Discord / discord commits (push) Successful in 39s
2024-06-23 16:57:20 -04:00
3efa0d6230 feat(servers): update mc-sv to 1.21
All checks were successful
Discord / discord commits (push) Successful in 38s
2024-06-23 15:51:15 -04:00
917e5ae3fc chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-23 15:00:23 -04:00
beee9a7521 feat: thunderbird -> protonmail-desktop
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-23 14:26:53 -04:00
965466bf7e feat(git): add config for https github
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-23 13:21:02 -04:00
87d99ffbb2 fix(wpaperd): pin commit to working version
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-22 20:37:03 -04:00
1d0bc7a680 fix(pcsd): update to latest
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-21 21:12:54 -04:00
7c396e7615 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-21 18:15:19 -04:00
b16a3b499c fix(hypr): pin to last working commit
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-20 00:37:25 -04:00
cb6a5f62f8 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-19 19:19:25 -04:00
f9113c5334 fix(ags): fix default monitor for bar
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-19 13:03:03 -04:00
8abca33123 feat(ags): use hyprland desc for monitor names in the code
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-19 12:54:01 -04:00
dfcb1411fa fix(vencord): get latest commit to fix discord
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-19 11:17:18 -04:00
32113a2b75 fix(jellyfin): bump input to fix crash
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-17 22:33:27 -04:00
c98d947c26 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-17 21:31:47 -04:00
09fa6eba73 feat(ags): add autorotate toggle button
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-17 21:30:02 -04:00
b37246474c feat(hypr): setup hyprgrass again
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-16 14:33:58 -04:00
638957dbb5 chore(nvim): fix deprecation warnings
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-16 12:11:14 -04:00
1b22a41415 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-16 11:31:26 -04:00
b94a738734 feat: cache devShells by default
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-15 22:51:36 -04:00
42d8107399 feat(hypr): adjust some config values
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-15 16:10:52 -04:00
ecbabde0bd feat(hypr): update config with latest variables from hyprland
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-15 01:40:26 -04:00
eea2b60b91 fix(dracula): add ext to wallpaper
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-13 23:46:34 -04:00
d17a69372a refactor(pkgs): improve versioning
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-13 22:27:54 -04:00
927a3fbfb1 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-13 11:11:47 -04:00
8912b55ff9 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-12 13:09:42 -04:00
8ea8963d9c fix(acpid): make sure we run the command even if multiple sockets
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-12 12:56:11 -04:00
e8e534a4ad fix(greetd): add necessary newline to hyprland conf
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-12 10:13:43 -04:00
6ddeafa403 fix(hm): switch back to upstream
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-11 19:17:20 -04:00
edac66e017 fix: update hyprland
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-11 17:17:21 -04:00
b869da9668 chore: fix update script and update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-11 16:42:47 -04:00
31c3cd5f7d feat(firefox): update and clean up firefox-gx
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-11 11:13:40 -04:00
bde58a622d chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-11 08:20:12 -04:00
cab5bfa648 refactor: reduce amount of IFDs
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-10 22:57:20 -04:00
f08e17f51b chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-10 09:25:24 -04:00
158f0a6813 style: change some nix formatting
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-09 22:49:30 -04:00
7ea031e84e fix(droid): remove unused imports
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-09 12:02:26 -04:00
ef22af1ee9 refactor: get rid of overlays in common
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-08 23:50:13 -04:00
a51db7b00f refactor: move dracula from common overlays to pkgs
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-08 23:40:44 -04:00
fe7b03dd4a refactor: move customPkgs to self.packages
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-08 22:21:04 -04:00
14081936af refactor: move sioyek out of common config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-08 21:30:44 -04:00
bfc7e894bf chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-08 15:22:58 -04:00
29bc56e749 fix: update pcsd flake
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-08 01:55:32 -04:00
b27ca31c71 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-08 01:43:43 -04:00
5a1d50cece fix(wpaperd): make sure wallpaper fits on laptop
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-07 23:17:31 -04:00
d11b941ead chore(servers): jellyfin v10.9.5 -> v10.9.6
All checks were successful
Discord / discord commits (push) Successful in 57s
2024-06-06 18:54:09 -04:00
df78fafcb9 fix: use latest on wpaperd
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-06 09:22:55 -04:00
5faee0c1b4 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-06 08:39:51 -04:00
7b7b451ab1 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-05 08:45:20 -04:00
1230f92f70 fix(nvim): make coq follow xdg
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-02 20:50:20 -04:00
55e49ea248 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-02 18:42:47 -04:00
d1d36e28c6 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-02 02:21:56 -04:00
Updater
906a6ddf84 fix(nvim): set config file for latex indenting
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-02 00:04:59 -04:00
3d367b0230 feat(nvim): add latex support
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-01 17:41:48 -04:00
1471de3400 feat(gaming): add r2modman and some steam stuff
All checks were successful
Discord / discord commits (push) Has been skipped
2024-06-01 15:27:11 -04:00
80ab476c80 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-31 19:56:41 -04:00
6be9d173b6 fix: don't add local cache to builder
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-29 21:18:50 -04:00
7893d37df5 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-29 13:15:17 -04:00
Updater
a72a054632 feat(hypr wim): hypridle -> acpid
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-29 12:30:14 -04:00
Updater
bd5b0dcec8 feat(wim): add acpi_call to hardware config 2024-05-29 12:29:21 -04:00
60de780156 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-28 12:03:20 -04:00
Updater
2fd1f95b79 feat: add nix-output-monitor to default packages
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-27 08:20:23 -04:00
b70dcb797d chore(servers): jellyfin 10.9.2 -> 10.9.3
All checks were successful
Discord / discord commits (push) Successful in 42s
2024-05-26 21:56:03 -04:00
6fd17209c7 feat(jelly): add merge versions plugin
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-26 15:48:19 -04:00
67671e5568 feat(hypr): moved third monitor up
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-26 12:32:31 -04:00
Updater
4da31089e7 fix(hypr): make sure hypridle runs
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-25 21:17:31 -04:00
1e448f8ae2 chore: switch to nixos-unstable-small
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-25 20:28:35 -04:00
ac16dde84e fix: use latest headscale again
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-25 12:59:40 -04:00
a44d11d20c chore: update flake.lock and remove deprecated warning for nvim
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-25 00:23:28 -04:00
a59961171a chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-23 21:22:11 -04:00
8667fbe805 refactor: reduce amount of nixpkgs in flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-22 20:17:36 -04:00
9efff85115 fix(forgejo): fix dns for runner
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-22 14:37:59 -04:00
5fb5e08ebd feat(servers): use caddy instead of nginx proxy for jellyfin
All checks were successful
Discord / discord commits (push) Successful in 37s
2024-05-22 14:30:34 -04:00
Updater
e502c23c02 fix(ags): fix a couple issues with the clipboard
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-22 12:33:19 -04:00
cd6c33ce9a chore(nvidia): add wayland env var
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-22 10:52:15 -04:00
a6c90f335c feat(nvidia): use latest beta driver
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-22 10:24:21 -04:00
66d8dc24b9 fix(forgejo): add extraHosts for runner to work consistently
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-22 10:05:49 -04:00
d896a0e3f3 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-22 09:42:39 -04:00
e4384c5434 fix(ags): reset scroll on opening app and clip
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-20 23:10:04 -04:00
0861880a20 refactor: modularize flake and import nixpkgs
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-20 22:41:45 -04:00
7a52fc6beb chore: organize gitignore
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-20 11:49:21 -04:00
8acc916117 chore(bazarr-bulk): move to upstream flake
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-20 11:44:00 -04:00
5f9dca81e1 refactor: use genflake for better flake inputs handling
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-20 01:17:07 -04:00
684b8a5c9e chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-19 14:02:08 -04:00
638430a8e3 feat(subs): add bazarr-bulk sync and timer
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-18 23:49:54 -04:00
682db6c529 feat(nvim): add rust lsp
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-18 19:43:43 -04:00
8d04980e50 feat(subs): separate mgmt of subs in scripts
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-18 17:51:06 -04:00
31a3cfcaca feat(bazarr): only use one instance
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-18 00:04:26 -04:00
9a57b0b425 chore(servers): jellyfin 10.9.1 -> 10.9.2
All checks were successful
Discord / discord commits (push) Successful in 35s
2024-05-17 22:04:29 -04:00
86772cf04d feat(droid): add remote building
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-17 16:13:27 -04:00
1c67489caa chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-17 08:16:56 -04:00
8b561153bc feat(nvim): setup json/yaml lsp
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-16 22:49:46 -04:00
8f08976322 feat(subs): start setting up bazarr-bulk
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-16 22:46:44 -04:00
9ee721e52f fix(nvim): remove unused plugin
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-16 11:26:34 -04:00
9102eccddf feat(nvim): lualine -> heirline
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-16 11:24:22 -04:00
e3dc44a511 fix(firefox): update gx version and fix url font-size
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-16 09:53:26 -04:00
550870728f chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-16 08:52:56 -04:00
c1e0932486 feat(nvim): use nvim-nightly
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-15 18:55:07 -04:00
2326ea6bb9 fix(nvim): set correct path to shellcheck
Some checks are pending
Discord / discord commits (push) Waiting to run
2024-05-15 15:49:13 -04:00
4f4b1e5140 fix(ags cursorbox): make release more reliable
Some checks are pending
Discord / discord commits (push) Waiting to run
2024-05-15 15:13:24 -04:00
5eeb29677d chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-14 18:03:55 -04:00
4f473a4248 feat(jellyfin): setup packages correctly with flake
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-13 23:10:27 -04:00
cefaec73be chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-13 14:39:14 -04:00
c1e85636ae fix(hypr): fix hypridle config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-12 22:42:26 -04:00
117c517810 feat(jellyfin): edit some transcoding settings
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-12 22:17:37 -04:00
6942e77ed3 chore(servers): jellyfin 10.9.0 -> 10.9.1
All checks were successful
Discord / discord commits (push) Successful in 36s
2024-05-12 22:08:26 -04:00
71066fad02 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-12 13:14:45 -04:00
068a005108 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-11 23:20:45 -04:00
69f6134563 feat(nvim): setup basedpyright
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-11 20:10:45 -04:00
b0323e5fe1 feat(nvim): setup lua_ls
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-11 19:45:04 -04:00
39fb08bc48 feat(nvim): setup jdtls
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-11 19:27:26 -04:00
4f81012634 feat(nvim): add cmake and clangd lsp
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-11 15:33:38 -04:00
0a3464bb12 feat(nvim): setup autopairs with coq
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-11 15:07:24 -04:00
b034a294cb feat(nvim): setup bashls
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-11 14:42:59 -04:00
064b6b07f9 fix(hypr): use hyprexpo because Hyprspace crashes
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-10 14:41:53 -04:00
5c7aca6b4a chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-10 14:18:50 -04:00
9b749922ea feat(nvim): setup ts-error-translator.nvim
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-09 17:14:55 -04:00
772374b0fd feat(nvim): setup web dev lsps
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-09 15:36:57 -04:00
c8f8dc98e6 fix(nvim): setup lsps properly
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-09 10:42:45 -04:00
0667f0f4c9 fix(nvim): keep bash settings even when not using as IDE
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-09 09:13:40 -04:00
9c9945523c feat(nvim): setup lsp_lines 2024-05-09 09:12:01 -04:00
8ccc90c9f3 feat(nvim): setup lsp-status
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-08 23:56:56 -04:00
8deffb3adb feat(nvim): coc -> lspconfig
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-08 23:04:16 -04:00
6753c39ccd refactor(nvim): move stuff to lua, fix windows depending on size of win, etc
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-08 20:26:57 -04:00
a7c57a6501 chore(hypr): update plugins and enable hyprexpo
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-08 12:10:39 -04:00
691faaaec3 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-07 22:50:49 -04:00
ac2b846662 refactor(nvim): split up lang configs in separate files
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-07 22:49:00 -04:00
3348300ab7 refactor(nvim): move treesitter stuff to its own file
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-06 18:14:52 -04:00
7691490e00 fix(ags bar): make active workspace css work again
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-05 23:13:31 -04:00
ac9aa96522 refactor: make nixd happy
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-05 23:07:06 -04:00
551880cc24 feat(ags): add screenshot gui
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-05 22:43:03 -04:00
63be8a848c fix: use nix 2.21.3
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-05 16:45:35 -04:00
d649c7cee5 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-04 20:43:07 -04:00
e56ccb5a97 refactor(nvim): remove riscv syntax highlight and make nixd happy
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-04 19:14:13 -04:00
23acd9ef5d chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-02 14:48:50 -04:00
06e12f7bb1 fix(ags): make sure we don't pass a non-string to fzf
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-01 15:24:52 -04:00
9a9cfc13f6 refactor(ags): abstract appL and clip with SortedList
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-01 15:03:42 -04:00
384e0c24b3 fix(ags): make lockscreen work with latest Hyprland
All checks were successful
Discord / discord commits (push) Has been skipped
2024-05-01 10:21:28 -04:00
0665c3bfae chore(forgejo): v7.0.0 -> v.7.0.1 2024-05-01 10:21:28 -04:00
177f8555a3 chore: update flake.lock 2024-05-01 10:21:28 -04:00
3b6033da4f chore(nextcloud): 28.0.4 -> 28.0.5 2024-05-01 10:21:28 -04:00
107f3a0e3e chore(immich): 1.103.0 -> 1.103.1 2024-05-01 10:21:28 -04:00
85473011b2 feat(ags): copy on enter in clipboard 2024-05-01 10:21:28 -04:00
ac29acb446 fix(ags): get rid of useless logs 2024-05-01 10:21:28 -04:00
595e3996c3 chore: update flake.lock 2024-05-01 10:21:28 -04:00
c738d4137f feat(ags): add entry and sorting on clipboard 2024-05-01 10:21:28 -04:00
5285b166b2 fix(ags): use my fork until it gets merged 2024-05-01 10:21:28 -04:00
b01190a532 fix(headscale): revert to last working commit 2024-05-01 10:21:28 -04:00
bc4be97591 feat(hypr): go back to hyprexpo and update flake.lock 2024-05-01 10:21:28 -04:00
315a06dbf2 fix(ags binto): add clipboard 2024-05-01 10:21:28 -04:00
dfa762d46e feat(satty): setup config file 2024-05-01 10:21:28 -04:00
f4618c3271 feat(ags): use experimental clipboard manager 2024-05-01 10:21:28 -04:00
5fd6448ba2 fix(ags applauncher): reverse incorrect sorting 2024-05-01 10:21:28 -04:00
1ca52dc2ae refactor(hypr): remove need for portal override 2024-05-01 10:21:28 -04:00
f2710d1c19 feat(hypr): swappy -> satty 2024-05-01 10:21:28 -04:00
585d764720 feat(binto): move to new logitech mouse 2024-05-01 10:21:28 -04:00
2caeb6f438 fix(ags): remove incorrect box-shadows 2024-05-01 10:21:28 -04:00
e1d746b0f5 feat: use local version of nix-fast-build 2024-05-01 10:21:27 -04:00
b12b2e2911 fix: bump hyprland input to fix crash 2024-05-01 10:21:27 -04:00
534fb9d449 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-25 11:17:31 -04:00
31c3dbb205 feat(mice): solaar -> ratbagd/piper
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-24 17:44:08 -04:00
b7b25ea3cc feat(node-sub): improve support for series
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-24 15:23:10 -04:00
d625b740be fix(node-sub): move back sub in case of sync failure
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-24 14:50:25 -04:00
40ee4f048c fix(nextcloud): make onlyoffice trust new proxy
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-24 10:00:50 -04:00
6cf090e2f2 feat(nextcloud): get rid of errors in config
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-24 09:36:52 -04:00
bc1efb0d25 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-24 08:44:00 -04:00
99545ac48e feat(ags bar): improve hover state on hover revealers
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-23 22:26:13 -04:00
731b85c948 fix(nvim): don't do assertion if not ide
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-22 15:27:11 -04:00
b6c4957043 fix(droid): don't use osConfig since it doesn't exist
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-22 15:14:22 -04:00
d31502f1da feat(bin-cache): nixci -> nix-fast-build
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-22 13:51:31 -04:00
a8ec0fcfff feat(nvim): nil -> nixd
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-22 11:40:48 -04:00
2af97f6b5a feat(hypr): swww -> wpaperd
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-21 14:57:38 -04:00
a1400a2335 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-21 02:45:58 -04:00
7f8b1e586c feat(nvim): mini.map -> codewindow
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-21 02:00:39 -04:00
bc18bbcf82 feat(nvim): add easytables
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-20 19:20:49 -04:00
ea9ed3f8dc feat(nvim): don't count line length for markdown tables
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-20 15:09:03 -04:00
32e5e90b16 feat(binto): add logitech mouse
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-20 13:42:51 -04:00
354ad470f4 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 22:53:54 -04:00
ab6e7efc1c feat(ags): add fprint-grosshack support for lockscreen
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 20:43:43 -04:00
8eaf865994 fix(hypr): point to correct path of lockscreen
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 20:43:17 -04:00
4dd98e97c1 fix(ags): only show one entry for lockscreen if !greetdDupe
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 20:31:17 -04:00
3b32b5c302 fix(astal): remove gtk-session-lock since it's gtk3
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 19:30:55 -04:00
4e1ad1c8f6 fix(gtk-session-lock): make types use correct @girs types
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 19:20:08 -04:00
bab5698f39 feat(ags): add clock to lockscreen
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 18:00:50 -04:00
94ce797784 feat(ags): replace hyprlock with ags
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 17:01:09 -04:00
d98290a6e4 fix(gtk-lock): add deps to get types right
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 11:54:21 -04:00
27ff75260d feat(ags): add gtk-session-lock dep
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-19 10:38:54 -04:00
a676406150 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-18 14:37:46 -04:00
639a623db3 feat(nvim): add clangd
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-18 08:26:22 -04:00
2216e1414d fix(ags): launch apps detached from ags
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-16 08:27:36 -04:00
aa7b215055 fix(ags): set transition on windows everytime they open
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-16 08:14:58 -04:00
244fd6daad feat(hypr): hyprexpo -> Hyprspace
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-16 08:11:12 -04:00
c93185e9e8 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-15 19:23:55 -04:00
45119487c3 feat(hyprlock): use $PROMPT for placeholder_text
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-15 11:43:58 -04:00
dd7b67e811 refactor(ags popups): use setters properly and add on_* func props
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-15 09:31:52 -04:00
6881d583b7 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-15 09:21:00 -04:00
d232f20334 fix(servers): downgrade jmusicbot to get it to work again
All checks were successful
Discord / discord commits (push) Successful in 41s
2024-04-14 16:46:13 -04:00
50b1565bf5 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-14 15:02:19 -04:00
c6d7ffa4b6 feat: add adb on desktops
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-14 14:26:59 -04:00
4bc6445a4c feat(servers): update minecraft creative server and update to 1.20.4
All checks were successful
Discord / discord commits (push) Successful in 48s
2024-04-14 00:17:01 -04:00
820729a03d chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-13 00:55:18 -04:00
118fac38a8 feat(update): show updated addons only
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-13 00:25:10 -04:00
29d5cf6844 chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-11 13:50:20 -04:00
555d1db3ba refactor(ags): remove blur and unused stuff from popup window class
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-10 21:04:19 -04:00
d2a2878c11 feat(ags wim): add touch bind to open overview
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-10 19:38:28 -04:00
3d03229682 feat(secrets): override sops-nix input
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-10 14:56:34 -04:00
9994dadd6f chore: update flake.lock
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-09 20:43:25 -04:00
b1162ce7a8 feat(updateImage): check version before downloading image
All checks were successful
Discord / discord commits (push) Has been skipped
2024-04-09 20:33:00 -04:00
974d231027 feat(servers): only enable 1.20.4 survie MC server
All checks were successful
Discord / discord commits (push) Successful in 38s
2024-04-09 15:46:18 -04:00
522 changed files with 21103 additions and 18095 deletions

23
.gitignore vendored
View file

@ -1,9 +1,22 @@
# Python
*.egg-info
*.temp
# NPM
*node_modules/
*types
*build/
result*
*config.js
*icons
# Direnv
*.direnv/
# Generated by nix
result*
.nixd.json
## AGS
nixosModules/ags/config/ts/lockscreen/vars.ts
**/config.js
*icons
**/types
# Other
*.temp

View file

@ -6,7 +6,7 @@ You might find it weird that most of my config is written in TypeScript.
That's because all my desktops run
[AGS](https://github.com/Aylur/ags)
for UI. Click on
[this](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/modules/ags)
[this](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/nixosModules/ags)
to see my configuration.
I'm also a victim of Stockholm syndrome at this point and make my scripts
@ -17,10 +17,8 @@ in TypeScript because it's the scripting language I am most comfortable with.
### General
This repo is the complete configuration of machines I own,
running NixOS or Nix. I tend to mix Home-Manager and NixOS
a lot to make my custom modules by using my global vars system
explained
[here](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/devices)
running NixOS or Nix. Its structure is based on a flake's
[outputs](https://wiki.nixos.org/wiki/Flakes#Output_schema).
### Flake Location
@ -44,12 +42,21 @@ sudo ln -sf /home/matt/.nix /etc/nixos
| ---------------------------------- | ----------- |
| `nixosConfigurations` | [devices](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/devices)' + ISO's configurations |
| `nixOnDroidConfigurations.default` | [Nix-On-Droid](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/devices/android)'s configuration |
| `formatter` | I have yet to know if this has any uses but I format with [alejandra](https://github.com/kamadorueda/alejandra) |
| `packages` | Some custom [packages](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/packages) not available in nixpkgs or modified from it |
| `legacyPackages` | Some custom [package scopes](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/legacyPackages) not available in nixpkgs or modified from it |
| `apps` | Scripts ran from the flake defined [here](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/apps) |
| `homeManagerModules` | [Modules](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/homeManagerModules) made for home-manager |
| `homeManagerModules` | [Modules](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/nixosModules) made for NixOS systems |
| `formatter` | I format nix code with [alejandra](https://github.com/kamadorueda/alejandra) |
| `devShells.default` | A dev shell to build an ISO from the live-image nixosConfiguration |
| `devShells.ags` | A dev shell to have a NodeJS env when I enter my AGS's config directory |
### Flake Inputs
I prefer using a more descriptive format for my inputs like so:
To allow use of the full nix language for my inputs, I use [genflake](https://github.com/jorsn/flakegen).
Therefore, the flake I edit is located at `./outputs.nix`.
I also prefer using a more descriptive format for my inputs like so:
```nix
nixpkgs = {
@ -67,29 +74,23 @@ nixpkgs = {
to make it more clear what is what in the flake URI
I also have a long list of inputs with `flake = false;` because
it makes it easier to update non-flake custom packages or overlays
to have the latest git. I make sure to end the names of these inputs
with `src` to make it clear what they are.
### Secrets
All my secrets are in a private git repo that makes use of
[sops-nix](https://github.com/Mic92/sops-nix).
I only use secrets stored in `JSON` and generate `.sops.yaml`
from `.sops.nix`:
I generate `.sops.yaml` from `.sops.nix`:
```nix
let
wim = "somekey";
oksys = "somekey2";
binto = "somekey2";
in {
creation_rules = [
{
path_regex = "secrets/[^/]+\\.(yaml|json|env|ini)$";
key_groups = [
{
age = [wim oksys];
age = [wim binto];
}
];
}

14
apps/default.nix Normal file
View file

@ -0,0 +1,14 @@
{
inputs,
pkgs,
...
}: let
inherit (pkgs.lib) getExe;
mkApp = file: {
program = getExe (pkgs.callPackage file ({} // inputs));
type = "app";
};
in {
updateFlake = mkApp ./update;
}

1
apps/update/.envrc Normal file
View file

@ -0,0 +1 @@
use flake $FLAKE#node

37
apps/update/default.nix Normal file
View file

@ -0,0 +1,37 @@
{
lib,
system,
buildNpmPackage,
callPackage,
makeWrapper,
mozilla-addons-to-nix,
nodejs_latest,
...
}: let
inherit (lib) concatMapStringsSep getBin;
inherit (builtins) readFile fromJSON;
packageJSON = fromJSON (readFile ./package.json);
pname = packageJSON.name;
in
buildNpmPackage rec {
name = pname;
inherit (packageJSON) version;
src = ./.;
npmDepsHash = "sha256-qpnQSJNl68LrsU8foJYxdBXpoFj7VKQahC9DFmleWTs=";
runtimeInputs = [
(callPackage ../../nixosModules/docker/updateImage.nix {})
mozilla-addons-to-nix.packages.${system}.default
];
nativeBuildInputs = [makeWrapper];
postInstall = ''
wrapProgram $out/bin/${pname} \
--prefix PATH : ${concatMapStringsSep ":" (p: getBin p) runtimeInputs}
'';
nodejs = nodejs_latest;
meta.mainProgram = pname;
}

View file

@ -0,0 +1,464 @@
// TODO: switch to typescript https://github.com/eslint/eslint/pull/18134
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import stylistic from '@stylistic/eslint-plugin';
// import stylisticRules from '@stylistic/eslint-plugin/rule-options';
import jsdoc from 'eslint-plugin-jsdoc';
export default tseslint.config(
{
languageOptions: {
parserOptions: {
project: true,
tsconfigDirName: import.meta.dirname,
},
},
plugins: {
jsdoc,
// @ts-expect-error this works
'@stylistic': stylistic, // as typeof stylisticRules,
},
extends: [
eslint.configs.recommended,
jsdoc.configs['flat/recommended-typescript'],
...tseslint.configs.recommended,
],
rules: {
// JSDoc settings
'jsdoc/tag-lines': ['warn', 'any', { startLines: 1 }],
'jsdoc/check-line-alignment': ['warn', 'always', {
tags: ['param', 'arg', 'argument', 'property', 'prop'],
}],
// Newer settings
'@typescript-eslint/no-extraneous-class': ['off'],
'@typescript-eslint/no-implied-eval': ['off'],
// Pre-flat config
'@typescript-eslint/no-unused-vars': [
'error',
{
args: 'all',
argsIgnorePattern: '^_',
caughtErrors: 'all',
caughtErrorsIgnorePattern: '^_',
destructuredArrayIgnorePattern: '^_',
varsIgnorePattern: '^_',
ignoreRestSiblings: true,
},
],
'array-callback-return': [
'error',
{
allowImplicit: true,
checkForEach: true,
},
],
'no-constructor-return': [
'error',
],
'no-unreachable-loop': [
'error',
{
ignore: [
'ForInStatement',
'ForOfStatement',
],
},
],
'no-use-before-define': [
'error',
{
functions: false,
},
],
'block-scoped-var': [
'error',
],
'class-methods-use-this': [
'error',
],
'curly': [
'warn',
],
'default-case-last': [
'warn',
],
'default-param-last': [
'error',
],
'eqeqeq': [
'error',
'smart',
],
'func-names': [
'warn',
'never',
],
'func-style': [
'warn',
'expression',
],
'logical-assignment-operators': [
'warn',
'always',
],
'no-array-constructor': [
'error',
],
'no-empty-function': [
'warn',
],
'no-empty-static-block': [
'warn',
],
'no-extend-native': [
'error',
],
'no-extra-bind': [
'warn',
],
'no-implicit-coercion': [
'warn',
],
'no-iterator': [
'error',
],
'no-labels': [
'error',
],
'no-lone-blocks': [
'error',
],
'no-lonely-if': [
'error',
],
'no-loop-func': [
'error',
],
'no-magic-numbers': [
'error',
{
ignore: [
-1,
0.1,
0,
1,
2,
3,
4,
5,
10,
12,
33,
66,
100,
255,
360,
450,
500,
1000,
],
ignoreDefaultValues: true,
ignoreClassFieldInitialValues: true,
},
],
'no-multi-assign': [
'error',
],
'no-new-wrappers': [
'error',
],
'no-object-constructor': [
'error',
],
'no-proto': [
'error',
],
'no-return-assign': [
'error',
],
'no-sequences': [
'error',
],
'no-shadow': [
'error',
{
builtinGlobals: true,
allow: [
'Window',
],
},
],
'no-undef-init': [
'warn',
],
'no-undefined': [
'error',
],
'no-useless-constructor': [
'warn',
],
'no-useless-escape': [
'off',
],
'no-useless-return': [
'error',
],
'no-var': [
'error',
],
'no-void': [
'off',
],
'no-with': [
'error',
],
'object-shorthand': [
'error',
'always',
],
'one-var': [
'error',
'never',
],
'operator-assignment': [
'warn',
'always',
],
'prefer-arrow-callback': [
'error',
],
'prefer-const': [
'error',
],
'prefer-object-has-own': [
'error',
],
'prefer-regex-literals': [
'error',
],
'prefer-template': [
'warn',
],
'no-prototype-builtins': 'off',
'@typescript-eslint/no-var-requires': [
'off',
],
'@stylistic/array-bracket-newline': [
'warn',
'consistent',
],
'@stylistic/array-bracket-spacing': [
'warn',
'never',
],
'@stylistic/arrow-parens': [
'warn',
'always',
],
'@stylistic/brace-style': [
'warn',
'stroustrup',
],
'@stylistic/comma-dangle': [
'warn',
'always-multiline',
],
'@stylistic/comma-spacing': [
'warn',
{
before: false,
after: true,
},
],
'@stylistic/comma-style': [
'error',
'last',
],
'@stylistic/dot-location': [
'error',
'property',
],
'@stylistic/function-call-argument-newline': [
'warn',
'consistent',
],
'@stylistic/function-paren-newline': [
'warn',
'consistent',
],
'@stylistic/indent': [
'warn',
4,
{
SwitchCase: 1,
ignoreComments: true,
ignoredNodes: ['TemplateLiteral > *'],
},
],
'@stylistic/key-spacing': [
'warn',
{
beforeColon: false,
afterColon: true,
},
],
'@stylistic/keyword-spacing': [
'warn',
{
before: true,
},
],
'@stylistic/linebreak-style': [
'error',
'unix',
],
'@stylistic/lines-between-class-members': [
'warn',
'always',
{
exceptAfterSingleLine: true,
},
],
'@stylistic/max-len': [
'warn',
{
code: 105,
ignoreComments: true,
ignoreTrailingComments: true,
ignoreUrls: true,
},
],
'@stylistic/multiline-ternary': [
'warn',
'always-multiline',
],
'@stylistic/new-parens': [
'error',
],
'@stylistic/no-mixed-operators': [
'warn',
],
'@stylistic/no-mixed-spaces-and-tabs': [
'error',
],
'@stylistic/no-multi-spaces': [
'error',
],
'@stylistic/no-tabs': [
'error',
],
'@stylistic/no-trailing-spaces': [
'error',
],
'@stylistic/no-whitespace-before-property': [
'warn',
],
'@stylistic/nonblock-statement-body-position': [
'error',
'below',
],
'@stylistic/object-curly-newline': [
'warn',
{
consistent: true,
},
],
'@stylistic/object-curly-spacing': [
'warn',
'always',
],
'@stylistic/operator-linebreak': [
'warn',
'after',
],
'@stylistic/padded-blocks': [
'error',
'never',
],
'@stylistic/padding-line-between-statements': [
'warn',
{
blankLine: 'always',
prev: '*',
next: 'return',
},
{
blankLine: 'always',
prev: [
'const',
'let',
'var',
],
next: '*',
},
{
blankLine: 'any',
prev: [
'const',
'let',
'var',
],
next: [
'const',
'let',
'var',
],
},
{
blankLine: 'always',
prev: [
'case',
'default',
],
next: '*',
},
],
'@stylistic/quote-props': [
'error',
'consistent-as-needed',
],
'@stylistic/quotes': [
'error',
'single',
{
avoidEscape: true,
},
],
'@stylistic/semi': [
'error',
'always',
],
'@stylistic/semi-spacing': [
'warn',
],
'@stylistic/space-before-blocks': [
'warn',
],
'@stylistic/space-before-function-paren': [
'warn',
'never',
],
'@stylistic/space-infix-ops': [
'warn',
],
'@stylistic/spaced-comment': [
'warn',
'always',
],
'@stylistic/switch-colon-spacing': [
'warn',
],
'@stylistic/wrap-regex': [
'warn',
],
},
},
);

2434
apps/update/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

23
apps/update/package.json Normal file
View file

@ -0,0 +1,23 @@
{
"name": "update-flake",
"version": "0.0.0",
"bin": "out/bin/app.cjs",
"type": "module",
"scripts": {
"build": "node_ver=$(node -v); esbuild src/app.ts --bundle --platform=node --target=\"node${node_ver:1:2}\" --outfile=out/bin/app.cjs"
},
"devDependencies": {
"@eslint/js": "9.7.0",
"@stylistic/eslint-plugin": "2.3.0",
"@types/eslint__js": "8.42.3",
"@types/node": "20.14.11",
"esbuild": "0.23.0",
"eslint": "9.7.0",
"eslint-plugin-jsdoc": "48.7.0",
"typescript": "5.5.3",
"typescript-eslint": "7.16.1"
},
"overrides": {
"eslint": "$eslint"
}
}

70
apps/update/src/app.ts Normal file
View file

@ -0,0 +1,70 @@
import { spawnSync } from 'node:child_process';
import { parseArgs } from './lib.ts';
import { updateFirefoxAddons } from '././firefox.ts';
import { updateDocker, updateFlakeInputs, updateVuetorrent } from './misc.ts';
/* Constants */
const FLAKE = process.env.FLAKE;
if (!FLAKE) {
console.error('Env var FLAKE not found');
process.exit(1);
}
const args = parseArgs();
if (args['d'] || args['docker']) {
console.log(updateDocker());
}
if (args['i'] || args['inputs']) {
console.log(updateFlakeInputs());
}
if (args['f'] || args['firefox']) {
console.log(updateFirefoxAddons());
}
if (args['v'] || args['vuetorrent']) {
console.log(updateVuetorrent());
}
if (args['a'] || args['all']) {
// Update this first because of nix run cmd
const firefoxOutput = updateFirefoxAddons();
console.log(firefoxOutput);
const flakeOutput = updateFlakeInputs();
console.log(flakeOutput);
const dockerOutput = updateDocker();
console.log(dockerOutput);
const vuetorrentOutput = updateVuetorrent();
console.log(vuetorrentOutput);
spawnSync('nix-fast-build', ['-f', `${FLAKE}#checks`], {
shell: true,
stdio: [process.stdin, process.stdout, process.stderr],
});
console.log([
'chore: update flake.lock',
`Flake Inputs:\n${flakeOutput}`,
`Docker Images:\n${dockerOutput}`,
`Firefox Addons:\n${firefoxOutput}`,
`Misc Sources:\n${vuetorrentOutput}`,
].join('\n\n'));
}
spawnSync('alejandra', ['-q', FLAKE], { shell: true });

View file

@ -0,0 +1,76 @@
import { spawnSync } from 'node:child_process';
import { readFileSync } from 'node:fs';
import { parseFetchurl } from './lib.ts';
/* Constants */
const FLAKE = process.env.FLAKE;
const updateFFZ = () => {
const FILE = `${FLAKE}/legacyPackages/firefox-addons/default.nix`;
const URL = 'https://cdn.frankerfacez.com/script/frankerfacez-4.0-an+fx.xpi';
const HASH = parseFetchurl(URL);
spawnSync('sed', ['-i', `'s,url = .*,url = \"${URL}\";,'`, FILE], { shell: true });
spawnSync('sed', ['-i', `'s,sha256 = .*,sha256 = \"${HASH}\";,'`, FILE], { shell: true });
};
export const updateFirefoxAddons = () => {
console.log('Updating FFZ addon');
updateFFZ();
console.log('Updating firefox addons using mozilla-addons-to-nix');
const DIR = `${FLAKE}/legacyPackages/firefox-addons`;
const GENERATED_FILE = `${DIR}/generated-firefox-addons.nix`;
const SLUGS = `${DIR}/addons.json`;
const nameMap = Object.fromEntries([...JSON.parse(readFileSync(SLUGS, 'utf-8'))]
.map((addon) => [addon.slug, addon.pname || addon.slug]));
const nixExpr = `'
x: let
inherit (builtins) attrValues filter hasAttr isAttrs map;
in
map (d: d.name) (filter (y:
isAttrs y &&
hasAttr "type" y &&
y.type == "derivation") (attrValues x))
'`;
const OLD_VERS = Object.fromEntries([...JSON.parse(spawnSync('nix', [
'eval',
'.#legacyPackages.x86_64-linux.firefoxAddons',
'--apply',
nixExpr,
'--json',
], { shell: true }).stdout.toString())]
.map((p) => {
const pname = p.replace(/-[0-9].*$/, '');
return [pname, p.replace(`${pname}-`, '')];
})
.filter((pinfo) => pinfo[0] !== 'frankerfacez'));
const NEW_VERS = Object.fromEntries(spawnSync(
'nix',
['run', 'sourcehut:~rycee/mozilla-addons-to-nix',
SLUGS, GENERATED_FILE],
{ shell: true },
).stdout
.toString()
.split('\n')
.map((p) => {
const pinfo = p.replace('Fetched ', '').split(' ');
return [nameMap[pinfo[0]], pinfo[2]];
}));
return Object.keys(OLD_VERS)
.sort()
.filter((pname) => OLD_VERS[pname] !== NEW_VERS[pname])
.map((pname) => `${pname}: ${OLD_VERS[pname]} -> ${NEW_VERS[pname]}`)
.join('\n');
};

30
apps/update/src/lib.ts Normal file
View file

@ -0,0 +1,30 @@
import { spawnSync } from 'node:child_process';
export const parseArgs = () => {
const args = {} as Record<string, unknown>;
let lastFlag: string | null = null;
for (let i = 2; i < process.argv.length; ++i) {
const arg = process.argv[i];
if (arg.toString().startsWith('-')) {
lastFlag = arg.toString().replace(/^-{1,2}/, '');
args[lastFlag] = true;
}
else if (lastFlag) {
args[lastFlag] = arg;
lastFlag = null;
}
else {
console.error(`Could not parse args: ${arg.toString()}`);
}
}
return args;
};
export const parseFetchurl = (url: string) => JSON.parse(spawnSync(
'nix', ['store', 'prefetch-file', '--refresh', '--json',
'--hash-type', 'sha256', url, '--name', '"escaped"'], { shell: true },
).stdout.toString()).hash;

75
apps/update/src/misc.ts Normal file
View file

@ -0,0 +1,75 @@
import { readdirSync, writeFileSync } from 'node:fs';
import { spawnSync } from 'node:child_process';
import { parseFetchurl } from './lib.ts';
/* Constants */
const FLAKE = process.env.FLAKE;
export const updateFlakeInputs = () => {
const output = spawnSync(
`git restore flake.lock &> /dev/null; nix flake update --flake ${FLAKE}` +
' |& grep -v "warning: updating lock file"',
[],
{ shell: true },
).stdout
.toString()
// Add an extra blank line between inputs
.split('\n•')
.join('\n\n•')
// Shorten git revs to help readability
.split('\n')
.map((l) => l
.replace(/.{33}\?narHash=sha256[^']*/, '')
.replace(/&rev=(.{7})[^'&]*/, (_, backref) => `&rev=${backref}`))
.join('\n');
return output;
};
export const updateDocker = () => {
let updates = '';
const FILE = `${FLAKE}/devices/nos/modules/docker`;
readdirSync(FILE, { withFileTypes: true, recursive: true }).forEach((path) => {
if (path.name === 'compose.nix') {
console.log(`Updating ${path.parentPath.split('/').at(-1)} images`);
updates += spawnSync('updateImages', [path.parentPath], { shell: true })
.stdout.toString();
}
});
return updates;
};
const genVueText = (version: string, hash: string, url: string) =>
`# This file was autogenerated. DO NOT EDIT!
{
version = "${version}";
url = "${url}";
hash = "${hash}";
}
`;
export const updateVuetorrent = () => {
const FILE = `${FLAKE}/devices/nos/modules/qbittorrent/vuetorrent.nix`;
const OLD_VERSION = JSON.parse(spawnSync('nix',
['eval', '-f', FILE, '--json'],
{ shell: true }).stdout.toString()).version;
const VERSION = JSON.parse(spawnSync('curl',
['-s', 'https://api.github.com/repos/VueTorrent/VueTorrent/releases/latest'],
{ shell: true }).stdout.toString()).tag_name.replace('v', '');
const URL = `https://github.com/VueTorrent/VueTorrent/releases/download/v${VERSION}/vuetorrent.zip`;
const HASH = parseFetchurl(URL);
const fileText = genVueText(VERSION, HASH, URL);
writeFileSync(FILE, fileText);
return OLD_VERSION !== VERSION ? `Vuetorrent: ${OLD_VERSION} -> ${VERSION}` : '';
};

31
apps/update/tsconfig.json Normal file
View file

@ -0,0 +1,31 @@
{
"compilerOptions": {
// Env
"target": "ESNext",
"lib": ["ESNext"],
// Module
"module": "nodenext",
"moduleResolution": "nodenext",
"allowImportingTsExtensions": true,
"baseUrl": ".",
// Emit
"noEmit": true,
"newLine": "LF",
// Interop
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
// Type Checking
"strict": true,
"noImplicitAny": false,
"allowJs": true,
"checkJs": true
},
"includes": [
"*.ts",
"**/*.ts",
"*.js",
"**/*.js"
]
}

7
checks/default.nix Normal file
View file

@ -0,0 +1,7 @@
{
pkgs,
self,
}: let
nixosMachines = import ./machines.nix {inherit pkgs self;};
in
nixosMachines

10
checks/machines.nix Normal file
View file

@ -0,0 +1,10 @@
# CI: https://github.com/Mic92/dotfiles/blob/c2f538934d67417941f83d8bb65b8263c43d32ca/flake.nix#L168
{
pkgs,
self,
}: let
inherit (pkgs.lib) filterAttrs mapAttrs' nameValuePair;
in
mapAttrs'
(name: config: nameValuePair "nixos-${name}" config.config.system.build.toplevel)
((filterAttrs (_: config: config.pkgs.system == pkgs.system)) self.nixosConfigurations)

View file

@ -4,41 +4,33 @@
lib,
nh,
nix-melt,
nur,
nurl,
pkgs,
self,
...
} @ inputs: {
}: {
imports = [
./vars
./modules
./pkgs
./packages.nix
self.nixosModules.borgbackup
nur.nixosModules.nur
nh.nixosModules.default
home-manager.nixosModules.home-manager
../modules/arion
../modules/borgbackup
../modules/nvidia.nix
];
nixpkgs = {
config.allowUnfree = true;
overlays = import ./overlays inputs;
boot.tmp.useTmpfs = true;
systemd.services.nix-daemon = {
environment.TMPDIR = "/home/nix-cache";
preStart = ''
mkdir -p ${config.systemd.services.nix-daemon.environment.TMPDIR}
'';
};
boot.tmp.cleanOnBoot = true;
nix = {
# Allow deleting store files with '.' in the name
package = pkgs.nix.overrideAttrs (o: {
patches =
(o.patches or [])
++ [
./overlays/nix/patch
];
});
package = pkgs.nixVersions.nix_2_23;
# Edit nix.conf
settings = {
# Store
@ -51,14 +43,17 @@
http-connections = 0; # unlimited for local cache
warn-dirty = false;
show-trace = true;
allow-import-from-derivation = true;
# remote building
trusted-users = ["matt" "nixremote"];
};
};
nh = {
programs.nh = {
enable = true;
package = nh.packages.${pkgs.system}.default;
# weekly cleanup
clean = {
enable = true;
@ -75,7 +70,38 @@
};
};
boot.supportedFilesystems = ["ext4" "xfs" "btrfs" "vfat" "ntfs"];
system.fsPackages = with pkgs; [
btrfs-progs
nfs-utils
ntfs3g
xfsprogs
];
environment.variables.NPM_CONFIG_GLOBALCONFIG = "/etc/npmrc";
environment.etc.npmrc.text = ''
fund = false
update-notifier = false
'';
environment.systemPackages =
(with pkgs; [
# Peripherals
hdparm
pciutils
usbutils
])
++ [
nix-melt.packages.${pkgs.system}.default
(nurl.packages.${pkgs.system}.default.override {
nix = config.nix.package;
})
];
home-manager = let
inherit (lib) mapAttrs' nameValuePair;
inherit (config.vars) mainUser;
mainUserConf = config.home-manager.users.${mainUser};
@ -90,21 +116,22 @@
};
}
nur.hmModules.nur
{
programs.bash.sessionVariables = {
FLAKE = config.environment.variables.FLAKE;
};
}
./home
./home/trash-d
./pkgs
];
home.packages =
[
nix-melt.packages.${pkgs.system}.default
nurl.packages.${pkgs.system}.default
]
++ (with config.nur.repos.rycee; [
mozilla-addons-to-nix
]);
# Cache devShells
home.file = mapAttrs' (n: v:
nameValuePair ".cache/devShells/${n}" {
source = v;
})
self.devShells.${pkgs.system};
};
in {
users = {

View file

@ -123,9 +123,7 @@ in {
#profileExtra = ''
#'';
bashrcExtra =
/*
bash
*/
# bash
''
# Check if shell is interactive
[[ $- == *i* ]] || return 0

View file

@ -1,6 +1,7 @@
{
pkgs,
config,
self,
...
}: {
programs = {
@ -41,15 +42,10 @@
bat = {
enable = true;
config = {
theme = "dracula-bat";
};
themes = {
dracula-bat = {
src = pkgs.dracula-theme;
file = "bat";
};
};
config.theme = "dracula-bat";
themes.dracula-bat.src = self.legacyPackages.${pkgs.system}.dracula.bat;
extraPackages = with pkgs.bat-extras; [
batman
];

View file

@ -6,6 +6,5 @@
./neovim
./nix-index
./tmux
./packages.nix
];
}

View file

@ -2,9 +2,10 @@
programs.direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv = {
enable = true;
package = pkgs.nix-direnv-flakes;
package = pkgs.nix-direnv;
};
};
}

View file

@ -1,41 +1,27 @@
{pkgs, ...}: {
{
pkgs,
self,
...
}: let
mkRemoteConf = remote: email: name: {
condition = "hasconfig:remote.*.url:${remote}:*/**";
contents.user = {inherit email name;};
};
mkDefaultRemote = remote: mkRemoteConf remote "matt@nelim.org" "matt1432";
in {
programs = {
git = {
enable = true;
lfs.enable = true;
includes = [
{path = "${pkgs.dracula-theme}/git-colors";}
{path = toString self.legacyPackages.${pkgs.system}.dracula.git;}
{
condition = "hasconfig:remote.*.url:git@github.com:*/**";
contents = {
user = {
email = "matt@nelim.org";
name = "matt1432";
};
};
}
(mkDefaultRemote "https://github.com")
(mkDefaultRemote "git@github.com")
(mkDefaultRemote "git@git.nelim.org")
{
condition = "hasconfig:remote.*.url:git@git.nelim.org:*/**";
contents = {
user = {
email = "matt@nelim.org";
name = "matt1432";
};
};
}
{
condition = "hasconfig:remote.*.url:git@gitlab.info.uqam.ca:*/**";
contents = {
user = {
email = "gj591944@ens.uqam.ca";
name = "Mathis Hurtubise";
};
};
}
(mkRemoteConf "git@gitlab.info.uqam.ca" "gj591944@ens.uqam.ca" "Mathis Hurtubise")
];
delta = {

View file

@ -0,0 +1,107 @@
# see https://github.com/CppCXY/EmmyLuaCodeStyle
[*.lua]
# [basic]
indent_style = space
indent_size = 4
quote_style = single
max_line_length = 120
end_of_line = lf
table_separator_style = comma
trailing_table_separator = smart
call_arg_parentheses = keep
# [space]
space_around_table_field_list = true
space_before_attribute = true
space_before_function_open_parenthesis = false
space_before_function_call_open_parenthesis = false
space_before_closure_open_parenthesis = false
space_before_function_call_single_arg = false
space_before_open_square_bracket = false
space_inside_function_call_parentheses = false
space_inside_function_param_list_parentheses = false
space_inside_square_brackets = false
# like t[#t+1] = 1
space_around_table_append_operator = false
ignore_spaces_inside_function_call = false
# detail number or 'keep'
space_before_inline_comment = 1
# convert '---' to '--- ' or '--' to '-- '
space_after_comment_dash = false
# [operator space]
space_around_math_operator = true
space_around_math_operator.exponent = false
space_around_concat_operator = true
space_around_logical_operator = true
space_around_assign_operator = true
space_after_comma = true
space_after_comma_in_for_statement = true
# [align]
align_call_args = false
align_function_params = true
align_continuous_assign_statement = true
align_continuous_rect_table_field = true
align_continuous_line_space = 2
align_if_branch = false
# option none / always / contain_curly/
align_array_table = true
align_continuous_similar_call_args = false
align_continuous_inline_comment = true
# option none / always / only_call_stmt
align_chain_expr = none
# [indent]
never_indent_before_if_condition = false
never_indent_comment_on_if_branch = false
keep_indents_on_empty_lines = false
allow_non_indented_comments = false
# [line space]
# The following configuration supports four expressions
# keep
# fixed(n)
# min(n)
# max(n)
# for eg. min(2)
line_space_after_if_statement = keep
line_space_after_do_statement = keep
line_space_after_while_statement = keep
line_space_after_repeat_statement = keep
line_space_after_for_statement = keep
line_space_after_local_or_assign_statement = keep
line_space_after_function_statement = fixed(2)
line_space_after_expression_statement = keep
line_space_after_comment = keep
line_space_around_block = fixed(1)
# [line break]
break_all_list_when_line_exceed = false
auto_collapse_lines = false
break_before_braces = false
# [preference]
ignore_space_after_colon = false
end_statement_with_semicolon = always

View file

@ -1,2 +0,0 @@
-- Add `:Format` command to format current buffer
vim.api.nvim_create_user_command("Format", "call CocAction('format')", {})

View file

@ -1,34 +0,0 @@
" by default, the indent is 2 spaces.
set smartindent
set expandtab
set shiftwidth=2
set softtabstop=2
set tabstop=2
" for html/rb files, 2 spaces
autocmd Filetype html setlocal ts=2 sw=2 expandtab
autocmd Filetype ruby setlocal ts=2 sw=2 expandtab
" for js/coffee/jade files, 4 spaces
autocmd Filetype javascript setlocal ts=4 sw=4 sts=0 expandtab
autocmd Filetype typescript setlocal ts=4 sw=4 sts=0 expandtab
autocmd Filetype java setlocal ts=4 sw=4 sts=0 expandtab
autocmd Filetype sh setlocal ts=4 sw=4 sts=0 expandtab
autocmd Filetype hyprlang setlocal ts=4 sw=4 sts=0 expandtab
" support scss @
autocmd FileType scss setl iskeyword+=@-@
set number
set relativenumber
" TODO: make this work for nix-on-droid
set undofile
set undodir=/home/matt/.cache/nvim/
" remove highlight on words
nnoremap <silent> <esc> :noh<cr><esc>
" Always show the signcolumn, otherwise it would shift the text each time
" diagnostics appear/become resolved
set signcolumn=yes

View file

@ -1,340 +1,103 @@
{
config,
pkgs,
lib,
nvim-theme-src,
coc-stylelintplus,
vimplugin-riscv-src,
...
}: let
inherit (config.vars) neovimIde;
inherit (lib) fileContents hasAttr optionalAttrs optionals;
javaSdk = pkgs.temurin-bin-17;
coc-stylelintplus-flake = coc-stylelintplus.packages.${pkgs.system}.default;
inherit (pkgs) vimPlugins;
in {
home = optionalAttrs neovimIde {
packages = with pkgs; [
gradle
maven
alejandra
];
};
xdg.dataFile = optionalAttrs neovimIde {
".gradle/gradle.properties".text = ''
org.gradle.java.home = ${javaSdk}
'';
};
imports = [
./git.nix
./langs
./theme.nix
./treesitter.nix
];
programs = {
java = optionalAttrs neovimIde {
enable = true;
package = javaSdk;
};
# I love doing typos
bash.shellAliases = {
nivm = "nvim";
nivim = "nvim";
};
neovim = {
enable = true;
withNodeJs = true;
withPython3 = true;
withRuby = false;
defaultEditor = true;
viAlias = true;
vimAlias = true;
extraLuaConfig =
# lua
''
-- by default, the indent is 2 spaces.
vim.opt.smartindent = true;
vim.opt.expandtab = true;
vim.opt.shiftwidth = 2;
vim.opt.softtabstop = 2;
vim.opt.tabstop = 2;
extraPackages = with pkgs; ([
bat
gcc
]
++ optionals neovimIde [
nodejs_latest
nodePackages.npm
nodePackages.neovim
gradle
nil
]);
vim.opt.number = true;
vim.opt.relativenumber = true;
extraPython3Packages = ps:
optionals neovimIde [
ps.pylint
];
vim.opt.undofile = true;
vim.opt.undodir = '${config.xdg.cacheHome}/nvim/';
coc = optionalAttrs neovimIde {
enable = true;
settings = {
# General
colors.enable = true;
coc.preferences.formatOnType = true;
diagnostic.checkCurrentLine = true;
inlayHint.enable = false;
-- Always show the signcolumn, otherwise it would shift
-- the text each time diagnostics appear/become resolved
vim.opt.signcolumn = 'yes';
# ESLint
eslint = {
format.enable = true;
autoFixOnSave = true;
};
-- remove highlight on words
vim.keymap.set('n', '<esc>', ':noh<cr><esc>', {
noremap = true,
silent = true,
});
# Stylelint
stylelintplus = {
enable = true;
cssInJs = true;
autoFixOnSave = true;
autoFixOnFormat = true;
};
css.validate = false;
less.validate = false;
scss.validate = false;
wxss.validate = false;
-- Get rid of deprecated messages
vim.tbl_add_reverse_lookup = function(tbl)
for k, v in pairs(tbl) do
tbl[v] = k;
end
end;
vim.tbl_islist = function(tbl)
return vim.islist(tbl);
end;
vim.diagnostic.is_disabled = function()
return not vim.diagnostic.is_enabled();
end;
vim.lsp.buf_get_clients = function()
return vim.lsp.get_clients();
end;
vim.lsp.get_active_clients = function()
return vim.lsp.get_clients();
end;
'';
# Lua
Lua = {
misc.parameters = [
"--metapath"
"~/.cache/sumneko_lua/meta"
"--logpath"
"~/.cache/sumneko_lua/log"
];
workspace.library = [
"$\{3rd\}/luv/library"
];
};
sumneko-lua = {
serverDir = "${pkgs.lua-language-server}/share/lua-language-server";
enableNvimLuaDev = true;
};
plugins = [
vimPlugins.fzfWrapper
vimPlugins.fzf-vim
languageserver = {
# Nix
nix = {
command = "nil";
filetypes = ["nix"];
rootPatterns = ["flake.nix"];
settings = {
nil = {
formatting.command = ["alejandra"];
{
plugin = vimPlugins.todo-comments-nvim;
type = "lua";
config =
# lua
''
require('todo-comments').setup();
'';
}
{
plugin = vimPlugins.mini-nvim;
type = "lua";
config =
# lua
''
-- TODO: see how this works
local ts_input = require('mini.surround').gen_spec.input.treesitter;
nix = {
maxMemoryMB = 2560;
flake.autoArchive = hasAttr "sops" config;
};
};
};
};
};
# Java
java = {
maven.downloadSources = true;
eclipse.downloadSources = true;
format.settings.url = "eclipse-formatter.xml";
jdt.ls = {
java.home = "${javaSdk}";
statusIcons = {
"busy" = "Busy";
"ready" = "OK";
"warning" = "Warning";
"error" = "Error";
};
};
};
# Bash
bashIde.shellcheckPath = "${pkgs.shellcheck}/bin/shellcheck";
markdownlint.config = {
no-trailing-spaces = true;
no-multiple-blanks = false;
no-duplicate-heading = false;
};
};
};
extraConfig = fileContents ./base.vim;
extraLuaConfig = fileContents ./base.lua;
plugins = with pkgs.vimPlugins;
([
fzfWrapper
fzf-vim
fugitive
{
plugin = dracula-nvim.overrideAttrs {
src = nvim-theme-src;
};
type = "viml";
config = fileContents ./plugins/dracula.vim;
}
{
plugin = todo-comments-nvim;
type = "lua";
config =
/*
lua
*/
''require('todo-comments').setup()'';
}
{
plugin = gitsigns-nvim;
type = "lua";
config = fileContents ./plugins/gitsigns.lua;
}
{
plugin = indent-blankline-nvim;
type = "lua";
config = fileContents ./plugins/indent.lua;
}
{
plugin = mini-nvim;
type = "lua";
config = fileContents ./plugins/mini.lua;
}
]
++ optionals neovimIde [
markdown-preview-nvim
# Coc configured
coc-css
coc-eslint
coc-java
coc-sh
coc-stylelintplus-flake
{
plugin = coc-snippets;
type = "viml";
config = fileContents ./plugins/snippets.vim;
}
## Lua
coc-sumneko-lua
neodev-nvim
## Fzf
coc-fzf
coc-highlight
coc-json
coc-pyright
coc-vimlsp
coc-yaml
coc-toml
coc-markdownlint
coc-tsserver
{
plugin = nvim-autopairs;
type = "lua";
config = fileContents ./plugins/autopairs.lua;
}
{
plugin = lualine-nvim;
type = "lua";
config = fileContents ./plugins/lualine.lua;
}
{
plugin = neo-tree-nvim;
type = "viml";
config = ''
${fileContents ./plugins/neotree.vim}
lua << EOF
${fileContents ./plugins/neotree.lua}
EOF
'';
}
(pkgs.vimUtils.buildVimPlugin {
name = "riscv-asm";
src = vimplugin-riscv-src;
})
])
# Treesitter
++ (with pkgs.vimPlugins; [
nvim-treesitter-context
nvim-treesitter-textobjects
{
type = "viml";
config = fileContents ./plugins/treesitter.vim;
plugin = nvim-treesitter.withPlugins (p: [
p.awk
p.bash
p.c
p.c_sharp
p.cairo
p.cmake
p.comment
p.cpp
p.css
p.csv
p.cuda
p.diff
p.dockerfile
p.dot
p.git_config
p.git_rebase
p.gitattributes
p.gitcommit
p.gitignore
p.go
p.gomod
p.gosum
p.groovy
p.haskell
p.haskell_persistent
p.hyprlang
p.html
p.ini
p.java
p.javascript
p.jq
p.jsdoc
p.json
p.json5
p.jsonc
p.jsonnet
p.kotlin
p.latex
p.lua
p.luadoc
p.make
p.markdown
p.meson
p.ninja
p.nix
p.passwd
p.perl
p.php
p.phpdoc
p.properties
p.python
p.rasi
p.regex
p.requirements
p.ruby
p.rust
p.scss
p.sql
p.ssh_config
p.toml
p.todotxt
p.typescript
p.udev
p.vim
p.vimdoc
p.vue
p.xml
p.yaml
]);
}
]);
require('mini.surround').setup({
custom_surroundings = {
-- Use tree-sitter to search for function call
f = {
input = ts_input({
outer = '@call.outer',
inner = '@call.inner',
});
},
},
});
'';
}
];
};
};
}

View file

@ -0,0 +1,33 @@
{pkgs, ...}: let
inherit (pkgs) vimPlugins;
in {
programs = {
neovim = {
plugins = [
vimPlugins.fugitive
{
plugin = vimPlugins.gitsigns-nvim;
type = "lua";
config =
# lua
''
local gitsigns = require("gitsigns");
local function visual_stage()
local first_line = vim.fn.line('v');
local last_line = vim.fn.getpos('.')[2];
gitsigns.stage_hunk({ first_line, last_line });
end
vim.keymap.set("v", "gs", function()
visual_stage()
end);
gitsigns.setup();
'';
}
];
};
};
}

View file

@ -0,0 +1,47 @@
{
config,
pkgs,
lib,
...
}: let
inherit (config.vars) neovimIde;
in {
programs = {
# I love doing typos
bash.shellAliases = {
nivm = "nvim";
nivim = "nvim";
};
neovim = {
defaultEditor = true;
viAlias = true;
vimAlias = true;
extraPackages = lib.mkIf neovimIde [
pkgs.nodePackages.bash-language-server
pkgs.shellcheck
];
extraLuaConfig =
lib.mkIf neovimIde
# lua
''
vim.api.nvim_create_autocmd('FileType', {
pattern = 'sh',
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
require('lspconfig').bashls.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
settings = {
bashIde = {
shellcheckPath = '${lib.getExe pkgs.shellcheck}',
},
},
});
'';
};
};
}

View file

@ -0,0 +1,49 @@
{
config,
pkgs,
lib,
...
}: let
inherit (config.vars) neovimIde;
inherit (pkgs) vimPlugins;
in
lib.mkIf neovimIde {
programs = {
neovim = {
extraPackages = with pkgs; [
gcc
clang-tools
cmake-language-server
];
extraLuaConfig =
# lua
''
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'cpp' , 'c'},
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
local lsp = require('lspconfig');
lsp.cmake.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
});
lsp.clangd.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
handlers = require('lsp-status').extensions.clangd.setup(),
on_attach = function(_, bufnr)
require("clangd_extensions.inlay_hints").setup_autocmd()
require("clangd_extensions.inlay_hints").set_inlay_hints()
end,
});
'';
plugins = [
vimPlugins.clangd_extensions-nvim
];
};
};
}

View file

@ -0,0 +1,103 @@
{
config,
lib,
pkgs,
...
}: let
inherit (config.vars) neovimIde;
inherit (pkgs) vimPlugins;
inherit (lib) fileContents;
in {
imports = [
./bash.nix
./clang.nix
./hyprlang.nix
./java.nix
./json.nix
./lua.nix
./markdown.nix
./nix.nix
./python.nix
./rust.nix
./web.nix
];
programs = lib.mkIf neovimIde {
neovim = {
extraLuaConfig =
lib.mkBefore
# lua
''
-- Start completion / snippet stuff
vim.g.coq_settings = {
auto_start = 'shut-up',
keymap = {
recommended = false,
},
-- https://github.com/NixOS/nixpkgs/issues/168928#issuecomment-1109581739
xdg = true,
};
-- Add formatting cmd
vim.api.nvim_create_user_command(
'Format',
function()
vim.lsp.buf.format({ async = true });
end,
{}
);
-- LSP-Status setup
local lsp_status = require('lsp-status');
lsp_status.register_progress();
-- Remove LSP highlighting to use Treesitter
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id);
client.server_capabilities.semanticTokensProvider = nil;
lsp_status.on_attach(client);
end,
});
-- Disable virtual_text since it's redundant due to lsp_lines.
vim.diagnostic.config({
virtual_text = false,
});
require('lsp_lines').setup();
'';
plugins =
(with vimPlugins; [
nvim-lspconfig
lsp-status-nvim
lsp_lines-nvim
cmp-buffer
cmp-nvim-lsp
cmp-path
cmp-spell
cmp-treesitter
cmp-vsnip
vim-vsnip
friendly-snippets
])
++ [
{
plugin = vimPlugins.nvim-cmp;
type = "lua";
config = fileContents ../plugins/cmp.lua;
}
{
plugin = vimPlugins.nvim-autopairs;
type = "lua";
config =
# lua
"require('nvim-autopairs').setup({})";
}
];
};
};
}

View file

@ -0,0 +1,25 @@
{
config,
lib,
...
}: let
inherit (config.vars) neovimIde;
in
lib.mkIf neovimIde {
programs = {
neovim = {
extraLuaConfig =
# lua
''
vim.filetype.add({
pattern = { ['.*/hypr/.*%.conf'] = 'hyprlang' },
});
vim.api.nvim_create_autocmd('FileType', {
pattern = 'hyprlang',
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
'';
};
};
}

View file

@ -0,0 +1,83 @@
{
config,
lib,
pkgs,
...
}: let
inherit (pkgs) vimPlugins;
inherit (config.vars) neovimIde;
javaSdk = pkgs.temurin-bin-17;
javaPkgs = with pkgs; [gradle maven];
in
lib.mkIf neovimIde {
home.packages = javaPkgs;
xdg.dataFile.".gradle/gradle.properties".text = ''
org.gradle.java.home = ${javaSdk}
'';
programs = {
java = {
enable = true;
package = javaSdk;
};
neovim = {
extraPackages = javaPkgs;
extraLuaConfig =
# lua
''
vim.api.nvim_create_autocmd('FileType', {
pattern = 'java',
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
'';
plugins = [
{
# TOOD: setup debugger https://github.com/mfussenegger/nvim-jdtls#debugger-via-nvim-dap
plugin = vimPlugins.nvim-jdtls;
type = "lua";
config =
# lua
''
--
local startJdtls = function()
local config = {
capabilities = require('cmp_nvim_lsp').default_capabilities(),
cmd = { '${lib.getExe pkgs.jdt-language-server}' },
root_dir = vim.fs.dirname(vim.fs.find(
{ 'gradlew', '.git', 'mvnw', 'pom.xml' },
{ upward = true }
)[1]),
settings = {
java = {
configuration = {
runtimes = {
{
name = 'JavaSE-17',
path = '${javaSdk}',
},
},
},
},
},
};
require('jdtls').start_or_attach(config);
end
vim.api.nvim_create_autocmd('FileType', {
pattern = 'java',
callback = startJdtls,
});
'';
}
];
};
};
}

View file

@ -0,0 +1,51 @@
{
config,
lib,
pkgs,
...
}: let
inherit (config.vars) neovimIde;
in
lib.mkIf neovimIde {
programs = {
neovim = {
extraPackages = [
pkgs.vscode-langservers-extracted
pkgs.yaml-language-server
];
extraLuaConfig =
# lua
''
vim.api.nvim_create_autocmd('FileType', {
pattern = 'yaml',
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
vim.api.nvim_create_autocmd('FileType', {
pattern = 'json',
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
local lsp = require('lspconfig');
lsp.jsonls.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
});
lsp.yamlls.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
settings = {
yaml = {
schemas = {
[
"https://json.schemastore.org/github-workflow.json"
] = "/.github/workflows/*",
},
},
},
});
'';
};
};
}

View file

@ -0,0 +1,49 @@
{
config,
pkgs,
lib,
...
}: let
inherit (config.vars) neovimIde;
inherit (pkgs) vimPlugins;
flakeEnv = config.programs.bash.sessionVariables.FLAKE;
in
lib.mkIf neovimIde {
programs = {
neovim = {
extraPackages = [
pkgs.lua-language-server
];
plugins = [
{
plugin = vimPlugins.neodev-nvim;
type = "lua";
config =
# lua
''
vim.api.nvim_create_autocmd('FileType', {
pattern = 'lua',
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
-- IMPORTANT: make sure to setup neodev BEFORE lspconfig
require("neodev").setup({
override = function(root_dir, library)
if root_dir:find('${flakeEnv}', 1, true) == 1 then
library.enabled = true
library.plugins = true
end
end,
});
require('lspconfig').lua_ls.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
});
'';
}
];
};
};
}

View file

@ -0,0 +1,127 @@
{
config,
lib,
pkgs,
self,
vimplugin-easytables-src,
...
}: let
inherit (config.vars) neovimIde;
inherit (pkgs) vimPlugins;
inherit (import "${self}/lib.nix" {inherit pkgs;}) buildPlugin;
in
lib.mkIf neovimIde {
programs = {
neovim = {
extraPackages = [
pkgs.pandoc
# LaTeX packages
pkgs.texlab
pkgs.texliveFull
pkgs.rubber
];
extraLuaConfig =
# lua
''
local lsp = require('lspconfig');
lsp.texlab.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
settings = {
texlab = {
formatterLineLength = 100,
latexFormatter = 'latexindent',
latexindent = {
modifyLineBreaks = false,
["local"] = '.indentconfig.yaml';
},
},
},
});
'';
plugins = [
{
plugin = buildPlugin "easytables-nvim" vimplugin-easytables-src;
type = "lua";
config =
# lua
''
require('easytables').setup();
'';
}
{
plugin = vimPlugins.knap;
type = "lua";
config =
# lua
''
--
vim.api.nvim_create_autocmd('FileType', {
pattern = 'tex',
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
vim.g.knap_settings = {
-- HTML
htmloutputext = 'html',
htmltohtml = 'none',
htmltohtmlviewerlaunch = "",
htmltohtmlviewerrefresh = 'none',
-- Markdown
mdoutputext = 'html',
markdownoutputext = 'html',
-- Markdown to PDF
mdtopdf = 'pandoc %docroot% -o /tmp/%outputfile%',
markdowntopdf = 'pandoc %docroot% -o /tmp/%outputfile%',
mdtopdfviewerlaunch = 'sioyek /tmp/%outputfile%',
markdowntopdfviewerlaunch = 'sioyek /tmp/%outputfile%',
mdtopdfviewerrefresh = 'none',
markdowntopdfviewerrefresh = "none",
-- Markdown to HTML
mdtohtml = 'pandoc --standalone %docroot% -o /tmp/%outputfile%',
markdowntohtml = 'pandoc --standalone %docroot% -o /tmp/%outputfile%',
mdtohtmlviewerlaunch = 'firefox -new-window /tmp/%outputfile%',
markdowntohtmlviewerlaunch = 'firefox -new-window /tmp/%outputfile%',
mdtohtmlviewerrefresh = 'none',
markdowntohtmlviewerrefresh = 'none',
-- LaTeX
-- TODO: stop from polluting workspace
};
-- F4 processes the document once, and refreshes the view
vim.keymap.set({ 'n', 'v', 'i' }, '<F4>', function()
require('knap').process_once();
end);
-- F5 closes the viewer application, and
-- allows settings to be reset
vim.keymap.set({ 'n', 'v', 'i' }, '<F5>', function()
require('knap').close_viewer();
end);
-- F6 toggles the auto-processing on and off
vim.keymap.set({ 'n', 'v', 'i' }, '<F6>', function()
require('knap').toggle_autopreviewing();
end);
-- F7 invokes a SyncTeX forward search, or similar,
-- where appropriate
vim.keymap.set({ 'n', 'v', 'i' }, '<F7>', function()
require('knap').forward_jump();
end);
'';
}
];
};
};
}

View file

@ -0,0 +1,75 @@
{
config,
pkgs,
lib,
nixd,
self,
...
}: let
inherit (config.vars) hostName mainUser neovimIde;
inherit (lib) getExe hasPrefix removePrefix;
defaultFormatter = self.formatter.${pkgs.system};
nixdPkg = nixd.packages.${pkgs.system}.default;
flakeEnv = config.programs.bash.sessionVariables.FLAKE;
flakeDir = "${removePrefix "/home/${mainUser}/" flakeEnv}";
in
lib.mkIf neovimIde {
assertions = [
{
assertion =
neovimIde
&& hasPrefix "/home/${mainUser}/" flakeEnv
|| !neovimIde;
message = ''
Your $FLAKE environment variable needs to point to a directory in
the main users' home to use the neovim module.
'';
}
];
home.packages = [
defaultFormatter
nixdPkg
];
# nixd by default kinda spams LspLog
home.sessionVariables.NIXD_FLAGS = "-log=error";
xdg.dataFile."${flakeDir}/.nixd.json".text = builtins.toJSON {
nixpkgs = {
expr = "import (builtins.getFlake \"${flakeDir}\").inputs.nixpkgs {}";
};
options.nixos = {
expr = "(builtins.getFlake \"${flakeDir}\").nixosConfigurations.${hostName}.options";
};
};
programs = {
neovim = {
extraPackages = [
nixdPkg
];
extraLuaConfig =
# lua
''
require('lspconfig').nixd.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
filetypes = { 'nix', 'in.nix' },
settings = {
nixd = {
formatting = {
-- TODO: Try to find <flake>.formatter
command = { '${getExe defaultFormatter}' },
},
},
},
});
'';
};
};
}

View file

@ -0,0 +1,27 @@
{
config,
lib,
pkgs,
...
}: let
inherit (config.vars) neovimIde;
in
lib.mkIf neovimIde {
programs = {
neovim = {
withPython3 = true;
extraPackages = [
pkgs.basedpyright
];
extraLuaConfig =
# lua
''
require('lspconfig').basedpyright.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
});
'';
};
};
}

View file

@ -0,0 +1,33 @@
{
config,
pkgs,
lib,
...
}: let
inherit (config.vars) neovimIde;
in
lib.mkIf neovimIde {
programs = {
neovim = {
extraPackages = with pkgs; [
cargo
rustc
rust-analyzer
rustfmt
];
extraLuaConfig =
# lua
''
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'rust' },
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
require('lspconfig').rust_analyzer.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
});
'';
};
};
}

View file

@ -0,0 +1,151 @@
{
config,
lib,
pkgs,
self,
vimplugin-ts-error-translator-src,
...
}: let
inherit (config.vars) neovimIde;
inherit (pkgs) vimPlugins;
inherit (import "${self}/lib.nix" {inherit pkgs;}) buildPlugin;
in
lib.mkIf neovimIde {
programs = {
neovim = {
withNodeJs = true;
extraPackages = [
pkgs.nodejs_latest
pkgs.nodePackages.npm
pkgs.nodePackages.neovim
pkgs.vscode-langservers-extracted
];
extraLuaConfig =
# lua
''
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'javascript', 'typescript', 'css', 'scss' },
command = 'setlocal ts=4 sw=4 sts=0 expandtab',
});
vim.api.nvim_create_autocmd('FileType', {
pattern = 'html',
command = 'setlocal ts=2 sw=2 expandtab',
});
vim.api.nvim_create_autocmd('FileType', {
pattern = 'scss',
command = 'setlocal iskeyword+=@-@',
});
local lsp = require('lspconfig');
local tsserver = require('typescript-tools');
tsserver.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
handlers = {
-- format error code with better error message
['textDocument/publishDiagnostics'] = function(err, result, ctx, config)
require('ts-error-translator').translate_diagnostics(err, result, ctx, config)
vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config)
end,
},
});
lsp.eslint.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
-- auto-save
on_attach = function(client, bufnr)
vim.api.nvim_create_autocmd('BufWritePre', {
buffer = bufnr,
command = 'EslintFixAll',
});
end,
settings = {
validate = 'on',
packageManager = 'npm',
useESLintClass = true,
useFlatConfig = true,
experimental = {
useFlatConfig = true,
},
codeAction = {
disableRuleComment = {
enable = true,
location = 'separateLine'
},
showDocumentation = {
enable = true,
},
},
codeActionOnSave = {
mode = 'all',
rules = {},
},
format = true,
quiet = false,
onIgnoredFiles = 'off',
rulesCustomizations = {},
run = 'onType',
problems = {
shortenToSingleLine = false,
},
nodePath = "",
workingDirectory = {
mode = 'location',
},
},
});
lsp.cssls.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
settings = {
css = {
validate = false,
},
less = {
validate = false,
},
scss = {
validate = false,
},
},
});
'';
plugins = [
vimPlugins.typescript-tools-nvim
(buildPlugin "ts-error-translator" vimplugin-ts-error-translator-src)
{
plugin = vimPlugins.package-info-nvim;
type = "lua";
config =
# lua
''
local packageInfo = require('package-info');
packageInfo.setup({
hide_up_to_date = true,
package_manager = 'npm',
});
vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
pattern = { 'package.json' },
callback = function()
packageInfo.show({ force = true });
end,
});
'';
}
];
};
};
}

View file

@ -1,16 +0,0 @@
-- Auto indent when pressing Enter between brackets
local remap = vim.api.nvim_set_keymap
local npairs = require('nvim-autopairs')
npairs.setup({map_cr=false})
_G.MUtils= {}
MUtils.completion_confirm=function()
if vim.fn["coc#pum#visible"]() ~= 0 then
return vim.fn["coc#pum#confirm"]()
else
return npairs.autopairs_cr()
end
end
remap('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true})

View file

@ -0,0 +1,60 @@
local has_words_before = function()
local line, col = unpack(vim.api.nvim_win_get_cursor(0));
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match('%s') == nil;
end;
local cmp = require('cmp');
-- If you want insert `(` after select function or method item
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
cmp.setup({
sources = {
{ name = 'nvim_lsp' },
{ name = 'cmp_tabnine' },
{ name = 'treesitter' },
{ name = 'buffer' },
{ name = 'path' },
{ name = 'vsnip' },
},
snippet = {
expand = function(args)
vim.fn['vsnip#anonymous'](args.body);
end,
},
mapping = {
-- Confirm selection
['<CR>'] = cmp.mapping.confirm({ select = true }),
-- Next selection
['<Down>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item();
elseif has_words_before() then
cmp.complete();
else
fallback();
end;
end, {
'i',
's',
}),
-- Previous selection
['<Up>'] = cmp.mapping(function()
if cmp.visible() then
cmp.select_prev_item();
end;
end, {
'i',
's',
}),
},
});

View file

@ -1,10 +0,0 @@
" set dot icon in place of trailing whitespaces
set list listchars=tab:\ \ ,nbsp:␣,trail:•,extends:⟩,precedes:⟨
lua << EOF
-- Add visual indicator for trailing whitespaces
vim.opt.fillchars = {eob = " "}
vim.cmd[[colorscheme dracula]]
EOF

View file

@ -1,13 +0,0 @@
local gitsigns = require("gitsigns")
local function visual_stage()
local first_line = vim.fn.line('v')
local last_line = vim.fn.getpos('.')[2]
gitsigns.stage_hunk({ first_line, last_line })
end
vim.keymap.set("v", "gs", function()
visual_stage()
end)
gitsigns.setup();

View file

@ -0,0 +1,443 @@
-- Modified from https://github.com/lauranaujokat/nvim/blob/4102c789d05667f636107e3dae4ac589053ee88d/lua/setups/heirline.lua#L4
local conditions = require('heirline.conditions');
local utils = require('heirline.utils');
---@class Palette
---@field [string] any
local dracula = require('dracula').colors();
local colors = {
bright_bg = dracula.selection,
dark_bg = dracula.menu,
bright_fg = dracula.fg,
red = dracula.red,
dark_red = utils.get_highlight('DiffDelete').bg,
green = dracula.green,
blue = dracula.blue,
gray = utils.get_highlight('NonText').fg,
orange = utils.get_highlight('Constant').fg,
purple = utils.get_highlight('Statement').fg,
cyan = dracula.cyan,
diag_warn = utils.get_highlight('DiagnosticWarn').fg,
diag_error = utils.get_highlight('DiagnosticError').fg,
diag_hint = utils.get_highlight('DiagnosticHint').fg,
diag_info = utils.get_highlight('DiagnosticInfo').fg,
git_del = utils.get_highlight('GitSignsDelete').fg,
git_add = utils.get_highlight('GitSignsAdd').fg,
git_change = utils.get_highlight('GitSignsChange').fg,
};
require('heirline').load_colors(colors);
local ViMode = {
-- get vim current mode, this information will be required by the provider
-- and the highlight functions, so we compute it only once per component
-- evaluation and store it as a component attribute
init = function(self)
self.mode = vim.fn.mode(1);
-- execute this only once, this is required if you want the ViMode
-- component to be updated on operator pending mode
if not self.once then
vim.api.nvim_create_autocmd('ModeChanged', {
pattern = '*:*o',
command = 'redrawstatus',
});
self.once = true;
end;
end,
static = {
mode_names = {
n = 'N',
no = 'N?',
nov = 'N?',
noV = 'N?',
['no\22'] = 'N?',
niI = 'Ni',
niR = 'Nr',
niV = 'Nv',
nt = 'Nt',
v = 'V',
vs = 'Vs',
V = 'V_',
Vs = 'Vs',
['\22'] = '^V',
['\22s'] = '^V',
s = 'S',
S = 'S_',
['\19'] = '^S',
i = 'I',
ic = 'Ic',
ix = 'Ix',
R = 'R',
Rc = 'Rc',
Rx = 'Rx',
Rv = 'Rv',
Rvc = 'Rv',
Rvx = 'Rv',
c = 'C',
cv = 'Ex',
r = '...',
rm = 'M',
['r?'] = '?',
['!'] = '!',
t = 'T',
},
mode_colors = {
n = 'red',
i = 'green',
v = 'cyan',
V = 'cyan',
['\22'] = 'cyan',
c = 'orange',
s = 'purple',
S = 'purple',
['\19'] = 'purple',
R = 'orange',
r = 'orange',
['!'] = 'red',
t = 'red',
},
},
-- To be extra meticulous, we can also add some vim statusline syntax to
-- control the padding and make sure our string is always at least 2
-- characters long. Plus a nice Icon.
provider = function(self)
return '' .. self.mode_names[self.mode] .. '%)';
end,
-- Same goes for the highlight. Now the foreground will change according to the current mode.
hl = function(self)
local mode = self.mode:sub(1, 1); -- get only the first mode character
return { fg = self.mode_colors[mode], bold = true };
end,
-- Re-evaluate the component only on ModeChanged event
update = {
'ModeChanged',
},
};
local FileNameBlock = {
init = function(self)
self.filename = vim.api.nvim_buf_get_name(0);
end,
};
-- FileNameBlock children
local FileIcon = {
init = function(self)
local filename = self.filename;
local extension = vim.fn.fnamemodify(filename, ':e');
self.icon, self.icon_color =
require('nvim-web-devicons').get_icon_color(filename, extension, { default = true });
end,
provider = function(self)
return self.icon and (self.icon .. ' ');
end,
hl = function(self)
return { fg = self.icon_color };
end,
};
local FileName = {
provider = function(self)
-- first, trim the pattern relative to the current directory. For other
-- options, see :h filename-modifers
local filename = vim.fn.fnamemodify(self.filename, ':.');
if filename == '' then
return '[No Name]';
end;
-- now, if the filename would occupy more than 1/4th of the available
-- space, we trim the file path to its initials
-- See Flexible Components section below for dynamic truncation
if not conditions.width_percent_below(#filename, 0.25) then
filename = vim.fn.pathshorten(filename);
end;
return filename;
end,
hl = { fg = utils.get_highlight('Directory').fg },
};
local FileFlags = {
{
condition = function()
return vim.bo.modified;
end,
provider = '[+]',
hl = { fg = 'green' },
},
{
condition = function()
return not vim.bo.modifiable or vim.bo.readonly;
end,
provider = '',
hl = { fg = 'orange' },
},
};
local FileNameModifer = {
hl = function()
if vim.bo.modified then
-- use `force` because we need to override the child's hl foreground
return { fg = 'cyan', bold = true, force = true };
end;
end,
};
-- let's add the children to our FileNameBlock component
FileNameBlock = utils.insert(
FileNameBlock,
FileIcon,
utils.insert(FileNameModifer, FileName), -- a new table where FileName is a child of FileNameModifier
unpack(FileFlags), -- A small optimisation, since their parent does nothing
{ provider = '%<' } -- this means that the statusline is cut here when there's not enough space
);
local Ruler = {
provider = ' line: %l col: %c',
hl = { fg = 'green', bold = false },
};
local ScrollRuler = {
-- %l = current line number
-- %L = number of lines in the buffer
-- %c = column number
-- %P = percentage through file of displayed window
provider = '%P',
};
local ScrollBar = {
static = {
sbar = { '', '', '', '', '', '', '', '' },
-- sbar = { '🭶', '🭷', '🭸', '🭹', '🭺', '🭻' }
},
provider = function(self)
local curr_line = vim.api.nvim_win_get_cursor(0)[1];
local lines = vim.api.nvim_buf_line_count(0);
local i = math.floor((curr_line - 1) / lines * #self.sbar) + 1;
return string.rep(self.sbar[i], 2);
end,
hl = { fg = 'cyan', bg = 'bright_bg' },
};
local LSPActive = {
condition = conditions.lsp_attached,
update = { 'LspAttach', 'LspDetach' },
provider = function()
local names = {};
for _, server in pairs(vim.lsp.get_clients()) do
table.insert(names, server.name);
end;
return ' [' .. table.concat(names, ' ') .. '] ';
end,
hl = { fg = 'green', bold = false },
};
local spinner_frames = { '', '', '', '', '', '', '', '', '', '' };
-- From https://github.com/mhartington/dotfiles/blob/5961460e3a492f7815259a692fca5ca2a1df924a/config/nvim/lua/mh/statusline/lsp_status.lua#L4
local function get_lsp_progress()
local messages = require('lsp-status/messaging').messages;
local buf_messages = messages();
local msgs = {};
for _, msg in ipairs(buf_messages) do
local contents;
if msg.progress then
contents = msg.title;
if msg.spinner then
contents = spinner_frames[(msg.spinner % #spinner_frames) + 1] .. ' ' .. contents;
end;
elseif msg.status then
contents = msg.content;
if msg.uri then
local space = math.min(60, math.floor(0.6 * vim.fn.winwidth(0)));
local filename = vim.uri_to_fname(msg.uri);
filename = vim.fn.fnamemodify(filename, ':~:.');
if #filename > space then
filename = vim.fn.pathshorten(filename);
end;
contents = '(' .. filename .. ') ' .. contents;
end;
else
contents = msg.content;
end;
table.insert(msgs, contents);
end;
return table.concat(msgs, ' ');
end;
local LSPMessages = {
provider = function()
local progress = get_lsp_progress();
if progress == '' then
return '';
else
return ' ' .. progress;
end;
end,
hl = { fg = 'purple' },
};
local Diagnostics = {
condition = conditions.has_diagnostics,
static = {
error_icon = '',
warn_icon = '',
info_icon = '',
hint_icon = '',
},
init = function(self)
self.errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR });
self.warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN });
self.hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT });
self.info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO });
end,
update = { 'DiagnosticChanged', 'BufEnter' },
{
provider = function(self)
-- 0 is just another output, we can decide to print it or not!
return self.errors > 0 and (self.error_icon .. self.errors);
end,
hl = { fg = 'diag_error' },
},
{
provider = function(self)
return self.warnings > 0 and (self.warn_icon .. self.warnings);
end,
hl = { fg = 'diag_warn' },
},
{
provider = function(self)
return self.info > 0 and (self.info_icon .. self.info);
end,
hl = { fg = 'diag_info' },
},
{
provider = function(self)
return self.hints > 0 and (self.hint_icon .. self.hints);
end,
hl = { fg = 'diag_hint' },
},
};
local Git = {
condition = conditions.is_git_repo,
init = function(self)
self.status_dict = vim.b.gitsigns_status_dict;
self.has_changes = self.status_dict.added ~= 0 or
self.status_dict.removed ~= 0 or
self.status_dict.changed ~= 0;
end,
hl = { fg = 'orange' },
{ -- git branch name
provider = function(self)
return '' .. self.status_dict.head;
end,
hl = { bold = true },
},
-- You could handle delimiters, icons and counts similar to Diagnostics
{
condition = function(self)
return self.has_changes;
end,
provider = '(',
},
{
provider = function(self)
local count = self.status_dict.added or 0;
return count > 0 and ('+' .. count);
end,
hl = { fg = 'git_add' },
},
{
provider = function(self)
local count = self.status_dict.removed or 0;
return count > 0 and ('-' .. count);
end,
hl = { fg = 'git_del' },
},
{
provider = function(self)
local count = self.status_dict.changed or 0;
return count > 0 and ('~' .. count);
end,
hl = { fg = 'git_change' },
},
{
condition = function(self)
return self.has_changes;
end,
provider = ')',
},
};
local Align = { provider = '%=' };
local Space = { provider = ' ' };
Left = utils.surround({ '', '' }, 'bright_bg', { ViMode, Diagnostics, LSPMessages });
Middle = utils.surround({ '', '' }, 'bright_bg', { LSPActive, FileNameBlock, Ruler });
Right = utils.surround({ '', '' }, 'bright_bg', { Git, Space, ScrollRuler, Space, ScrollBar });
local DefaultStatusline = {
hl = { bg = 'dark_bg' },
condition = function()
return true;
end,
Left,
Align,
Middle,
Align,
Right,
};
local StatusLines = {
hl = function()
if conditions.is_active() then
return 'StatusLine';
else
return 'StatusLineNC';
end;
end,
-- the first statusline with no condition, or which condition returns true is used.
-- think of it as a switch case with breaks to stop fallthrough.
fallthrough = false,
DefaultStatusline,
};
-- Make it global
vim.opt.laststatus = 3;
require('heirline').setup({
statusline = StatusLines,
});

View file

@ -1,26 +0,0 @@
local highlight = {
"RainbowRed",
"RainbowYellow",
"RainbowBlue",
"RainbowOrange",
"RainbowGreen",
"RainbowViolet",
"RainbowCyan",
}
local hooks = require('ibl.hooks')
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" })
vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" })
vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" })
vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" })
vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" })
vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" })
vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" })
end)
require('ibl').setup({
indent = {
highlight = highlight,
char = "",
},
})

View file

@ -1,9 +0,0 @@
require('lualine').setup({
options = {
theme = 'dracula',
globalstatus = true,
},
sections = {
lualine_x = {'g:coc_status', 'bo:filetype'},
}
})

View file

@ -1,23 +0,0 @@
local map = require('mini.map')
map.setup({
integrations = {
map.gen_integration.builtin_search(),
map.gen_integration.gitsigns(),
map.gen_integration.diagnostic(),
},
window = {
focusable = false,
width = 7,
winblend = 75,
},
})
local ts_input = require('mini.surround').gen_spec.input.treesitter
require('mini.surround').setup({
custom_surroundings = {
-- Use tree-sitter to search for function call
f = {
input = ts_input({ outer = '@call.outer', inner = '@call.inner' })
},
}
})

View file

@ -1,38 +1,63 @@
-- Override netrw
vim.g.loaded_netrw = 0
vim.g.loaded_netrwPlugin = 0
vim.g.loaded_netrw = 0;
vim.g.loaded_netrwPlugin = 0;
require('neo-tree').setup({
close_if_last_window = true,
enable_refresh_on_write = true,
close_if_last_window = true,
enable_refresh_on_write = true,
window = {
width = 22,
},
filesystem = {
use_libuv_file_watcher = true,
group_empty_dirs = true,
filtered_items = {
visible = false,
hide_dotfiles = false,
hide_gitignored = true,
hide_by_name = {},
hide_by_pattern = {},
always_show = {},
never_show = {},
never_show_by_pattern = {},
window = {
width = 22,
},
},
source_selector = {
winbar = true,
statusline = false
},
filesystem = {
use_libuv_file_watcher = true,
group_empty_dirs = true,
follow_current_file = {
enabled = true,
leave_dirs_open = true,
}
})
filtered_items = {
visible = false,
hide_dotfiles = false,
hide_gitignored = false,
hide_by_name = {},
hide_by_pattern = {},
always_show = {},
never_show = {},
never_show_by_pattern = {},
},
},
source_selector = {
winbar = true,
statusline = false,
},
follow_current_file = {
enabled = true,
leave_dirs_open = true,
},
});
local function is_neotree_open()
local manager = require('neo-tree.sources.manager');
local renderer = require('neo-tree.ui.renderer');
local state = manager.get_state('filesystem');
return renderer.window_exists(state);
end;
-- Auto open Neo-Tree on big enough window
vim.api.nvim_create_autocmd({ 'VimEnter', 'VimResized' }, {
pattern = '*',
callback = function()
if vim.api.nvim_eval([[&columns]]) > 100 then
if is_neotree_open() == false then
vim.cmd[[Neotree show]];
vim.cmd[[Neotree close]];
vim.cmd[[Neotree show]];
end;
else
if is_neotree_open() then
vim.cmd[[Neotree close]];
end;
end;
end,
});

View file

@ -1,11 +0,0 @@
" Auto open Neo-Tree on big enough window
function! OpenTree() abort
if &columns > 100
Neotree show
Neotree close
Neotree show
endif
lua MiniMap.open()
endfunction
autocmd VimEnter * call OpenTree()

View file

@ -1,13 +0,0 @@
" use vscode keybinds for snippets completion
inoremap <silent><expr> <TAB>
\ coc#pum#visible() ? coc#_select_confirm() :
\ coc#expandableOrJumpable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" :
\ CheckBackspace() ? "\<TAB>" :
\ coc#refresh()
function! CheckBackspace() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
let g:coc_snippet_next = '<tab>'

View file

@ -1,21 +0,0 @@
lua << EOF
require('nvim-treesitter.configs').setup({
highlight = { enable = true },
indent = { enable = true },
})
require('treesitter-context').setup({
enable = true,
max_lines = 3,
min_window_height = 20,
})
vim.filetype.add({
pattern = { [".*/hypr/.*%.conf"] = "hyprlang" },
})
EOF
" Add line under context
hi TreesitterContextBottom gui=underline guisp=Grey

View file

@ -0,0 +1,167 @@
{
config,
pkgs,
lib,
nvim-theme-src,
...
}: let
inherit (config.vars) neovimIde;
inherit (lib) fileContents optionals;
inherit (pkgs) vimPlugins;
in {
programs = {
neovim = {
extraPackages = with pkgs; [
bat
];
plugins =
[
{
plugin = vimPlugins.dracula-nvim.overrideAttrs {
src = nvim-theme-src;
};
type = "lua";
config =
# lua
''
-- set dot icon in place of trailing whitespaces
vim.opt.listchars = {
tab = ' ',
trail = '',
extends = '',
precedes = '',
nbsp = '',
};
vim.opt.list = true;
-- Add visual indicator for trailing whitespaces
vim.opt.fillchars = { eob = " " };
vim.fn.matchadd('errorMsg', [[\s\+$]]);
vim.cmd.colorscheme('dracula');
'';
}
{
plugin = vimPlugins.indent-blankline-nvim;
type = "lua";
config =
# lua
''
--
local highlight = {
"RainbowRed",
"RainbowYellow",
"RainbowBlue",
"RainbowOrange",
"RainbowGreen",
"RainbowViolet",
"RainbowCyan",
};
local hooks = require('ibl.hooks');
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" });
vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" });
vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" });
vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" });
vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" });
vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" });
vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" });
end);
require('ibl').setup({
indent = {
highlight = highlight,
char = "",
},
});
'';
}
# Deps of heirline config
vimPlugins.nvim-web-devicons
{
plugin = vimPlugins.heirline-nvim;
type = "lua";
config = fileContents ./plugins/heirline.lua;
}
]
++ optionals neovimIde [
{
plugin = vimPlugins.neo-tree-nvim;
type = "lua";
config = fileContents ./plugins/neotree.lua;
}
{
plugin = vimPlugins.codewindow-nvim;
type = "lua";
config =
# lua
''
--
local codewindow = require('codewindow');
codewindow.setup({
auto_enable = false,
minimap_width = 8,
relative = 'editor',
window_border = 'none',
exclude_filetypes = { 'help' },
});
vim.api.nvim_create_autocmd({ 'VimEnter', 'VimResized' }, {
pattern = '*',
callback = function()
if vim.api.nvim_win_get_width(0) < 88 then
codewindow.close_minimap();
else
codewindow.open_minimap();
end
end,
});
'';
}
{
plugin = vimPlugins.transparent-nvim;
type = "lua";
config =
# lua
''
require('transparent').setup({
groups = {
'Normal',
'NormalNC',
'Comment',
'Constant',
'Special',
'Identifier',
'Statement',
'PreProc',
'Type',
'Underlined',
'Todo',
'String',
'Function',
'Conditional',
'Repeat',
'Operator',
'Structure',
'LineNr',
'NonText',
'SignColumn',
'CursorLine',
'CursorLineNr',
'StatusLine',
'StatusLineNC',
'EndOfBuffer',
},
extra_groups = {},
exclude_groups = {},
});
'';
}
];
};
};
}

View file

@ -0,0 +1,40 @@
{pkgs, ...}: let
inherit (pkgs) vimPlugins;
in {
programs = {
neovim = {
plugins = [
{
plugin = vimPlugins.nvim-treesitter-context;
type = "lua";
config =
# lua
''
require('treesitter-context').setup({
enable = true,
max_lines = 3,
min_window_height = 20,
});
vim.cmd.hi('TreesitterContextBottom', 'gui=underline guisp=Grey');
'';
}
vimPlugins.nvim-treesitter-textobjects
{
plugin = vimPlugins.nvim-treesitter.withAllGrammars;
type = "lua";
config =
# lua
''
require('nvim-treesitter.configs').setup({
highlight = { enable = true },
indent = { enable = true },
});
'';
}
];
};
};
}

View file

@ -1,30 +0,0 @@
{
config,
pkgs,
...
}: {
home.packages =
(with config.customPkgs; [
pokemon-colorscripts
repl
])
++ (with pkgs.nodePackages; [
undollar
])
++ (with pkgs; [
dracula-theme
neofetch
progress
wget
tree
openssh
mosh
rsync
killall
imagemagick
usbutils
zip
unzip
dig.dnsutils
]);
}

View file

@ -14,9 +14,7 @@
plugins = with pkgs.tmuxPlugins; [dracula];
extraConfig =
/*
bash
*/
# bash
''
bind-key -n Home send Escape "OH"
bind-key -n End send Escape "OF"

View file

@ -1,7 +1,9 @@
{pkgs, ...} @ inputs: let
trash = pkgs.callPackage ./trash-d.nix inputs;
in {
home.packages = [trash];
{
pkgs,
self,
...
}: {
home.packages = [self.packages.${pkgs.system}.trash-d];
programs.bash.shellAliases.rm = "trash";
}

View file

@ -1,31 +0,0 @@
{
trash-d-src,
stdenv,
dmd,
dub,
ronn,
...
}:
stdenv.mkDerivation {
name = "trash";
version = trash-d-src.shortRev;
src = trash-d-src;
buildInputs = [dub dmd ronn];
buildPhase = ''
# https://github.com/svanderburg/node2nix/issues/217#issuecomment-751311272
export HOME=$(mktemp -d)
dub build
'';
installPhase = ''
mkdir -p $out/bin $out/man/man1
cp -a ./build/trash $out/bin/
ronn --roff --pipe MANUAL.md > $out/man/man1/trash.1
'';
}

View file

@ -1,12 +1,15 @@
{
config,
lib,
pkgs,
...
}: {
environment.systemPackages = with pkgs; [
(writeShellApplication {
}: let
inherit (lib) optionals;
in {
environment.systemPackages = [
(pkgs.writeShellApplication {
name = "rebuild-no-cache";
runtimeInputs = [config.nh.package];
runtimeInputs = [config.programs.nh.package];
text = ''
nh os switch -- --option binary-caches "https://cache.nixos.org" "$@"
'';
@ -15,22 +18,29 @@
nix = {
settings = {
substituters = [
"https://hyprland.cachix.org"
"https://nix-gaming.cachix.org"
# Nixpkgs-Wayland
"https://cache.nixos.org"
"https://nixpkgs-wayland.cachix.org"
"https://nix-community.cachix.org"
# Nix-community
"https://nix-community.cachix.org"
# Nh
"https://viperml.cachix.org"
# Caddy
"https://caddycf.cachix.org"
# Personal config cache
"https://cache.nelim.org"
];
substituters =
[
"https://hyprland.cachix.org"
"https://nix-gaming.cachix.org"
# Nixpkgs-Wayland
"https://cache.nixos.org"
"https://nixpkgs-wayland.cachix.org"
"https://nix-community.cachix.org"
# Nix-community
"https://nix-community.cachix.org"
# Nh
"https://viperml.cachix.org"
# Caddy
"https://caddycf.cachix.org"
]
++ optionals (!config.services.nix-serve.enable && config.services.tailscale.enable) [
# Personal config cache
"https://cache.nelim.org"
]
++ optionals (!config.services.nix-serve.enable && !config.services.tailscale.enable) [
"http://10.0.0.249:5000"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="

View file

@ -4,7 +4,7 @@
enable = true;
defaultFonts = {
emoji = ["Noto Color Emoji"];
monospace = ["Noto Nerd Font"];
monospace = ["JetBrainsMono Nerd Font"];
sansSerif = ["Noto Nerd Font"];
serif = ["Noto Nerd Font"];
};

View file

@ -1,14 +1,12 @@
{
config,
lib,
nur,
...
}: {
imports = [
./vars
./pkgs
./modules/global.nix
nur.nixosModules.nur
./packages.nix
];
nix = {
@ -23,16 +21,10 @@
substituters = [
# Nix-community
"https://nix-community.cachix.org"
# FIXME: cache doesn't work
# Personal config cache
# "https://cache.nelim.org"
];
trustedPublicKeys = [
# Nix-community
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
# Personal config cache
# "cache.nelim.org:JmFqkUdH11EA9EZOFAGVHuRYp7EbsdJDHvTQzG2pPyY="
];
};
@ -48,10 +40,7 @@
};
}
nur.hmModules.nur
./home
./pkgs
{
programs.bash.sessionVariables = {

View file

@ -1,5 +0,0 @@
{nixpkgs-wayland, ...} @ inputs: [
(import ./dracula-theme inputs)
nixpkgs-wayland.overlay
]

View file

@ -1,46 +0,0 @@
{
bat-theme-src,
gtk-theme-src,
xresources-theme-src,
...
} @ inputs: (final: prev: {
dracula-theme = prev.dracula-theme.overrideAttrs (oldAttrs: let
git-colors = prev.callPackage ./git.nix inputs;
plymouth = prev.callPackage ./plymouth.nix inputs;
wallpaper = prev.fetchurl (import ./wallpaper.nix);
in {
version = gtk-theme-src.shortRev;
src = gtk-theme-src;
installPhase = ''
runHook preInstall
mkdir -p $out/share/plymouth/themes $out/wallpapers
cp -a ${wallpaper} $out/wallpapers/waves.png
cp -a ${bat-theme-src}/Dracula.tmTheme $out/bat
cp -a ${git-colors}/git-colors $out/git-colors
cp -a ${plymouth}/share/plymouth/themes/dracula $out/share/plymouth/themes/
cp -a ${xresources-theme-src}/Xresources $out/xres
# -------------------------------------------
mkdir -p $out/share/themes/Dracula
cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,gtk-4.0,index.theme,metacity-1,unity,xfwm4} $out/share/themes/Dracula
cp -a kde/{color-schemes,plasma} $out/share/
cp -a kde/kvantum $out/share/Kvantum
mkdir -p $out/share/aurorae/themes
cp -a kde/aurorae/* $out/share/aurorae/themes/
mkdir -p $out/share/sddm/themes
cp -a kde/sddm/* $out/share/sddm/themes/
mkdir -p $out/share/icons/Dracula-cursors
mv kde/cursors/Dracula-cursors/index.theme $out/share/icons/Dracula-cursors/cursor.theme
mv kde/cursors/Dracula-cursors/cursors $out/share/icons/Dracula-cursors/cursors
runHook postInstall
'';
});
})

View file

@ -1,23 +0,0 @@
{
stdenv,
git-theme-src,
...
}:
stdenv.mkDerivation {
name = "dracula-git";
version = git-theme-src.shortRev;
src = git-theme-src;
installPhase = ''
# Git colors
cp -a ./config/gitconfig ./git-colors
chmod 777 ./git-colors
line=$(grep -n 'Dracula Dark Theme' ./git-colors | cut -d: -f1)
sed -i "1,$((line-1))d" ./git-colors
mkdir $out
cp -a ./git-colors $out
'';
}

View file

@ -1,4 +0,0 @@
{
url = "https://raw.githubusercontent.com/aynp/dracula-wallpapers/main/Art/4k/Waves%201.png";
hash = "sha256-f9FwSOSvqTeDj4bOjYUQ6TM+/carCD9o5dhg/MnP/lk=";
}

View file

@ -1,12 +0,0 @@
diff --git a/src/libstore/path.cc b/src/libstore/path.cc
index e642abcd5..0e584ef33 100644
--- a/src/libstore/path.cc
+++ b/src/libstore/path.cc
@@ -12,7 +12,7 @@ static void checkName(std::string_view path, std::string_view name)
if (!((c >= '0' && c <= '9')
|| (c >= 'a' && c <= 'z')
|| (c >= 'A' && c <= 'Z')
- || c == '+' || c == '-' || c == '.' || c == '_' || c == '?' || c == '='))
+ || c == '+' || c == '-' || c == '.' || c == '_' || c == '?' || c == '=' || c == '!'))
throw BadStorePath("store path '%s' contains illegal character '%s'", path, c);
}

79
common/packages.nix Normal file
View file

@ -0,0 +1,79 @@
{
pkgs,
self,
...
}: {
environment.systemPackages =
(with self.packages.${pkgs.system}; [
pokemon-colorscripts
repl
])
++ (with pkgs.nodePackages; [
undollar
])
++ (with pkgs; [
alejandra
# Archiving
zip
unzip
p7zip
rar
bzip2
gzip
gnutar
xz
# File management
findutils
diffutils
utillinux
which
imagemagick
# Networking
dig.dnsutils
openssh
rsync
wget
gnupg
# Misc CLI stuff
killall
nix-output-monitor
progress
tree
gnugrep
gnused
# Expected Stuff
hostname
man
perl
tzdata
])
++ [
# This could help as well: nix derivation show -r /run/current-system
(pkgs.writeShellApplication {
name = "listDerivs";
text = ''
nix-store --query --requisites /run/current-system | cut -d- -f2- | sort -u
'';
})
(pkgs.writeShellApplication {
name = "from";
runtimeInputs = with pkgs; [
coreutils
which
];
text = ''
for var do
realpath "$(which "$var")"
done
'';
})
];
}

View file

@ -1,13 +0,0 @@
{
buildGoModule,
curseforge-server-downloader-src,
...
}:
buildGoModule {
pname = "curseforge-server-downloader";
version = "unstable";
src = curseforge-server-downloader-src;
doCheck = false;
vendorHash = null;
}

View file

@ -1,26 +0,0 @@
{
lib,
pkgs,
...
} @ inputs: let
inherit (lib) concatMapAttrs filterAttrs mkOption pathExists types;
mkPackage = name: v: {
${name} = pkgs.callPackage ./${name} inputs;
};
rmNotPackage = name: value:
value
== "directory"
&& pathExists ./${name}/default.nix;
packages = filterAttrs rmNotPackage (builtins.readDir ./.);
pkgSet = concatMapAttrs mkPackage packages;
in {
options.customPkgs = mkOption {
type = types.attrs;
};
config.customPkgs = pkgSet;
}

View file

@ -1,41 +0,0 @@
{
stdenv,
meson,
ninja,
pkg-config,
glib,
libfprint,
polkit,
dbus,
systemd,
pam,
libpam-wrapper,
pam-fprint-grosshack-src,
...
}:
stdenv.mkDerivation {
name = "pam-fprint-grosshack";
version = pam-fprint-grosshack-src.shortRev;
src = pam-fprint-grosshack-src;
nativeBuildInputs = [
meson
ninja
pkg-config
glib
libfprint
polkit
dbus
systemd
pam
libpam-wrapper
];
mesonFlags = [
"-Dpam_modules_dir=${placeholder "out"}/lib/security"
"-Dsysconfdir=${placeholder "out"}/etc"
"-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/system-services"
"-Dsystemd_system_unit_dir=${placeholder "out"}/lib/systemd/system"
];
}

View file

@ -1,110 +0,0 @@
{
config,
writeShellApplication,
stdenvNoCC,
jre,
fetchFromGitHub,
fetchurl,
makeWrapper,
makeDesktopItem,
rsync,
...
}:
stdenvNoCC.mkDerivation rec {
name = "rars-flatlaf";
src = fetchFromGitHub {
owner = "privat";
repo = "rars";
rev = "fd34014efd65b3cb5a52f1729c3b8240cae0c332";
hash = "sha256-D8X/cr+fnq/OOFYfMG9aPss95J8Z2yiROuF9kmHkK40=";
fetchSubmodules = true;
};
desktopItem = let
hyprland = config.home-manager.users.${config.vars.mainUser}.wayland.windowManager.hyprland.finalPackage;
execScript = writeShellApplication {
name = "execScript";
runtimeInputs = [hyprland];
text = "(sleep 1; hyprctl dispatch togglefloating) & ${name}";
};
in
makeDesktopItem {
name = "RARS";
desktopName = "RARS";
exec = "${execScript}/bin/execScript";
icon = name;
};
nativeBuildInputs = [makeWrapper rsync jre];
installPhase = let
flatlaf = fetchurl {
url = "https://repo1.maven.org/maven2/com/formdev/flatlaf/3.2/flatlaf-3.2.jar";
hash = "sha256-HAG+G9undDXWtySokKl7lkIUCFI7lEBduu+UgSVaxAA=";
};
icon = fetchurl {
url = "https://riscv.or.jp/wp-content/uploads/2019/06/cropped-RISC-V-logo-figonly-mod-2.png";
hash = "sha256-e1/iVmadVzyO77ikBr1cdXsJdDj8TiXh3Oyjek9GwqM=";
};
in
/*
bash
*/
''
# ./build-jar.sh
mkdir -p build
find src -name "*.java" | xargs javac --release 8 -d build
if [[ "$OSTYPE" == "darwin"* ]]; then
find src -type f -not -name "*.java" -exec rsync -R {} build \;
else
find src -type f -not -name "*.java" -exec cp --parents {} build \;
fi
cp -rf build/src/* build
rm -r build/src
cp README.md License.txt build
cd build
jar cfm ../rars.jar ./META-INF/MANIFEST.MF *
chmod +x ../rars.jar
cd ..
# ./build-jar-flatlaf.sh
mkdir -p build-flatlaf/
cd build-flatlaf/
cp ${flatlaf} ../flatlaf.jar
jar x < ../rars.jar
jar x < "../flatlaf.jar"
cat > META-INF/MANIFEST.MF <<EOF
Manifest-Version: 1.0
Implementation-Version: 3.1.1
Multi-Release: true
Main-Class: rars.Launch
EOF
jar cfm ../rars-flatlaf.jar META-INF/MANIFEST.MF *
chmod +x ../rars-flatlaf.jar
cd ..
# InstallPhase
runHook preInstall
cat > ./rars.desktop <<EOF
EOF
mkdir -p "$out/share/pixmaps"
cp "${icon}" "$out/share/pixmaps/${name}.png"
install -D $desktopItem/share/applications/* $out/share/applications/rars.desktop
export JAR=$out/share/java/${name}/${name}.jar
install -D ./${name}.jar $JAR
makeWrapper ${jre}/bin/java $out/bin/${name} \
--add-flags "-jar $JAR"
runHook postInstall
'';
}

View file

@ -3,7 +3,7 @@
lib,
...
}: let
inherit (lib) mkOption types;
inherit (lib) mkDefault mkOption types;
flakeDir = config.environment.variables.FLAKE;
cfg = config.vars;
in {
@ -23,7 +23,7 @@ in {
};
promptMainColor = mkOption {
type = types.enum ["red" "green" "blue" "purple" "orange" "yellow" "cyan" "pink"];
type = types.enum (import ./prompt-schemes.nix {});
default = "purple";
};
@ -32,19 +32,20 @@ in {
Colors used in starship prompt
'';
default = import ./prompt-schemes.nix cfg.promptMainColor;
default = import ./prompt-schemes.nix {color = cfg.promptMainColor;};
readOnly = true;
type = with types;
submodule {
options = {
textColor = mkOption {type = str;};
firstColor = mkOption {type = str;};
secondColor = mkOption {type = str;};
thirdColor = mkOption {type = str;};
fourthColor = mkOption {type = str;};
};
type = types.submodule {
options = let
inherit (types) str;
in {
textColor = mkOption {type = str;};
firstColor = mkOption {type = str;};
secondColor = mkOption {type = str;};
thirdColor = mkOption {type = str;};
fourthColor = mkOption {type = str;};
};
};
};
configDir = mkOption {
@ -55,28 +56,6 @@ in {
'';
};
mainMonitor = mkOption {
type = types.str;
description = ''
The name of the main monitor used for Hyprland
and Regreet which also uses Hyprland
'';
# This is to allow a bash script to know whether this value exists
default = "null";
};
greetdDupe = mkOption {
type = types.bool;
description = ''
If we should duplicate regreet on all monitors
'';
default = true;
};
fontSize = mkOption {
type = types.nullOr types.float;
};
neovimIde = mkOption {
type = types.bool;
default = true;
@ -84,6 +63,6 @@ in {
};
config = {
environment.variables.FLAKE = lib.mkDefault "/home/${cfg.mainUser}/.nix";
environment.variables.FLAKE = mkDefault "/home/${cfg.mainUser}/.nix";
};
}

View file

@ -1,4 +1,6 @@
color: let
{color ? null}: let
inherit (builtins) attrNames removeAttrs;
schemes = {
"purple" = {
textColor = "#090c0c";
@ -74,4 +76,6 @@ color: let
};
};
in
schemes.${color}
if ! isNull color
then schemes.${color}
else attrNames (removeAttrs schemes ["color"])

View file

@ -4,15 +4,15 @@ This directory encompasses every device's main configuration file.
## List of my Devices
| Name | Description |
| ---------- | ------------------------------------------------------------------------------------------------------- |
| `android` | My [Nix-On-Droid](https://github.com/nix-community/nix-on-droid) configuration for my OnePlus 9 Pro |
| `binto` | My desktop PC with a multi-monitor setup and an NVIDIA (cringe) 3070 |
| `cluster` | Two Lenovo mini PCs that make use of [NixOS-pcsd](https://github.com/matt1432/nixos-pcsd) to form a cluster |
| `nos` | My custom built NAS |
| `oksys` | A very old Acer laptop that went from sailing the seas for years to becoming my web server and VPN host. It is now retired indefinitely. |
| `servivi` | A gaming PC in a previous life, it is now used to experiment and do heavier stuff |
| `wim` | My 2-1 Lenovo Laptop that I use for uni |
| Name | Description |
| ----------- | ------------------------------------------------------------------------------------------------------- |
| `android` | My [Nix-On-Droid](https://github.com/nix-community/nix-on-droid) configuration for my OnePlus 9 Pro |
| `bbsteamie` | My wife's SteamDeck that has a pink case |
| `binto` | My desktop PC with a multi-monitor setup and an NVIDIA (cringe) 3070 |
| `cluster` | Two Lenovo mini PCs that make use of [NixOS-pcsd](https://github.com/matt1432/nixos-pcsd) to form a cluster |
| `nos` | My custom built NAS |
| `servivi` | A gaming PC in a previous life, it is now used as a build farm and hosts game servers |
| `wim` | My 2-1 Lenovo Laptop that I use for uni |
## Global Vars

View file

@ -1,25 +1,49 @@
{
home-manager,
nixpkgs,
config,
lib,
pkgs,
...
} @ inputs: rec {
extraSpecialArgs = inputs;
home-manager-path = home-manager.outPath;
pkgs = import nixpkgs {
system = "aarch64-linux";
overlays = import ../../common/overlays inputs;
}: {
vars = {
mainUser = "nix-on-droid";
hostName = "localhost";
neovimIde = false;
};
modules = [
{
options = with pkgs.lib; {
environment.variables.FLAKE = mkOption {
type = with types; nullOr str;
};
};
}
{home-manager.extraSpecialArgs = inputs;}
../../common/nix-on-droid.nix
./nix-on-droid.nix
environment.variables.FLAKE = "/data/data/com.termux.nix/files/home/.nix";
terminal.font = "${(pkgs.nerdfonts.override {
fonts = [
"JetBrainsMono"
];
})}/share/fonts/truetype/NerdFonts/JetBrainsMonoNerdFontMono-Regular.ttf";
environment.packages = [
(pkgs.writeShellApplication {
name = "switch";
runtimeInputs = with pkgs; [
nix-output-monitor
];
text = ''
exec nix-on-droid ${lib.concatStringsSep " " [
"switch"
"--flake ${config.environment.variables.FLAKE}"
"--builders ssh-ng://matt@100.64.0.7"
''"$@"''
"|&"
"nom"
]}
'';
})
];
environment.etcBackupExtension = ".bak";
environment.motd = null;
home-manager.backupFileExtension = "hm-bak";
# Set your time zone.
time.timeZone = "America/Montreal";
# No touchy
system.stateVersion = "23.05";
}

View file

@ -1,47 +0,0 @@
{pkgs, ...}: {
vars = {
mainUser = "nix-on-droid";
hostName = "localhost";
neovimIde = false;
};
environment.variables.FLAKE = "/data/data/com.termux.nix/files/home/.nix";
terminal.font = "${(pkgs.nerdfonts.override {
fonts = [
"JetBrainsMono"
];
})}/share/fonts/truetype/NerdFonts/JetBrainsMonoNerdFontMono-Regular.ttf";
environment.packages = with pkgs; [
diffutils
findutils
utillinux
tzdata
hostname
man
gnugrep
ripgrep
gnupg
gnused
gnutar
bzip2
gzip
xz
zip
unzip
openssh
perl
alejandra
];
environment.etcBackupExtension = ".bak";
environment.motd = null;
home-manager.backupFileExtension = "hm-bak";
# Set your time zone.
time.timeZone = "America/Montreal";
# No touchy
system.stateVersion = "23.05";
}

View file

@ -0,0 +1,63 @@
{
config,
self,
...
}: let
inherit (config.vars) mainUser hostName;
in {
# ------------------------------------------------
# Imports
# ------------------------------------------------
imports = [
./hardware-configuration.nix
./modules/desktop
self.nixosModules.kmscon
self.nixosModules.plymouth
self.nixosModules.server
];
# State Version: DO NOT CHANGE
system.stateVersion = "24.11";
home-manager.users.${mainUser}.home.stateVersion = "24.11";
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars = {
mainUser = "mariah";
hostName = "bbsteamie";
promptMainColor = "pink";
};
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
"wheel"
"adm"
];
};
networking = {
inherit hostName;
networkmanager.enable = true;
};
time.timeZone = "America/Montreal";
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.server = {
user = mainUser;
sshd.enable = true;
};
boot.plymouth = {
enable = true;
theme = "bgrt";
};
services.kmscon.enable = true;
}

View file

@ -0,0 +1,61 @@
{
config,
jovian,
lib,
modulesPath,
...
}: {
nixpkgs.hostPlatform = "x86_64-linux";
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
jovian.nixosModules.default
];
jovian = {
steamos.useSteamOSConfig = true;
devices.steamdeck = {
enable = true;
enableGyroDsuService = true;
};
hardware.has.amd.gpu = true;
};
boot = {
kernelModules = ["kvm-amd"];
initrd.availableKernelModules = ["nvme" "xhci_pci" "usbhid" "sdhci_pci"];
loader = {
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = true;
configurationLimit = 30;
};
};
};
virtualisation.waydroid.enable = true;
fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4";
};
"/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
};
};
swapDevices = [
{
device = "/.swapfile";
size = 16 * 1024; # 16GB
}
];
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,30 @@
{pkgs, ...}: let
defaultSession = "plasma";
in {
imports = [
(import ./session-switching.nix defaultSession)
(import ./steam.nix defaultSession)
];
services.desktopManager.plasma6.enable = true;
programs = {
kdeconnect.enable = true;
xwayland.enable = true;
};
# Flatpak support for Discover
services.flatpak.enable = true;
services.packagekit.enable = true;
environment.systemPackages = with pkgs; [
# Misc Apps
firefox
kdePackages.discover
kdePackages.krfb
# Libs
wl-clipboard
xclip
];
}

View file

@ -0,0 +1,81 @@
# How to install Palia Map and Overwolf on Linux
Dependencies:
- latest GE-Proton: https://github.com/GloriousEggroll/proton-ge-custom
- protontricks: https://github.com/Matoking/protontricks
- protonhax: https://github.com/jcnils/protonhax
## First Step: Install and run Palia at least once
## Second Step: Setup Palia WINEPREFIX with latest GE-Proton
1. Delete prefix at /home/"$USER"/.steam/steam/steamapps/compatdata/2707930/pfx
```bash
rm -r /home/"$USER"/.steam/steam/steamapps/compatdata/2707930/pfx
```
2. Launch Palia with GE-Proton by going to game properties -> Compatibility -> Force the use ... -> Select GE-Proton...
3. Install dotnet48 and other Windows deps to allow for Overwolf installation
```bash
# Force proton version of protontricks
export PROTON_VERSION="GE-Proton9-10"
protontricks 2707930 dotnet48
# If VC is needed
protontricks 2707930 vcrun2010
protontricks 2707930 vcrun2012
protontricks 2707930 vcrun2013
```
## Third Step: Install Overwolf
1. Get this older version that worked for me here: https://overwolf.en.uptodown.com/windows/download/4714215
2. Install it with protontricks. Follow the GUI installer as if you were on Windows
```bash
export PROTON_VERSION="GE-Proton9-10"
protontricks-launch --appid 2707930 Downloads/overwolf-0-195-0-18.exe
```
## Fourth Step: Install Palia Map
1. Get the installer from here: https://www.overwolf.com/app/Leon_Machens-Palia_Map
2. Install it with protontricks.
```bash
export PROTON_VERSION="GE-Proton9-10"
protontricks-launch --appid 2707930 Downloads/Palia\ Map\ -\ Installer.exe
```
3. An error should popup saying `Installation failed` or something along those lines.
Close it and wait. You should see the Overwolf overlay on the left side of your screen
with the Palia Map icon saying `Installing` and then when it's done: `Palia Map`.
If nothing happens, try rebooting your PC and retrying the above shell commands until it works.
## Final Step: Setting it up in Steam
1. Add this line to Palia launch options
```bash
protonhax init %command%
```
2. Add random non-steam game to your library and then edit its properties:
Change the name to `Palia Map` or anything you like
Change the target to this command:
```bash
protonhax run 2707930 "/home/$USER/.local/share/Steam/steamapps/compatdata/2707930/pfx/drive_c/users/steamuser/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Overwolf/Palia Map.lnk"
```

View file

@ -0,0 +1,115 @@
defaultSession: {
config,
lib,
pkgs,
...
}: {
config = let
inherit (lib) findFirst getExe mkForce;
inherit (config.vars) mainUser;
switch-session = pkgs.writeShellApplication {
name = "switch-session";
text = ''
mkdir -p /etc/sddm.conf.d
cat <<EOF | tee /etc/sddm.conf.d/autologin.conf
[Autologin]
User=${mainUser}
Session=$1
Relogin=true
EOF
'';
};
gaming-mode = pkgs.writeShellScriptBin "gaming-mode" ''
sudo ${pkgs.systemd}/bin/systemctl start to-gaming-mode.service
'';
in {
services.displayManager.sddm = {
enable = true;
autoLogin.relogin = true;
wayland = {
enable = true;
compositorCommand = "kwin";
};
};
# Sets the default session at launch
systemd.services."set-session" = {
wantedBy = ["multi-user.target"];
before = ["display-manager.service"];
path = [switch-session];
script = ''
switch-session "${defaultSession}"
'';
};
# Allows switching to gaming mode
systemd.services."to-gaming-mode" = {
wantedBy = mkForce [];
path = [switch-session];
script = ''
switch-session "gamescope-wayland"
systemctl restart display-manager
sleep 10
switch-session "${defaultSession}"
'';
};
# Make it so we don't need root to switch to gaming mode
security.sudo.extraRules = [
{
users = [mainUser];
groups = [100];
commands = [
{
command = "${pkgs.systemd}/bin/systemctl start to-gaming-mode.service";
options = ["SETENV" "NOPASSWD"];
}
];
}
];
home-manager.users.${mainUser} = {
# Add desktop entry to make it GUI friendly
xdg.desktopEntries."Gaming Mode" = {
name = "Gaming Mode";
exec = getExe gaming-mode;
icon = "steam";
terminal = false;
type = "Application";
};
home.file."Desktop/Gaming Mode.desktop".source =
(
findFirst
(x: x.meta.name == "Gaming Mode.desktop") {}
config.home-manager.users.mariah.home.packages
)
+ "/share/applications/Gaming Mode.desktop";
# Fix remote control prompt showing up everytime
xdg.configFile = let
mkAutostart = name: flags: {
"autostart/${name}.desktop".text = "[Desktop Entry]\nType=Application\nExec=${name} ${flags}";
};
in (
# Needs xdg-desktop-portal-kde patch provided by `self.overlays.xdg-desktop-portal-kde`
{"plasmaremotedesktoprc".text = "[Sharing]\nUnattended=true";}
// (mkAutostart "krfb" "--nodialog %c")
// (mkAutostart "steam" "-silent %U")
);
};
};
# For accurate stack trace
_file = ./session-switching.nix;
}

View file

@ -0,0 +1,80 @@
defaultSession: {
config,
lib,
pkgs,
self,
...
}: {
config = let
inherit (config.vars) mainUser;
cfg = config.programs.steam;
in {
# Normal Steam Stuff
programs.steam = {
enable = true;
protontricks.enable = true;
remotePlay.openFirewall = true;
extraCompatPackages = [
self.packages.${pkgs.system}.proton-ge-latest
];
};
# Jovian Steam settings
jovian.steam = {
# Steam > Settings > System > Enable Developer Mode
# Steam > Developer > CEF Remote Debugging
enable = true;
user = mainUser;
environment = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS =
lib.makeSearchPathOutput
"steamcompattool"
""
cfg.extraCompatPackages;
};
desktopSession = defaultSession;
};
# Decky settings
jovian.decky-loader = {
enable = true;
user = mainUser;
stateDir = "/home/${mainUser}/.local/share/decky"; # Keep scoped to user
# https://github.com/Jovian-Experiments/Jovian-NixOS/blob/1171169117f63f1de9ef2ea36efd8dcf377c6d5a/modules/decky-loader.nix#L80-L84
extraPackages = with pkgs; [
# Generic packages
curl
unzip
util-linux
gnugrep
readline.out
procps
pciutils
libpulseaudio
];
};
# Takes way too long to shutdown
systemd.services."decky-loader".serviceConfig.TimeoutStopSec = "5";
# Misc Packages
environment.systemPackages = [
pkgs.steam-rom-manager
self.packages.${pkgs.system}.protonhax
# FIXME:Ryujinx ACNH crashes on OpenGL AND Vulkan
# https://github.com/Ryujinx/Ryujinx/issues/6993
# https://github.com/Ryujinx/Ryujinx/issues/6708
self.packages.${pkgs.system}.yuzu
];
};
# For accurate stack trace
_file = ./steam.nix;
}

View file

@ -1,29 +1,43 @@
{config, ...}: let
{
config,
self,
...
}: let
inherit (config.vars) mainUser hostName;
in {
# ------------------------------------------------
# Imports
# ------------------------------------------------
imports = [
./hardware-configuration.nix
../../modules/ags
../../modules/audio.nix
../../modules/hyprland
../../modules/kmscon.nix
../../modules/printer.nix
../../modules/razer.nix
../../modules/sshd.nix
../../modules/tailscale.nix
./modules/gpu-replay.nix
./modules/nix-gaming.nix
self.nixosModules.adb
self.nixosModules.desktop
self.nixosModules.kmscon
self.nixosModules.server
];
home-manager.users.${mainUser} = {
imports = [
self.homeManagerModules.firefox
];
# State Version: DO NOT CHANGE
home.stateVersion = "23.11";
};
# State Version: DO NOT CHANGE
system.stateVersion = "23.11";
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars = {
mainUser = "matt";
hostName = "binto";
promptMainColor = "purple";
mainMonitor = "desc:GIGA-BYTE TECHNOLOGY CO. LTD. G27QC 0x00000B1D";
greetdDupe = false;
fontSize = 12.5;
};
users.users.${mainUser} = {
@ -37,16 +51,6 @@ in {
"libvirtd"
];
};
home-manager.users.${mainUser} = {
imports = [
../../home/firefox
./home/packages.nix
];
# No touchy
home.stateVersion = "23.11";
};
networking = {
inherit hostName;
@ -54,9 +58,31 @@ in {
firewall.enable = false;
};
# Set your time zone.
time.timeZone = "America/Montreal";
# No touchy
system.stateVersion = "23.11";
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.desktop = {
user = mainUser;
ags.enable = true;
mainMonitor = "desc:GIGA-BYTE TECHNOLOGY CO. LTD. G27QC 0x00000B1D";
displayManager.duplicateScreen = false;
fontSize = 12.5;
};
roles.server = {
user = mainUser;
tailscale.enable = true;
sshd.enable = true;
};
programs.adb = {
enable = true;
user = mainUser;
};
services.kmscon.enable = true;
}

View file

@ -1,33 +0,0 @@
{...}: {
xdg.desktopEntries."com.github.iwalton3.jellyfin-media-player" = {
name = "Jellyfin Media Player";
comment = "Desktop client for Jellyfin";
exec = "jellyfinmediaplayer --platform xcb";
icon = "com.github.iwalton3.jellyfin-media-player";
terminal = false;
type = "Application";
categories = ["AudioVideo" "Video" "Player" "TV"];
settings = {
Version = "1.0";
StartupWMClass = "jellyfin-media-player";
};
actions = {
"DesktopF" = {
name = "Desktop [Fullscreen]";
exec = "jellyfinmediaplayer --fullscreen --desktop --platform xcb";
};
"DesktopW" = {
name = "Desktop [Windowed]";
exec = "jellyfinmediaplayer --windowed --desktop --platform xcb";
};
"TVF" = {
name = "TV [Fullscreen]";
exec = "jellyfinmediaplayer --fullscreen --tv --platform xcb";
};
"TVW" = {
name = "TV [Windowed]";
exec = "jellyfinmediaplayer --windowed --tv --platform xcb";
};
};
};
}

View file

@ -1,53 +1,18 @@
{
pkgs,
config,
lib,
gpu-screen-recorder-src,
pkgs,
self,
...
}: let
inherit (config.vars) mainUser mainMonitor;
inherit (lib) concatStringsSep removePrefix;
inherit (config.vars) mainUser;
cfgDesktop = config.roles.desktop;
gsr = self.packages.${pkgs.system}.gpu-screen-recorder;
hyprPkgs = config.home-manager.users.${mainUser}.wayland.windowManager.hyprland.finalPackage;
gsr = pkgs.stdenv.mkDerivation {
name = "gpu-screen-recorder";
version = gpu-screen-recorder-src.shortRev;
src = gpu-screen-recorder-src;
nativeBuildInputs = with pkgs; [
pkg-config
makeWrapper
];
buildInputs = with pkgs; [
libpulseaudio
ffmpeg
wayland
libdrm
libva
xorg.libXcomposite
xorg.libXrandr
];
buildPhase = ''
./build.sh
'';
installPhase = ''
strip gsr-kms-server
strip gpu-screen-recorder
install -Dm755 "gsr-kms-server" "$out/bin/gsr-kms-server"
install -Dm755 "gpu-screen-recorder" "$out/bin/gpu-screen-recorder"
#install -Dm644 "extra/gpu-screen-recorder.service" "$out/lib/systemd/user/gpu-screen-recorder.service"
wrapProgram $out/bin/gpu-screen-recorder --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
pkgs.addOpenGLRunpath.driverLink
pkgs.libglvnd
]}"
'';
};
in {
security.wrappers = {
gpu-screen-recorder = {
@ -66,22 +31,22 @@ in {
};
home-manager.users.${mainUser} = {
home.packages = with pkgs; [
home.packages = [
gsr
(writeShellApplication {
(pkgs.writeShellApplication {
name = "gpu-save-replay";
runtimeInputs = [procps];
runtimeInputs = [pkgs.procps];
text = ''
pkill --signal SIGUSR1 -f gpu-screen-recorder
'';
})
(writeShellApplication {
(pkgs.writeShellApplication {
name = "gsr-start";
runtimeInputs = [pulseaudio hyprPkgs xorg.xrandr];
runtimeInputs = [pkgs.pulseaudio hyprPkgs pkgs.xorg.xrandr];
text = ''
main="${removePrefix "desc:" mainMonitor}"
main="${removePrefix "desc:" cfgDesktop.mainMonitor}"
WINDOW=$(hyprctl -j monitors | jq '.[] |= (.description |= gsub(","; ""))' | jq -r ".[] | select(.description | test(\"$main\")) | .name")
# Fix fullscreen game resolution

View file

@ -1,28 +1,37 @@
{
nix-gaming,
pkgs,
self,
...
}: {
imports = [
nix-gaming.nixosModules.platformOptimizations
];
programs = {
steam = {
# Disable HW accel to fix flickers
enable = true;
remotePlay.openFirewall = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
extraCompatPackages = [
self.packages.${pkgs.system}.proton-ge-latest
];
platformOptimizations.enable = true;
};
};
environment.systemPackages = with pkgs; [
(lutris.override {
environment.systemPackages = [
(pkgs.lutris.override {
extraLibraries = pkgs: [
# List library dependencies here
];
extraPkgs = pkgs: [
nix-gaming.packages.${pkgs.system}.wine-ge
# List extra packages available to lutris here
];
})
pkgs.r2modman
pkgs.ryujinx
];
}

View file

@ -1,18 +1,31 @@
deviceName: {config, ...}: let
deviceName: {
config,
self,
...
}: let
inherit (config.vars) mainUser hostName;
clusterIP = config.services.pcsd.virtualIps.caddy-vip.ip;
in {
# ------------------------------------------------
# Imports
# ------------------------------------------------
imports = [
./hardware-configuration.nix
../../modules/kmscon.nix
../../modules/sshd.nix
../../modules/tailscale.nix
./modules/pcsd.nix
self.nixosModules.kmscon
self.nixosModules.server
];
# State Version: DO NOT CHANGE
system.stateVersion = "24.05";
home-manager.users.${mainUser}.home.stateVersion = "24.05";
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars = {
mainUser = "matt";
hostName = deviceName;
@ -32,13 +45,6 @@ in {
];
};
home-manager.users.${mainUser} = {
imports = [];
# No touchy
home.stateVersion = "24.05";
};
networking = {
inherit hostName;
resolvconf.enable = true;
@ -53,9 +59,16 @@ in {
firewall.enable = false;
};
# Set your time zone.
time.timeZone = "America/Montreal";
# No touchy
system.stateVersion = "24.05";
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.server = {
user = mainUser;
tailscale.enable = true;
sshd.enable = true;
};
services.kmscon.enable = true;
}

View file

@ -48,7 +48,19 @@ in {
vault.reverseProxy = "${nosIP}:8781";
hauk.reverseProxy = "${nosIP}:3003";
headscale.reverseProxy = "${clusterIP}:8085";
jelly.reverseProxy = "${nosIP}:8097";
pr-tracker.reverseProxy = "${serviviIP}:3000";
jellyfin = {
subDomainName = "jelly";
reverseProxy = "${nosIP}:8096";
subDirectories = {
jfa-go = {
subDirName = "accounts";
reverseProxy = "${nosIP}:8056";
};
};
};
pcsd = {
extraConfig = ''
@ -125,10 +137,6 @@ in {
subDirectories = {
bazarr.reverseProxy = "${nosIP}:6767";
bazarr-french = {
subDirName = "bafrr";
reverseProxy = "${nosIP}:6766";
};
prowlarr.reverseProxy = "${nosIP}:9696";
radarr.reverseProxy = "${nosIP}:7878";

View file

@ -27,7 +27,7 @@ in {
"nelim.org redirect"
];
local-data = let
wanIP = "166.62.179.208";
wanIP = "166.62.180.199";
caddyIp =
if hostName == "thingone"
then "100.64.0.8"

View file

@ -1,22 +1,35 @@
{config, ...}: let
{
config,
self,
...
}: let
inherit (config.vars) mainUser hostName;
in {
# ------------------------------------------------
# Imports
# ------------------------------------------------
imports = [
./hardware-configuration.nix
../../modules/kmscon.nix
../../modules/sshd.nix
../../modules/tailscale.nix
./modules/arion
./modules/docker
./modules/jellyfin
./modules/mergerfs.nix
./modules/qbittorrent
./modules/snapraid.nix
./modules/subtitles/cleanup.nix
./modules/subtitles/syncing.nix
./modules/subtitles
self.nixosModules.docker
self.nixosModules.kmscon
self.nixosModules.server
];
# State Version: DO NOT CHANGE
system.stateVersion = "24.05";
home-manager.users.${mainUser}.home.stateVersion = "24.05";
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars = {
mainUser = "matt";
hostName = "nos";
@ -32,22 +45,22 @@ in {
];
};
home-manager.users.${mainUser} = {
imports = [];
# No touchy
home.stateVersion = "24.05";
};
networking = {
inherit hostName;
resolvconf.enable = true;
firewall.enable = false;
};
# Set your time zone.
time.timeZone = "America/Montreal";
# No touchy
system.stateVersion = "24.05";
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.server = {
user = mainUser;
tailscale.enable = true;
sshd.enable = true;
};
services.kmscon.enable = true;
}

View file

@ -1,10 +1,19 @@
{
config,
modulesPath,
self,
...
}: {
nixpkgs.hostPlatform = "x86_64-linux";
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
self.nixosModules.nvidia
];
nvidia = {
enable = true;
enableCUDA = true;
};
boot = {
kernelModules = ["kvm-intel"];
@ -45,9 +54,4 @@
zramSwap.enable = true;
hardware.cpu.intel.updateMicrocode = config.hardware.enableRedistributableFirmware;
nvidia = {
enable = true;
enableCUDA = true;
};
}

View file

@ -1,67 +0,0 @@
{config, ...}: let
inherit (config.sops) secrets;
inherit (config.arion) rwDataDir;
rwPath = rwDataDir + "/forgejo";
in {
arion.projects."forgejo" = {
"forgejo" = {
image = ./images/forgejo.nix;
ports = [
# Redirect WAN port 22 to this port
"2222:22"
"3000:3000"
];
restart = "always";
depends_on = ["forgejo-db"];
env_file = [secrets.forgejo.path];
environment = {
APP_NAME = "Gitea";
# TODO: change ids
USER_UID = "1000";
USER_GID = "1000";
ROOT_URL = "https://git.nelim.org";
SSH_DOMAIN = "git.nelim.org";
SSH_PORT = 22;
HTTP_PORT = 3000;
};
volumes = [
"${rwPath}/data:/data"
"/etc/timezone:/etc/timezone:ro"
"/etc/localtime:/etc/localtime:ro"
];
};
"forgejo-db" = {
image = ./images/postgres.nix;
restart = "always";
env_file = [secrets.forgejo-db.path];
volumes = ["${rwPath}/db:/var/lib/postgresql/data"];
};
"act_runner" = {
image = ./images/act_runner.nix;
privileged = true;
restart = "always";
depends_on = ["forgejo"];
env_file = [secrets.forgejo-runner.path];
environment = {
GITEA_INSTANCE_URL = "https://git.nelim.org";
GITEA_RUNNER_NAME = "DinD";
};
volumes = ["${rwPath}/act:/data"];
};
};
}

View file

@ -1,8 +0,0 @@
pkgs:
pkgs.dockerTools.pullImage {
imageName = "codeberg.org/forgejo/forgejo";
imageDigest = "sha256:7aa26f80fb574cf7dc886e180d1e86462bf4110fd1d5343af33264c18ae3a1b3";
sha256 = "1ij5cwbs8mv67pimkp43ia0fxli2rr5agy08sq8yimxmz4ayd60l";
finalImageName = "codeberg.org/forgejo/forgejo";
finalImageTag = "1.21.10-0";
}

View file

@ -1,8 +0,0 @@
pkgs:
pkgs.dockerTools.pullImage {
imageName = "postgres";
imageDigest = "sha256:6779d7a308f3c9c518a644ad9326be6149dc50352c91927725936a1115e09b0d";
sha256 = "1qckzi60db6q3dw61qqpfj4xsf7fa92aaf5x7ra2ac5sm1kbhl3x";
finalImageName = "postgres";
finalImageTag = "14";
}

View file

@ -1,83 +0,0 @@
{
config,
pkgs,
...
}: let
inherit (config.sops) secrets;
inherit (config.arion) rwDataDir;
rwPath = rwDataDir + "/freshrss";
in {
arion.projects."freshrss" = {
"freshrss" = {
image = ./images/freshrss.nix;
restart = "always";
ports = ["2800:80"];
extra_hosts = [
"drss.nelim.org=10.0.0.130"
"bridge.nelim.org=10.0.0.130"
];
volumes = let
rss-bridge = pkgs.stdenv.mkDerivation {
name = "rss-bridge-ext";
version = "unstable";
src = pkgs.fetchFromGitHub {
owner = "DevonHess";
repo = "FreshRSS-Extensions";
rev = "299c1febc279be77fa217ff5c2965a620903b974";
hash = "sha256-++kgbrGJohKeOeLjcy7YV3QdCf9GyZDtbntlFmmIC5k=";
};
installPhase = ''
mkdir $out
cp -ar ./xExtension-RssBridge $out/
'';
};
in [
"${rwPath}/data:/var/www/FreshRSS/data"
"${rss-bridge}/xExtension-RssBridge:/var/www/FreshRSS/extensions/xExtension-RssBridge:ro"
];
env_file = [secrets.freshrss.path];
environment = {
TZ = "America/New_York";
CRON_MIN = "3,33";
};
};
"freshrss-db" = {
image = ./images/postgres.nix;
restart = "always";
volumes = [
"${rwPath}/db:/var/lib/postgresql/data"
];
env_file = [secrets.freshrss.path];
environment = {
POSTGRES_DB = "\${DB_BASE:-freshrss}";
POSTGRES_USER = "\${DB_USER:-freshrss}";
POSTGRES_PASSWORD = "\${DB_PASSWORD:-freshrss}";
};
};
"docker-hub-rss" = {
image = ./images/docker-hub-rss.nix;
restart = "always";
ports = ["3007:3000"];
};
"rss-bridge" = {
image = ./images/rss-bridge.nix;
restart = "always";
volumes = [
"${rwPath}/bridge:/config"
];
ports = ["3006:80"];
};
};
}

View file

@ -1,8 +0,0 @@
pkgs:
pkgs.dockerTools.pullImage {
imageName = "freshrss/freshrss";
imageDigest = "sha256:c554223f485843553f7b7c9faff1f5c6c6113ce15b0288dd07210e97d8bbbbcc";
sha256 = "1vjsr0hfq5dfma2dll6jzkir14ii423nlvjjq6gq0mp9s19jidr7";
finalImageName = "freshrss/freshrss";
finalImageTag = "latest";
}

View file

@ -1,8 +0,0 @@
pkgs:
pkgs.dockerTools.pullImage {
imageName = "postgres";
imageDigest = "sha256:6779d7a308f3c9c518a644ad9326be6149dc50352c91927725936a1115e09b0d";
sha256 = "1qckzi60db6q3dw61qqpfj4xsf7fa92aaf5x7ra2ac5sm1kbhl3x";
finalImageName = "postgres";
finalImageTag = "14";
}

View file

@ -1,8 +0,0 @@
pkgs:
pkgs.dockerTools.pullImage {
imageName = "rssbridge/rss-bridge";
imageDigest = "sha256:b543b93acf3c5e5f011b940352032aabc98221716fed57b4c7f902908731beae";
sha256 = "1lk5x15dlgcyly0in9xhn7ibxp9hp2h65x9q3axhqiz28dkd176a";
finalImageName = "rssbridge/rss-bridge";
finalImageTag = "latest";
}

View file

@ -1,19 +0,0 @@
{config, ...}: let
inherit (config.sops) secrets;
in {
arion.projects."gameyfin"."gameyfin" = {
image = ./images/gameyfin.nix;
restart = "always";
user = "1000:1000";
env_file = [secrets.gameyfin.path];
environment.GAMEYFIN_USER = "mathis";
volumes = [
"/data/games:/opt/gameyfin-library"
];
expose = ["8080"];
ports = ["8074:8080"];
};
}

View file

@ -1,8 +0,0 @@
pkgs:
pkgs.dockerTools.pullImage {
imageName = "grimsi/gameyfin";
imageDigest = "sha256:97842e65252e0854ccced478c10a007ee57e7a35c98c3cb26ecce9d0fd5be41c";
sha256 = "19gbbaqg4n188piyh3lb54rfwz5xpj6f6fkvpqsbls3v9a4ambjw";
finalImageName = "grimsi/gameyfin";
finalImageTag = "latest";
}

View file

@ -1,9 +0,0 @@
{...}: {
arion.projects."hauk"."hauk" = {
image = ./images/hauk.nix;
restart = "always";
ports = ["3003:80"];
volumes = ["${./config.php}:/etc/hauk/config.php:ro"];
};
}

View file

@ -1,62 +0,0 @@
{
config,
pkgs,
...
}: let
inherit (config.sops) secrets;
inherit (pkgs.writers) writeYAML;
in {
arion.projects."homepage"."homepage" = {
image = ./images/homepage.nix;
restart = "always";
ports = [
"3020:3000"
];
extra_hosts = ["lan.nelim.org=10.0.0.130"];
env_file = [secrets.homepage.path];
volumes = let
services = writeYAML "services.yaml" (import ./services.nix);
bookmarks = writeYAML "bookmarks.yaml" {};
settings = writeYAML "settings.yaml" {
# FIXME: title not working
title = "bruh";
theme = "dark";
color = "gray";
target = "_self";
layout.video = {
style = "columns";
row = 4;
# columns = 2;
};
};
widgets = writeYAML "widgets.yaml" [
{
resources = {
cpu = true;
memory = true;
disk = "/";
};
}
{
search = {
provider = "duckduckgo";
target = "_blank";
};
}
];
in [
"${bookmarks}:/app/config/bookmarks.yaml:ro"
"${services}:/app/config/services.yaml:ro"
"${settings}:/app/config/settings.yaml:ro"
"${widgets}:/app/config/widgets.yaml:ro"
];
};
}

Some files were not shown because too many files have changed in this diff Show more