From c9657e66343a5ea2bf4b77c0c27ddb23f4384611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Wed, 11 Mar 2026 10:55:14 +0000 Subject: [PATCH 01/20] flake: update inputs --- flake.lock | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 86ee2da..c2f953d 100644 --- a/flake.lock +++ b/flake.lock @@ -448,11 +448,11 @@ ] }, "locked": { - "lastModified": 1773133636, - "narHash": "sha256-4Wjgp7vc3tq7erE/JRI3XXtLj9eM6s1lVK9GMkILy7k=", + "lastModified": 1773201098, + "narHash": "sha256-yq35qMKDHyMdVlhGfR5BojbjniY2cY9XYmiILeCf1Xc=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "126d61f41fb20ff99025bf7de481a211593ec7c7", + "rev": "8578734bf5087a1ca45033c2ec8e1a2228f9b95c", "type": "github" }, "original": { @@ -468,11 +468,11 @@ ] }, "locked": { - "lastModified": 1773105430, - "narHash": "sha256-r+JWt5SyeCafJiEaEjB9pmcldeG0Uc+er/8dWFS+Rjs=", + "lastModified": 1773211754, + "narHash": "sha256-P3RF/4rCNXtQVoLXPelfDpIutusZ5qvLwRzqprDfKdk=", "owner": "natsukium", "repo": "mcp-servers-nix", - "rev": "39444c3e94a1bb740a797decb97beef0a6abc384", + "rev": "6326cb1384c5276b88c1df861ffa07b511a074ca", "type": "github" }, "original": { @@ -537,11 +537,11 @@ ] }, "locked": { - "lastModified": 1773132826, - "narHash": "sha256-rp7A5sq1TlFOku9Hl71g3jXEv6MBV8WmwkuAYpbzps0=", + "lastModified": 1773170801, + "narHash": "sha256-TB9/4xKh8tZcbOtxlHB24EO4NlEIorxtcL3L7LOWLqA=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "68e2bf48958f2d3553c2efdd518cab55a9236393", + "rev": "5336c8d137d1a3ad055e83fa08dcb17c1f2b9444", "type": "github" }, "original": { @@ -640,11 +640,11 @@ ] }, "locked": { - "lastModified": 1773109921, - "narHash": "sha256-R3xsyVFVmyzQH4k0wm06TffrvDlZVKzoRGJk9i4h20Q=", + "lastModified": 1773196297, + "narHash": "sha256-3cTCid9mn1VwqZwxoIjh7NKlUhnsNZUuEn++AAjaWsk=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "7bf06657436a10124b3d02de120300b4bbbfe46d", + "rev": "283b7757411109bec421885dca788984c423d4af", "type": "github" }, "original": { @@ -686,11 +686,11 @@ ] }, "locked": { - "lastModified": 1773103371, - "narHash": "sha256-qXKxc4qzqUaFL9WTS9+nNk/81ga8MpoeiH30GnKxabU=", + "lastModified": 1773217223, + "narHash": "sha256-nuJm0CAgTFHQr900Euks0iTjcI5zagGfJTzeCEk3W8g=", "owner": "kaylorben", "repo": "nixcord", - "rev": "d74f4615030b24db7857b49ff68a02f579b34c1b", + "rev": "41d6b20512a433203018777b630853c96b0294f8", "type": "github" }, "original": { @@ -715,11 +715,11 @@ ] }, "locked": { - "lastModified": 1772655076, - "narHash": "sha256-JRxinIHNvALYnNVuhnV2H8TU2nkDNTMaSlYbyUtvBV8=", + "lastModified": 1773211698, + "narHash": "sha256-7MO8/1kby+CHc7KwNDfz3+GvVifA2F1V4nZR+w0r6w4=", "owner": "nix-community", "repo": "nixos-cli", - "rev": "0f09d374f22f197921d1753103985357d3626fcc", + "rev": "35c01291b1bd707def2d1613543c7fe2e4132d43", "type": "github" }, "original": { @@ -746,11 +746,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1772822230, - "narHash": "sha256-uKkU4cS3lkh3zlnUf+QRX6zd5LHOM0mrqhEvZ5fqqHM=", - "rev": "71caefce12ba78d84fe618cf61644dce01cf3a96", + "lastModified": 1773068389, + "narHash": "sha256-SXjlcLSLN5akUflU1ium1b+h2SoKi+hZzk9YuXn/VYg=", + "rev": "44bae273f9f82d480273bab26f5c50de3724f52f", "type": "tarball", - "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.7198.71caefce12ba/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.7346.44bae273f9f8/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -780,11 +780,11 @@ ] }, "locked": { - "lastModified": 1773143870, - "narHash": "sha256-B4UpQWRLwmXsdG8gg1d0NJnuJ3UK6G+XQysZ0y3TSPg=", + "lastModified": 1773224906, + "narHash": "sha256-QyZqPbFa27GNWi4uYiUZ57sYan3WkuITheLo68OTv1Q=", "owner": "nix-community", "repo": "NUR", - "rev": "d2268b695ea2d53b9975c7c7584b3acb057eb11b", + "rev": "128fdb2143551a55f669baca94a959a41bde3793", "type": "github" }, "original": { From cda87c6525387fd62183d471ea13a5f6be1689ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Wed, 11 Mar 2026 14:07:35 +0000 Subject: [PATCH 02/20] modules/flake: add `cachix-push` --- modules/flake/cachix-push.nix | 51 +++++++++++++++++++++++++++++++++++ modules/flake/default.nix | 1 + 2 files changed, 52 insertions(+) create mode 100644 modules/flake/cachix-push.nix diff --git a/modules/flake/cachix-push.nix b/modules/flake/cachix-push.nix new file mode 100644 index 0000000..460b36e --- /dev/null +++ b/modules/flake/cachix-push.nix @@ -0,0 +1,51 @@ +{ + config, + lib, + ... +}: + +let + inherit (lib) + concatStringsSep + getExe + mapAttrsToList + mkIf + mkOption + types + ; + + mkApp = drv: { + type = "app"; + program = getExe drv; + inherit (drv) meta; + }; + + cfg = config.flake.cachix; +in +{ + options = { + flake.cachix = { + push = mkOption { + type = types.attrsOf (types.listOf types.package); + default = { }; + description = "Attrset mapping Cachix cache names to lists of derivations to push."; + }; + }; + }; + + config = { + perSystem = { pkgs, ... }: { + apps = mkIf (cfg.push != { }) { + cachix-push = mkApp (pkgs.writeShellApplication { + name = "cachix-push"; + runtimeInputs = [ pkgs.cachix ]; + text = concatStringsSep "\n" ( + mapAttrsToList ( + cache: paths: "cachix push ${cache} ${concatStringsSep " " (map toString paths)}" + ) cfg.push + ); + }); + }; + }; + }; +} diff --git a/modules/flake/default.nix b/modules/flake/default.nix index 94e59ba..e76b06e 100644 --- a/modules/flake/default.nix +++ b/modules/flake/default.nix @@ -4,6 +4,7 @@ { imports = [ + ./cachix-push.nix ./flint-git-hook.nix ./gitleaks-git-hook.nix ./per-system-flake-inputs.nix From 375e5d53a0075b15e79e33eb423200d487a9724e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Wed, 11 Mar 2026 14:49:00 +0000 Subject: [PATCH 03/20] flake.cachix: configure patched inputs to be pushed --- .envrc | 3 +++ flake/cachix.nix | 29 +++++++++++++++++++++++++++++ flake/default.nix | 1 + lib/my.nix | 4 ++++ secrets/users/ilkecan.yaml | 5 +++-- users/ilkecan/sops.nix | 3 ++- 6 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 flake/cachix.nix diff --git a/.envrc b/.envrc index e37798d..839799e 100644 --- a/.envrc +++ b/.envrc @@ -5,3 +5,6 @@ strict_env watch_file flake/per-system/pre-commit.nix use flake + +CACHIX_AUTH_TOKEN="$(cat ~/.config/sops-nix/secrets/cachix-auth-token)" +export CACHIX_AUTH_TOKEN diff --git a/flake/cachix.nix b/flake/cachix.nix new file mode 100644 index 0000000..bcf7e3e --- /dev/null +++ b/flake/cachix.nix @@ -0,0 +1,29 @@ +{ + inputs, + lib, + ... +}: + +let + inherit (lib) + attrValues + concatLists + filter + ; + + inherit (lib.my) + storePathName + ; + + isPatchedInput = x: + storePathName x != "source"; +in +{ + flake.cachix = { + push = { + ilkecan = concatLists [ + (filter isPatchedInput (attrValues inputs)) + ]; + }; + }; +} diff --git a/flake/default.nix b/flake/default.nix index b974bc5..9ea7a26 100644 --- a/flake/default.nix +++ b/flake/default.nix @@ -12,6 +12,7 @@ ../modules/flake # dogfood + ./cachix.nix ./flake-modules.nix ./home-configurations.nix ./home-modules.nix diff --git a/lib/my.nix b/lib/my.nix index 50b2cc0..fd5bbc2 100644 --- a/lib/my.nix +++ b/lib/my.nix @@ -4,6 +4,7 @@ let inherit (builtins) + baseNameOf readDir ; @@ -87,4 +88,7 @@ in else root + "/${path'}" ; + + storePathName = path: + substring 33 (-1) (baseNameOf path); } diff --git a/secrets/users/ilkecan.yaml b/secrets/users/ilkecan.yaml index 6362fc3..92063e9 100644 --- a/secrets/users/ilkecan.yaml +++ b/secrets/users/ilkecan.yaml @@ -1,3 +1,4 @@ +cachix-auth-token: ENC[AES256_GCM,data:tYy+MFrQbNoR954wtWjlAKE66sHLpzeW8JnJevtNF3aHVlfydJ9xlX+xHPN0mkBWON0O81hYv0PKoeI8uX6krB6BQPxuWZ5nye8Z3thu7dGeFOUV25T4yOhXC9pwmjamnc54b5TEFWVY40TYrFRUQNJCjBxvdR0MQP1FvDceG6aECVrNHBN9gcK28lTrhK7RNg1I36I=,iv:cf2ZAnsaXV6x7kVBrCcIQ6gZ29Bm2FxH3dRJI763Cm4=,tag:RAgDHQDpOrJ5Zk3M09Evyg==,type:str] github-access-token: ENC[AES256_GCM,data:xCAiYDXePGcMnb/3txPY8oxD4hXAgI2o/2vRsuruKznkRs2ReT256rnLODBSFfUbmn+CAPIrzfjysVFLjn5FYAAWcJqksexwKcvl4ww6byp2t+3JylMAhaxyFYRx,iv:MBqcpSPv1rA8uKdAt+RzMOWMA3K5yGof7DYT1LetxPc=,tag:JREvqnEdeYuUji1L7t2Pyw==,type:str] sops: age: @@ -10,7 +11,7 @@ sops: N29CTHBUblFmZlU3VU11YkUxTlU0NmsKT8MdYf4x7gs9Apzvj0a9URh2M1NN0T+1 mhu3aVFbB7pnSCGWIY/1mqxaYv5f68sq+T6GpSogY53aRYCyv5gGdA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-03-10T20:51:07Z" - mac: ENC[AES256_GCM,data:xZnRjz1QC+Vf1JKKvBmVhhdkW2VDybJc8qOSwIGZxxPMkvX1MoI1/1QHYayzBX9niWgmCTsC3HVLEo2/4QzTWPQHFX9sExaATydDtvSM5ik5tBwHYKIK/pU4zZW/REwGh8xcdu+9qFzGivFhtNTXxOcvE7vtHi9xEChgMwvOF5g=,iv:rwVZiNa92vD289K1HOiEpH7GaAMAkNM+2SCRfmUVdEA=,tag:N2enfnv4Ut//+B0g2g3xNA==,type:str] + lastmodified: "2026-03-11T12:32:52Z" + mac: ENC[AES256_GCM,data:+tCRgFsIaM5yA70ZK8mXf7t1DUrIz2egKgEhVpElr1rYJKnlX2LYA0IaGTqfAebgUiaPvm69kjwXPRJqplejzPATjhOuQo5bap4WztT3DtADOetat/Sip+olAs+6852zkivpL9vHpU1vXl6aI5hgKSAH/quSgFz5vJefqdnKD94=,iv:ePJ+A3IBr6bYXnhvz/8HAlZMD7UJZYuXTCnWpftE2ac=,tag:UUDeZ1CoBln8/RoXZfewtg==,type:str] unencrypted_suffix: _unencrypted version: 3.12.1 diff --git a/users/ilkecan/sops.nix b/users/ilkecan/sops.nix index 15cc1ab..e98ec27 100644 --- a/users/ilkecan/sops.nix +++ b/users/ilkecan/sops.nix @@ -13,10 +13,11 @@ let in { sops = { - age.keyFile = "${homeDirectory}/.config/sops/age/key.txt"; + age.keyFile = "${homeDirectory}/.config/sops/age/keys.txt"; defaultSopsFile = "${self'}/secrets/users/${username}.yaml"; secrets = { + cachix-auth-token = { }; github-access-token = { }; }; From 0f2a36990f2549ac0b8033e22668c39dc2ca1a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Wed, 11 Mar 2026 18:14:33 +0000 Subject: [PATCH 04/20] nix: move files under `nix/` directory --- .envrc | 2 +- flake.nix | 6 +++--- flake/per-system/args/lib.nix | 10 ---------- flake/per-system/args/pkgs.nix | 11 ----------- {flake => nix/flake}/cachix.nix | 0 {flake => nix/flake}/default.nix | 0 {flake => nix/flake}/flake-modules.nix | 0 {flake => nix/flake}/home-configurations.nix | 2 +- {flake => nix/flake}/home-modules.nix | 0 {flake => nix/flake}/modules.nix | 2 +- {flake => nix/flake}/nixos-configurations.nix | 2 +- {flake => nix/flake}/nixos-modules.nix | 0 {flake => nix/flake}/per-system/apps/ci.nix | 0 {flake => nix/flake}/per-system/apps/default.nix | 0 {flake => nix/flake}/per-system/args/default.nix | 0 nix/flake/per-system/args/lib.nix | 10 ++++++++++ nix/flake/per-system/args/pkgs.nix | 11 +++++++++++ {flake => nix/flake}/per-system/checks/default.nix | 0 {flake => nix/flake}/per-system/checks/trufflehog.nix | 0 {flake => nix/flake}/per-system/default.nix | 0 {flake => nix/flake}/per-system/dev-shells.nix | 0 {flake => nix/flake}/per-system/pre-commit.nix | 0 {hosts => nix/hosts}/mephistopheles/android.nix | 0 {hosts => nix/hosts}/mephistopheles/bluetooth.nix | 0 {hosts => nix/hosts}/mephistopheles/boot/default.nix | 0 {hosts => nix/hosts}/mephistopheles/boot/plymouth.nix | 0 .../hosts}/mephistopheles/boot/regdomain.nix | 0 {hosts => nix/hosts}/mephistopheles/boot/zswap.nix | 0 {hosts => nix/hosts}/mephistopheles/default.nix | 0 {hosts => nix/hosts}/mephistopheles/disk-config.nix | 0 .../hosts}/mephistopheles/display-manager.nix | 0 {hosts => nix/hosts}/mephistopheles/file-systems.nix | 0 {hosts => nix/hosts}/mephistopheles/fonts.nix | 0 {hosts => nix/hosts}/mephistopheles/gaming.nix | 0 {hosts => nix/hosts}/mephistopheles/gnome.nix | 0 .../hosts}/mephistopheles/hardware/battery.nix | 0 .../hosts}/mephistopheles/hardware/configuration.nix | 0 .../hosts}/mephistopheles/hardware/default.nix | 0 .../hosts}/mephistopheles/hardware/graphics.nix | 0 .../hosts}/mephistopheles/hardware/keyboard.nix | 0 .../hosts}/mephistopheles/hardware/monitor.nix | 0 .../hosts}/mephistopheles/hardware/mouse.nix | 0 .../hosts}/mephistopheles/hardware/printer.nix | 0 .../hosts}/mephistopheles/hardware/thunderbolt.nix | 0 {hosts => nix/hosts}/mephistopheles/impermanence.nix | 0 {hosts => nix/hosts}/mephistopheles/input.nix | 0 {hosts => nix/hosts}/mephistopheles/locale.nix | 0 {hosts => nix/hosts}/mephistopheles/multimedia.nix | 0 .../hosts}/mephistopheles/networking/default.nix | 0 .../hosts}/mephistopheles/networking/secure-shell.nix | 0 .../mephistopheles/networking/synchronization.nix | 0 {hosts => nix/hosts}/mephistopheles/nix/angrr.nix | 0 {hosts => nix/hosts}/mephistopheles/nix/default.nix | 0 {hosts => nix/hosts}/mephistopheles/nix/envfs.nix | 0 {hosts => nix/hosts}/mephistopheles/nix/nix-ld.nix | 0 {hosts => nix/hosts}/mephistopheles/nix/nixos-cli.nix | 0 .../mephistopheles/nix/nixseparatedebuginfod2.nix | 0 {hosts => nix/hosts}/mephistopheles/security.nix | 0 {hosts => nix/hosts}/mephistopheles/sops.nix | 0 {hosts => nix/hosts}/mephistopheles/users.nix | 0 {inputs => nix/inputs}/default.nix | 0 {inputs => nix/inputs}/dms.nix | 0 {inputs => nix/inputs}/home-manager.nix | 0 {inputs => nix/inputs}/nixpkgs-patched.nix | 0 {inputs => nix/inputs}/nixpkgs.nix | 0 {lib => nix/lib}/default.nix | 0 {lib => nix/lib}/my-pkgs.nix | 0 {lib => nix/lib}/my.nix | 0 {modules => nix/modules}/flake/cachix-push.nix | 0 {modules => nix/modules}/flake/default.nix | 0 {modules => nix/modules}/flake/flint-git-hook.nix | 0 {modules => nix/modules}/flake/gitleaks-git-hook.nix | 0 .../modules}/flake/per-system-flake-inputs.nix | 0 .../modules}/home-manager/default-shell.nix | 0 {modules => nix/modules}/home-manager/default.nix | 0 .../modules}/home-manager/xdg-bin-home.nix | 0 {modules => nix/modules}/nixos/default.nix | 0 {packages => nix/packages}/default.nix | 0 {packages => nix/packages}/nix-fast-build.nix | 0 {users => nix/users}/ilkecan/appearence/default.nix | 0 {users => nix/users}/ilkecan/appearence/fonts.nix | 0 {users => nix/users}/ilkecan/command-line/default.nix | 0 .../users}/ilkecan/command-line/shells/default.nix | 0 .../users}/ilkecan/command-line/shells/nushell.nix | 0 .../command-line/shells/zsh/autosuggestion.nix | 0 .../ilkecan/command-line/shells/zsh/default.nix | 0 .../ilkecan/command-line/shells/zsh/history.nix | 0 .../ilkecan/command-line/shells/zsh/options.nix | 0 .../ilkecan/command-line/shells/zsh/powerlevel10k.nix | 0 .../command-line/shells/zsh/syntax-highlighting.nix | 0 {users => nix/users}/ilkecan/default.nix | 0 .../users}/ilkecan/development/debugging.nix | 0 {users => nix/users}/ilkecan/development/default.nix | 0 {users => nix/users}/ilkecan/development/lsp.nix | 0 .../development/static-program-analysis/default.nix | 0 .../development/static-program-analysis/nix.nix | 0 .../ilkecan/development/version-control/default.nix | 0 .../ilkecan/development/version-control/git.nix | 0 .../ilkecan/dotfiles/.config/niri/dms/binds.kdl | 0 .../ilkecan/dotfiles/.config/niri/dms/outputs.kdl | 0 .../users}/ilkecan/dotfiles/.config/zsh/.p10k.zsh | 0 .../ilkecan/dotfiles/.local/bin/format_subtitle.py | 0 .../ilkecan/dotfiles/.local/bin/starship-claude | 0 .../autoload/input/digital-microphone.json | 0 .../share/easyeffects/autoload/output/wh-1000xm3.json | 0 .../users}/ilkecan/file-managers/default.nix | 0 .../users}/ilkecan/file-managers/nautilus.nix | 0 {users => nix/users}/ilkecan/flatpak.nix | 0 {users => nix/users}/ilkecan/gaming/default.nix | 0 {users => nix/users}/ilkecan/gaming/steam.nix | 0 {users => nix/users}/ilkecan/gtk.nix | 0 {users => nix/users}/ilkecan/hardware/default.nix | 0 {users => nix/users}/ilkecan/hardware/display.nix | 0 {users => nix/users}/ilkecan/home-manager.nix | 0 {users => nix/users}/ilkecan/input/default.nix | 0 {users => nix/users}/ilkecan/input/keyboard.nix | 0 {users => nix/users}/ilkecan/input/webcam.nix | 0 .../users}/ilkecan/internet/communication/default.nix | 0 .../ilkecan/internet/communication/email/default.nix | 0 .../communication/email/thunderbird/default.nix | 0 .../email/thunderbird/profiles/default.nix | 0 .../email/thunderbird/profiles/ilkecan.nix | 0 {users => nix/users}/ilkecan/internet/default.nix | 0 {users => nix/users}/ilkecan/internet/download.nix | 0 .../ilkecan/internet/instant-messaging/default.nix | 0 .../ilkecan/internet/instant-messaging/discord.nix | 0 .../ilkecan/internet/instant-messaging/matrix.nix | 0 .../users}/ilkecan/internet/web/browsers/chromium.nix | 0 .../users}/ilkecan/internet/web/browsers/default.nix | 0 .../ilkecan/internet/web/browsers/firefox/default.nix | 0 .../internet/web/browsers/firefox/policies.nix | 0 .../web/browsers/firefox/profiles/default.nix | 0 .../browsers/firefox/profiles/ilkecan/bookmarks.nix | 0 .../browsers/firefox/profiles/ilkecan/containers.nix | 0 .../web/browsers/firefox/profiles/ilkecan/default.nix | 0 .../profiles/ilkecan/extensions/darkreader.nix | 0 .../firefox/profiles/ilkecan/extensions/default.nix | 0 .../profiles/ilkecan/extensions/indie-wiki-buddy.nix | 0 .../profiles/ilkecan/extensions/libredirect.nix | 0 .../firefox/profiles/ilkecan/extensions/ruffle_rs.nix | 0 .../profiles/ilkecan/extensions/skip-redirect.nix | 0 .../profiles/ilkecan/extensions/steam-database.nix | 0 .../profiles/ilkecan/extensions/ublock-origin.nix | 0 .../firefox/profiles/ilkecan/extensions/vimium.nix | 0 .../profiles/ilkecan/extensions/violentmonkey.nix | 0 .../web/browsers/firefox/profiles/ilkecan/search.nix | 0 .../firefox/profiles/ilkecan/settings/betterfox.nix | 0 .../firefox/profiles/ilkecan/settings/default.nix | 0 .../ilkecan/internet/web/browsers/qutebrowser.nix | 0 {users => nix/users}/ilkecan/internet/web/default.nix | 0 {users => nix/users}/ilkecan/internet/web/feed.nix | 0 {users => nix/users}/ilkecan/llm/claude-code.nix | 0 {users => nix/users}/ilkecan/llm/default.nix | 0 {users => nix/users}/ilkecan/llm/mcp.nix | 0 .../users}/ilkecan/multimedia/audio/default.nix | 0 .../ilkecan/multimedia/audio/easyeffects/default.nix | 0 .../audio/easyeffects/presets/microphone/default.nix | 0 .../audio/easyeffects/presets/wh-1000xm3/default.nix | 0 .../audio/easyeffects/presets/wh-1000xm3/preset.json | 0 {users => nix/users}/ilkecan/multimedia/audio/mpd.nix | 0 .../users}/ilkecan/multimedia/audio/rmpc.nix | 0 {users => nix/users}/ilkecan/multimedia/default.nix | 0 {users => nix/users}/ilkecan/multimedia/gstreamer.nix | 0 {users => nix/users}/ilkecan/multimedia/image.nix | 0 {users => nix/users}/ilkecan/multimedia/video.nix | 0 .../users}/ilkecan/multimedia/wireplumber/default.nix | 0 {users => nix/users}/ilkecan/networking/default.nix | 0 .../users}/ilkecan/networking/secure-shell.nix | 0 {users => nix/users}/ilkecan/nix/default.nix | 0 {users => nix/users}/ilkecan/nix/optnix.nix | 0 {users => nix/users}/ilkecan/office.nix | 0 {users => nix/users}/ilkecan/packaging.nix | 0 {users => nix/users}/ilkecan/qt.nix | 0 {users => nix/users}/ilkecan/security/default.nix | 0 {users => nix/users}/ilkecan/security/gpg.nix | 0 {users => nix/users}/ilkecan/security/keepassxc.nix | 0 {users => nix/users}/ilkecan/sops.nix | 0 {users => nix/users}/ilkecan/text-editors/default.nix | 0 {users => nix/users}/ilkecan/text-editors/neovide.nix | 0 .../users}/ilkecan/text-editors/neovim/autocmds.nix | 0 .../users}/ilkecan/text-editors/neovim/default.nix | 0 .../users}/ilkecan/text-editors/neovim/globals.nix | 0 .../users}/ilkecan/text-editors/neovim/keymaps.nix | 0 .../users}/ilkecan/text-editors/neovim/languages.nix | 0 .../users}/ilkecan/text-editors/neovim/lsp.nix | 0 .../users}/ilkecan/text-editors/neovim/lua.nix | 0 .../users}/ilkecan/text-editors/neovim/options.nix | 0 .../text-editors/neovim/plugins/blame-nvim.nix | 0 .../text-editors/neovim/plugins/blink-cmp/default.nix | 0 .../blink-cmp/sources/conventional-commits.nix | 0 .../neovim/plugins/blink-cmp/sources/default.nix | 0 .../neovim/plugins/blink-cmp/sources/dictionary.nix | 0 .../neovim/plugins/blink-cmp/sources/emoji.nix | 0 .../neovim/plugins/blink-cmp/sources/env.nix | 0 .../neovim/plugins/blink-cmp/sources/nerdfont.nix | 0 .../neovim/plugins/blink-cmp/sources/npm.nix | 0 .../neovim/plugins/blink-cmp/sources/ripgrep.nix | 0 .../text-editors/neovim/plugins/blink-indent.nix | 0 .../text-editors/neovim/plugins/blink-pairs.nix | 0 .../text-editors/neovim/plugins/claudecode-nvim.nix | 0 .../text-editors/neovim/plugins/comment-nvim.nix | 0 .../ilkecan/text-editors/neovim/plugins/default.nix | 0 .../text-editors/neovim/plugins/direnv-nvim.nix | 0 .../text-editors/neovim/plugins/flash-nvim.nix | 0 .../text-editors/neovim/plugins/highlight-undo.nix | 0 .../ilkecan/text-editors/neovim/plugins/lualine.nix | 0 .../text-editors/neovim/plugins/nvim-autopairs.nix | 0 .../text-editors/neovim/plugins/nvim-colorizer.nix | 0 .../text-editors/neovim/plugins/nvim-lightbulb.nix | 0 .../text-editors/neovim/plugins/nvim-navic.nix | 0 .../text-editors/neovim/plugins/nvim-surround.nix | 0 .../text-editors/neovim/plugins/nvim-ts-autotag.nix | 0 .../text-editors/neovim/plugins/nvim-web-devicons.nix | 0 .../ilkecan/text-editors/neovim/plugins/oil-nvim.nix | 0 .../text-editors/neovim/plugins/otter-nvim.nix | 0 .../neovim/plugins/rainbow-delimiters.nix | 0 .../text-editors/neovim/plugins/snacks-nvim.nix | 0 .../text-editors/neovim/plugins/trouble-nvim.nix | 0 .../ilkecan/text-editors/neovim/plugins/undotree.nix | 0 .../text-editors/neovim/treesitter/context.nix | 0 .../text-editors/neovim/treesitter/default.nix | 0 .../text-editors/neovim/treesitter/textobjects.nix | 0 {users => nix/users}/ilkecan/utilities/coreutils.nix | 0 {users => nix/users}/ilkecan/utilities/default.nix | 0 {users => nix/users}/ilkecan/utilities/disk.nix | 0 .../users}/ilkecan/utilities/zellij/default.nix | 0 .../users}/ilkecan/utilities/zellij/keybindings.nix | 0 .../users}/ilkecan/utilities/zellij/layouts/code.nix | 0 .../ilkecan/utilities/zellij/layouts/default.nix | 0 .../ilkecan/utilities/zellij/plugins/default.nix | 0 .../utilities/zellij/plugins/zellij-autolock.nix | 0 .../users}/ilkecan/virtualization/default.nix | 0 .../users}/ilkecan/virtualization/podman.nix | 0 .../ilkecan/wayland/dank-material-shell/default.nix | 0 .../dank-material-shell/plugins/alarm-clock.nix | 0 .../dank-material-shell/plugins/command-runner.nix | 0 .../plugins/dank-battery-alerts.nix | 0 .../dank-material-shell/plugins/dank-kde-connect.nix | 0 .../plugins/dank-pomodoro-timer.nix | 0 .../wayland/dank-material-shell/plugins/default.nix | 0 .../plugins/developer-utilities.nix | 0 .../dank-material-shell/plugins/docker-manager.nix | 0 .../dank-material-shell/plugins/emoji-launcher.nix | 0 .../ilkecan/wayland/dank-material-shell/wallpaper.nix | 0 {users => nix/users}/ilkecan/wayland/default.nix | 0 .../users}/ilkecan/wayland/niri/autostart.nix | 0 .../users}/ilkecan/wayland/niri/binds/default.nix | 0 .../users}/ilkecan/wayland/niri/binds/defaults.nix | 0 {users => nix/users}/ilkecan/wayland/niri/default.nix | 0 {users => nix/users}/ilkecan/wayland/niri/input.nix | 0 {users => nix/users}/ilkecan/wayland/niri/layout.nix | 0 .../users}/ilkecan/wayland/niri/window-rules.nix | 0 .../ilkecan/wayland/niri/workspaces/default.nix | 0 .../users}/ilkecan/wayland/niri/workspaces/dp-3.nix | 0 .../users}/ilkecan/wayland/niri/workspaces/edp-1.nix | 0 {users => nix/users}/ilkecan/wayland/satty.nix | 0 {users => nix/users}/ilkecan/xdg/autostart.nix | 0 {users => nix/users}/ilkecan/xdg/basedir.nix | 6 +++--- {users => nix/users}/ilkecan/xdg/default.nix | 0 {users => nix/users}/ilkecan/xdg/desktop-entry.nix | 0 {users => nix/users}/ilkecan/xdg/desktop-portal.nix | 0 {users => nix/users}/ilkecan/xdg/mime-apps.nix | 0 {users => nix/users}/ilkecan/xdg/shared-mime-info.nix | 0 {users => nix/users}/ilkecan/xdg/terminal-intent.nix | 0 {users => nix/users}/ilkecan/xdg/user-dirs.nix | 0 265 files changed, 31 insertions(+), 31 deletions(-) delete mode 100644 flake/per-system/args/lib.nix delete mode 100644 flake/per-system/args/pkgs.nix rename {flake => nix/flake}/cachix.nix (100%) rename {flake => nix/flake}/default.nix (100%) rename {flake => nix/flake}/flake-modules.nix (100%) rename {flake => nix/flake}/home-configurations.nix (91%) rename {flake => nix/flake}/home-modules.nix (100%) rename {flake => nix/flake}/modules.nix (88%) rename {flake => nix/flake}/nixos-configurations.nix (94%) rename {flake => nix/flake}/nixos-modules.nix (100%) rename {flake => nix/flake}/per-system/apps/ci.nix (100%) rename {flake => nix/flake}/per-system/apps/default.nix (100%) rename {flake => nix/flake}/per-system/args/default.nix (100%) create mode 100644 nix/flake/per-system/args/lib.nix create mode 100644 nix/flake/per-system/args/pkgs.nix rename {flake => nix/flake}/per-system/checks/default.nix (100%) rename {flake => nix/flake}/per-system/checks/trufflehog.nix (100%) rename {flake => nix/flake}/per-system/default.nix (100%) rename {flake => nix/flake}/per-system/dev-shells.nix (100%) rename {flake => nix/flake}/per-system/pre-commit.nix (100%) rename {hosts => nix/hosts}/mephistopheles/android.nix (100%) rename {hosts => nix/hosts}/mephistopheles/bluetooth.nix (100%) rename {hosts => nix/hosts}/mephistopheles/boot/default.nix (100%) rename {hosts => nix/hosts}/mephistopheles/boot/plymouth.nix (100%) rename {hosts => nix/hosts}/mephistopheles/boot/regdomain.nix (100%) rename {hosts => nix/hosts}/mephistopheles/boot/zswap.nix (100%) rename {hosts => nix/hosts}/mephistopheles/default.nix (100%) rename {hosts => nix/hosts}/mephistopheles/disk-config.nix (100%) rename {hosts => nix/hosts}/mephistopheles/display-manager.nix (100%) rename {hosts => nix/hosts}/mephistopheles/file-systems.nix (100%) rename {hosts => nix/hosts}/mephistopheles/fonts.nix (100%) rename {hosts => nix/hosts}/mephistopheles/gaming.nix (100%) rename {hosts => nix/hosts}/mephistopheles/gnome.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/battery.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/configuration.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/default.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/graphics.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/keyboard.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/monitor.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/mouse.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/printer.nix (100%) rename {hosts => nix/hosts}/mephistopheles/hardware/thunderbolt.nix (100%) rename {hosts => nix/hosts}/mephistopheles/impermanence.nix (100%) rename {hosts => nix/hosts}/mephistopheles/input.nix (100%) rename {hosts => nix/hosts}/mephistopheles/locale.nix (100%) rename {hosts => nix/hosts}/mephistopheles/multimedia.nix (100%) rename {hosts => nix/hosts}/mephistopheles/networking/default.nix (100%) rename {hosts => nix/hosts}/mephistopheles/networking/secure-shell.nix (100%) rename {hosts => nix/hosts}/mephistopheles/networking/synchronization.nix (100%) rename {hosts => nix/hosts}/mephistopheles/nix/angrr.nix (100%) rename {hosts => nix/hosts}/mephistopheles/nix/default.nix (100%) rename {hosts => nix/hosts}/mephistopheles/nix/envfs.nix (100%) rename {hosts => nix/hosts}/mephistopheles/nix/nix-ld.nix (100%) rename {hosts => nix/hosts}/mephistopheles/nix/nixos-cli.nix (100%) rename {hosts => nix/hosts}/mephistopheles/nix/nixseparatedebuginfod2.nix (100%) rename {hosts => nix/hosts}/mephistopheles/security.nix (100%) rename {hosts => nix/hosts}/mephistopheles/sops.nix (100%) rename {hosts => nix/hosts}/mephistopheles/users.nix (100%) rename {inputs => nix/inputs}/default.nix (100%) rename {inputs => nix/inputs}/dms.nix (100%) rename {inputs => nix/inputs}/home-manager.nix (100%) rename {inputs => nix/inputs}/nixpkgs-patched.nix (100%) rename {inputs => nix/inputs}/nixpkgs.nix (100%) rename {lib => nix/lib}/default.nix (100%) rename {lib => nix/lib}/my-pkgs.nix (100%) rename {lib => nix/lib}/my.nix (100%) rename {modules => nix/modules}/flake/cachix-push.nix (100%) rename {modules => nix/modules}/flake/default.nix (100%) rename {modules => nix/modules}/flake/flint-git-hook.nix (100%) rename {modules => nix/modules}/flake/gitleaks-git-hook.nix (100%) rename {modules => nix/modules}/flake/per-system-flake-inputs.nix (100%) rename {modules => nix/modules}/home-manager/default-shell.nix (100%) rename {modules => nix/modules}/home-manager/default.nix (100%) rename {modules => nix/modules}/home-manager/xdg-bin-home.nix (100%) rename {modules => nix/modules}/nixos/default.nix (100%) rename {packages => nix/packages}/default.nix (100%) rename {packages => nix/packages}/nix-fast-build.nix (100%) rename {users => nix/users}/ilkecan/appearence/default.nix (100%) rename {users => nix/users}/ilkecan/appearence/fonts.nix (100%) rename {users => nix/users}/ilkecan/command-line/default.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/default.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/nushell.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/zsh/autosuggestion.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/zsh/default.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/zsh/history.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/zsh/options.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/zsh/powerlevel10k.nix (100%) rename {users => nix/users}/ilkecan/command-line/shells/zsh/syntax-highlighting.nix (100%) rename {users => nix/users}/ilkecan/default.nix (100%) rename {users => nix/users}/ilkecan/development/debugging.nix (100%) rename {users => nix/users}/ilkecan/development/default.nix (100%) rename {users => nix/users}/ilkecan/development/lsp.nix (100%) rename {users => nix/users}/ilkecan/development/static-program-analysis/default.nix (100%) rename {users => nix/users}/ilkecan/development/static-program-analysis/nix.nix (100%) rename {users => nix/users}/ilkecan/development/version-control/default.nix (100%) rename {users => nix/users}/ilkecan/development/version-control/git.nix (100%) rename {users => nix/users}/ilkecan/dotfiles/.config/niri/dms/binds.kdl (100%) rename {users => nix/users}/ilkecan/dotfiles/.config/niri/dms/outputs.kdl (100%) rename {users => nix/users}/ilkecan/dotfiles/.config/zsh/.p10k.zsh (100%) rename {users => nix/users}/ilkecan/dotfiles/.local/bin/format_subtitle.py (100%) rename {users => nix/users}/ilkecan/dotfiles/.local/bin/starship-claude (100%) rename {users => nix/users}/ilkecan/dotfiles/.local/share/easyeffects/autoload/input/digital-microphone.json (100%) rename {users => nix/users}/ilkecan/dotfiles/.local/share/easyeffects/autoload/output/wh-1000xm3.json (100%) rename {users => nix/users}/ilkecan/file-managers/default.nix (100%) rename {users => nix/users}/ilkecan/file-managers/nautilus.nix (100%) rename {users => nix/users}/ilkecan/flatpak.nix (100%) rename {users => nix/users}/ilkecan/gaming/default.nix (100%) rename {users => nix/users}/ilkecan/gaming/steam.nix (100%) rename {users => nix/users}/ilkecan/gtk.nix (100%) rename {users => nix/users}/ilkecan/hardware/default.nix (100%) rename {users => nix/users}/ilkecan/hardware/display.nix (100%) rename {users => nix/users}/ilkecan/home-manager.nix (100%) rename {users => nix/users}/ilkecan/input/default.nix (100%) rename {users => nix/users}/ilkecan/input/keyboard.nix (100%) rename {users => nix/users}/ilkecan/input/webcam.nix (100%) rename {users => nix/users}/ilkecan/internet/communication/default.nix (100%) rename {users => nix/users}/ilkecan/internet/communication/email/default.nix (100%) rename {users => nix/users}/ilkecan/internet/communication/email/thunderbird/default.nix (100%) rename {users => nix/users}/ilkecan/internet/communication/email/thunderbird/profiles/default.nix (100%) rename {users => nix/users}/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix (100%) rename {users => nix/users}/ilkecan/internet/default.nix (100%) rename {users => nix/users}/ilkecan/internet/download.nix (100%) rename {users => nix/users}/ilkecan/internet/instant-messaging/default.nix (100%) rename {users => nix/users}/ilkecan/internet/instant-messaging/discord.nix (100%) rename {users => nix/users}/ilkecan/internet/instant-messaging/matrix.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/chromium.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/default.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/default.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/policies.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/default.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/bookmarks.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/containers.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/default.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/darkreader.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/default.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/indie-wiki-buddy.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/libredirect.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ruffle_rs.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/skip-redirect.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/steam-database.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ublock-origin.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/vimium.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/violentmonkey.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix (100%) rename {users => nix/users}/ilkecan/internet/web/browsers/qutebrowser.nix (100%) rename {users => nix/users}/ilkecan/internet/web/default.nix (100%) rename {users => nix/users}/ilkecan/internet/web/feed.nix (100%) rename {users => nix/users}/ilkecan/llm/claude-code.nix (100%) rename {users => nix/users}/ilkecan/llm/default.nix (100%) rename {users => nix/users}/ilkecan/llm/mcp.nix (100%) rename {users => nix/users}/ilkecan/multimedia/audio/default.nix (100%) rename {users => nix/users}/ilkecan/multimedia/audio/easyeffects/default.nix (100%) rename {users => nix/users}/ilkecan/multimedia/audio/easyeffects/presets/microphone/default.nix (100%) rename {users => nix/users}/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/default.nix (100%) rename {users => nix/users}/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/preset.json (100%) rename {users => nix/users}/ilkecan/multimedia/audio/mpd.nix (100%) rename {users => nix/users}/ilkecan/multimedia/audio/rmpc.nix (100%) rename {users => nix/users}/ilkecan/multimedia/default.nix (100%) rename {users => nix/users}/ilkecan/multimedia/gstreamer.nix (100%) rename {users => nix/users}/ilkecan/multimedia/image.nix (100%) rename {users => nix/users}/ilkecan/multimedia/video.nix (100%) rename {users => nix/users}/ilkecan/multimedia/wireplumber/default.nix (100%) rename {users => nix/users}/ilkecan/networking/default.nix (100%) rename {users => nix/users}/ilkecan/networking/secure-shell.nix (100%) rename {users => nix/users}/ilkecan/nix/default.nix (100%) rename {users => nix/users}/ilkecan/nix/optnix.nix (100%) rename {users => nix/users}/ilkecan/office.nix (100%) rename {users => nix/users}/ilkecan/packaging.nix (100%) rename {users => nix/users}/ilkecan/qt.nix (100%) rename {users => nix/users}/ilkecan/security/default.nix (100%) rename {users => nix/users}/ilkecan/security/gpg.nix (100%) rename {users => nix/users}/ilkecan/security/keepassxc.nix (100%) rename {users => nix/users}/ilkecan/sops.nix (100%) rename {users => nix/users}/ilkecan/text-editors/default.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovide.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/autocmds.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/default.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/globals.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/keymaps.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/languages.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/lsp.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/lua.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/options.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blame-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/default.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/emoji.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/env.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/nerdfont.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/npm.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-indent.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/blink-pairs.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/comment-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/default.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/flash-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/highlight-undo.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/lualine.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/nvim-autopairs.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/nvim-navic.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/nvim-surround.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/nvim-ts-autotag.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/oil-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/otter-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/rainbow-delimiters.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/trouble-nvim.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/plugins/undotree.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/treesitter/context.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/treesitter/default.nix (100%) rename {users => nix/users}/ilkecan/text-editors/neovim/treesitter/textobjects.nix (100%) rename {users => nix/users}/ilkecan/utilities/coreutils.nix (100%) rename {users => nix/users}/ilkecan/utilities/default.nix (100%) rename {users => nix/users}/ilkecan/utilities/disk.nix (100%) rename {users => nix/users}/ilkecan/utilities/zellij/default.nix (100%) rename {users => nix/users}/ilkecan/utilities/zellij/keybindings.nix (100%) rename {users => nix/users}/ilkecan/utilities/zellij/layouts/code.nix (100%) rename {users => nix/users}/ilkecan/utilities/zellij/layouts/default.nix (100%) rename {users => nix/users}/ilkecan/utilities/zellij/plugins/default.nix (100%) rename {users => nix/users}/ilkecan/utilities/zellij/plugins/zellij-autolock.nix (100%) rename {users => nix/users}/ilkecan/virtualization/default.nix (100%) rename {users => nix/users}/ilkecan/virtualization/podman.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/default.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/alarm-clock.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/dank-battery-alerts.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/dank-kde-connect.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/dank-pomodoro-timer.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/default.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/developer-utilities.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/plugins/emoji-launcher.nix (100%) rename {users => nix/users}/ilkecan/wayland/dank-material-shell/wallpaper.nix (100%) rename {users => nix/users}/ilkecan/wayland/default.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/autostart.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/binds/default.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/binds/defaults.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/default.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/input.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/layout.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/window-rules.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/workspaces/default.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/workspaces/dp-3.nix (100%) rename {users => nix/users}/ilkecan/wayland/niri/workspaces/edp-1.nix (100%) rename {users => nix/users}/ilkecan/wayland/satty.nix (100%) rename {users => nix/users}/ilkecan/xdg/autostart.nix (100%) rename {users => nix/users}/ilkecan/xdg/basedir.nix (76%) rename {users => nix/users}/ilkecan/xdg/default.nix (100%) rename {users => nix/users}/ilkecan/xdg/desktop-entry.nix (100%) rename {users => nix/users}/ilkecan/xdg/desktop-portal.nix (100%) rename {users => nix/users}/ilkecan/xdg/mime-apps.nix (100%) rename {users => nix/users}/ilkecan/xdg/shared-mime-info.nix (100%) rename {users => nix/users}/ilkecan/xdg/terminal-intent.nix (100%) rename {users => nix/users}/ilkecan/xdg/user-dirs.nix (100%) diff --git a/.envrc b/.envrc index 839799e..d5b1bae 100644 --- a/.envrc +++ b/.envrc @@ -2,7 +2,7 @@ strict_env -watch_file flake/per-system/pre-commit.nix +watch_file ./nix/flake/per-system/pre-commit.nix use flake diff --git a/flake.nix b/flake.nix index 392d462..72a6af1 100644 --- a/flake.nix +++ b/flake.nix @@ -189,10 +189,10 @@ outputs = inputs: let - lib = import ./lib { inherit (inputs.nixpkgs) lib; }; + lib = import ./nix/lib { inherit (inputs.nixpkgs) lib; }; in inputs.flake-parts.lib.mkFlake { - inputs = import ./inputs { inherit inputs; }; + inputs = import ./nix/inputs { inherit inputs; }; specialArgs = { inherit lib; }; - } { imports = [ ./flake ]; }; + } { imports = [ ./nix/flake ]; }; } diff --git a/flake/per-system/args/lib.nix b/flake/per-system/args/lib.nix deleted file mode 100644 index eb8f11a..0000000 --- a/flake/per-system/args/lib.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - self, - ... -}: - -{ - perSystem = { pkgs, ... }: { - _module.args.lib = import "${self}/lib" { inherit (pkgs) lib pkgs; }; - }; -} diff --git a/flake/per-system/args/pkgs.nix b/flake/per-system/args/pkgs.nix deleted file mode 100644 index 5f1cfb7..0000000 --- a/flake/per-system/args/pkgs.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - inputs, - self, - ... -}: - -{ - perSystem = { system, ... }: { - _module.args.pkgs = import "${self}/packages" { inherit inputs system; }; - }; -} diff --git a/flake/cachix.nix b/nix/flake/cachix.nix similarity index 100% rename from flake/cachix.nix rename to nix/flake/cachix.nix diff --git a/flake/default.nix b/nix/flake/default.nix similarity index 100% rename from flake/default.nix rename to nix/flake/default.nix diff --git a/flake/flake-modules.nix b/nix/flake/flake-modules.nix similarity index 100% rename from flake/flake-modules.nix rename to nix/flake/flake-modules.nix diff --git a/flake/home-configurations.nix b/nix/flake/home-configurations.nix similarity index 91% rename from flake/home-configurations.nix rename to nix/flake/home-configurations.nix index 1323d0c..fa14afc 100644 --- a/flake/home-configurations.nix +++ b/nix/flake/home-configurations.nix @@ -50,6 +50,6 @@ let in { flake.homeConfigurations = { - ilkecan = mkHomeConfiguration "x86_64-linux" "${self}/users/ilkecan" self.nixosConfigurations.mephistopheles.config; + ilkecan = mkHomeConfiguration "x86_64-linux" "${self}/nix/users/ilkecan" self.nixosConfigurations.mephistopheles.config; }; } diff --git a/flake/home-modules.nix b/nix/flake/home-modules.nix similarity index 100% rename from flake/home-modules.nix rename to nix/flake/home-modules.nix diff --git a/flake/modules.nix b/nix/flake/modules.nix similarity index 88% rename from flake/modules.nix rename to nix/flake/modules.nix index 1ebbd24..a2a2e08 100644 --- a/flake/modules.nix +++ b/nix/flake/modules.nix @@ -17,7 +17,7 @@ let in { flake.modules = importTree { - root = "${self}/modules"; + root = "${self}/nix/modules"; depth = 2; importFn = id; normalizeNameFn = x: toCamelCase (removeSuffix ".nix" x); diff --git a/flake/nixos-configurations.nix b/nix/flake/nixos-configurations.nix similarity index 94% rename from flake/nixos-configurations.nix rename to nix/flake/nixos-configurations.nix index c4afd20..280c726 100644 --- a/flake/nixos-configurations.nix +++ b/nix/flake/nixos-configurations.nix @@ -43,6 +43,6 @@ let in { flake.nixosConfigurations = { - mephistopheles = mkNixosConfiguration "x86_64-linux" "${self}/hosts/mephistopheles" self.homeConfigurations.ilkecan.config; + mephistopheles = mkNixosConfiguration "x86_64-linux" "${self}/nix/hosts/mephistopheles" self.homeConfigurations.ilkecan.config; }; } diff --git a/flake/nixos-modules.nix b/nix/flake/nixos-modules.nix similarity index 100% rename from flake/nixos-modules.nix rename to nix/flake/nixos-modules.nix diff --git a/flake/per-system/apps/ci.nix b/nix/flake/per-system/apps/ci.nix similarity index 100% rename from flake/per-system/apps/ci.nix rename to nix/flake/per-system/apps/ci.nix diff --git a/flake/per-system/apps/default.nix b/nix/flake/per-system/apps/default.nix similarity index 100% rename from flake/per-system/apps/default.nix rename to nix/flake/per-system/apps/default.nix diff --git a/flake/per-system/args/default.nix b/nix/flake/per-system/args/default.nix similarity index 100% rename from flake/per-system/args/default.nix rename to nix/flake/per-system/args/default.nix diff --git a/nix/flake/per-system/args/lib.nix b/nix/flake/per-system/args/lib.nix new file mode 100644 index 0000000..3f4e78d --- /dev/null +++ b/nix/flake/per-system/args/lib.nix @@ -0,0 +1,10 @@ +{ + self, + ... +}: + +{ + perSystem = { pkgs, ... }: { + _module.args.lib = import "${self}/nix/lib" { inherit (pkgs) lib pkgs; }; + }; +} diff --git a/nix/flake/per-system/args/pkgs.nix b/nix/flake/per-system/args/pkgs.nix new file mode 100644 index 0000000..27a4c91 --- /dev/null +++ b/nix/flake/per-system/args/pkgs.nix @@ -0,0 +1,11 @@ +{ + inputs, + self, + ... +}: + +{ + perSystem = { system, ... }: { + _module.args.pkgs = import "${self}/nix/packages" { inherit inputs system; }; + }; +} diff --git a/flake/per-system/checks/default.nix b/nix/flake/per-system/checks/default.nix similarity index 100% rename from flake/per-system/checks/default.nix rename to nix/flake/per-system/checks/default.nix diff --git a/flake/per-system/checks/trufflehog.nix b/nix/flake/per-system/checks/trufflehog.nix similarity index 100% rename from flake/per-system/checks/trufflehog.nix rename to nix/flake/per-system/checks/trufflehog.nix diff --git a/flake/per-system/default.nix b/nix/flake/per-system/default.nix similarity index 100% rename from flake/per-system/default.nix rename to nix/flake/per-system/default.nix diff --git a/flake/per-system/dev-shells.nix b/nix/flake/per-system/dev-shells.nix similarity index 100% rename from flake/per-system/dev-shells.nix rename to nix/flake/per-system/dev-shells.nix diff --git a/flake/per-system/pre-commit.nix b/nix/flake/per-system/pre-commit.nix similarity index 100% rename from flake/per-system/pre-commit.nix rename to nix/flake/per-system/pre-commit.nix diff --git a/hosts/mephistopheles/android.nix b/nix/hosts/mephistopheles/android.nix similarity index 100% rename from hosts/mephistopheles/android.nix rename to nix/hosts/mephistopheles/android.nix diff --git a/hosts/mephistopheles/bluetooth.nix b/nix/hosts/mephistopheles/bluetooth.nix similarity index 100% rename from hosts/mephistopheles/bluetooth.nix rename to nix/hosts/mephistopheles/bluetooth.nix diff --git a/hosts/mephistopheles/boot/default.nix b/nix/hosts/mephistopheles/boot/default.nix similarity index 100% rename from hosts/mephistopheles/boot/default.nix rename to nix/hosts/mephistopheles/boot/default.nix diff --git a/hosts/mephistopheles/boot/plymouth.nix b/nix/hosts/mephistopheles/boot/plymouth.nix similarity index 100% rename from hosts/mephistopheles/boot/plymouth.nix rename to nix/hosts/mephistopheles/boot/plymouth.nix diff --git a/hosts/mephistopheles/boot/regdomain.nix b/nix/hosts/mephistopheles/boot/regdomain.nix similarity index 100% rename from hosts/mephistopheles/boot/regdomain.nix rename to nix/hosts/mephistopheles/boot/regdomain.nix diff --git a/hosts/mephistopheles/boot/zswap.nix b/nix/hosts/mephistopheles/boot/zswap.nix similarity index 100% rename from hosts/mephistopheles/boot/zswap.nix rename to nix/hosts/mephistopheles/boot/zswap.nix diff --git a/hosts/mephistopheles/default.nix b/nix/hosts/mephistopheles/default.nix similarity index 100% rename from hosts/mephistopheles/default.nix rename to nix/hosts/mephistopheles/default.nix diff --git a/hosts/mephistopheles/disk-config.nix b/nix/hosts/mephistopheles/disk-config.nix similarity index 100% rename from hosts/mephistopheles/disk-config.nix rename to nix/hosts/mephistopheles/disk-config.nix diff --git a/hosts/mephistopheles/display-manager.nix b/nix/hosts/mephistopheles/display-manager.nix similarity index 100% rename from hosts/mephistopheles/display-manager.nix rename to nix/hosts/mephistopheles/display-manager.nix diff --git a/hosts/mephistopheles/file-systems.nix b/nix/hosts/mephistopheles/file-systems.nix similarity index 100% rename from hosts/mephistopheles/file-systems.nix rename to nix/hosts/mephistopheles/file-systems.nix diff --git a/hosts/mephistopheles/fonts.nix b/nix/hosts/mephistopheles/fonts.nix similarity index 100% rename from hosts/mephistopheles/fonts.nix rename to nix/hosts/mephistopheles/fonts.nix diff --git a/hosts/mephistopheles/gaming.nix b/nix/hosts/mephistopheles/gaming.nix similarity index 100% rename from hosts/mephistopheles/gaming.nix rename to nix/hosts/mephistopheles/gaming.nix diff --git a/hosts/mephistopheles/gnome.nix b/nix/hosts/mephistopheles/gnome.nix similarity index 100% rename from hosts/mephistopheles/gnome.nix rename to nix/hosts/mephistopheles/gnome.nix diff --git a/hosts/mephistopheles/hardware/battery.nix b/nix/hosts/mephistopheles/hardware/battery.nix similarity index 100% rename from hosts/mephistopheles/hardware/battery.nix rename to nix/hosts/mephistopheles/hardware/battery.nix diff --git a/hosts/mephistopheles/hardware/configuration.nix b/nix/hosts/mephistopheles/hardware/configuration.nix similarity index 100% rename from hosts/mephistopheles/hardware/configuration.nix rename to nix/hosts/mephistopheles/hardware/configuration.nix diff --git a/hosts/mephistopheles/hardware/default.nix b/nix/hosts/mephistopheles/hardware/default.nix similarity index 100% rename from hosts/mephistopheles/hardware/default.nix rename to nix/hosts/mephistopheles/hardware/default.nix diff --git a/hosts/mephistopheles/hardware/graphics.nix b/nix/hosts/mephistopheles/hardware/graphics.nix similarity index 100% rename from hosts/mephistopheles/hardware/graphics.nix rename to nix/hosts/mephistopheles/hardware/graphics.nix diff --git a/hosts/mephistopheles/hardware/keyboard.nix b/nix/hosts/mephistopheles/hardware/keyboard.nix similarity index 100% rename from hosts/mephistopheles/hardware/keyboard.nix rename to nix/hosts/mephistopheles/hardware/keyboard.nix diff --git a/hosts/mephistopheles/hardware/monitor.nix b/nix/hosts/mephistopheles/hardware/monitor.nix similarity index 100% rename from hosts/mephistopheles/hardware/monitor.nix rename to nix/hosts/mephistopheles/hardware/monitor.nix diff --git a/hosts/mephistopheles/hardware/mouse.nix b/nix/hosts/mephistopheles/hardware/mouse.nix similarity index 100% rename from hosts/mephistopheles/hardware/mouse.nix rename to nix/hosts/mephistopheles/hardware/mouse.nix diff --git a/hosts/mephistopheles/hardware/printer.nix b/nix/hosts/mephistopheles/hardware/printer.nix similarity index 100% rename from hosts/mephistopheles/hardware/printer.nix rename to nix/hosts/mephistopheles/hardware/printer.nix diff --git a/hosts/mephistopheles/hardware/thunderbolt.nix b/nix/hosts/mephistopheles/hardware/thunderbolt.nix similarity index 100% rename from hosts/mephistopheles/hardware/thunderbolt.nix rename to nix/hosts/mephistopheles/hardware/thunderbolt.nix diff --git a/hosts/mephistopheles/impermanence.nix b/nix/hosts/mephistopheles/impermanence.nix similarity index 100% rename from hosts/mephistopheles/impermanence.nix rename to nix/hosts/mephistopheles/impermanence.nix diff --git a/hosts/mephistopheles/input.nix b/nix/hosts/mephistopheles/input.nix similarity index 100% rename from hosts/mephistopheles/input.nix rename to nix/hosts/mephistopheles/input.nix diff --git a/hosts/mephistopheles/locale.nix b/nix/hosts/mephistopheles/locale.nix similarity index 100% rename from hosts/mephistopheles/locale.nix rename to nix/hosts/mephistopheles/locale.nix diff --git a/hosts/mephistopheles/multimedia.nix b/nix/hosts/mephistopheles/multimedia.nix similarity index 100% rename from hosts/mephistopheles/multimedia.nix rename to nix/hosts/mephistopheles/multimedia.nix diff --git a/hosts/mephistopheles/networking/default.nix b/nix/hosts/mephistopheles/networking/default.nix similarity index 100% rename from hosts/mephistopheles/networking/default.nix rename to nix/hosts/mephistopheles/networking/default.nix diff --git a/hosts/mephistopheles/networking/secure-shell.nix b/nix/hosts/mephistopheles/networking/secure-shell.nix similarity index 100% rename from hosts/mephistopheles/networking/secure-shell.nix rename to nix/hosts/mephistopheles/networking/secure-shell.nix diff --git a/hosts/mephistopheles/networking/synchronization.nix b/nix/hosts/mephistopheles/networking/synchronization.nix similarity index 100% rename from hosts/mephistopheles/networking/synchronization.nix rename to nix/hosts/mephistopheles/networking/synchronization.nix diff --git a/hosts/mephistopheles/nix/angrr.nix b/nix/hosts/mephistopheles/nix/angrr.nix similarity index 100% rename from hosts/mephistopheles/nix/angrr.nix rename to nix/hosts/mephistopheles/nix/angrr.nix diff --git a/hosts/mephistopheles/nix/default.nix b/nix/hosts/mephistopheles/nix/default.nix similarity index 100% rename from hosts/mephistopheles/nix/default.nix rename to nix/hosts/mephistopheles/nix/default.nix diff --git a/hosts/mephistopheles/nix/envfs.nix b/nix/hosts/mephistopheles/nix/envfs.nix similarity index 100% rename from hosts/mephistopheles/nix/envfs.nix rename to nix/hosts/mephistopheles/nix/envfs.nix diff --git a/hosts/mephistopheles/nix/nix-ld.nix b/nix/hosts/mephistopheles/nix/nix-ld.nix similarity index 100% rename from hosts/mephistopheles/nix/nix-ld.nix rename to nix/hosts/mephistopheles/nix/nix-ld.nix diff --git a/hosts/mephistopheles/nix/nixos-cli.nix b/nix/hosts/mephistopheles/nix/nixos-cli.nix similarity index 100% rename from hosts/mephistopheles/nix/nixos-cli.nix rename to nix/hosts/mephistopheles/nix/nixos-cli.nix diff --git a/hosts/mephistopheles/nix/nixseparatedebuginfod2.nix b/nix/hosts/mephistopheles/nix/nixseparatedebuginfod2.nix similarity index 100% rename from hosts/mephistopheles/nix/nixseparatedebuginfod2.nix rename to nix/hosts/mephistopheles/nix/nixseparatedebuginfod2.nix diff --git a/hosts/mephistopheles/security.nix b/nix/hosts/mephistopheles/security.nix similarity index 100% rename from hosts/mephistopheles/security.nix rename to nix/hosts/mephistopheles/security.nix diff --git a/hosts/mephistopheles/sops.nix b/nix/hosts/mephistopheles/sops.nix similarity index 100% rename from hosts/mephistopheles/sops.nix rename to nix/hosts/mephistopheles/sops.nix diff --git a/hosts/mephistopheles/users.nix b/nix/hosts/mephistopheles/users.nix similarity index 100% rename from hosts/mephistopheles/users.nix rename to nix/hosts/mephistopheles/users.nix diff --git a/inputs/default.nix b/nix/inputs/default.nix similarity index 100% rename from inputs/default.nix rename to nix/inputs/default.nix diff --git a/inputs/dms.nix b/nix/inputs/dms.nix similarity index 100% rename from inputs/dms.nix rename to nix/inputs/dms.nix diff --git a/inputs/home-manager.nix b/nix/inputs/home-manager.nix similarity index 100% rename from inputs/home-manager.nix rename to nix/inputs/home-manager.nix diff --git a/inputs/nixpkgs-patched.nix b/nix/inputs/nixpkgs-patched.nix similarity index 100% rename from inputs/nixpkgs-patched.nix rename to nix/inputs/nixpkgs-patched.nix diff --git a/inputs/nixpkgs.nix b/nix/inputs/nixpkgs.nix similarity index 100% rename from inputs/nixpkgs.nix rename to nix/inputs/nixpkgs.nix diff --git a/lib/default.nix b/nix/lib/default.nix similarity index 100% rename from lib/default.nix rename to nix/lib/default.nix diff --git a/lib/my-pkgs.nix b/nix/lib/my-pkgs.nix similarity index 100% rename from lib/my-pkgs.nix rename to nix/lib/my-pkgs.nix diff --git a/lib/my.nix b/nix/lib/my.nix similarity index 100% rename from lib/my.nix rename to nix/lib/my.nix diff --git a/modules/flake/cachix-push.nix b/nix/modules/flake/cachix-push.nix similarity index 100% rename from modules/flake/cachix-push.nix rename to nix/modules/flake/cachix-push.nix diff --git a/modules/flake/default.nix b/nix/modules/flake/default.nix similarity index 100% rename from modules/flake/default.nix rename to nix/modules/flake/default.nix diff --git a/modules/flake/flint-git-hook.nix b/nix/modules/flake/flint-git-hook.nix similarity index 100% rename from modules/flake/flint-git-hook.nix rename to nix/modules/flake/flint-git-hook.nix diff --git a/modules/flake/gitleaks-git-hook.nix b/nix/modules/flake/gitleaks-git-hook.nix similarity index 100% rename from modules/flake/gitleaks-git-hook.nix rename to nix/modules/flake/gitleaks-git-hook.nix diff --git a/modules/flake/per-system-flake-inputs.nix b/nix/modules/flake/per-system-flake-inputs.nix similarity index 100% rename from modules/flake/per-system-flake-inputs.nix rename to nix/modules/flake/per-system-flake-inputs.nix diff --git a/modules/home-manager/default-shell.nix b/nix/modules/home-manager/default-shell.nix similarity index 100% rename from modules/home-manager/default-shell.nix rename to nix/modules/home-manager/default-shell.nix diff --git a/modules/home-manager/default.nix b/nix/modules/home-manager/default.nix similarity index 100% rename from modules/home-manager/default.nix rename to nix/modules/home-manager/default.nix diff --git a/modules/home-manager/xdg-bin-home.nix b/nix/modules/home-manager/xdg-bin-home.nix similarity index 100% rename from modules/home-manager/xdg-bin-home.nix rename to nix/modules/home-manager/xdg-bin-home.nix diff --git a/modules/nixos/default.nix b/nix/modules/nixos/default.nix similarity index 100% rename from modules/nixos/default.nix rename to nix/modules/nixos/default.nix diff --git a/packages/default.nix b/nix/packages/default.nix similarity index 100% rename from packages/default.nix rename to nix/packages/default.nix diff --git a/packages/nix-fast-build.nix b/nix/packages/nix-fast-build.nix similarity index 100% rename from packages/nix-fast-build.nix rename to nix/packages/nix-fast-build.nix diff --git a/users/ilkecan/appearence/default.nix b/nix/users/ilkecan/appearence/default.nix similarity index 100% rename from users/ilkecan/appearence/default.nix rename to nix/users/ilkecan/appearence/default.nix diff --git a/users/ilkecan/appearence/fonts.nix b/nix/users/ilkecan/appearence/fonts.nix similarity index 100% rename from users/ilkecan/appearence/fonts.nix rename to nix/users/ilkecan/appearence/fonts.nix diff --git a/users/ilkecan/command-line/default.nix b/nix/users/ilkecan/command-line/default.nix similarity index 100% rename from users/ilkecan/command-line/default.nix rename to nix/users/ilkecan/command-line/default.nix diff --git a/users/ilkecan/command-line/shells/default.nix b/nix/users/ilkecan/command-line/shells/default.nix similarity index 100% rename from users/ilkecan/command-line/shells/default.nix rename to nix/users/ilkecan/command-line/shells/default.nix diff --git a/users/ilkecan/command-line/shells/nushell.nix b/nix/users/ilkecan/command-line/shells/nushell.nix similarity index 100% rename from users/ilkecan/command-line/shells/nushell.nix rename to nix/users/ilkecan/command-line/shells/nushell.nix diff --git a/users/ilkecan/command-line/shells/zsh/autosuggestion.nix b/nix/users/ilkecan/command-line/shells/zsh/autosuggestion.nix similarity index 100% rename from users/ilkecan/command-line/shells/zsh/autosuggestion.nix rename to nix/users/ilkecan/command-line/shells/zsh/autosuggestion.nix diff --git a/users/ilkecan/command-line/shells/zsh/default.nix b/nix/users/ilkecan/command-line/shells/zsh/default.nix similarity index 100% rename from users/ilkecan/command-line/shells/zsh/default.nix rename to nix/users/ilkecan/command-line/shells/zsh/default.nix diff --git a/users/ilkecan/command-line/shells/zsh/history.nix b/nix/users/ilkecan/command-line/shells/zsh/history.nix similarity index 100% rename from users/ilkecan/command-line/shells/zsh/history.nix rename to nix/users/ilkecan/command-line/shells/zsh/history.nix diff --git a/users/ilkecan/command-line/shells/zsh/options.nix b/nix/users/ilkecan/command-line/shells/zsh/options.nix similarity index 100% rename from users/ilkecan/command-line/shells/zsh/options.nix rename to nix/users/ilkecan/command-line/shells/zsh/options.nix diff --git a/users/ilkecan/command-line/shells/zsh/powerlevel10k.nix b/nix/users/ilkecan/command-line/shells/zsh/powerlevel10k.nix similarity index 100% rename from users/ilkecan/command-line/shells/zsh/powerlevel10k.nix rename to nix/users/ilkecan/command-line/shells/zsh/powerlevel10k.nix diff --git a/users/ilkecan/command-line/shells/zsh/syntax-highlighting.nix b/nix/users/ilkecan/command-line/shells/zsh/syntax-highlighting.nix similarity index 100% rename from users/ilkecan/command-line/shells/zsh/syntax-highlighting.nix rename to nix/users/ilkecan/command-line/shells/zsh/syntax-highlighting.nix diff --git a/users/ilkecan/default.nix b/nix/users/ilkecan/default.nix similarity index 100% rename from users/ilkecan/default.nix rename to nix/users/ilkecan/default.nix diff --git a/users/ilkecan/development/debugging.nix b/nix/users/ilkecan/development/debugging.nix similarity index 100% rename from users/ilkecan/development/debugging.nix rename to nix/users/ilkecan/development/debugging.nix diff --git a/users/ilkecan/development/default.nix b/nix/users/ilkecan/development/default.nix similarity index 100% rename from users/ilkecan/development/default.nix rename to nix/users/ilkecan/development/default.nix diff --git a/users/ilkecan/development/lsp.nix b/nix/users/ilkecan/development/lsp.nix similarity index 100% rename from users/ilkecan/development/lsp.nix rename to nix/users/ilkecan/development/lsp.nix diff --git a/users/ilkecan/development/static-program-analysis/default.nix b/nix/users/ilkecan/development/static-program-analysis/default.nix similarity index 100% rename from users/ilkecan/development/static-program-analysis/default.nix rename to nix/users/ilkecan/development/static-program-analysis/default.nix diff --git a/users/ilkecan/development/static-program-analysis/nix.nix b/nix/users/ilkecan/development/static-program-analysis/nix.nix similarity index 100% rename from users/ilkecan/development/static-program-analysis/nix.nix rename to nix/users/ilkecan/development/static-program-analysis/nix.nix diff --git a/users/ilkecan/development/version-control/default.nix b/nix/users/ilkecan/development/version-control/default.nix similarity index 100% rename from users/ilkecan/development/version-control/default.nix rename to nix/users/ilkecan/development/version-control/default.nix diff --git a/users/ilkecan/development/version-control/git.nix b/nix/users/ilkecan/development/version-control/git.nix similarity index 100% rename from users/ilkecan/development/version-control/git.nix rename to nix/users/ilkecan/development/version-control/git.nix diff --git a/users/ilkecan/dotfiles/.config/niri/dms/binds.kdl b/nix/users/ilkecan/dotfiles/.config/niri/dms/binds.kdl similarity index 100% rename from users/ilkecan/dotfiles/.config/niri/dms/binds.kdl rename to nix/users/ilkecan/dotfiles/.config/niri/dms/binds.kdl diff --git a/users/ilkecan/dotfiles/.config/niri/dms/outputs.kdl b/nix/users/ilkecan/dotfiles/.config/niri/dms/outputs.kdl similarity index 100% rename from users/ilkecan/dotfiles/.config/niri/dms/outputs.kdl rename to nix/users/ilkecan/dotfiles/.config/niri/dms/outputs.kdl diff --git a/users/ilkecan/dotfiles/.config/zsh/.p10k.zsh b/nix/users/ilkecan/dotfiles/.config/zsh/.p10k.zsh similarity index 100% rename from users/ilkecan/dotfiles/.config/zsh/.p10k.zsh rename to nix/users/ilkecan/dotfiles/.config/zsh/.p10k.zsh diff --git a/users/ilkecan/dotfiles/.local/bin/format_subtitle.py b/nix/users/ilkecan/dotfiles/.local/bin/format_subtitle.py similarity index 100% rename from users/ilkecan/dotfiles/.local/bin/format_subtitle.py rename to nix/users/ilkecan/dotfiles/.local/bin/format_subtitle.py diff --git a/users/ilkecan/dotfiles/.local/bin/starship-claude b/nix/users/ilkecan/dotfiles/.local/bin/starship-claude similarity index 100% rename from users/ilkecan/dotfiles/.local/bin/starship-claude rename to nix/users/ilkecan/dotfiles/.local/bin/starship-claude diff --git a/users/ilkecan/dotfiles/.local/share/easyeffects/autoload/input/digital-microphone.json b/nix/users/ilkecan/dotfiles/.local/share/easyeffects/autoload/input/digital-microphone.json similarity index 100% rename from users/ilkecan/dotfiles/.local/share/easyeffects/autoload/input/digital-microphone.json rename to nix/users/ilkecan/dotfiles/.local/share/easyeffects/autoload/input/digital-microphone.json diff --git a/users/ilkecan/dotfiles/.local/share/easyeffects/autoload/output/wh-1000xm3.json b/nix/users/ilkecan/dotfiles/.local/share/easyeffects/autoload/output/wh-1000xm3.json similarity index 100% rename from users/ilkecan/dotfiles/.local/share/easyeffects/autoload/output/wh-1000xm3.json rename to nix/users/ilkecan/dotfiles/.local/share/easyeffects/autoload/output/wh-1000xm3.json diff --git a/users/ilkecan/file-managers/default.nix b/nix/users/ilkecan/file-managers/default.nix similarity index 100% rename from users/ilkecan/file-managers/default.nix rename to nix/users/ilkecan/file-managers/default.nix diff --git a/users/ilkecan/file-managers/nautilus.nix b/nix/users/ilkecan/file-managers/nautilus.nix similarity index 100% rename from users/ilkecan/file-managers/nautilus.nix rename to nix/users/ilkecan/file-managers/nautilus.nix diff --git a/users/ilkecan/flatpak.nix b/nix/users/ilkecan/flatpak.nix similarity index 100% rename from users/ilkecan/flatpak.nix rename to nix/users/ilkecan/flatpak.nix diff --git a/users/ilkecan/gaming/default.nix b/nix/users/ilkecan/gaming/default.nix similarity index 100% rename from users/ilkecan/gaming/default.nix rename to nix/users/ilkecan/gaming/default.nix diff --git a/users/ilkecan/gaming/steam.nix b/nix/users/ilkecan/gaming/steam.nix similarity index 100% rename from users/ilkecan/gaming/steam.nix rename to nix/users/ilkecan/gaming/steam.nix diff --git a/users/ilkecan/gtk.nix b/nix/users/ilkecan/gtk.nix similarity index 100% rename from users/ilkecan/gtk.nix rename to nix/users/ilkecan/gtk.nix diff --git a/users/ilkecan/hardware/default.nix b/nix/users/ilkecan/hardware/default.nix similarity index 100% rename from users/ilkecan/hardware/default.nix rename to nix/users/ilkecan/hardware/default.nix diff --git a/users/ilkecan/hardware/display.nix b/nix/users/ilkecan/hardware/display.nix similarity index 100% rename from users/ilkecan/hardware/display.nix rename to nix/users/ilkecan/hardware/display.nix diff --git a/users/ilkecan/home-manager.nix b/nix/users/ilkecan/home-manager.nix similarity index 100% rename from users/ilkecan/home-manager.nix rename to nix/users/ilkecan/home-manager.nix diff --git a/users/ilkecan/input/default.nix b/nix/users/ilkecan/input/default.nix similarity index 100% rename from users/ilkecan/input/default.nix rename to nix/users/ilkecan/input/default.nix diff --git a/users/ilkecan/input/keyboard.nix b/nix/users/ilkecan/input/keyboard.nix similarity index 100% rename from users/ilkecan/input/keyboard.nix rename to nix/users/ilkecan/input/keyboard.nix diff --git a/users/ilkecan/input/webcam.nix b/nix/users/ilkecan/input/webcam.nix similarity index 100% rename from users/ilkecan/input/webcam.nix rename to nix/users/ilkecan/input/webcam.nix diff --git a/users/ilkecan/internet/communication/default.nix b/nix/users/ilkecan/internet/communication/default.nix similarity index 100% rename from users/ilkecan/internet/communication/default.nix rename to nix/users/ilkecan/internet/communication/default.nix diff --git a/users/ilkecan/internet/communication/email/default.nix b/nix/users/ilkecan/internet/communication/email/default.nix similarity index 100% rename from users/ilkecan/internet/communication/email/default.nix rename to nix/users/ilkecan/internet/communication/email/default.nix diff --git a/users/ilkecan/internet/communication/email/thunderbird/default.nix b/nix/users/ilkecan/internet/communication/email/thunderbird/default.nix similarity index 100% rename from users/ilkecan/internet/communication/email/thunderbird/default.nix rename to nix/users/ilkecan/internet/communication/email/thunderbird/default.nix diff --git a/users/ilkecan/internet/communication/email/thunderbird/profiles/default.nix b/nix/users/ilkecan/internet/communication/email/thunderbird/profiles/default.nix similarity index 100% rename from users/ilkecan/internet/communication/email/thunderbird/profiles/default.nix rename to nix/users/ilkecan/internet/communication/email/thunderbird/profiles/default.nix diff --git a/users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix b/nix/users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix similarity index 100% rename from users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix rename to nix/users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix diff --git a/users/ilkecan/internet/default.nix b/nix/users/ilkecan/internet/default.nix similarity index 100% rename from users/ilkecan/internet/default.nix rename to nix/users/ilkecan/internet/default.nix diff --git a/users/ilkecan/internet/download.nix b/nix/users/ilkecan/internet/download.nix similarity index 100% rename from users/ilkecan/internet/download.nix rename to nix/users/ilkecan/internet/download.nix diff --git a/users/ilkecan/internet/instant-messaging/default.nix b/nix/users/ilkecan/internet/instant-messaging/default.nix similarity index 100% rename from users/ilkecan/internet/instant-messaging/default.nix rename to nix/users/ilkecan/internet/instant-messaging/default.nix diff --git a/users/ilkecan/internet/instant-messaging/discord.nix b/nix/users/ilkecan/internet/instant-messaging/discord.nix similarity index 100% rename from users/ilkecan/internet/instant-messaging/discord.nix rename to nix/users/ilkecan/internet/instant-messaging/discord.nix diff --git a/users/ilkecan/internet/instant-messaging/matrix.nix b/nix/users/ilkecan/internet/instant-messaging/matrix.nix similarity index 100% rename from users/ilkecan/internet/instant-messaging/matrix.nix rename to nix/users/ilkecan/internet/instant-messaging/matrix.nix diff --git a/users/ilkecan/internet/web/browsers/chromium.nix b/nix/users/ilkecan/internet/web/browsers/chromium.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/chromium.nix rename to nix/users/ilkecan/internet/web/browsers/chromium.nix diff --git a/users/ilkecan/internet/web/browsers/default.nix b/nix/users/ilkecan/internet/web/browsers/default.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/default.nix rename to nix/users/ilkecan/internet/web/browsers/default.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/default.nix b/nix/users/ilkecan/internet/web/browsers/firefox/default.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/default.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/default.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/policies.nix b/nix/users/ilkecan/internet/web/browsers/firefox/policies.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/policies.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/policies.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/default.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/default.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/default.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/default.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/bookmarks.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/bookmarks.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/bookmarks.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/bookmarks.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/containers.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/containers.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/containers.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/containers.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/default.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/default.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/default.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/default.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/darkreader.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/darkreader.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/darkreader.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/darkreader.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/default.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/default.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/default.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/default.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/indie-wiki-buddy.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/indie-wiki-buddy.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/indie-wiki-buddy.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/indie-wiki-buddy.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/libredirect.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/libredirect.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/libredirect.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/libredirect.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ruffle_rs.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ruffle_rs.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ruffle_rs.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ruffle_rs.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/skip-redirect.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/skip-redirect.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/skip-redirect.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/skip-redirect.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/steam-database.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/steam-database.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/steam-database.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/steam-database.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ublock-origin.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ublock-origin.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ublock-origin.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/ublock-origin.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/vimium.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/vimium.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/vimium.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/vimium.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/violentmonkey.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/violentmonkey.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/violentmonkey.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/extensions/violentmonkey.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix diff --git a/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix rename to nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix diff --git a/users/ilkecan/internet/web/browsers/qutebrowser.nix b/nix/users/ilkecan/internet/web/browsers/qutebrowser.nix similarity index 100% rename from users/ilkecan/internet/web/browsers/qutebrowser.nix rename to nix/users/ilkecan/internet/web/browsers/qutebrowser.nix diff --git a/users/ilkecan/internet/web/default.nix b/nix/users/ilkecan/internet/web/default.nix similarity index 100% rename from users/ilkecan/internet/web/default.nix rename to nix/users/ilkecan/internet/web/default.nix diff --git a/users/ilkecan/internet/web/feed.nix b/nix/users/ilkecan/internet/web/feed.nix similarity index 100% rename from users/ilkecan/internet/web/feed.nix rename to nix/users/ilkecan/internet/web/feed.nix diff --git a/users/ilkecan/llm/claude-code.nix b/nix/users/ilkecan/llm/claude-code.nix similarity index 100% rename from users/ilkecan/llm/claude-code.nix rename to nix/users/ilkecan/llm/claude-code.nix diff --git a/users/ilkecan/llm/default.nix b/nix/users/ilkecan/llm/default.nix similarity index 100% rename from users/ilkecan/llm/default.nix rename to nix/users/ilkecan/llm/default.nix diff --git a/users/ilkecan/llm/mcp.nix b/nix/users/ilkecan/llm/mcp.nix similarity index 100% rename from users/ilkecan/llm/mcp.nix rename to nix/users/ilkecan/llm/mcp.nix diff --git a/users/ilkecan/multimedia/audio/default.nix b/nix/users/ilkecan/multimedia/audio/default.nix similarity index 100% rename from users/ilkecan/multimedia/audio/default.nix rename to nix/users/ilkecan/multimedia/audio/default.nix diff --git a/users/ilkecan/multimedia/audio/easyeffects/default.nix b/nix/users/ilkecan/multimedia/audio/easyeffects/default.nix similarity index 100% rename from users/ilkecan/multimedia/audio/easyeffects/default.nix rename to nix/users/ilkecan/multimedia/audio/easyeffects/default.nix diff --git a/users/ilkecan/multimedia/audio/easyeffects/presets/microphone/default.nix b/nix/users/ilkecan/multimedia/audio/easyeffects/presets/microphone/default.nix similarity index 100% rename from users/ilkecan/multimedia/audio/easyeffects/presets/microphone/default.nix rename to nix/users/ilkecan/multimedia/audio/easyeffects/presets/microphone/default.nix diff --git a/users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/default.nix b/nix/users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/default.nix similarity index 100% rename from users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/default.nix rename to nix/users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/default.nix diff --git a/users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/preset.json b/nix/users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/preset.json similarity index 100% rename from users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/preset.json rename to nix/users/ilkecan/multimedia/audio/easyeffects/presets/wh-1000xm3/preset.json diff --git a/users/ilkecan/multimedia/audio/mpd.nix b/nix/users/ilkecan/multimedia/audio/mpd.nix similarity index 100% rename from users/ilkecan/multimedia/audio/mpd.nix rename to nix/users/ilkecan/multimedia/audio/mpd.nix diff --git a/users/ilkecan/multimedia/audio/rmpc.nix b/nix/users/ilkecan/multimedia/audio/rmpc.nix similarity index 100% rename from users/ilkecan/multimedia/audio/rmpc.nix rename to nix/users/ilkecan/multimedia/audio/rmpc.nix diff --git a/users/ilkecan/multimedia/default.nix b/nix/users/ilkecan/multimedia/default.nix similarity index 100% rename from users/ilkecan/multimedia/default.nix rename to nix/users/ilkecan/multimedia/default.nix diff --git a/users/ilkecan/multimedia/gstreamer.nix b/nix/users/ilkecan/multimedia/gstreamer.nix similarity index 100% rename from users/ilkecan/multimedia/gstreamer.nix rename to nix/users/ilkecan/multimedia/gstreamer.nix diff --git a/users/ilkecan/multimedia/image.nix b/nix/users/ilkecan/multimedia/image.nix similarity index 100% rename from users/ilkecan/multimedia/image.nix rename to nix/users/ilkecan/multimedia/image.nix diff --git a/users/ilkecan/multimedia/video.nix b/nix/users/ilkecan/multimedia/video.nix similarity index 100% rename from users/ilkecan/multimedia/video.nix rename to nix/users/ilkecan/multimedia/video.nix diff --git a/users/ilkecan/multimedia/wireplumber/default.nix b/nix/users/ilkecan/multimedia/wireplumber/default.nix similarity index 100% rename from users/ilkecan/multimedia/wireplumber/default.nix rename to nix/users/ilkecan/multimedia/wireplumber/default.nix diff --git a/users/ilkecan/networking/default.nix b/nix/users/ilkecan/networking/default.nix similarity index 100% rename from users/ilkecan/networking/default.nix rename to nix/users/ilkecan/networking/default.nix diff --git a/users/ilkecan/networking/secure-shell.nix b/nix/users/ilkecan/networking/secure-shell.nix similarity index 100% rename from users/ilkecan/networking/secure-shell.nix rename to nix/users/ilkecan/networking/secure-shell.nix diff --git a/users/ilkecan/nix/default.nix b/nix/users/ilkecan/nix/default.nix similarity index 100% rename from users/ilkecan/nix/default.nix rename to nix/users/ilkecan/nix/default.nix diff --git a/users/ilkecan/nix/optnix.nix b/nix/users/ilkecan/nix/optnix.nix similarity index 100% rename from users/ilkecan/nix/optnix.nix rename to nix/users/ilkecan/nix/optnix.nix diff --git a/users/ilkecan/office.nix b/nix/users/ilkecan/office.nix similarity index 100% rename from users/ilkecan/office.nix rename to nix/users/ilkecan/office.nix diff --git a/users/ilkecan/packaging.nix b/nix/users/ilkecan/packaging.nix similarity index 100% rename from users/ilkecan/packaging.nix rename to nix/users/ilkecan/packaging.nix diff --git a/users/ilkecan/qt.nix b/nix/users/ilkecan/qt.nix similarity index 100% rename from users/ilkecan/qt.nix rename to nix/users/ilkecan/qt.nix diff --git a/users/ilkecan/security/default.nix b/nix/users/ilkecan/security/default.nix similarity index 100% rename from users/ilkecan/security/default.nix rename to nix/users/ilkecan/security/default.nix diff --git a/users/ilkecan/security/gpg.nix b/nix/users/ilkecan/security/gpg.nix similarity index 100% rename from users/ilkecan/security/gpg.nix rename to nix/users/ilkecan/security/gpg.nix diff --git a/users/ilkecan/security/keepassxc.nix b/nix/users/ilkecan/security/keepassxc.nix similarity index 100% rename from users/ilkecan/security/keepassxc.nix rename to nix/users/ilkecan/security/keepassxc.nix diff --git a/users/ilkecan/sops.nix b/nix/users/ilkecan/sops.nix similarity index 100% rename from users/ilkecan/sops.nix rename to nix/users/ilkecan/sops.nix diff --git a/users/ilkecan/text-editors/default.nix b/nix/users/ilkecan/text-editors/default.nix similarity index 100% rename from users/ilkecan/text-editors/default.nix rename to nix/users/ilkecan/text-editors/default.nix diff --git a/users/ilkecan/text-editors/neovide.nix b/nix/users/ilkecan/text-editors/neovide.nix similarity index 100% rename from users/ilkecan/text-editors/neovide.nix rename to nix/users/ilkecan/text-editors/neovide.nix diff --git a/users/ilkecan/text-editors/neovim/autocmds.nix b/nix/users/ilkecan/text-editors/neovim/autocmds.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/autocmds.nix rename to nix/users/ilkecan/text-editors/neovim/autocmds.nix diff --git a/users/ilkecan/text-editors/neovim/default.nix b/nix/users/ilkecan/text-editors/neovim/default.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/default.nix rename to nix/users/ilkecan/text-editors/neovim/default.nix diff --git a/users/ilkecan/text-editors/neovim/globals.nix b/nix/users/ilkecan/text-editors/neovim/globals.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/globals.nix rename to nix/users/ilkecan/text-editors/neovim/globals.nix diff --git a/users/ilkecan/text-editors/neovim/keymaps.nix b/nix/users/ilkecan/text-editors/neovim/keymaps.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/keymaps.nix rename to nix/users/ilkecan/text-editors/neovim/keymaps.nix diff --git a/users/ilkecan/text-editors/neovim/languages.nix b/nix/users/ilkecan/text-editors/neovim/languages.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/languages.nix rename to nix/users/ilkecan/text-editors/neovim/languages.nix diff --git a/users/ilkecan/text-editors/neovim/lsp.nix b/nix/users/ilkecan/text-editors/neovim/lsp.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/lsp.nix rename to nix/users/ilkecan/text-editors/neovim/lsp.nix diff --git a/users/ilkecan/text-editors/neovim/lua.nix b/nix/users/ilkecan/text-editors/neovim/lua.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/lua.nix rename to nix/users/ilkecan/text-editors/neovim/lua.nix diff --git a/users/ilkecan/text-editors/neovim/options.nix b/nix/users/ilkecan/text-editors/neovim/options.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/options.nix rename to nix/users/ilkecan/text-editors/neovim/options.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blame-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blame-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blame-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blame-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/default.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/default.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/default.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/default.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/emoji.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/emoji.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/emoji.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/emoji.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/env.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/env.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/env.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/env.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/nerdfont.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/nerdfont.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/nerdfont.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/nerdfont.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/npm.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/npm.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/npm.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/npm.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-indent.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-indent.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-indent.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-indent.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/blink-pairs.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-pairs.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/blink-pairs.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/blink-pairs.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/comment-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/comment-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/comment-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/comment-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/default.nix b/nix/users/ilkecan/text-editors/neovim/plugins/default.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/default.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/default.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/flash-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/flash-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/flash-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/flash-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix b/nix/users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/lualine.nix b/nix/users/ilkecan/text-editors/neovim/plugins/lualine.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/lualine.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/lualine.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/nvim-autopairs.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-autopairs.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/nvim-autopairs.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/nvim-autopairs.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/nvim-navic.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-navic.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/nvim-navic.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/nvim-navic.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/nvim-ts-autotag.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-ts-autotag.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/nvim-ts-autotag.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/nvim-ts-autotag.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/otter-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/otter-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/otter-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/otter-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/rainbow-delimiters.nix b/nix/users/ilkecan/text-editors/neovim/plugins/rainbow-delimiters.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/rainbow-delimiters.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/rainbow-delimiters.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/trouble-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/trouble-nvim.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/trouble-nvim.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/trouble-nvim.nix diff --git a/users/ilkecan/text-editors/neovim/plugins/undotree.nix b/nix/users/ilkecan/text-editors/neovim/plugins/undotree.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/plugins/undotree.nix rename to nix/users/ilkecan/text-editors/neovim/plugins/undotree.nix diff --git a/users/ilkecan/text-editors/neovim/treesitter/context.nix b/nix/users/ilkecan/text-editors/neovim/treesitter/context.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/treesitter/context.nix rename to nix/users/ilkecan/text-editors/neovim/treesitter/context.nix diff --git a/users/ilkecan/text-editors/neovim/treesitter/default.nix b/nix/users/ilkecan/text-editors/neovim/treesitter/default.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/treesitter/default.nix rename to nix/users/ilkecan/text-editors/neovim/treesitter/default.nix diff --git a/users/ilkecan/text-editors/neovim/treesitter/textobjects.nix b/nix/users/ilkecan/text-editors/neovim/treesitter/textobjects.nix similarity index 100% rename from users/ilkecan/text-editors/neovim/treesitter/textobjects.nix rename to nix/users/ilkecan/text-editors/neovim/treesitter/textobjects.nix diff --git a/users/ilkecan/utilities/coreutils.nix b/nix/users/ilkecan/utilities/coreutils.nix similarity index 100% rename from users/ilkecan/utilities/coreutils.nix rename to nix/users/ilkecan/utilities/coreutils.nix diff --git a/users/ilkecan/utilities/default.nix b/nix/users/ilkecan/utilities/default.nix similarity index 100% rename from users/ilkecan/utilities/default.nix rename to nix/users/ilkecan/utilities/default.nix diff --git a/users/ilkecan/utilities/disk.nix b/nix/users/ilkecan/utilities/disk.nix similarity index 100% rename from users/ilkecan/utilities/disk.nix rename to nix/users/ilkecan/utilities/disk.nix diff --git a/users/ilkecan/utilities/zellij/default.nix b/nix/users/ilkecan/utilities/zellij/default.nix similarity index 100% rename from users/ilkecan/utilities/zellij/default.nix rename to nix/users/ilkecan/utilities/zellij/default.nix diff --git a/users/ilkecan/utilities/zellij/keybindings.nix b/nix/users/ilkecan/utilities/zellij/keybindings.nix similarity index 100% rename from users/ilkecan/utilities/zellij/keybindings.nix rename to nix/users/ilkecan/utilities/zellij/keybindings.nix diff --git a/users/ilkecan/utilities/zellij/layouts/code.nix b/nix/users/ilkecan/utilities/zellij/layouts/code.nix similarity index 100% rename from users/ilkecan/utilities/zellij/layouts/code.nix rename to nix/users/ilkecan/utilities/zellij/layouts/code.nix diff --git a/users/ilkecan/utilities/zellij/layouts/default.nix b/nix/users/ilkecan/utilities/zellij/layouts/default.nix similarity index 100% rename from users/ilkecan/utilities/zellij/layouts/default.nix rename to nix/users/ilkecan/utilities/zellij/layouts/default.nix diff --git a/users/ilkecan/utilities/zellij/plugins/default.nix b/nix/users/ilkecan/utilities/zellij/plugins/default.nix similarity index 100% rename from users/ilkecan/utilities/zellij/plugins/default.nix rename to nix/users/ilkecan/utilities/zellij/plugins/default.nix diff --git a/users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix b/nix/users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix similarity index 100% rename from users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix rename to nix/users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix diff --git a/users/ilkecan/virtualization/default.nix b/nix/users/ilkecan/virtualization/default.nix similarity index 100% rename from users/ilkecan/virtualization/default.nix rename to nix/users/ilkecan/virtualization/default.nix diff --git a/users/ilkecan/virtualization/podman.nix b/nix/users/ilkecan/virtualization/podman.nix similarity index 100% rename from users/ilkecan/virtualization/podman.nix rename to nix/users/ilkecan/virtualization/podman.nix diff --git a/users/ilkecan/wayland/dank-material-shell/default.nix b/nix/users/ilkecan/wayland/dank-material-shell/default.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/default.nix rename to nix/users/ilkecan/wayland/dank-material-shell/default.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/alarm-clock.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/alarm-clock.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/alarm-clock.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/alarm-clock.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/dank-battery-alerts.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/dank-battery-alerts.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/dank-battery-alerts.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/dank-battery-alerts.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/dank-kde-connect.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/dank-kde-connect.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/dank-kde-connect.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/dank-kde-connect.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/dank-pomodoro-timer.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/dank-pomodoro-timer.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/dank-pomodoro-timer.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/dank-pomodoro-timer.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/default.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/default.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/default.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/default.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/developer-utilities.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/developer-utilities.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/developer-utilities.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/developer-utilities.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix diff --git a/users/ilkecan/wayland/dank-material-shell/plugins/emoji-launcher.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/emoji-launcher.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/plugins/emoji-launcher.nix rename to nix/users/ilkecan/wayland/dank-material-shell/plugins/emoji-launcher.nix diff --git a/users/ilkecan/wayland/dank-material-shell/wallpaper.nix b/nix/users/ilkecan/wayland/dank-material-shell/wallpaper.nix similarity index 100% rename from users/ilkecan/wayland/dank-material-shell/wallpaper.nix rename to nix/users/ilkecan/wayland/dank-material-shell/wallpaper.nix diff --git a/users/ilkecan/wayland/default.nix b/nix/users/ilkecan/wayland/default.nix similarity index 100% rename from users/ilkecan/wayland/default.nix rename to nix/users/ilkecan/wayland/default.nix diff --git a/users/ilkecan/wayland/niri/autostart.nix b/nix/users/ilkecan/wayland/niri/autostart.nix similarity index 100% rename from users/ilkecan/wayland/niri/autostart.nix rename to nix/users/ilkecan/wayland/niri/autostart.nix diff --git a/users/ilkecan/wayland/niri/binds/default.nix b/nix/users/ilkecan/wayland/niri/binds/default.nix similarity index 100% rename from users/ilkecan/wayland/niri/binds/default.nix rename to nix/users/ilkecan/wayland/niri/binds/default.nix diff --git a/users/ilkecan/wayland/niri/binds/defaults.nix b/nix/users/ilkecan/wayland/niri/binds/defaults.nix similarity index 100% rename from users/ilkecan/wayland/niri/binds/defaults.nix rename to nix/users/ilkecan/wayland/niri/binds/defaults.nix diff --git a/users/ilkecan/wayland/niri/default.nix b/nix/users/ilkecan/wayland/niri/default.nix similarity index 100% rename from users/ilkecan/wayland/niri/default.nix rename to nix/users/ilkecan/wayland/niri/default.nix diff --git a/users/ilkecan/wayland/niri/input.nix b/nix/users/ilkecan/wayland/niri/input.nix similarity index 100% rename from users/ilkecan/wayland/niri/input.nix rename to nix/users/ilkecan/wayland/niri/input.nix diff --git a/users/ilkecan/wayland/niri/layout.nix b/nix/users/ilkecan/wayland/niri/layout.nix similarity index 100% rename from users/ilkecan/wayland/niri/layout.nix rename to nix/users/ilkecan/wayland/niri/layout.nix diff --git a/users/ilkecan/wayland/niri/window-rules.nix b/nix/users/ilkecan/wayland/niri/window-rules.nix similarity index 100% rename from users/ilkecan/wayland/niri/window-rules.nix rename to nix/users/ilkecan/wayland/niri/window-rules.nix diff --git a/users/ilkecan/wayland/niri/workspaces/default.nix b/nix/users/ilkecan/wayland/niri/workspaces/default.nix similarity index 100% rename from users/ilkecan/wayland/niri/workspaces/default.nix rename to nix/users/ilkecan/wayland/niri/workspaces/default.nix diff --git a/users/ilkecan/wayland/niri/workspaces/dp-3.nix b/nix/users/ilkecan/wayland/niri/workspaces/dp-3.nix similarity index 100% rename from users/ilkecan/wayland/niri/workspaces/dp-3.nix rename to nix/users/ilkecan/wayland/niri/workspaces/dp-3.nix diff --git a/users/ilkecan/wayland/niri/workspaces/edp-1.nix b/nix/users/ilkecan/wayland/niri/workspaces/edp-1.nix similarity index 100% rename from users/ilkecan/wayland/niri/workspaces/edp-1.nix rename to nix/users/ilkecan/wayland/niri/workspaces/edp-1.nix diff --git a/users/ilkecan/wayland/satty.nix b/nix/users/ilkecan/wayland/satty.nix similarity index 100% rename from users/ilkecan/wayland/satty.nix rename to nix/users/ilkecan/wayland/satty.nix diff --git a/users/ilkecan/xdg/autostart.nix b/nix/users/ilkecan/xdg/autostart.nix similarity index 100% rename from users/ilkecan/xdg/autostart.nix rename to nix/users/ilkecan/xdg/autostart.nix diff --git a/users/ilkecan/xdg/basedir.nix b/nix/users/ilkecan/xdg/basedir.nix similarity index 76% rename from users/ilkecan/xdg/basedir.nix rename to nix/users/ilkecan/xdg/basedir.nix index c9d3670..b5b1c2a 100644 --- a/users/ilkecan/xdg/basedir.nix +++ b/nix/users/ilkecan/xdg/basedir.nix @@ -37,8 +37,8 @@ let in { xdg = { - binFile = toXdgFiles "${self'}/users/${user}/dotfiles/.local/bin"; - configFile = toXdgFiles "${self'}/users/${user}/dotfiles/.config"; - dataFile = toXdgFiles "${self'}/users/${user}/dotfiles/.local/share"; + binFile = toXdgFiles "${self'}/nix/users/${user}/dotfiles/.local/bin"; + configFile = toXdgFiles "${self'}/nix/users/${user}/dotfiles/.config"; + dataFile = toXdgFiles "${self'}/nix/users/${user}/dotfiles/.local/share"; }; } diff --git a/users/ilkecan/xdg/default.nix b/nix/users/ilkecan/xdg/default.nix similarity index 100% rename from users/ilkecan/xdg/default.nix rename to nix/users/ilkecan/xdg/default.nix diff --git a/users/ilkecan/xdg/desktop-entry.nix b/nix/users/ilkecan/xdg/desktop-entry.nix similarity index 100% rename from users/ilkecan/xdg/desktop-entry.nix rename to nix/users/ilkecan/xdg/desktop-entry.nix diff --git a/users/ilkecan/xdg/desktop-portal.nix b/nix/users/ilkecan/xdg/desktop-portal.nix similarity index 100% rename from users/ilkecan/xdg/desktop-portal.nix rename to nix/users/ilkecan/xdg/desktop-portal.nix diff --git a/users/ilkecan/xdg/mime-apps.nix b/nix/users/ilkecan/xdg/mime-apps.nix similarity index 100% rename from users/ilkecan/xdg/mime-apps.nix rename to nix/users/ilkecan/xdg/mime-apps.nix diff --git a/users/ilkecan/xdg/shared-mime-info.nix b/nix/users/ilkecan/xdg/shared-mime-info.nix similarity index 100% rename from users/ilkecan/xdg/shared-mime-info.nix rename to nix/users/ilkecan/xdg/shared-mime-info.nix diff --git a/users/ilkecan/xdg/terminal-intent.nix b/nix/users/ilkecan/xdg/terminal-intent.nix similarity index 100% rename from users/ilkecan/xdg/terminal-intent.nix rename to nix/users/ilkecan/xdg/terminal-intent.nix diff --git a/users/ilkecan/xdg/user-dirs.nix b/nix/users/ilkecan/xdg/user-dirs.nix similarity index 100% rename from users/ilkecan/xdg/user-dirs.nix rename to nix/users/ilkecan/xdg/user-dirs.nix From aa5570164b2f49950e0f9e426116ed14290669c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Wed, 11 Mar 2026 18:44:24 +0000 Subject: [PATCH 05/20] git-hooks: enable `comrak` --- AGENTS.md | 75 ++++++++++++++++------------- nix/flake/per-system/pre-commit.nix | 1 + 2 files changed, 43 insertions(+), 33 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index e2cdd67..75ec0b5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,39 +27,37 @@ nix flake check # Check for evaluation errors ## Repository Structure -``` -flake.nix # Entry point: delegates to flake-parts via ./flake -flake/ # Flake-parts modules defining all outputs - nixos-configurations.nix - home-configurations.nix - modules.nix # Exposes modules/ tree as flake.modules - flake-modules.nix # flake.flakeModules = modules.flake - home-modules.nix # flake.homeModules = modules.homeManager - nixos-modules.nix # flake.nixosModules = modules.nixos - per-system/ # All perSystem outputs - args/ # Injects custom perSystem args (lib, pkgs) - apps/ # Flake apps (ci via nix-fast-build) - checks/ # Flake checks (trufflehog) - dev-shells.nix # devShells (pre-commit shell) - pre-commit.nix # git-hooks-nix pre-commit config -inputs/ # Applies patches to flake inputs - default.nix # Merges patched inputs over raw inputs - nixpkgs.nix # nixpkgs patches (module-level changes) - nixpkgs-patched.nix # nixpkgs-unstable patches (package-level changes) - home-manager.nix # home-manager patches - dms.nix # dms patches -lib/ # Custom lib extensions (lib.my.*) - my.nix # lib.my.importTree, lib.my.mkAbsolute - my-pkgs.nix # lib.my-pkgs.callExpression -hosts/mephistopheles/ # NixOS host configuration -users/ilkecan/ # Home Manager user configuration -modules/ # Reusable modules, exposed as flake outputs - flake/ # Flake-parts modules (flakeModules) - home-manager/ # Home Manager modules (homeModules) - nixos/ # NixOS modules (nixosModules) -packages/ # Custom pkgs instantiation (overlays applied here) -secrets/ # sops-nix encrypted secrets -``` + flake.nix # Entry point: delegates to flake-parts via ./flake + flake/ # Flake-parts modules defining all outputs + nixos-configurations.nix + home-configurations.nix + modules.nix # Exposes modules/ tree as flake.modules + flake-modules.nix # flake.flakeModules = modules.flake + home-modules.nix # flake.homeModules = modules.homeManager + nixos-modules.nix # flake.nixosModules = modules.nixos + per-system/ # All perSystem outputs + args/ # Injects custom perSystem args (lib, pkgs) + apps/ # Flake apps (ci via nix-fast-build) + checks/ # Flake checks (trufflehog) + dev-shells.nix # devShells (pre-commit shell) + pre-commit.nix # git-hooks-nix pre-commit config + inputs/ # Applies patches to flake inputs + default.nix # Merges patched inputs over raw inputs + nixpkgs.nix # nixpkgs patches (module-level changes) + nixpkgs-patched.nix # nixpkgs-unstable patches (package-level changes) + home-manager.nix # home-manager patches + dms.nix # dms patches + lib/ # Custom lib extensions (lib.my.*) + my.nix # lib.my.importTree, lib.my.mkAbsolute + my-pkgs.nix # lib.my-pkgs.callExpression + hosts/mephistopheles/ # NixOS host configuration + users/ilkecan/ # Home Manager user configuration + modules/ # Reusable modules, exposed as flake outputs + flake/ # Flake-parts modules (flakeModules) + home-manager/ # Home Manager modules (homeModules) + nixos/ # NixOS modules (nixosModules) + packages/ # Custom pkgs instantiation (overlays applied here) + secrets/ # sops-nix encrypted secrets ## Key Architectural Patterns @@ -72,10 +70,13 @@ There are three nixpkgs inputs with distinct purposes: - **`nixpkgs-patched`** — patched version of `nixpkgs-unstable`, stored as a separate input. Used for **package-level** changes to contain cascade rebuilds: patching a package in `nixpkgs-unstable` directly could trigger rebuilds for all dependents; isolating it in a named input limits the blast radius to what explicitly uses `pkgs.patched`. ### Input Patching + `inputs/default.nix` applies upstream PRs to inputs and makes patched versions transparent by overwriting the originals under `inputs.*` (except `nixpkgs-patched`, which is always a separate input). Modules consume patched inputs the same way as stock ones. ### Custom pkgs Overlays + `packages/default.nix` instantiates nixpkgs with several overlays, making these package sets available everywhere: + - `pkgs.unstable` — nixos-unstable packages - `pkgs.patched` — nixpkgs-unstable with package-level patches applied - `pkgs.nur` — NUR packages @@ -83,15 +84,19 @@ There are three nixpkgs inputs with distinct purposes: - `pkgs.llm-agents.*` — LLM agent tools ### lib.my.importTree + Used extensively to auto-import directories. All `.nix` files and subdirectories are imported recursively, controlled by the `depth` parameter. Avoids manual `imports = [...]` lists for leaf modules. ### Impermanence + The host uses `impermanence` (ephemeral `/` via btrfs). Persistent paths must be explicitly declared in `hosts/mephistopheles/impermanence.nix`. ### Secrets + Managed with `sops-nix`. Encrypted secrets live in `secrets/`. ### Key Inputs + - **nvf** — Neovim configuration framework (used for all neovim config under `users/ilkecan/text-editors/neovim/`) - **stylix** — System-wide theming - **niri-flake** — Niri Wayland compositor @@ -106,7 +111,9 @@ Managed with `sops-nix`. Encrypted secrets live in `secrets/`. - **optnix** — Nix option analysis tool ### Flake Module Outputs + Modules under `modules/` are exposed as flake outputs via `flake/modules.nix`: + - `flakeModules` — from `modules/flake/` - `homeModules` — from `modules/home-manager/` - `nixosModules` — from `modules/nixos/` @@ -114,8 +121,10 @@ Modules under `modules/` are exposed as flake outputs via `flake/modules.nix`: Both host and user configurations dogfood their respective `*.default` module. ### specialArgs / extraSpecialArgs + - NixOS modules receive: `inputs'`, `lib` (extended), `self'`, `userConfig` (the HM config) - HM modules receive: `inputs'`, `self'`, `hostConfig` (the NixOS config), `osConfig` (alias for `hostConfig`) ### Development Environment + The flake provides a `devShell` via direnv (`.envrc`) with pre-commit hooks enabled through `git-hooks-nix`. A CI app (`nix run .#ci`) wraps `nix-fast-build` for cached builds. A `trufflehog` flake check scans for leaked secrets. diff --git a/nix/flake/per-system/pre-commit.nix b/nix/flake/per-system/pre-commit.nix index 699e913..d5b11e7 100644 --- a/nix/flake/per-system/pre-commit.nix +++ b/nix/flake/per-system/pre-commit.nix @@ -7,6 +7,7 @@ pre-commit.settings = { package = pkgs.unstable.prek; hooks = { + comrak.enable = true; deadnix.enable = true; flake-checker.enable = true; flint.enable = true; From f1ac7cd9ed14d189e38614b5088ebdeff53e3212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Wed, 11 Mar 2026 20:56:48 +0000 Subject: [PATCH 06/20] packages.unstable.nix-fast-build: update --- nix/packages/nix-fast-build.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nix/packages/nix-fast-build.nix b/nix/packages/nix-fast-build.nix index 00fbc79..93feb4f 100644 --- a/nix/packages/nix-fast-build.nix +++ b/nix/packages/nix-fast-build.nix @@ -4,17 +4,17 @@ }: nix-fast-build.overrideAttrs (prev: { - version = "${prev.version}-unstable-2026-03-08"; + version = "${prev.version}-unstable-2026-03-11"; src = prev.src.override { tag = null; - rev = "dde85ca993e9709dce1932c679baa2436cd00127"; - hash = "sha256-ZPlRNdkgKBeo6J0S51JZRFBGq/tFfd7oVqAz2a9ytuM="; + rev = "f5ca03a4387aecd739d60c77ae26e567481c3013"; + hash = "sha256-mInYAyDT49w0ux7Jgg4Ny3igyEKlRvqzG2KAG9YVmsg="; }; patches = (prev.patches or []) ++ [ (fetchpatch2 { - name = "use-nix-build-subcommand.patch"; + name = "support-impure-derivations.patch"; url = "https://patch-diff.githubusercontent.com/raw/Mic92/nix-fast-build/pull/301.patch"; - hash = "sha256-p6QXVDnXIU+smSGfR0BBkAAaGHZoEEvkTRJXIoqEGZs="; + hash = "sha256-E2nffS/w3IRgr5r2VB/m5HgZkzDO4Ukn9f8n9gzkI8g="; }) ]; }) From ade07cbe90d10c082a723d70159654e05299df31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Wed, 11 Mar 2026 21:12:34 +0000 Subject: [PATCH 07/20] git-hooks: enable `nixfmt` --- nix/flake/cachix.nix | 7 +- nix/flake/home-configurations.nix | 7 +- nix/flake/modules.nix | 4 +- nix/flake/nixos-configurations.nix | 14 +- nix/flake/per-system/apps/default.nix | 12 +- nix/flake/per-system/args/lib.nix | 8 +- nix/flake/per-system/args/pkgs.nix | 8 +- nix/flake/per-system/checks/default.nix | 6 +- nix/flake/per-system/checks/trufflehog.nix | 16 +- nix/flake/per-system/dev-shells.nix | 12 +- nix/flake/per-system/pre-commit.nix | 29 +- nix/hosts/mephistopheles/boot/default.nix | 2 +- nix/hosts/mephistopheles/default.nix | 4 +- nix/hosts/mephistopheles/disk-config.nix | 31 +- nix/hosts/mephistopheles/fonts.nix | 18 +- nix/hosts/mephistopheles/gaming.nix | 2 +- nix/hosts/mephistopheles/hardware/default.nix | 4 +- .../mephistopheles/hardware/graphics.nix | 4 +- nix/hosts/mephistopheles/hardware/monitor.nix | 18 +- nix/hosts/mephistopheles/impermanence.nix | 16 +- nix/hosts/mephistopheles/locale.nix | 2 +- .../mephistopheles/networking/default.nix | 6 +- nix/hosts/mephistopheles/nix/default.nix | 24 +- nix/hosts/mephistopheles/security.nix | 4 +- nix/hosts/mephistopheles/sops.nix | 6 +- nix/inputs/default.nix | 55 +- nix/lib/default.nix | 13 +- nix/lib/my-pkgs.nix | 5 +- nix/lib/my.nix | 58 +- nix/modules/flake/cachix-push.nix | 28 +- nix/modules/flake/flint-git-hook.nix | 24 +- nix/modules/flake/gitleaks-git-hook.nix | 22 +- nix/modules/flake/per-system-flake-inputs.nix | 2 +- nix/modules/home-manager/default-shell.nix | 2 +- nix/modules/home-manager/xdg-bin-home.nix | 11 +- nix/packages/default.nix | 2 +- nix/packages/nix-fast-build.nix | 2 +- nix/users/ilkecan/appearence/fonts.nix | 15 +- nix/users/ilkecan/command-line/default.nix | 6 +- .../shells/zsh/autosuggestion.nix | 2 +- .../command-line/shells/zsh/default.nix | 4 +- .../command-line/shells/zsh/history.nix | 4 +- .../command-line/shells/zsh/powerlevel10k.nix | 4 +- nix/users/ilkecan/default.nix | 2 +- nix/users/ilkecan/file-managers/nautilus.nix | 35 +- nix/users/ilkecan/gaming/default.nix | 4 +- nix/users/ilkecan/gaming/steam.nix | 2 +- nix/users/ilkecan/gtk.nix | 2 +- nix/users/ilkecan/hardware/default.nix | 4 +- nix/users/ilkecan/hardware/display.nix | 2 +- nix/users/ilkecan/input/keyboard.nix | 4 +- .../email/thunderbird/profiles/ilkecan.nix | 6 +- nix/users/ilkecan/internet/default.nix | 2 +- .../internet/web/browsers/chromium.nix | 11 +- .../internet/web/browsers/firefox/default.nix | 12 +- .../web/browsers/firefox/policies.nix | 13 +- .../firefox/profiles/ilkecan/search.nix | 427 ++++++---- .../profiles/ilkecan/settings/betterfox.nix | 6 +- .../profiles/ilkecan/settings/default.nix | 11 +- nix/users/ilkecan/internet/web/feed.nix | 2 +- nix/users/ilkecan/llm/claude-code.nix | 18 +- nix/users/ilkecan/llm/mcp.nix | 12 +- .../multimedia/audio/easyeffects/default.nix | 10 +- nix/users/ilkecan/multimedia/gstreamer.nix | 2 +- nix/users/ilkecan/multimedia/image.nix | 2 +- nix/users/ilkecan/multimedia/video.nix | 22 +- nix/users/ilkecan/networking/secure-shell.nix | 2 +- nix/users/ilkecan/nix/default.nix | 4 +- nix/users/ilkecan/nix/optnix.nix | 54 +- nix/users/ilkecan/office.nix | 4 +- nix/users/ilkecan/packaging.nix | 6 +- nix/users/ilkecan/qt.nix | 6 +- nix/users/ilkecan/security/gpg.nix | 2 +- nix/users/ilkecan/sops.nix | 2 +- .../ilkecan/text-editors/neovim/autocmds.nix | 2 +- .../ilkecan/text-editors/neovim/default.nix | 2 +- .../ilkecan/text-editors/neovim/keymaps.nix | 5 +- nix/users/ilkecan/text-editors/neovim/lsp.nix | 41 +- nix/users/ilkecan/text-editors/neovim/lua.nix | 2 +- .../ilkecan/text-editors/neovim/options.nix | 18 +- .../neovim/plugins/blink-cmp/default.nix | 11 +- .../sources/conventional-commits.nix | 2 +- .../plugins/blink-cmp/sources/dictionary.nix | 6 +- .../plugins/blink-cmp/sources/ripgrep.nix | 2 +- .../neovim/plugins/claudecode-nvim.nix | 12 +- .../neovim/plugins/direnv-nvim.nix | 2 +- .../neovim/plugins/highlight-undo.nix | 2 +- .../text-editors/neovim/plugins/lualine.nix | 22 +- .../neovim/plugins/nvim-colorizer.nix | 8 +- .../neovim/plugins/nvim-lightbulb.nix | 2 +- .../neovim/plugins/nvim-surround.nix | 2 +- .../neovim/plugins/nvim-web-devicons.nix | 2 +- .../text-editors/neovim/plugins/oil-nvim.nix | 6 +- .../neovim/plugins/snacks-nvim.nix | 124 +-- .../text-editors/neovim/plugins/undotree.nix | 2 +- .../neovim/treesitter/default.nix | 4 +- nix/users/ilkecan/utilities/coreutils.nix | 2 +- nix/users/ilkecan/utilities/default.nix | 2 +- nix/users/ilkecan/utilities/disk.nix | 2 +- .../ilkecan/utilities/zellij/default.nix | 4 +- .../ilkecan/utilities/zellij/keybindings.nix | 790 +++++++++--------- .../ilkecan/utilities/zellij/layouts/code.nix | 27 +- .../utilities/zellij/plugins/default.nix | 2 +- .../zellij/plugins/zellij-autolock.nix | 36 +- .../wayland/dank-material-shell/default.nix | 23 +- .../plugins/command-runner.nix | 2 +- .../plugins/docker-manager.nix | 2 +- nix/users/ilkecan/wayland/default.nix | 13 +- nix/users/ilkecan/wayland/niri/autostart.nix | 46 +- .../ilkecan/wayland/niri/binds/default.nix | 4 +- .../ilkecan/wayland/niri/binds/defaults.nix | 244 +++--- nix/users/ilkecan/wayland/niri/layout.nix | 8 +- .../ilkecan/wayland/niri/window-rules.nix | 24 +- .../wayland/niri/workspaces/default.nix | 15 +- nix/users/ilkecan/wayland/satty.nix | 2 +- nix/users/ilkecan/xdg/basedir.nix | 21 +- 116 files changed, 1580 insertions(+), 1182 deletions(-) diff --git a/nix/flake/cachix.nix b/nix/flake/cachix.nix index bcf7e3e..6db99e2 100644 --- a/nix/flake/cachix.nix +++ b/nix/flake/cachix.nix @@ -9,14 +9,13 @@ let attrValues concatLists filter - ; + ; inherit (lib.my) storePathName - ; + ; - isPatchedInput = x: - storePathName x != "source"; + isPatchedInput = x: storePathName x != "source"; in { flake.cachix = { diff --git a/nix/flake/home-configurations.nix b/nix/flake/home-configurations.nix index fa14afc..f9cc3b3 100644 --- a/nix/flake/home-configurations.nix +++ b/nix/flake/home-configurations.nix @@ -6,7 +6,8 @@ }: let - mkHomeConfiguration = system: modulesPath: hostConfig: + mkHomeConfiguration = + system: modulesPath: hostConfig: let module = { @@ -50,6 +51,8 @@ let in { flake.homeConfigurations = { - ilkecan = mkHomeConfiguration "x86_64-linux" "${self}/nix/users/ilkecan" self.nixosConfigurations.mephistopheles.config; + ilkecan = + mkHomeConfiguration "x86_64-linux" "${self}/nix/users/ilkecan" + self.nixosConfigurations.mephistopheles.config; }; } diff --git a/nix/flake/modules.nix b/nix/flake/modules.nix index a2a2e08..99cc1d1 100644 --- a/nix/flake/modules.nix +++ b/nix/flake/modules.nix @@ -9,11 +9,11 @@ let id removeSuffix toCamelCase - ; + ; inherit (lib.my) importTree - ; + ; in { flake.modules = importTree { diff --git a/nix/flake/nixos-configurations.nix b/nix/flake/nixos-configurations.nix index 280c726..a71798c 100644 --- a/nix/flake/nixos-configurations.nix +++ b/nix/flake/nixos-configurations.nix @@ -6,7 +6,8 @@ }: let - mkNixosConfiguration = system: modulesPath: userConfig: + mkNixosConfiguration = + system: modulesPath: userConfig: let module = { @@ -35,7 +36,12 @@ let ]; specialArgs = { - inherit inputs' lib self' userConfig; + inherit + inputs' + lib + self' + userConfig + ; }; }; in @@ -43,6 +49,8 @@ let in { flake.nixosConfigurations = { - mephistopheles = mkNixosConfiguration "x86_64-linux" "${self}/nix/hosts/mephistopheles" self.homeConfigurations.ilkecan.config; + mephistopheles = + mkNixosConfiguration "x86_64-linux" "${self}/nix/hosts/mephistopheles" + self.homeConfigurations.ilkecan.config; }; } diff --git a/nix/flake/per-system/apps/default.nix b/nix/flake/per-system/apps/default.nix index 455cb57..c3a3ee3 100644 --- a/nix/flake/per-system/apps/default.nix +++ b/nix/flake/per-system/apps/default.nix @@ -13,10 +13,12 @@ let }; in { - perSystem = { self', pkgs, ... }: { - apps = { - ci = mkApp (import ./ci.nix { inherit pkgs; }); - default = self'.apps.ci; + perSystem = + { self', pkgs, ... }: + { + apps = { + ci = mkApp (import ./ci.nix { inherit pkgs; }); + default = self'.apps.ci; + }; }; - }; } diff --git a/nix/flake/per-system/args/lib.nix b/nix/flake/per-system/args/lib.nix index 3f4e78d..d90abd1 100644 --- a/nix/flake/per-system/args/lib.nix +++ b/nix/flake/per-system/args/lib.nix @@ -4,7 +4,9 @@ }: { - perSystem = { pkgs, ... }: { - _module.args.lib = import "${self}/nix/lib" { inherit (pkgs) lib pkgs; }; - }; + perSystem = + { pkgs, ... }: + { + _module.args.lib = import "${self}/nix/lib" { inherit (pkgs) lib pkgs; }; + }; } diff --git a/nix/flake/per-system/args/pkgs.nix b/nix/flake/per-system/args/pkgs.nix index 27a4c91..5fa99be 100644 --- a/nix/flake/per-system/args/pkgs.nix +++ b/nix/flake/per-system/args/pkgs.nix @@ -5,7 +5,9 @@ }: { - perSystem = { system, ... }: { - _module.args.pkgs = import "${self}/nix/packages" { inherit inputs system; }; - }; + perSystem = + { system, ... }: + { + _module.args.pkgs = import "${self}/nix/packages" { inherit inputs system; }; + }; } diff --git a/nix/flake/per-system/checks/default.nix b/nix/flake/per-system/checks/default.nix index 8d248f0..7cad9d2 100644 --- a/nix/flake/per-system/checks/default.nix +++ b/nix/flake/per-system/checks/default.nix @@ -4,11 +4,11 @@ }: { - perSystem = { pkgs, ... }: + perSystem = + { pkgs, ... }: let args = { inherit pkgs self; }; - mkCheck = file: - import file args; + mkCheck = file: import file args; in { checks = { diff --git a/nix/flake/per-system/checks/trufflehog.nix b/nix/flake/per-system/checks/trufflehog.nix index 7174a5f..dac71fb 100644 --- a/nix/flake/per-system/checks/trufflehog.nix +++ b/nix/flake/per-system/checks/trufflehog.nix @@ -3,10 +3,12 @@ self, }: -pkgs.runCommand "trufflehog-check" { - nativeBuildInputs = with pkgs; [ trufflehog ]; - __impure = true; -} '' - trufflehog filesystem ${self} --github-actions --fail --results=verified - touch $out -'' +pkgs.runCommand "trufflehog-check" + { + nativeBuildInputs = with pkgs; [ trufflehog ]; + __impure = true; + } + '' + trufflehog filesystem ${self} --github-actions --fail --results=verified + touch $out + '' diff --git a/nix/flake/per-system/dev-shells.nix b/nix/flake/per-system/dev-shells.nix index 95a64bd..a44fa1d 100644 --- a/nix/flake/per-system/dev-shells.nix +++ b/nix/flake/per-system/dev-shells.nix @@ -3,10 +3,12 @@ }: { - perSystem = { config, ... }: { - devShells = { - default = config.devShells.preCommit; - preCommit = config.pre-commit.devShell; + perSystem = + { config, ... }: + { + devShells = { + default = config.devShells.preCommit; + preCommit = config.pre-commit.devShell; + }; }; - }; } diff --git a/nix/flake/per-system/pre-commit.nix b/nix/flake/per-system/pre-commit.nix index d5b11e7..2ca9758 100644 --- a/nix/flake/per-system/pre-commit.nix +++ b/nix/flake/per-system/pre-commit.nix @@ -3,19 +3,22 @@ }: { - perSystem = { pkgs, ... }: { - pre-commit.settings = { - package = pkgs.unstable.prek; - hooks = { - comrak.enable = true; - deadnix.enable = true; - flake-checker.enable = true; - flint.enable = true; - gitleaks.enable = true; - nil.enable = true; - nixf-diagnose.enable = true; - ripsecrets.enable = true; + perSystem = + { pkgs, ... }: + { + pre-commit.settings = { + package = pkgs.unstable.prek; + hooks = { + comrak.enable = true; + deadnix.enable = true; + flake-checker.enable = true; + flint.enable = true; + gitleaks.enable = true; + nil.enable = true; + nixf-diagnose.enable = true; + nixfmt.enable = true; + ripsecrets.enable = true; + }; }; }; - }; } diff --git a/nix/hosts/mephistopheles/boot/default.nix b/nix/hosts/mephistopheles/boot/default.nix index c0d6b5b..c78a206 100644 --- a/nix/hosts/mephistopheles/boot/default.nix +++ b/nix/hosts/mephistopheles/boot/default.nix @@ -13,7 +13,7 @@ boot = { initrd.systemd.enable = true; - kernel.sysctl."kernel.sysrq" = 1; # https://wiki.nixos.org/wiki/Linux_kernel#Enable_SysRq + kernel.sysctl."kernel.sysrq" = 1; # https://wiki.nixos.org/wiki/Linux_kernel#Enable_SysRq kernelPackages = pkgs.linuxPackages_xanmod_latest; loader = { diff --git a/nix/hosts/mephistopheles/default.nix b/nix/hosts/mephistopheles/default.nix index 41c458d..c892941 100644 --- a/nix/hosts/mephistopheles/default.nix +++ b/nix/hosts/mephistopheles/default.nix @@ -26,8 +26,8 @@ ]; services = { - gvfs.enable = true; # required for "Trash" - udisks2.enable = true; # required for udiskie + gvfs.enable = true; # required for "Trash" + udisks2.enable = true; # required for udiskie }; # Select internationalisation properties. diff --git a/nix/hosts/mephistopheles/disk-config.nix b/nix/hosts/mephistopheles/disk-config.nix index 6d0c312..4a5c295 100644 --- a/nix/hosts/mephistopheles/disk-config.nix +++ b/nix/hosts/mephistopheles/disk-config.nix @@ -27,26 +27,45 @@ end = "-32G"; content = { type = "btrfs"; - extraArgs = [ "-L" "nixos" "-f" ]; # Override existing partition + extraArgs = [ + "-L" + "nixos" + "-f" + ]; # Override existing partition subvolumes = { "/root" = { mountpoint = "/"; - mountOptions = [ "compress=zstd" "noatime" ]; + mountOptions = [ + "compress=zstd" + "noatime" + ]; }; "/home" = { - mountOptions = [ "compress=zstd" "noatime" ]; + mountOptions = [ + "compress=zstd" + "noatime" + ]; mountpoint = "/home"; }; "/nix" = { - mountOptions = [ "compress=zstd" "noatime" ]; + mountOptions = [ + "compress=zstd" + "noatime" + ]; mountpoint = "/nix"; }; "/persist" = { - mountOptions = [ "compress=zstd" "noatime" ]; + mountOptions = [ + "compress=zstd" + "noatime" + ]; mountpoint = "/persist"; }; "/log" = { - mountOptions = [ "compress=zstd" "noatime" ]; + mountOptions = [ + "compress=zstd" + "noatime" + ]; mountpoint = "/var/log"; }; }; diff --git a/nix/hosts/mephistopheles/fonts.nix b/nix/hosts/mephistopheles/fonts.nix index 4040fcb..3f0c78c 100644 --- a/nix/hosts/mephistopheles/fonts.nix +++ b/nix/hosts/mephistopheles/fonts.nix @@ -19,9 +19,21 @@ defaultFonts = { emoji = [ "Noto Color Emoji" ]; - monospace = [ "Inconsolata Go Nerd Font Mono" "Noto Sans Mono" "Noto Sans Math" ]; - sansSerif = [ "Inconsolata Go Nerd Font" "Noto Sans" "Noto Sans Math" ]; - serif = [ "Inconsolata Go Nerd Font" "Noto Serif" "Noto Sans Math" ]; + monospace = [ + "Inconsolata Go Nerd Font Mono" + "Noto Sans Mono" + "Noto Sans Math" + ]; + sansSerif = [ + "Inconsolata Go Nerd Font" + "Noto Sans" + "Noto Sans Math" + ]; + serif = [ + "Inconsolata Go Nerd Font" + "Noto Serif" + "Noto Sans Math" + ]; }; }; }; diff --git a/nix/hosts/mephistopheles/gaming.nix b/nix/hosts/mephistopheles/gaming.nix index 40477b1..6305440 100644 --- a/nix/hosts/mephistopheles/gaming.nix +++ b/nix/hosts/mephistopheles/gaming.nix @@ -25,7 +25,7 @@ in enable = true; }; - protontricks.enable = true; # https://github.com/Matoking/protontricks + protontricks.enable = true; # https://github.com/Matoking/protontricks gamescopeSession = { # https://github.com/Plagman/gamescope diff --git a/nix/hosts/mephistopheles/hardware/default.nix b/nix/hosts/mephistopheles/hardware/default.nix index 83d3b74..4ffd4a0 100644 --- a/nix/hosts/mephistopheles/hardware/default.nix +++ b/nix/hosts/mephistopheles/hardware/default.nix @@ -22,12 +22,12 @@ # hardware.facter.reportPath = ./facter.json; hardware = { - i2c.enable = true; # https://danklinux.com/docs/dankmaterialshell/cli-doctor#i2cddc + i2c.enable = true; # https://danklinux.com/docs/dankmaterialshell/cli-doctor#i2cddc }; services = { fwupd.enable = true; - power-profiles-daemon.enable = true; # https://danklinux.com/docs/dankmaterialshell/cli-doctor#power-profiles-daemon + power-profiles-daemon.enable = true; # https://danklinux.com/docs/dankmaterialshell/cli-doctor#power-profiles-daemon }; users.groups.${config.hardware.i2c.group}.members = [ userConfig.home.username ]; diff --git a/nix/hosts/mephistopheles/hardware/graphics.nix b/nix/hosts/mephistopheles/hardware/graphics.nix index dead515..3b99e2d 100644 --- a/nix/hosts/mephistopheles/hardware/graphics.nix +++ b/nix/hosts/mephistopheles/hardware/graphics.nix @@ -4,7 +4,7 @@ { boot.kernelParams = [ - "i915.enable_guc=3" # https://wiki.archlinux.org/title/Intel_graphics#Enable_GuC_/_HuC_firmware_loading + "i915.enable_guc=3" # https://wiki.archlinux.org/title/Intel_graphics#Enable_GuC_/_HuC_firmware_loading ]; hardware = { @@ -13,6 +13,6 @@ enable32Bit = true; }; - intel-gpu-tools.enable = true; # for `intel_gpu_top` + intel-gpu-tools.enable = true; # for `intel_gpu_top` }; } diff --git a/nix/hosts/mephistopheles/hardware/monitor.nix b/nix/hosts/mephistopheles/hardware/monitor.nix index 5a4ca37..94202eb 100644 --- a/nix/hosts/mephistopheles/hardware/monitor.nix +++ b/nix/hosts/mephistopheles/hardware/monitor.nix @@ -13,12 +13,14 @@ boot.extraModulePackages = with config.boot.kernelPackages; [ ddcci-driver ]; boot.kernelModules = [ "ddcci" ]; - services.udev.extraRules = let - # https://wiki.nixos.org/wiki/Backlight#Via_ddcci-driver - bash = "${pkgs.bash}/bin/bash"; - ddcciDev = "AUX USBC3/DDI TC3/PHY TC3"; - ddcciNode = "/sys/bus/i2c/devices/i2c-14/new_device"; - in '' - SUBSYSTEM=="i2c", ACTION=="add", ATTR{name}=="${ddcciDev}", RUN+="${bash} -c 'sleep 30; printf ddcci\ 0x37 > ${ddcciNode}'" - ''; + services.udev.extraRules = + let + # https://wiki.nixos.org/wiki/Backlight#Via_ddcci-driver + bash = "${pkgs.bash}/bin/bash"; + ddcciDev = "AUX USBC3/DDI TC3/PHY TC3"; + ddcciNode = "/sys/bus/i2c/devices/i2c-14/new_device"; + in + '' + SUBSYSTEM=="i2c", ACTION=="add", ATTR{name}=="${ddcciDev}", RUN+="${bash} -c 'sleep 30; printf ddcci\ 0x37 > ${ddcciNode}'" + ''; } diff --git a/nix/hosts/mephistopheles/impermanence.nix b/nix/hosts/mephistopheles/impermanence.nix index 54bfd58..a75da8c 100644 --- a/nix/hosts/mephistopheles/impermanence.nix +++ b/nix/hosts/mephistopheles/impermanence.nix @@ -10,7 +10,7 @@ ]; after = [ - "initrd-root-device.target" # https://discourse.nixos.org/t/impermanence-vs-systemd-initrd-w-tpm-unlocking/25167/7 + "initrd-root-device.target" # https://discourse.nixos.org/t/impermanence-vs-systemd-initrd-w-tpm-unlocking/25167/7 ]; before = [ @@ -43,16 +43,16 @@ allowTrash = true; directories = [ "/etc/NetworkManager/system-connections" # networking.networkmanager.enable - "/var/lib/bluetooth" # hardware.bluetooth.enable - "/var/lib/fprint" # services.fprintd.enable - "/var/lib/fwupd" # fwupdmgr update - "/var/lib/iwd" # networking.wireless.iwd.enable + "/var/lib/bluetooth" # hardware.bluetooth.enable + "/var/lib/fprint" # services.fprintd.enable + "/var/lib/fwupd" # fwupdmgr update + "/var/lib/iwd" # networking.wireless.iwd.enable "/var/lib/nixos" # https://nixos.org/manual/nixos/unstable/#sec-state-users - "/var/lib/systemd" # https://nixos.org/manual/nixos/unstable/#sec-var-systemd + "/var/lib/systemd" # https://nixos.org/manual/nixos/unstable/#sec-var-systemd ]; files = [ - "/etc/adjtime" # https://man.archlinux.org/man/adjtime_config.5.en - "/etc/machine-id" # https://nixos.org/manual/nixos/unstable/#sec-machine-id + "/etc/adjtime" # https://man.archlinux.org/man/adjtime_config.5.en + "/etc/machine-id" # https://nixos.org/manual/nixos/unstable/#sec-machine-id # to avoid "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" "/etc/ssh/ssh_host_ed25519_key" diff --git a/nix/hosts/mephistopheles/locale.nix b/nix/hosts/mephistopheles/locale.nix index 21a9b2a..0280208 100644 --- a/nix/hosts/mephistopheles/locale.nix +++ b/nix/hosts/mephistopheles/locale.nix @@ -6,7 +6,7 @@ let inherit (lib) mkDefault - ; + ; in { location.provider = "geoclue2"; diff --git a/nix/hosts/mephistopheles/networking/default.nix b/nix/hosts/mephistopheles/networking/default.nix index 2460a29..b7f8266 100644 --- a/nix/hosts/mephistopheles/networking/default.nix +++ b/nix/hosts/mephistopheles/networking/default.nix @@ -8,7 +8,7 @@ let inherit (lib) optional - ; + ; # https://userbase.kde.org/KDEConnect#I_have_two_devices_running_KDE_Connect_on_the_same_network,_but_they_can't_see_each_other kdeConnectPortRange = { @@ -71,8 +71,8 @@ in listen_addresses = [ "127.0.0.1:53" ] ++ optional config.networking.enableIPv6 "[::1]:53"; dnscrypt_servers = false; require_dnssec = true; - http3 = true; # https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Configuration#http3-support-configuration - block_ipv6 = true; # https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Performance#ipv6-blocking + http3 = true; # https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Configuration#http3-support-configuration + block_ipv6 = true; # https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Performance#ipv6-blocking # monitoring_ui = { # enabled = true; diff --git a/nix/hosts/mephistopheles/nix/default.nix b/nix/hosts/mephistopheles/nix/default.nix index 6118fda..f03c70a 100644 --- a/nix/hosts/mephistopheles/nix/default.nix +++ b/nix/hosts/mephistopheles/nix/default.nix @@ -11,7 +11,7 @@ let inherit (lib) imap1 mkForce - ; + ; in { imports = [ @@ -40,17 +40,19 @@ in ]; trusted-users = [ userConfig.home.username ]; - substituters = mkForce (imap1 (i: x: "${x}?priority=${toString i}") [ - "https://cache.nixos.org" - "https://nix-community.cachix.org" + substituters = mkForce ( + imap1 (i: x: "${x}?priority=${toString i}") [ + "https://cache.nixos.org" + "https://nix-community.cachix.org" - "https://cache.numtide.com" - "https://nix-gaming.cachix.org" + "https://cache.numtide.com" + "https://nix-gaming.cachix.org" - # NUR - "https://ilkecan.cachix.org" - "https://rycee.cachix.org" - ]); + # NUR + "https://ilkecan.cachix.org" + "https://rycee.cachix.org" + ] + ); trusted-public-keys = [ "ilkecan.cachix.org-1:hXb7Vo9EzaXiEb0elvG6Tt5TrP3zrcadyoX8c+lbeCY=" @@ -61,7 +63,7 @@ in ]; auto-optimise-store = true; - http-connections = 128; # default: 25 + http-connections = 128; # default: 25 keep-going = true; keep-outputs = true; max-substitution-jobs = 128; # default: 16 diff --git a/nix/hosts/mephistopheles/security.nix b/nix/hosts/mephistopheles/security.nix index 91762aa..4c18bac 100644 --- a/nix/hosts/mephistopheles/security.nix +++ b/nix/hosts/mephistopheles/security.nix @@ -6,7 +6,7 @@ let inherit (lib) mkForce - ; + ; in { security = { @@ -20,7 +20,7 @@ in sudo.fprintAuth = false; }; - rtkit.enable = true; # allows Pipewire to use the realtime scheduler for increased performance + rtkit.enable = true; # allows Pipewire to use the realtime scheduler for increased performance sudo-rs = { # https://github.com/trifectatechfoundation/sudo-rs diff --git a/nix/hosts/mephistopheles/sops.nix b/nix/hosts/mephistopheles/sops.nix index 6dec3ac..6476e29 100644 --- a/nix/hosts/mephistopheles/sops.nix +++ b/nix/hosts/mephistopheles/sops.nix @@ -9,7 +9,7 @@ let inherit (lib) mapAttrsToList concatStringsSep - ; + ; cfg = config.sops; @@ -23,7 +23,9 @@ in secrets = { github-access-token = { }; - ilkecan-hashed-password = { neededForUsers = true; }; + ilkecan-hashed-password = { + neededForUsers = true; + }; }; templates = { diff --git a/nix/inputs/default.nix b/nix/inputs/default.nix index 74dad60..3fcc4ad 100644 --- a/nix/inputs/default.nix +++ b/nix/inputs/default.nix @@ -1,5 +1,5 @@ { - inputs + inputs, }: let @@ -9,31 +9,46 @@ let inherit (inputs.nixpkgs.legacyPackages.${system}) applyPatches fetchpatch2 - ; + ; inherit (inputs.nixpkgs.lib) mapAttrsToList - ; + ; - patchInput = { owner, repo, src, name, pulls, patches ? [ ] }: + patchInput = + { + owner, + repo, + src, + name, + pulls, + patches ? [ ], + }: let - mkPatch = number: hash: - { - inherit hash; - name = "${owner}-${repo}-${number}.patch"; - url = "https://github.com/${owner}/${repo}/pull/${number}.patch?full_index=1"; - }; + mkPatch = number: hash: { + inherit hash; + name = "${owner}-${repo}-${number}.patch"; + url = "https://github.com/${owner}/${repo}/pull/${number}.patch?full_index=1"; + }; patches' = patches ++ map fetchpatch2 (mapAttrsToList mkPatch pulls); - src' = applyPatches { inherit name src; patches = patches'; }; + src' = applyPatches { + inherit name src; + patches = patches'; + }; flake = import "${src'}/flake.nix"; outputs = flake.outputs ({ inherit self; } // src.inputs); - sourceInfo = src.sourceInfo // { inherit (src') outPath; }; - self = outputs // sourceInfo // { - _type = "flake"; - inherit (src) inputs; - inherit sourceInfo outputs; + sourceInfo = src.sourceInfo // { + inherit (src') outPath; }; + self = + outputs + // sourceInfo + // { + _type = "flake"; + inherit (src) inputs; + inherit sourceInfo outputs; + }; in self; @@ -45,4 +60,10 @@ let nixpkgs-patched = patchInput (import ./nixpkgs-patched.nix args); }; in -inputs // newAttrs // { self = inputs.self // { inputs = inputs.self.inputs // newAttrs; }; } +inputs +// newAttrs +// { + self = inputs.self // { + inputs = inputs.self.inputs // newAttrs; + }; +} diff --git a/nix/lib/default.nix b/nix/lib/default.nix index bc62fdb..ad1be2c 100644 --- a/nix/lib/default.nix +++ b/nix/lib/default.nix @@ -7,12 +7,17 @@ let inherit (lib) optionalAttrs - ; + ; in lib.extend ( - final: _prev: { + final: _prev: + { my = import ./my.nix { lib = final; }; - } // optionalAttrs (pkgs != null) { - my-pkgs = import ./my-pkgs.nix { inherit pkgs; lib = final; }; + } + // optionalAttrs (pkgs != null) { + my-pkgs = import ./my-pkgs.nix { + inherit pkgs; + lib = final; + }; } ) diff --git a/nix/lib/my-pkgs.nix b/nix/lib/my-pkgs.nix index 3662d8e..0addd86 100644 --- a/nix/lib/my-pkgs.nix +++ b/nix/lib/my-pkgs.nix @@ -8,12 +8,13 @@ let functionArgs intersectAttrs isFunction - ; + ; in { callExpression = let - callExpressionWith = autoArgs: fn: + callExpressionWith = + autoArgs: fn: let f = if isFunction fn then fn else import fn; fargs = functionArgs f; diff --git a/nix/lib/my.nix b/nix/lib/my.nix index fd5bbc2..b1075dd 100644 --- a/nix/lib/my.nix +++ b/nix/lib/my.nix @@ -6,7 +6,7 @@ let inherit (builtins) baseNameOf readDir - ; + ; inherit (lib) id @@ -15,28 +15,28 @@ let mapAttrs' nameValuePair substring - ; + ; inherit (lib.my) importTree mkAbsolute - ; + ; INFINITY = 1.0e308 * 2; in { - flattenAttrs = sep: attrs: + flattenAttrs = + sep: attrs: let - flatten = prefix: attrs: - lib.foldlAttrs (acc: name: value: + flatten = + prefix: attrs: + lib.foldlAttrs ( + acc: name: value: let name' = if prefix == "" then name else "${prefix}${sep}${name}"; in - if isAttrs value then - acc // flatten name' value - else - acc // { ${name'} = value; } - ) {} attrs; + if isAttrs value then acc // flatten name' value else acc // { ${name'} = value; } + ) { } attrs; in flatten "" attrs; @@ -53,29 +53,30 @@ in normalizeNameFn ? id, }: let - importFile = path: - importFn (mkAbsolute root path); - importDir = path: - mapAttrs' (name: type: + importFile = path: importFn (mkAbsolute root path); + importDir = + path: + mapAttrs' ( + name: type: let name' = normalizeNameFn name; value = if type == "directory" then - importTree { root = mkAbsolute root name; depth = depth - 1; inherit normalizeNameFn importFn; } + importTree { + root = mkAbsolute root name; + depth = depth - 1; + inherit normalizeNameFn importFn; + } else - importFile name - ; + importFile name; in nameValuePair name' value ) (readDir path); in - if depth <= 0 then - importFile root - else - importDir root - ; + if depth <= 0 then importFile root else importDir root; - mkAbsolute = root: path: + mkAbsolute = + root: path: if isPath path then path else @@ -83,12 +84,7 @@ in path' = toString path; firstChar = substring 0 1 path'; in - if firstChar == "/" then - path' - else - root + "/${path'}" - ; + if firstChar == "/" then path' else root + "/${path'}"; - storePathName = path: - substring 33 (-1) (baseNameOf path); + storePathName = path: substring 33 (-1) (baseNameOf path); } diff --git a/nix/modules/flake/cachix-push.nix b/nix/modules/flake/cachix-push.nix index 460b36e..8870504 100644 --- a/nix/modules/flake/cachix-push.nix +++ b/nix/modules/flake/cachix-push.nix @@ -12,7 +12,7 @@ let mkIf mkOption types - ; + ; mkApp = drv: { type = "app"; @@ -34,18 +34,22 @@ in }; config = { - perSystem = { pkgs, ... }: { - apps = mkIf (cfg.push != { }) { - cachix-push = mkApp (pkgs.writeShellApplication { - name = "cachix-push"; - runtimeInputs = [ pkgs.cachix ]; - text = concatStringsSep "\n" ( - mapAttrsToList ( - cache: paths: "cachix push ${cache} ${concatStringsSep " " (map toString paths)}" - ) cfg.push + perSystem = + { pkgs, ... }: + { + apps = mkIf (cfg.push != { }) { + cachix-push = mkApp ( + pkgs.writeShellApplication { + name = "cachix-push"; + runtimeInputs = [ pkgs.cachix ]; + text = concatStringsSep "\n" ( + mapAttrsToList ( + cache: paths: "cachix push ${cache} ${concatStringsSep " " (map toString paths)}" + ) cfg.push + ); + } ); - }); + }; }; - }; }; } diff --git a/nix/modules/flake/flint-git-hook.nix b/nix/modules/flake/flint-git-hook.nix index cfca8b2..96a0c0b 100644 --- a/nix/modules/flake/flint-git-hook.nix +++ b/nix/modules/flake/flint-git-hook.nix @@ -6,19 +6,21 @@ let inherit (lib) getExe - ; + ; in { - perSystem = { config, pkgs, ... }: { - pre-commit.settings.hooks = { - flint = { - name = "flint"; - description = "Check flake dependencies"; - package = pkgs.notashelf.flint; - entry = "${getExe config.pre-commit.settings.hooks.flint.package} --fail-if-multiple-versions"; - files = "^flake\.(nix|lock)$"; - pass_filenames = false; + perSystem = + { config, pkgs, ... }: + { + pre-commit.settings.hooks = { + flint = { + name = "flint"; + description = "Check flake dependencies"; + package = pkgs.notashelf.flint; + entry = "${getExe config.pre-commit.settings.hooks.flint.package} --fail-if-multiple-versions"; + files = "^flake\.(nix|lock)$"; + pass_filenames = false; + }; }; }; - }; } diff --git a/nix/modules/flake/gitleaks-git-hook.nix b/nix/modules/flake/gitleaks-git-hook.nix index 60d81ea..37f03cb 100644 --- a/nix/modules/flake/gitleaks-git-hook.nix +++ b/nix/modules/flake/gitleaks-git-hook.nix @@ -6,18 +6,20 @@ let inherit (lib) getExe - ; + ; in { - perSystem = { config, pkgs, ... }: { - pre-commit.settings.hooks = { - gitleaks = { - name = "gitleaks"; - description = "Detect hardcoded secrets using Gitleaks"; - package = pkgs.gitleaks; - entry = "${getExe config.pre-commit.settings.hooks.gitleaks.package} git --pre-commit --redact --staged --verbose"; - pass_filenames = false; + perSystem = + { config, pkgs, ... }: + { + pre-commit.settings.hooks = { + gitleaks = { + name = "gitleaks"; + description = "Detect hardcoded secrets using Gitleaks"; + package = pkgs.gitleaks; + entry = "${getExe config.pre-commit.settings.hooks.gitleaks.package} git --pre-commit --redact --staged --verbose"; + pass_filenames = false; + }; }; }; - }; } diff --git a/nix/modules/flake/per-system-flake-inputs.nix b/nix/modules/flake/per-system-flake-inputs.nix index 9a63166..5d8bb59 100644 --- a/nix/modules/flake/per-system-flake-inputs.nix +++ b/nix/modules/flake/per-system-flake-inputs.nix @@ -7,7 +7,7 @@ let inherit (lib) mapAttrs mkDefault - ; + ; in { perInput = _system: mapAttrs (_: mkDefault); diff --git a/nix/modules/home-manager/default-shell.nix b/nix/modules/home-manager/default-shell.nix index 8e22fb7..a6f2099 100644 --- a/nix/modules/home-manager/default-shell.nix +++ b/nix/modules/home-manager/default-shell.nix @@ -7,7 +7,7 @@ let inherit (lib) mkOption types - ; + ; in { options = { diff --git a/nix/modules/home-manager/xdg-bin-home.nix b/nix/modules/home-manager/xdg-bin-home.nix index 35d8db4..01ccbde 100644 --- a/nix/modules/home-manager/xdg-bin-home.nix +++ b/nix/modules/home-manager/xdg-bin-home.nix @@ -13,17 +13,18 @@ let mkOption nameValuePair types - ; + ; cfg = config.xdg; inherit (config.home) homeDirectory - ; + ; - fileType = (import "${inputs'.home-manager}/modules/lib/file-type.nix" { - inherit homeDirectory lib pkgs; - }).fileType; + fileType = + (import "${inputs'.home-manager}/modules/lib/file-type.nix" { + inherit homeDirectory lib pkgs; + }).fileType; in { options = { diff --git a/nix/packages/default.nix b/nix/packages/default.nix index 37c34b9..1378b9d 100644 --- a/nix/packages/default.nix +++ b/nix/packages/default.nix @@ -17,7 +17,7 @@ import inputs.nixpkgs { inherit (final.unstable) logitech-udev-rules solaar - ; + ; }) (final: _prev: { diff --git a/nix/packages/nix-fast-build.nix b/nix/packages/nix-fast-build.nix index 93feb4f..81abb4f 100644 --- a/nix/packages/nix-fast-build.nix +++ b/nix/packages/nix-fast-build.nix @@ -10,7 +10,7 @@ nix-fast-build.overrideAttrs (prev: { rev = "f5ca03a4387aecd739d60c77ae26e567481c3013"; hash = "sha256-mInYAyDT49w0ux7Jgg4Ny3igyEKlRvqzG2KAG9YVmsg="; }; - patches = (prev.patches or []) ++ [ + patches = (prev.patches or [ ]) ++ [ (fetchpatch2 { name = "support-impure-derivations.patch"; url = "https://patch-diff.githubusercontent.com/raw/Mic92/nix-fast-build/pull/301.patch"; diff --git a/nix/users/ilkecan/appearence/fonts.nix b/nix/users/ilkecan/appearence/fonts.nix index a4ef2a9..f6adc22 100644 --- a/nix/users/ilkecan/appearence/fonts.nix +++ b/nix/users/ilkecan/appearence/fonts.nix @@ -9,9 +9,18 @@ antialiasing = true; hinting = "slight"; defaultFonts = { - monospace = [ "Noto Sans Mono" "Noto Sans Math" ]; - sansSerif = [ "Noto Sans" "Noto Sans Math" ]; - serif = [ "Noto Serif" "Noto Sans Math" ]; + monospace = [ + "Noto Sans Mono" + "Noto Sans Math" + ]; + sansSerif = [ + "Noto Sans" + "Noto Sans Math" + ]; + serif = [ + "Noto Serif" + "Noto Sans Math" + ]; }; }; diff --git a/nix/users/ilkecan/command-line/default.nix b/nix/users/ilkecan/command-line/default.nix index 5363416..84aea86 100644 --- a/nix/users/ilkecan/command-line/default.nix +++ b/nix/users/ilkecan/command-line/default.nix @@ -31,7 +31,11 @@ theme = "solarized_dark"; settings = { keyboard.bindings = [ - { key = "Return"; mods = "Shift"; chars = "\n"; } + { + key = "Return"; + mods = "Shift"; + chars = "\n"; + } ]; }; }; diff --git a/nix/users/ilkecan/command-line/shells/zsh/autosuggestion.nix b/nix/users/ilkecan/command-line/shells/zsh/autosuggestion.nix index df084ec..9a7f4c9 100644 --- a/nix/users/ilkecan/command-line/shells/zsh/autosuggestion.nix +++ b/nix/users/ilkecan/command-line/shells/zsh/autosuggestion.nix @@ -7,7 +7,7 @@ let inherit (lib) mkOrder - ; + ; in { home.packages = with pkgs; [ zsh-autosuggestions ]; diff --git a/nix/users/ilkecan/command-line/shells/zsh/default.nix b/nix/users/ilkecan/command-line/shells/zsh/default.nix index e7082c6..26ad980 100644 --- a/nix/users/ilkecan/command-line/shells/zsh/default.nix +++ b/nix/users/ilkecan/command-line/shells/zsh/default.nix @@ -11,12 +11,12 @@ let mapAttrsToList mkMerge mkOrder - ; + ; inherit (config.xdg) cacheHome configHome - ; + ; keyBindings = { "^H" = "vi-backward-kill-word"; diff --git a/nix/users/ilkecan/command-line/shells/zsh/history.nix b/nix/users/ilkecan/command-line/shells/zsh/history.nix index 2aeb85d..dc7bbec 100644 --- a/nix/users/ilkecan/command-line/shells/zsh/history.nix +++ b/nix/users/ilkecan/command-line/shells/zsh/history.nix @@ -7,11 +7,11 @@ let inherit (lib) mkOrder - ; + ; inherit (config.xdg) stateHome - ; + ; cfg = config.programs.zsh; in diff --git a/nix/users/ilkecan/command-line/shells/zsh/powerlevel10k.nix b/nix/users/ilkecan/command-line/shells/zsh/powerlevel10k.nix index 57a1094..9426d68 100644 --- a/nix/users/ilkecan/command-line/shells/zsh/powerlevel10k.nix +++ b/nix/users/ilkecan/command-line/shells/zsh/powerlevel10k.nix @@ -10,11 +10,11 @@ let inherit (lib) mkBefore mkMerge - ; + ; inherit (config.xdg) cacheHome - ; + ; pkg = pkgs.zsh-powerlevel10k; in diff --git a/nix/users/ilkecan/default.nix b/nix/users/ilkecan/default.nix index 4d69de2..5ea88b0 100644 --- a/nix/users/ilkecan/default.nix +++ b/nix/users/ilkecan/default.nix @@ -115,7 +115,7 @@ in programs.ssh = { enable = true; - enableDefaultConfig = false; # TODO get rid of this + enableDefaultConfig = false; # TODO get rid of this }; # This value determines the Home Manager release that your diff --git a/nix/users/ilkecan/file-managers/nautilus.nix b/nix/users/ilkecan/file-managers/nautilus.nix index b9e6000..c58bdad 100644 --- a/nix/users/ilkecan/file-managers/nautilus.nix +++ b/nix/users/ilkecan/file-managers/nautilus.nix @@ -5,25 +5,26 @@ let thumbnailers = with pkgs; [ - ffmpegthumbnailer # https://github.com/dirkvdb/ffmpegthumbnailer - gnome-epub-thumbnailer # https://gitlab.gnome.org/GNOME/gnome-epub-thumbnailer - libheif # https://github.com/strukturag/libheif - libheif.out # https://github.com/NixOS/nixpkgs/pull/427112 + ffmpegthumbnailer # https://github.com/dirkvdb/ffmpegthumbnailer + gnome-epub-thumbnailer # https://gitlab.gnome.org/GNOME/gnome-epub-thumbnailer + libheif # https://github.com/strukturag/libheif + libheif.out # https://github.com/NixOS/nixpkgs/pull/427112 nufraw-thumbnailer - papers # https://gitlab.gnome.org/GNOME/papers - unstable.bign-handheld-thumbnailer # https://github.com/MateusRodCosta/bign-handheld-thumbnailer - patched.gnome-font-viewer # https://gitlab.gnome.org/GNOME/gnome-font-viewer - patched.icoextract # https://github.com/jlu5/icoextract - patched.libgsf # https://gitlab.gnome.org/GNOME/libgsf - patched.sameboy # https://github.com/LIJI32/SameBoy - unstable.gnome-kra-ora-thumbnailer # https://gitlab.gnome.org/GNOME/gnome-kra-ora-thumbnailer/ - xapp-thumbnailers # https://github.com/linuxmint/xapp-thumbnailers + papers # https://gitlab.gnome.org/GNOME/papers + unstable.bign-handheld-thumbnailer # https://github.com/MateusRodCosta/bign-handheld-thumbnailer + patched.gnome-font-viewer # https://gitlab.gnome.org/GNOME/gnome-font-viewer + patched.icoextract # https://github.com/jlu5/icoextract + patched.libgsf # https://gitlab.gnome.org/GNOME/libgsf + patched.sameboy # https://github.com/LIJI32/SameBoy + unstable.gnome-kra-ora-thumbnailer # https://gitlab.gnome.org/GNOME/gnome-kra-ora-thumbnailer/ + xapp-thumbnailers # https://github.com/linuxmint/xapp-thumbnailers ]; in { - home.packages = with pkgs; [ - nautilus - ] - ++ thumbnailers - ; + home.packages = + with pkgs; + [ + nautilus + ] + ++ thumbnailers; } diff --git a/nix/users/ilkecan/gaming/default.nix b/nix/users/ilkecan/gaming/default.nix index 295256b..105007c 100644 --- a/nix/users/ilkecan/gaming/default.nix +++ b/nix/users/ilkecan/gaming/default.nix @@ -9,11 +9,11 @@ ]; home.packages = with pkgs; [ - goverlay # github.com/benjamimgois/goverlay + goverlay # github.com/benjamimgois/goverlay hyperion-ng itch moonlight-qt - protonplus # https://github.com/Vysp3r/ProtonPlus + protonplus # https://github.com/Vysp3r/ProtonPlus ]; programs = { diff --git a/nix/users/ilkecan/gaming/steam.nix b/nix/users/ilkecan/gaming/steam.nix index d79f004..c9f3207 100644 --- a/nix/users/ilkecan/gaming/steam.nix +++ b/nix/users/ilkecan/gaming/steam.nix @@ -7,6 +7,6 @@ home.packages = with pkgs; [ samira # https://github.com/jsnli/Samira steam-tui # https://github.com/dmadisetti/steam-tui - steamcmd # https://developer.valvesoftware.com/wiki/SteamCMD + steamcmd # https://developer.valvesoftware.com/wiki/SteamCMD ]; } diff --git a/nix/users/ilkecan/gtk.nix b/nix/users/ilkecan/gtk.nix index 22eeb41..65adfb3 100644 --- a/nix/users/ilkecan/gtk.nix +++ b/nix/users/ilkecan/gtk.nix @@ -8,7 +8,7 @@ let inherit (lib) attrVals - ; + ; toUri = protocol: path: "${protocol}://${path}"; toFile = toUri "file"; diff --git a/nix/users/ilkecan/hardware/default.nix b/nix/users/ilkecan/hardware/default.nix index 328291d..08f1879 100644 --- a/nix/users/ilkecan/hardware/default.nix +++ b/nix/users/ilkecan/hardware/default.nix @@ -17,9 +17,9 @@ hw-probe hwinfo libva-utils - mesa-demos # for `eglinfo` + mesa-demos # for `eglinfo` pciutils - usbutils # for `lsusb` + usbutils # for `lsusb` vulkan-tools ]; } diff --git a/nix/users/ilkecan/hardware/display.nix b/nix/users/ilkecan/hardware/display.nix index 42b1134..3c0b6e4 100644 --- a/nix/users/ilkecan/hardware/display.nix +++ b/nix/users/ilkecan/hardware/display.nix @@ -3,7 +3,7 @@ }: { - services.wluma = { + services.wluma = { enable = true; settings = { als.time = { diff --git a/nix/users/ilkecan/input/keyboard.nix b/nix/users/ilkecan/input/keyboard.nix index ab3553a..cd6d88e 100644 --- a/nix/users/ilkecan/input/keyboard.nix +++ b/nix/users/ilkecan/input/keyboard.nix @@ -5,7 +5,7 @@ { home.packages = with pkgs; [ - bucklespring-libinput # https://github.com/zevv/bucklespring - xremap # https://github.com/xremap/xremap, https://github.com/xremap/xremap/blob/master/doc/running_with_sudo.md, https://github.com/xremap/nix-flake + bucklespring-libinput # https://github.com/zevv/bucklespring + xremap # https://github.com/xremap/xremap, https://github.com/xremap/xremap/blob/master/doc/running_with_sudo.md, https://github.com/xremap/nix-flake ]; } diff --git a/nix/users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix b/nix/users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix index 9cc5044..4dd5548 100644 --- a/nix/users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix +++ b/nix/users/ilkecan/internet/communication/email/thunderbird/profiles/ilkecan.nix @@ -43,11 +43,9 @@ in "privacy.donottrackheader.enabled" = true; }; - userChrome = '' - ''; + userChrome = ""; - userContent = '' - ''; + userContent = ""; }; }; } diff --git a/nix/users/ilkecan/internet/default.nix b/nix/users/ilkecan/internet/default.nix index 81f165a..b343fe6 100644 --- a/nix/users/ilkecan/internet/default.nix +++ b/nix/users/ilkecan/internet/default.nix @@ -12,6 +12,6 @@ ]; home.packages = with pkgs; [ - bandwhich # https://github.com/imsnif/bandwhich + bandwhich # https://github.com/imsnif/bandwhich ]; } diff --git a/nix/users/ilkecan/internet/web/browsers/chromium.nix b/nix/users/ilkecan/internet/web/browsers/chromium.nix index 5d68076..2a67963 100644 --- a/nix/users/ilkecan/internet/web/browsers/chromium.nix +++ b/nix/users/ilkecan/internet/web/browsers/chromium.nix @@ -8,14 +8,19 @@ let inherit (builtins) fetchurl - ; + ; inherit (lib) versions - ; + ; browserVersion = versions.major config.programs.chromium.package.version; - createChromiumExtension = { id, sha256, version }: + createChromiumExtension = + { + id, + sha256, + version, + }: { inherit id; crxPath = fetchurl { diff --git a/nix/users/ilkecan/internet/web/browsers/firefox/default.nix b/nix/users/ilkecan/internet/web/browsers/firefox/default.nix index 245f245..c56de3d 100644 --- a/nix/users/ilkecan/internet/web/browsers/firefox/default.nix +++ b/nix/users/ilkecan/internet/web/browsers/firefox/default.nix @@ -13,7 +13,7 @@ let elemAt length versions - ; + ; cfg = config.programs.firefox; version = versions.majorMinor cfg.package.version; @@ -26,18 +26,22 @@ in ]; home.packages = with pkgs; [ - nur.repos.vladexa.mozlz4 # https://github.com/jusw85/mozlz4 + nur.repos.vladexa.mozlz4 # https://github.com/jusw85/mozlz4 ]; programs.firefox = { enable = true; package = pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { pipewireSupport = true; - }) {}; + }) { }; betterfox = { enable = true; - version = if elem version supportedVersions then version else elemAt supportedVersions (length supportedVersions - 1); + version = + if elem version supportedVersions then + version + else + elemAt supportedVersions (length supportedVersions - 1); }; languagePacks = [ diff --git a/nix/users/ilkecan/internet/web/browsers/firefox/policies.nix b/nix/users/ilkecan/internet/web/browsers/firefox/policies.nix index 8e1661a..d056ef6 100644 --- a/nix/users/ilkecan/internet/web/browsers/firefox/policies.nix +++ b/nix/users/ilkecan/internet/web/browsers/firefox/policies.nix @@ -9,11 +9,11 @@ let attrNames attrValues concatMap - ; + ; inherit (lib) genAttrs - ; + ; cfg = config.programs.firefox; extensionIds = concatMap (x: attrNames x.extensions.settings) (attrValues cfg.profiles); @@ -49,13 +49,18 @@ in Value = true; Locked = true; Category = "strict"; - Exceptions = []; + Exceptions = [ ]; BaselineExceptions = true; ConvenienceExceptions = true; }; ExtensionSettings = { "*".installation_mode = "blocked"; - } // genAttrs extensionIds (_: { installation_mode = "force_installed"; private_browsing = true; default_area = "navbar"; }); + } + // genAttrs extensionIds (_: { + installation_mode = "force_installed"; + private_browsing = true; + default_area = "navbar"; + }); ExtensionUpdate = false; FirefoxHome = { Search = false; diff --git a/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix index b16cb4a..445515d 100644 --- a/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix +++ b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/search.nix @@ -10,10 +10,10 @@ let concatStringsSep genAttrs mapAttrsToList - ; + ; defaultSearchEngines = [ - "7esoorv3@alefvanoon.anonaddy.medefault" # libredirect + "7esoorv3@alefvanoon.anonaddy.medefault" # libredirect "bing" "ddg" "google" @@ -61,188 +61,247 @@ in "pypi" ]; - engines = genAttrs defaultSearchEngines (_: { metaData.hidden = true; }) // { - # NOTE: To be able to define custom engines for the built-in ones both id - # and name has to be different: - # - id: we are using `2` as the suffix - # - name: we are using "zero width space" as the suffix. - - archlinux = { - name = "ArchWiki"; - urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ]; - iconMapObj."16" = "https://wiki.archlinux.org/favicon.ico"; - definedAliases = [ "@archlinux" "@arch" ]; + engines = + genAttrs defaultSearchEngines (_: { + metaData.hidden = true; + }) + // { + # NOTE: To be able to define custom engines for the built-in ones both id + # and name has to be different: + # - id: we are using `2` as the suffix + # - name: we are using "zero width space" as the suffix. + + archlinux = { + name = "ArchWiki"; + urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ]; + iconMapObj."16" = "https://wiki.archlinux.org/favicon.ico"; + definedAliases = [ + "@archlinux" + "@arch" + ]; + }; + + aur = { + name = "AUR"; + urls = [ { template = "https://aur.archlinux.org/packages?K={searchTerms}"; } ]; + iconMapObj."16" = "https://aur.archlinux.org/static/images/favicon.ico"; + definedAliases = [ "@aur" ]; + }; + + duckduckgo = { + name = "DuckDuckGo​"; + urls = [ { template = "https://duckduckgo.com/?q={searchTerms}"; } ]; + iconMapObj."32" = "https://duckduckgo.com/favicon.ico"; + definedAliases = [ + "@duckduckgo" + "@ddg" + ]; + }; + + home-manager = { + name = "Home Manager"; + urls = [ + { + template = "https://github.com/search?type=code&q=repo:nix-community/home-manager {searchTerms}"; + } + ]; + icon = nixSnowflake; + definedAliases = [ + "@home-manager" + "@hm" + ]; + }; + + home-manager-options = { + name = "Home Manager Options"; + urls = [ { template = "https://home-manager-options.extranix.com?query={searchTerms}"; } ]; + icon = nixSnowflake; + definedAliases = [ "@hmo" ]; + }; + + github = { + name = "GitHub"; + urls = [ { template = "https://github.com/search?type=repositories&q={searchTerms}"; } ]; + iconMapObj."32" = "https://github.com/favicon.ico"; + definedAliases = [ + "@github" + "@gh" + ]; + }; + + google2 = { + name = "Google​"; + urls = + let + queryParams = { + gl = "us"; # for more "globalized" results + pws = "0"; # disable personalization + q = "{searchTerms}"; + udm = "14"; # https://udm14.org/ + }; + query = concatStringsSep "&" (mapAttrsToList (k: v: "${k}=${v}") queryParams); + in + [ { template = "https://www.google.com/search?${query}"; } ]; + iconMapObj."32" = "https://www.google.com/favicon.ico"; + definedAliases = [ + "@google" + "@g" + ]; + }; + + kagi = { + name = "Kagi"; + urls = [ { template = "https://kagi.com/search?q={searchTerms}"; } ]; + iconMapObj."32" = "https://kagi.com/favicon.ico"; + definedAliases = [ + "@kagi" + "@k" + ]; + }; + + nix-packages = { + name = "Nix Packages"; + urls = [ { template = "https://search.nixos.org/packages?query={searchTerms}"; } ]; + icon = nixSnowflake; + definedAliases = [ "@np" ]; + }; + + nixos-options = { + name = "NixOS Options"; + urls = [ { template = "https://search.nixos.org/options?query={searchTerms}"; } ]; + icon = nixSnowflake; + definedAliases = [ "@no" ]; + }; + + nixos-wiki = { + name = "NixOS Wiki"; + urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ]; + icon = nixSnowflake; + definedAliases = [ "@nw" ]; + }; + + nixpkgs = { + name = "Nixpkgs"; + urls = [ { template = "https://github.com/search?type=code&q=repo:NixOS/nixpkgs {searchTerms}"; } ]; + icon = nixSnowflake; + definedAliases = [ + "@nixpkgs" + "@pkgs" + ]; + }; + + nixpkgs-pull-request-tracker = { + name = "Nixpkgs Pull Request Tracker"; + urls = [ { template = "https://nixpk.gs/pr-tracker.html?pr={searchTerms}"; } ]; + definedAliases = [ + "@nprt" + "@npr" + ]; + }; + + noogle = { + name = "Noogle"; + urls = [ { template = "https://noogle.dev/q?term={searchTerms}"; } ]; + icon = nixSnowflake; + definedAliases = [ + "@noogle" + "@nog" + ]; + }; + + nur = { + name = "NUR"; + urls = [ { template = "https://nur.nix-community.org/?query={searchTerms}"; } ]; + icon = nixSnowflake; + definedAliases = [ "@nur" ]; + }; + + pypi = { + name = "PyPI"; + urls = [ { template = "https://pypi.org/search/?q={searchTerms}"; } ]; + iconMapObj."32" = "https://pypi.org/favicon.ico"; + definedAliases = [ "@pypi" ]; + }; + + python = { + name = "Python documentation"; + urls = [ { template = "https://docs.python.org/3/search.html?q={searchTerms}"; } ]; + iconMapObj."48" = "https://docs.python.org/favicon.ico"; + definedAliases = [ + "@python" + "@py" + ]; + }; + + rails = { + name = "Ruby on Rails API"; + urls = [ { template = "https://api.rubyonrails.org/?q={searchTerms}"; } ]; + iconMapObj."64" = "https://api.rubyonrails.org/favicon.ico"; + definedAliases = [ + "@rails" + "@r" + ]; + }; + + ruby = { + name = "Documenation for Ruby"; + urls = [ { template = "https://docs.ruby-lang.org/en/4.0/?q={searchTerms}"; } ]; + iconMapObj."32" = "https://docs.ruby-lang.org/favicon.ico"; + definedAliases = [ + "@ruby" + "@rb" + ]; + }; + + rubygems = { + name = "RubyGems"; + urls = [ { template = "https://rubygems.org/search?query={searchTerms}"; } ]; + iconMapObj."256" = "https://rubygems.org/favicon.ico"; + definedAliases = [ + "@rubygems" + "@rg" + "@gem" + ]; + }; + + startpage = { + name = "StartPage"; + urls = [ { template = "https://www.startpage.com/sp/search?query={searchTerms}"; } ]; + iconMapObj."32" = "https://www.startpage.com/favicon.ico"; + definedAliases = [ + "@startpage" + "@sp" + ]; + }; + + urban-dictionary = { + name = "Urban Dictionary"; + urls = [ { template = "https://www.urbandictionary.com/define.php?term={searchTerms}"; } ]; + iconMapObj."48" = "https://www.urbandictionary.com/favicon.ico"; + definedAliases = [ "@urban" ]; + }; + + wikipedia2 = { + name = "Wikipedia"; + urls = [ { template = "https://en.wikipedia.org/w/index.php?search={searchTerms}"; } ]; + iconMapObj."48" = "https://en.wikipedia.org/favicon.ico"; + definedAliases = [ + "@wikipedia" + "@wiki" + "@wk" + ]; + }; + + youtube = { + name = "YouTube"; + urls = [ { template = "https://www.youtube.com/results?search_query={searchTerms}"; } ]; + iconMapObj."16" = "https://www.youtube.com/favicon.ico"; + definedAliases = [ + "@youtube" + "@yt" + "@y" + ]; + }; }; - - aur = { - name = "AUR"; - urls = [ { template = "https://aur.archlinux.org/packages?K={searchTerms}"; } ]; - iconMapObj."16" = "https://aur.archlinux.org/static/images/favicon.ico"; - definedAliases = [ "@aur" ]; - }; - - duckduckgo = { - name = "DuckDuckGo​"; - urls = [ { template = "https://duckduckgo.com/?q={searchTerms}"; } ]; - iconMapObj."32" = "https://duckduckgo.com/favicon.ico"; - definedAliases = [ "@duckduckgo" "@ddg" ]; - }; - - home-manager = { - name = "Home Manager"; - urls = [ { template = "https://github.com/search?type=code&q=repo:nix-community/home-manager {searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@home-manager" "@hm" ]; - }; - - home-manager-options = { - name = "Home Manager Options"; - urls = [ { template = "https://home-manager-options.extranix.com?query={searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@hmo" ]; - }; - - github = { - name = "GitHub"; - urls = [ { template = "https://github.com/search?type=repositories&q={searchTerms}"; } ]; - iconMapObj."32" = "https://github.com/favicon.ico"; - definedAliases = [ "@github" "@gh" ]; - }; - - google2 = { - name = "Google​"; - urls = - let - queryParams = { - gl = "us"; # for more "globalized" results - pws = "0"; # disable personalization - q = "{searchTerms}"; - udm = "14"; # https://udm14.org/ - }; - query = concatStringsSep "&" (mapAttrsToList (k: v: "${k}=${v}") queryParams); - in - [ { template = "https://www.google.com/search?${query}"; } ]; - iconMapObj."32" = "https://www.google.com/favicon.ico"; - definedAliases = [ "@google" "@g" ]; - }; - - kagi = { - name = "Kagi"; - urls = [ { template = "https://kagi.com/search?q={searchTerms}"; } ]; - iconMapObj."32" = "https://kagi.com/favicon.ico"; - definedAliases = [ "@kagi" "@k" ]; - }; - - nix-packages = { - name = "Nix Packages"; - urls = [ { template = "https://search.nixos.org/packages?query={searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@np" ]; - }; - - nixos-options = { - name = "NixOS Options"; - urls = [ { template = "https://search.nixos.org/options?query={searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@no" ]; - }; - - nixos-wiki = { - name = "NixOS Wiki"; - urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@nw" ]; - }; - - nixpkgs = { - name = "Nixpkgs"; - urls = [ { template = "https://github.com/search?type=code&q=repo:NixOS/nixpkgs {searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@nixpkgs" "@pkgs" ]; - }; - - nixpkgs-pull-request-tracker = { - name = "Nixpkgs Pull Request Tracker"; - urls = [ { template = "https://nixpk.gs/pr-tracker.html?pr={searchTerms}"; } ]; - definedAliases = [ "@nprt" "@npr" ]; - }; - - noogle = { - name = "Noogle"; - urls = [ { template = "https://noogle.dev/q?term={searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@noogle" "@nog" ]; - }; - - nur = { - name = "NUR"; - urls = [ { template = "https://nur.nix-community.org/?query={searchTerms}"; } ]; - icon = nixSnowflake; - definedAliases = [ "@nur" ]; - }; - - pypi = { - name = "PyPI"; - urls = [ { template = "https://pypi.org/search/?q={searchTerms}"; } ]; - iconMapObj."32" = "https://pypi.org/favicon.ico"; - definedAliases = [ "@pypi" ]; - }; - - python = { - name = "Python documentation"; - urls = [ { template = "https://docs.python.org/3/search.html?q={searchTerms}"; } ]; - iconMapObj."48" = "https://docs.python.org/favicon.ico"; - definedAliases = [ "@python" "@py" ]; - }; - - rails = { - name = "Ruby on Rails API"; - urls = [ { template = "https://api.rubyonrails.org/?q={searchTerms}"; } ]; - iconMapObj."64"= "https://api.rubyonrails.org/favicon.ico"; - definedAliases = [ "@rails" "@r" ]; - }; - - ruby = { - name = "Documenation for Ruby"; - urls = [ { template = "https://docs.ruby-lang.org/en/4.0/?q={searchTerms}"; } ]; - iconMapObj."32" = "https://docs.ruby-lang.org/favicon.ico"; - definedAliases = [ "@ruby" "@rb" ]; - }; - - rubygems = { - name = "RubyGems"; - urls = [ { template = "https://rubygems.org/search?query={searchTerms}"; } ]; - iconMapObj."256" = "https://rubygems.org/favicon.ico"; - definedAliases = [ "@rubygems" "@rg" "@gem" ]; - }; - - startpage = { - name = "StartPage"; - urls = [ { template = "https://www.startpage.com/sp/search?query={searchTerms}"; } ]; - iconMapObj."32" = "https://www.startpage.com/favicon.ico"; - definedAliases = [ "@startpage" "@sp" ]; - }; - - urban-dictionary = { - name = "Urban Dictionary"; - urls = [ { template = "https://www.urbandictionary.com/define.php?term={searchTerms}"; } ]; - iconMapObj."48" = "https://www.urbandictionary.com/favicon.ico"; - definedAliases = [ "@urban" ]; - }; - - wikipedia2 = { - name = "Wikipedia"; - urls = [ { template = "https://en.wikipedia.org/w/index.php?search={searchTerms}"; } ]; - iconMapObj."48" = "https://en.wikipedia.org/favicon.ico"; - definedAliases = [ "@wikipedia" "@wiki" "@wk" ]; - }; - - youtube = { - name = "YouTube"; - urls = [ { template = "https://www.youtube.com/results?search_query={searchTerms}"; } ]; - iconMapObj."16" = "https://www.youtube.com/favicon.ico"; - definedAliases = [ "@youtube" "@yt" "@y" ]; - }; - }; }; } diff --git a/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix index beccd82..63259b1 100644 --- a/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix +++ b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/betterfox.nix @@ -42,8 +42,8 @@ "gfx.webrender.quality.force-subpixel-aa-where-possible" = true; ### url-bar - "browser.urlbar.suggest.engines" = false; # about:preferences#search > Address Bar > Suggest search engines to use - "browser.urlbar.suggest.topsites" = false; # about:preferences#search > Address Bar > Shortcuts + "browser.urlbar.suggest.engines" = false; # about:preferences#search > Address Bar > Suggest search engines to use + "browser.urlbar.suggest.topsites" = false; # about:preferences#search > Address Bar > Shortcuts "browser.urlbar.maxRichResults" = 5; ### autoplay @@ -60,7 +60,7 @@ "widget.gtk.hide-pointer-while-typing.enabled" = false; ### keyboard-and-shortcuts - "browser.ctrlTab.sortByRecentlyUsed" = true; # Ctrl+Tab cycles through tabs in recently used order + "browser.ctrlTab.sortByRecentlyUsed" = true; # Ctrl+Tab cycles through tabs in recently used order ### accessibility-and-usability "reader.parse-on-load.enabled" = false; diff --git a/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix index 1c3ffb3..f6c3d63 100644 --- a/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix +++ b/nix/users/ilkecan/internet/web/browsers/firefox/profiles/ilkecan/settings/default.nix @@ -5,7 +5,7 @@ let inherit (builtins) concatStringsSep - ; + ; comSepList = concatStringsSep ","; in @@ -20,11 +20,15 @@ in "browser.download.forbid_open_with" = true; "browser.newtabpage.activity-stream.newtabWallpapers.wallpaper" = "firefox-b"; "browser.quitShortcut.disabled" = true; - "browser.translations.automaticallyPopup" = false; # disable "Always offer to translate" + "browser.translations.automaticallyPopup" = false; # disable "Always offer to translate" "browser.urlbar.suggest.quickactions" = false; # about:preferences#search > Address Bar > Quick Actions "devtools.anti-tracking.enabled" = true; "devtools.toolbox.host" = "right"; - "intl.accept_languages" = comSepList [ "en" "en-us" "tr" ]; + "intl.accept_languages" = comSepList [ + "en" + "en-us" + "tr" + ]; "media.videocontrols.picture-in-picture.enabled" = false; # https://github.com/arkenfox/user.js/issues/1080#issue-774750296 "privacy.clearHistory.browsingHistoryAndDownloads" = false; @@ -38,7 +42,6 @@ in "widget.use-xdg-desktop-portal.open-uri" = 1; "widget.use-xdg-desktop-portal.settings" = 1; - "extensions.ml.enabled" = false; "pdfjs.enableAltTextModelDownload" = false; "pdfjs.enableGuessAltText" = false; diff --git a/nix/users/ilkecan/internet/web/feed.nix b/nix/users/ilkecan/internet/web/feed.nix index 18532e1..bf20850 100644 --- a/nix/users/ilkecan/internet/web/feed.nix +++ b/nix/users/ilkecan/internet/web/feed.nix @@ -5,6 +5,6 @@ { home.packages = with pkgs; [ - newsflash # https://gitlab.com/news-flash/news_flash_gtk + newsflash # https://gitlab.com/news-flash/news_flash_gtk ]; } diff --git a/nix/users/ilkecan/llm/claude-code.nix b/nix/users/ilkecan/llm/claude-code.nix index 287eaa5..ca035c9 100644 --- a/nix/users/ilkecan/llm/claude-code.nix +++ b/nix/users/ilkecan/llm/claude-code.nix @@ -17,13 +17,17 @@ programs = { claude-code = { enable = true; - package = (pkgs.llm-agents.claude-code.override { - disableTelemetry = true; - }).overrideAttrs (prev: { - # TODO: remove this after 26.05 - meta = prev.meta // { maintainers = [ ]; }; # to fix `attribute 'ryoppippi' missing` - }); - enableMcpIntegration = true; + package = + (pkgs.llm-agents.claude-code.override { + disableTelemetry = true; + }).overrideAttrs + (prev: { + # TODO: remove this after 26.05 + meta = prev.meta // { + maintainers = [ ]; + }; # to fix `attribute 'ryoppippi' missing` + }); + enableMcpIntegration = true; }; }; } diff --git a/nix/users/ilkecan/llm/mcp.nix b/nix/users/ilkecan/llm/mcp.nix index e7ce817..5771b7b 100644 --- a/nix/users/ilkecan/llm/mcp.nix +++ b/nix/users/ilkecan/llm/mcp.nix @@ -8,11 +8,19 @@ mcp-servers.programs = { fetch.enable = true; git.enable = true; - github = { enable = true; envFile = config.sops.templates.github-mpc-server-env.path; }; + github = { + enable = true; + envFile = config.sops.templates.github-mpc-server-env.path; + }; memory.enable = true; nixos.enable = true; sequential-thinking.enable = true; - serena = { enable = true; args = [ "--project-from-cwd" ]; context = "claude-code"; enableWebDashboard = true; }; + serena = { + enable = true; + args = [ "--project-from-cwd" ]; + context = "claude-code"; + enableWebDashboard = true; + }; terraform.enable = true; time.enable = true; }; diff --git a/nix/users/ilkecan/multimedia/audio/easyeffects/default.nix b/nix/users/ilkecan/multimedia/audio/easyeffects/default.nix index 799aa7b..b327311 100644 --- a/nix/users/ilkecan/multimedia/audio/easyeffects/default.nix +++ b/nix/users/ilkecan/multimedia/audio/easyeffects/default.nix @@ -6,11 +6,11 @@ let inherit (lib.my-pkgs) callExpression - ; + ; inherit (lib.my) importTree - ; + ; in { services.easyeffects = { @@ -18,6 +18,10 @@ in enable = true; # https://github.com/wwmm/easyeffects/wiki/Community-Presets - extraPresets = importTree { root = ./presets; importFn = callExpression; depth = 1; }; + extraPresets = importTree { + root = ./presets; + importFn = callExpression; + depth = 1; + }; }; } diff --git a/nix/users/ilkecan/multimedia/gstreamer.nix b/nix/users/ilkecan/multimedia/gstreamer.nix index 2381e79..6ed173b 100644 --- a/nix/users/ilkecan/multimedia/gstreamer.nix +++ b/nix/users/ilkecan/multimedia/gstreamer.nix @@ -7,7 +7,7 @@ let inherit (config.home) profileDirectory - ; + ; in { home.sessionVariables = { diff --git a/nix/users/ilkecan/multimedia/image.nix b/nix/users/ilkecan/multimedia/image.nix index 66fa062..bab5ee1 100644 --- a/nix/users/ilkecan/multimedia/image.nix +++ b/nix/users/ilkecan/multimedia/image.nix @@ -7,7 +7,7 @@ home.packages = with pkgs; [ imagemagick krita - libjxl # `cjxl` & `jxlinfo` + libjxl # `cjxl` & `jxlinfo` ]; programs = { diff --git a/nix/users/ilkecan/multimedia/video.nix b/nix/users/ilkecan/multimedia/video.nix index 54d6552..e3cda7f 100644 --- a/nix/users/ilkecan/multimedia/video.nix +++ b/nix/users/ilkecan/multimedia/video.nix @@ -17,20 +17,20 @@ }; config = { border = "no"; # uosc will draw its own window controls and border if you disable window border - hwdec = "auto"; # https://wiki.archlinux.org/title/Mpv#Hardware_video_acceleration - interpolation = "yes"; # https://github.com/tomasklaen/uosc#manual - osd-bar = "no"; # uosc provides seeking & volume indicators (via flash-timeline and flash-volume commands) if you decide to use them, you don't need osd-bar - profile = "high-quality"; # https://wiki.archlinux.org/title/Mpv#High_quality_configurations - sub-auto = "fuzzy"; # https://mpv.io/manual/stable/#options-sub-auto - video-sync = "display-resample"; # https://github.com/mpv-player/mpv/wiki/Display-synchronization - vo = "gpu-next"; # https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU + hwdec = "auto"; # https://wiki.archlinux.org/title/Mpv#Hardware_video_acceleration + interpolation = "yes"; # https://github.com/tomasklaen/uosc#manual + osd-bar = "no"; # uosc provides seeking & volume indicators (via flash-timeline and flash-volume commands) if you decide to use them, you don't need osd-bar + profile = "high-quality"; # https://wiki.archlinux.org/title/Mpv#High_quality_configurations + sub-auto = "fuzzy"; # https://mpv.io/manual/stable/#options-sub-auto + video-sync = "display-resample"; # https://github.com/mpv-player/mpv/wiki/Display-synchronization + vo = "gpu-next"; # https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU }; scripts = with pkgs.mpvScripts; [ - mpris # https://github.com/hoyon/mpv-mpris - sponsorblock-minimal # https://codeberg.org/jouni/mpv_sponsorblock_minimal - thumbfast # https://github.com/po5/thumbfast - uosc # https://github.com/tomasklaen/uosc + mpris # https://github.com/hoyon/mpv-mpris + sponsorblock-minimal # https://codeberg.org/jouni/mpv_sponsorblock_minimal + thumbfast # https://github.com/po5/thumbfast + uosc # https://github.com/tomasklaen/uosc ]; }; }; diff --git a/nix/users/ilkecan/networking/secure-shell.nix b/nix/users/ilkecan/networking/secure-shell.nix index fb88cf3..6046604 100644 --- a/nix/users/ilkecan/networking/secure-shell.nix +++ b/nix/users/ilkecan/networking/secure-shell.nix @@ -5,7 +5,7 @@ { home.packages = with pkgs; [ - upterm # https://github.com/owenthereal/upterm + upterm # https://github.com/owenthereal/upterm ]; services.ssh-agent = { diff --git a/nix/users/ilkecan/nix/default.nix b/nix/users/ilkecan/nix/default.nix index b9e7c44..2d8548c 100644 --- a/nix/users/ilkecan/nix/default.nix +++ b/nix/users/ilkecan/nix/default.nix @@ -8,7 +8,7 @@ let inherit (config.home) homeDirectory - ; + ; in { imports = [ @@ -19,7 +19,7 @@ in inherit (inputs') nixpkgs nixpkgs-unstable - ; + ; }; home.sessionVariables = { diff --git a/nix/users/ilkecan/nix/optnix.nix b/nix/users/ilkecan/nix/optnix.nix index d19fd2e..8e78428 100644 --- a/nix/users/ilkecan/nix/optnix.nix +++ b/nix/users/ilkecan/nix/optnix.nix @@ -12,34 +12,33 @@ let mapAttrs mergeAttrsList nameValuePair - ; + ; inherit (inputs'.optnix.mkLib pkgs) mkOptionsList; - mkFlakePartsScope = self': - { - description = "flake-parts top level configuration"; - options-list-file = mkOptionsList { inherit (self'.debug) options; excluded = [ "perSystem" ]; }; - evaluator = "nix eval ${self'}#debug.config.{{ .Option }}"; + mkFlakePartsScope = self': { + description = "flake-parts top level configuration"; + options-list-file = mkOptionsList { + inherit (self'.debug) options; + excluded = [ "perSystem" ]; }; - mkFlakePartsPerSystemScope = self': system: - { - description = "flake-parts `perSystem` configuration for `${system}`"; - options-list-file = mkOptionsList { inherit (self'.allSystems.${system}.debug) options; }; - evaluator = "nix eval ${self'}#allSystems.${system}.debug.config.{{ .Option }}"; - }; - mkHomeManagerScope = name: value: - { - description = "Home Manager configuration for `${name}`"; - options-list-file = mkOptionsList { inherit (value) options; }; - evaluator = "nix eval ${self'}#homeConfigurations.${name}.config.{{ .Option }}"; - }; - mkNixosScope = name: value: - { - description = "NixOS configuration for `${name}`"; - options-list-file = mkOptionsList { inherit (value) options; }; - evaluator = "nix eval ${self'}#nixosConfigurations.${name}.config.{{ .Option }}"; - }; + evaluator = "nix eval ${self'}#debug.config.{{ .Option }}"; + }; + mkFlakePartsPerSystemScope = self': system: { + description = "flake-parts `perSystem` configuration for `${system}`"; + options-list-file = mkOptionsList { inherit (self'.allSystems.${system}.debug) options; }; + evaluator = "nix eval ${self'}#allSystems.${system}.debug.config.{{ .Option }}"; + }; + mkHomeManagerScope = name: value: { + description = "Home Manager configuration for `${name}`"; + options-list-file = mkOptionsList { inherit (value) options; }; + evaluator = "nix eval ${self'}#homeConfigurations.${name}.config.{{ .Option }}"; + }; + mkNixosScope = name: value: { + description = "NixOS configuration for `${name}`"; + options-list-file = mkOptionsList { inherit (value) options; }; + evaluator = "nix eval ${self'}#nixosConfigurations.${name}.config.{{ .Option }}"; + }; in { programs = { @@ -52,8 +51,11 @@ in scopes = { "flake-parts" = mkFlakePartsScope self'; - } // mergeAttrsList [ - (genAttrs' self'.debug.systems (x: nameValuePair "flake-parts.${x}" (mkFlakePartsPerSystemScope self' x))) + } + // mergeAttrsList [ + (genAttrs' self'.debug.systems ( + x: nameValuePair "flake-parts.${x}" (mkFlakePartsPerSystemScope self' x) + )) (mapAttrs mkHomeManagerScope self'.homeConfigurations) (mapAttrs mkNixosScope self'.nixosConfigurations) ]; diff --git a/nix/users/ilkecan/office.nix b/nix/users/ilkecan/office.nix index b6d4344..3db8bb0 100644 --- a/nix/users/ilkecan/office.nix +++ b/nix/users/ilkecan/office.nix @@ -17,7 +17,7 @@ package = pkgs.unstable.zathura; mappings = { - "" = "scroll half-up"; # Shift modifier does not work on Wayland for some reason + "" = "scroll half-up"; # Shift modifier does not work on Wayland for some reason "" = "scroll half-down"; }; @@ -26,7 +26,7 @@ guioptions = "sv"; # defaults to the system font font = "x 16"; - selection-clipboard = "clipboard"; + selection-clipboard = "clipboard"; window-title-home-tilde = true; statusbar-home-tilde = true; }; diff --git a/nix/users/ilkecan/packaging.nix b/nix/users/ilkecan/packaging.nix index 73db9d0..8f84c6e 100644 --- a/nix/users/ilkecan/packaging.nix +++ b/nix/users/ilkecan/packaging.nix @@ -5,8 +5,8 @@ { home.packages = with pkgs; [ - asar # https://github.com/electron/asar - dpkg # for `dpkg-deb` - icoutils # for `icotool` + asar # https://github.com/electron/asar + dpkg # for `dpkg-deb` + icoutils # for `icotool` ]; } diff --git a/nix/users/ilkecan/qt.nix b/nix/users/ilkecan/qt.nix index a9b9249..73bb157 100644 --- a/nix/users/ilkecan/qt.nix +++ b/nix/users/ilkecan/qt.nix @@ -17,9 +17,9 @@ qt = { enable = true; - kde.settings = {}; - qt5ctSettings = {}; - qt6ctSettings = {}; + kde.settings = { }; + qt5ctSettings = { }; + qt6ctSettings = { }; style.name = "adwaita-dark"; }; } diff --git a/nix/users/ilkecan/security/gpg.nix b/nix/users/ilkecan/security/gpg.nix index 608f684..4ff7954 100644 --- a/nix/users/ilkecan/security/gpg.nix +++ b/nix/users/ilkecan/security/gpg.nix @@ -6,7 +6,7 @@ let inherit (config.xdg) dataHome - ; + ; in { programs.gpg = { diff --git a/nix/users/ilkecan/sops.nix b/nix/users/ilkecan/sops.nix index e98ec27..15e75c2 100644 --- a/nix/users/ilkecan/sops.nix +++ b/nix/users/ilkecan/sops.nix @@ -8,7 +8,7 @@ let inherit (config.home) homeDirectory username - ; + ; cfg = config.sops; in { diff --git a/nix/users/ilkecan/text-editors/neovim/autocmds.nix b/nix/users/ilkecan/text-editors/neovim/autocmds.nix index d4bf051..ca61689 100644 --- a/nix/users/ilkecan/text-editors/neovim/autocmds.nix +++ b/nix/users/ilkecan/text-editors/neovim/autocmds.nix @@ -6,7 +6,7 @@ let inherit (lib.generators) mkLuaInline - ; + ; in { diff --git a/nix/users/ilkecan/text-editors/neovim/default.nix b/nix/users/ilkecan/text-editors/neovim/default.nix index adff86c..e05fc9c 100644 --- a/nix/users/ilkecan/text-editors/neovim/default.nix +++ b/nix/users/ilkecan/text-editors/neovim/default.nix @@ -20,7 +20,7 @@ enable = true; settings = { vim = { - enableLuaLoader = true; # https://github.com/lewis6991/impatient.nvim + enableLuaLoader = true; # https://github.com/lewis6991/impatient.nvim withNodeJs = true; withPython3 = true; diff --git a/nix/users/ilkecan/text-editors/neovim/keymaps.nix b/nix/users/ilkecan/text-editors/neovim/keymaps.nix index e7f71d0..efb5db1 100644 --- a/nix/users/ilkecan/text-editors/neovim/keymaps.nix +++ b/nix/users/ilkecan/text-editors/neovim/keymaps.nix @@ -70,7 +70,10 @@ { desc = "delete the last word"; key = ""; - mode = [ "c" "i" ]; + mode = [ + "c" + "i" + ]; action = ""; } { diff --git a/nix/users/ilkecan/text-editors/neovim/lsp.nix b/nix/users/ilkecan/text-editors/neovim/lsp.nix index 590eb55..969e8d6 100644 --- a/nix/users/ilkecan/text-editors/neovim/lsp.nix +++ b/nix/users/ilkecan/text-editors/neovim/lsp.nix @@ -7,7 +7,7 @@ let inherit (lib) mkForce - ; + ; in { home.packages = with pkgs; [ @@ -17,26 +17,29 @@ in programs.nvf.settings.vim = { lsp = { enable = true; - inlayHints.enable = true; # https://neovim.io/doc/user/lsp.html#lsp-inlay_hint - lspSignature.enable = !true; # https://github.com/ray-x/lsp_signature.nvim - lspconfig.enable = true; # https://github.com/neovim/nvim-lspconfig - lspkind.enable = true; # https://github.com/onsails/lspkind.nvim - lspsaga.enable = false; # https://github.com/nvimdev/lspsaga.nvim - null-ls.enable = true; # https://github.com/nvimtools/none-ls.nvim - nvim-docs-view.enable = false; # https://github.com/amrbashir/nvim-docs-view + inlayHints.enable = true; # https://neovim.io/doc/user/lsp.html#lsp-inlay_hint + lspSignature.enable = !true; # https://github.com/ray-x/lsp_signature.nvim + lspconfig.enable = true; # https://github.com/neovim/nvim-lspconfig + lspkind.enable = true; # https://github.com/onsails/lspkind.nvim + lspsaga.enable = false; # https://github.com/nvimdev/lspsaga.nvim + null-ls.enable = true; # https://github.com/nvimtools/none-ls.nvim + nvim-docs-view.enable = false; # https://github.com/amrbashir/nvim-docs-view servers = { - # "*" = { - # root_markers = [".git"]; - # capabilities = { - # textDocument = { - # semanticTokens = { - # multilineTokenSupport = true; - # }; - # }; - # }; - # }; - solargraph.cmd = mkForce [ "solargraph" "stdio" ]; + # "*" = { + # root_markers = [".git"]; + # capabilities = { + # textDocument = { + # semanticTokens = { + # multilineTokenSupport = true; + # }; + # }; + # }; + # }; + solargraph.cmd = mkForce [ + "solargraph" + "stdio" + ]; }; }; }; diff --git a/nix/users/ilkecan/text-editors/neovim/lua.nix b/nix/users/ilkecan/text-editors/neovim/lua.nix index b378a09..1b769a3 100644 --- a/nix/users/ilkecan/text-editors/neovim/lua.nix +++ b/nix/users/ilkecan/text-editors/neovim/lua.nix @@ -6,7 +6,7 @@ let inherit (inputs'.nvf.lib.nvim) dag - ; + ; in { diff --git a/nix/users/ilkecan/text-editors/neovim/options.nix b/nix/users/ilkecan/text-editors/neovim/options.nix index 0e76b0a..d3fa11a 100644 --- a/nix/users/ilkecan/text-editors/neovim/options.nix +++ b/nix/users/ilkecan/text-editors/neovim/options.nix @@ -5,7 +5,7 @@ let inherit (builtins) concatStringsSep - ; + ; comSepList = concatStringsSep ","; in @@ -16,19 +16,25 @@ in cursorline = true; expandtab = true; # https://neovim.io/doc/user/options.html#'expandtab' foldenable = false; # disable folds by default - ignorecase = true; # https://neovim.io/doc/user/options.html#'ignorecase' + ignorecase = true; # https://neovim.io/doc/user/options.html#'ignorecase' laststatus = 3; lazyredraw = true; mouse = "a"; scrolloff = 2; - shiftwidth = 0; # https://neovim.io/doc/user/options.html#'shiftwidth' + shiftwidth = 0; # https://neovim.io/doc/user/options.html#'shiftwidth' sidescrolloff = 2; signcolumn = "number"; smartcase = true; - tabstop = 2; # https://neovim.io/doc/user/options.html#'tabstop' + tabstop = 2; # https://neovim.io/doc/user/options.html#'tabstop' title = true; - viewoptions = comSepList [ "folds" "cursor" ]; - wildmode = comSepList [ "longest:full" "full" ]; + viewoptions = comSepList [ + "folds" + "cursor" + ]; + wildmode = comSepList [ + "longest:full" + "full" + ]; wrap = false; }; }; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix index 5086fb1..0474c7a 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/default.nix @@ -7,11 +7,11 @@ let inherit (lib) mkForce - ; + ; inherit (lib.generators) mkLuaInline - ; + ; in { imports = [ @@ -25,14 +25,17 @@ in setupOpts = { keymap = { preset = "enter"; - "" = mkForce [ "cancel" "fallback" ]; + "" = mkForce [ + "cancel" + "fallback" + ]; }; completion = { keyword.range = "full"; trigger.show_on_backspace_in_keyword = true; list.selection.preselect = false; - menu.draw.columns = mkLuaInline '' + menu.draw.columns = mkLuaInline '' { { 'kind_icon' }, { 'label', 'label_description', gap = 1 }, { 'kind' } } ''; documentation.auto_show = true; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix index b33c6b5..51c587a 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/conventional-commits.nix @@ -8,7 +8,7 @@ let inherit (lib.generators) mkLuaInline - ; + ; in { programs.nvf.settings.vim.autocomplete.blink-cmp = { diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix index 8806c38..55050cd 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/dictionary.nix @@ -8,7 +8,7 @@ let inherit (lib.generators) mkLuaInline - ; + ; in { programs.nvf.settings.vim.extraPackages = with pkgs; [ @@ -64,7 +64,9 @@ in ''; min_keyword_length = 3; opts = { - dictionary_files = [ "${pkgs.nur.repos.moraxyc.english-words}/share/english-words/words_alpha.txt" ]; + dictionary_files = [ + "${pkgs.nur.repos.moraxyc.english-words}/share/english-words/words_alpha.txt" + ]; }; }; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix index fc139a3..cefe1d7 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/blink-cmp/sources/ripgrep.nix @@ -7,7 +7,7 @@ let inherit (config.home) homeDirectory - ; + ; in { programs.nvf.settings.vim.autocomplete.blink-cmp = { diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix index 1982419..daacf5e 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/claudecode-nvim.nix @@ -8,7 +8,7 @@ let inherit (lib.generators) mkLuaInline - ; + ; in { programs.nvf.settings.vim = { @@ -28,8 +28,14 @@ in autocmds = [ { event = [ "FileType" ]; - pattern = [ "NvimTree" "neo-tree" "oil" "minifiles" "netrw" ]; - callback = mkLuaInline '' + pattern = [ + "NvimTree" + "neo-tree" + "oil" + "minifiles" + "netrw" + ]; + callback = mkLuaInline '' function() vim.keymap.set("n", "as", vim.cmd.ClaudeCodeTreeAdd, { desc = "Add file", buffer = true }) end diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix index 7be4fef..e8aeafb 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/direnv-nvim.nix @@ -5,7 +5,7 @@ { programs.nvf.settings.vim = { utility = { - direnv.enable = true; # https://github.com/direnv/direnv.vim + direnv.enable = true; # https://github.com/direnv/direnv.vim }; }; } diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix b/nix/users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix index ecea88b..ffb725a 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/highlight-undo.nix @@ -6,7 +6,7 @@ programs.nvf.settings.vim = { visuals = { highlight-undo = { - enable = true; # https://github.com/tzachar/highlight-undo.nvim + enable = true; # https://github.com/tzachar/highlight-undo.nvim }; }; }; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/lualine.nix b/nix/users/ilkecan/text-editors/neovim/plugins/lualine.nix index d262920..7563e0c 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/lualine.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/lualine.nix @@ -6,30 +6,30 @@ programs.nvf.settings.vim = { statusline = { lualine = { - enable = true; # https://github.com/nvim-lualine/lualine.nvim + enable = true; # https://github.com/nvim-lualine/lualine.nvim activeSection = { a = [ - '' "mode" '' + ''"mode" '' ]; b = [ - '' "branch" '' - '' "diff" '' - '' "diagnostics" '' + ''"branch" '' + ''"diff" '' + ''"diagnostics" '' ]; c = [ - '' { "filename", path = 1 } '' + ''{ "filename", path = 1 } '' ]; x = [ - '' "filetype" '' - '' "encoding" '' - '' "fileformat" '' + ''"filetype" '' + ''"encoding" '' + ''"fileformat" '' ]; y = [ - '' "progress" '' + ''"progress" '' ]; z = [ - '' "location" '' + ''"location" '' ]; }; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix index c8101c4..6ec1435 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-colorizer.nix @@ -6,12 +6,12 @@ programs.nvf.settings.vim = { ui = { colorizer = { - enable = true; # https://github.com/catgoose/nvim-colorizer.lua + enable = true; # https://github.com/catgoose/nvim-colorizer.lua setupOpts = { filetypes = { - "css" = {}; - "nix" = {}; - "scss" = {}; + "css" = { }; + "nix" = { }; + "scss" = { }; }; }; }; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix index 754cd60..7b15404 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-lightbulb.nix @@ -5,7 +5,7 @@ { programs.nvf.settings.vim = { lsp = { - lightbulb.enable = true; # https://github.com/kosayoda/nvim-lightbulb + lightbulb.enable = true; # https://github.com/kosayoda/nvim-lightbulb }; keymaps = [ diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix index cd782e4..6e503e4 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-surround.nix @@ -6,7 +6,7 @@ programs.nvf.settings.vim = { utility = { surround = { - enable = true; # https://github.com/kylechui/nvim-surround + enable = true; # https://github.com/kylechui/nvim-surround useVendoredKeybindings = false; setupOpts = { }; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix index b61605a..2157478 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/nvim-web-devicons.nix @@ -6,7 +6,7 @@ programs.nvf.settings.vim = { visuals = { nvim-web-devicons = { - enable = true; # https://github.com/nvim-tree/nvim-web-devicons + enable = true; # https://github.com/nvim-tree/nvim-web-devicons setupOpts = { default = true; strict = true; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix index e78b5df..5459b5a 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/oil-nvim.nix @@ -6,13 +6,13 @@ let inherit (lib.generators) mkLuaInline - ; + ; in { programs.nvf.settings.vim = { utility = { oil-nvim = { - enable = true; # https://github.com/stevearc/oil.nvim + enable = true; # https://github.com/stevearc/oil.nvim setupOpts = { delete_to_trash = true; skip_confirm_for_simple_edits = true; @@ -23,7 +23,7 @@ in }; }; - gitStatus.enable = true; # https://github.com/refractalize/oil-git-status.nvim + gitStatus.enable = true; # https://github.com/refractalize/oil-git-status.nvim }; }; diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix b/nix/users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix index 28c9364..fd83b20 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/snacks-nvim.nix @@ -16,64 +16,74 @@ }; }; - keymaps = map (x: x // { mode = [ "n" ]; lua = true; }) [ - { - desc = "Snacks all pickers"; - key = ""; - action = '' - function() - Snacks.picker() - end - ''; - } - { - desc = "Snacks buffer picker"; - key = "b"; - action = "Snacks.picker.buffers"; - } - { - desc = "Snacks buffer diagnostics picker"; - key = "d"; - action = "Snacks.picker.diagnostics_buffer"; - } - { - desc = "Snacks files picker"; - key = "f"; - action = '' - function() - local result = vim.system({'git', 'rev-parse', '--is-inside-work-tree'}, { - cwd = vim.fn.getcwd(), - text = true, - }):wait() + keymaps = + map + ( + x: + x + // { + mode = [ "n" ]; + lua = true; + } + ) + [ + { + desc = "Snacks all pickers"; + key = ""; + action = '' + function() + Snacks.picker() + end + ''; + } + { + desc = "Snacks buffer picker"; + key = "b"; + action = "Snacks.picker.buffers"; + } + { + desc = "Snacks buffer diagnostics picker"; + key = "d"; + action = "Snacks.picker.diagnostics_buffer"; + } + { + desc = "Snacks files picker"; + key = "f"; + action = '' + function() + local result = vim.system({'git', 'rev-parse', '--is-inside-work-tree'}, { + cwd = vim.fn.getcwd(), + text = true, + }):wait() - if result.code == 0 then - Snacks.picker.git_files() - else - Snacks.picker.files() - end - end - ''; - } - { - desc = "Snacks grep picker"; - key = "g"; - action = '' - function() - local result = vim.system({'git', 'rev-parse', '--is-inside-work-tree'}, { - cwd = vim.fn.getcwd(), - text = true, - }):wait() + if result.code == 0 then + Snacks.picker.git_files() + else + Snacks.picker.files() + end + end + ''; + } + { + desc = "Snacks grep picker"; + key = "g"; + action = '' + function() + local result = vim.system({'git', 'rev-parse', '--is-inside-work-tree'}, { + cwd = vim.fn.getcwd(), + text = true, + }):wait() - if result.code == 0 then - Snacks.picker.git_grep() - else - Snacks.picker.grep({ - follow = true - }) - end - end - ''; - } - ]; + if result.code == 0 then + Snacks.picker.git_grep() + else + Snacks.picker.grep({ + follow = true + }) + end + end + ''; + } + ]; }; } diff --git a/nix/users/ilkecan/text-editors/neovim/plugins/undotree.nix b/nix/users/ilkecan/text-editors/neovim/plugins/undotree.nix index 851314c..6d1aa41 100644 --- a/nix/users/ilkecan/text-editors/neovim/plugins/undotree.nix +++ b/nix/users/ilkecan/text-editors/neovim/plugins/undotree.nix @@ -5,7 +5,7 @@ { programs.nvf.settings.vim = { utility.undotree = { - enable = true; # https://github.com/mbbill/undotree + enable = true; # https://github.com/mbbill/undotree }; keymaps = [ diff --git a/nix/users/ilkecan/text-editors/neovim/treesitter/default.nix b/nix/users/ilkecan/text-editors/neovim/treesitter/default.nix index c2348d2..a870170 100644 --- a/nix/users/ilkecan/text-editors/neovim/treesitter/default.nix +++ b/nix/users/ilkecan/text-editors/neovim/treesitter/default.nix @@ -7,7 +7,7 @@ let inherit (lib.generators) mkLuaInline - ; + ; in { @@ -18,7 +18,7 @@ in programs.nvf.settings.vim = { treesitter = { - enable = true; # https://github.com/nvim-treesitter/nvim-treesitter + enable = true; # https://github.com/nvim-treesitter/nvim-treesitter fold = true; grammars = pkgs.vimPlugins.nvim-treesitter.allGrammars; highlight = { diff --git a/nix/users/ilkecan/utilities/coreutils.nix b/nix/users/ilkecan/utilities/coreutils.nix index d3e9e7a..f0f055f 100644 --- a/nix/users/ilkecan/utilities/coreutils.nix +++ b/nix/users/ilkecan/utilities/coreutils.nix @@ -19,7 +19,7 @@ zoxide = { # https://github.com/ajeetdsouza/zoxide enable = true; - options = []; + options = [ ]; }; }; } diff --git a/nix/users/ilkecan/utilities/default.nix b/nix/users/ilkecan/utilities/default.nix index c9a1b2a..cb4055d 100644 --- a/nix/users/ilkecan/utilities/default.nix +++ b/nix/users/ilkecan/utilities/default.nix @@ -19,7 +19,7 @@ enable = true; }; - forceOverwriteSettings = true; + forceOverwriteSettings = true; settings = { enter_accept = true; }; diff --git a/nix/users/ilkecan/utilities/disk.nix b/nix/users/ilkecan/utilities/disk.nix index 89f4943..6678633 100644 --- a/nix/users/ilkecan/utilities/disk.nix +++ b/nix/users/ilkecan/utilities/disk.nix @@ -5,6 +5,6 @@ { home.packages = with pkgs; [ - gdu # https://github.com/dundee/gdu + gdu # https://github.com/dundee/gdu ]; } diff --git a/nix/users/ilkecan/utilities/zellij/default.nix b/nix/users/ilkecan/utilities/zellij/default.nix index 2348231..acb958f 100644 --- a/nix/users/ilkecan/utilities/zellij/default.nix +++ b/nix/users/ilkecan/utilities/zellij/default.nix @@ -6,7 +6,7 @@ let inherit (lib) mkOrder - ; + ; in { imports = [ @@ -21,7 +21,7 @@ in settings = { web_client = { - font = ["monospace"]; + font = [ "monospace" ]; }; show_startup_tips = false; diff --git a/nix/users/ilkecan/utilities/zellij/keybindings.nix b/nix/users/ilkecan/utilities/zellij/keybindings.nix index 9fefc22..e3e21e4 100644 --- a/nix/users/ilkecan/utilities/zellij/keybindings.nix +++ b/nix/users/ilkecan/utilities/zellij/keybindings.nix @@ -9,7 +9,7 @@ locked._children = [ { bind = { - _args = ["Ctrl g"]; + _args = [ "Ctrl g" ]; SwitchToMode = "normal"; }; } @@ -18,121 +18,121 @@ pane._children = [ { bind = { - _args = ["left"]; - MoveFocus = ["left"]; + _args = [ "left" ]; + MoveFocus = [ "left" ]; }; } { bind = { - _args = ["down"]; - MoveFocus = ["down"]; + _args = [ "down" ]; + MoveFocus = [ "down" ]; }; } { bind = { - _args = ["up"]; - MoveFocus = ["up"]; + _args = [ "up" ]; + MoveFocus = [ "up" ]; }; } { bind = { - _args = ["right"]; - MoveFocus = ["right"]; + _args = [ "right" ]; + MoveFocus = [ "right" ]; }; } { bind = { - _args = ["c"]; + _args = [ "c" ]; _children = [ - { SwitchToMode = ["renamepane"]; } - { PaneNameInput = [0]; } + { SwitchToMode = [ "renamepane" ]; } + { PaneNameInput = [ 0 ]; } ]; }; } { bind = { - _args = ["d"]; + _args = [ "d" ]; _children = [ - { NewPane = ["down"]; } - { SwitchToMode = ["normal"]; } + { NewPane = [ "down" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["e"]; + _args = [ "e" ]; _children = [ - { TogglePaneEmbedOrFloating = []; } + { TogglePaneEmbedOrFloating = [ ]; } { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["f"]; + _args = [ "f" ]; _children = [ - { ToggleFocusFullscreen = []; } - { SwitchToMode = ["normal"]; } + { ToggleFocusFullscreen = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["h"]; - MoveFocus = ["left"]; + _args = [ "h" ]; + MoveFocus = [ "left" ]; }; } { bind = { - _args = ["i"]; + _args = [ "i" ]; _children = [ - { TogglePanePinned = []; } + { TogglePanePinned = [ ]; } { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["j"]; - MoveFocus = ["down"]; + _args = [ "j" ]; + MoveFocus = [ "down" ]; }; } { bind = { - _args = ["k"]; - MoveFocus = ["up"]; + _args = [ "k" ]; + MoveFocus = [ "up" ]; }; } { bind = { - _args = ["l"]; - MoveFocus = ["right"]; + _args = [ "l" ]; + MoveFocus = [ "right" ]; }; } { bind = { - _args = ["n"]; + _args = [ "n" ]; _children = [ - { NewPane = []; } + { NewPane = [ ]; } { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["p"]; - SwitchFocus = []; + _args = [ "p" ]; + SwitchFocus = [ ]; }; } { bind = { - _args = ["Ctrl p"]; + _args = [ "Ctrl p" ]; SwitchToMode = [ "normal" ]; }; } { bind = { - _args = ["r"]; + _args = [ "r" ]; _children = [ { NewPane = [ "right" ]; } { SwitchToMode = [ "normal" ]; } @@ -141,27 +141,27 @@ } { bind = { - _args = ["s"]; + _args = [ "s" ]; _children = [ - { NewPane = ["stacked"]; } - { SwitchToMode = ["normal"]; } + { NewPane = [ "stacked" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["w"]; + _args = [ "w" ]; _children = [ - { ToggleFloatingPanes = []; } + { ToggleFloatingPanes = [ ]; } { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["z"]; + _args = [ "z" ]; _children = [ - { TogglePaneFrames = []; } + { TogglePaneFrames = [ ]; } { SwitchToMode = [ "normal" ]; } ]; }; @@ -171,194 +171,194 @@ tab._children = [ { bind = { - _args = ["up"]; - GoToPreviousTab = []; + _args = [ "up" ]; + GoToPreviousTab = [ ]; }; } { bind = { - _args = ["right"]; - GoToNextTab = []; + _args = [ "right" ]; + GoToNextTab = [ ]; }; } { bind = { - _args = ["1"]; + _args = [ "1" ]; _children = [ - { GoToTab = [1]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 1 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["2"]; + _args = [ "2" ]; _children = [ - { GoToTab = [2]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 2 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["3"]; + _args = [ "3" ]; _children = [ - { GoToTab = [3]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 3 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["4"]; + _args = [ "4" ]; _children = [ - { GoToTab = [4]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 4 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["5"]; + _args = [ "5" ]; _children = [ - { GoToTab = [5]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 5 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["6"]; + _args = [ "6" ]; _children = [ - { GoToTab = [6]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 6 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["7"]; + _args = [ "7" ]; _children = [ - { GoToTab = [7]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 7 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["8"]; + _args = [ "8" ]; _children = [ - { GoToTab = [8]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 8 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["9"]; + _args = [ "9" ]; _children = [ - { GoToTab = [9]; } - { SwitchToMode = ["normal"]; } + { GoToTab = [ 9 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["["]; + _args = [ "[" ]; _children = [ - { BreakPaneLeft = []; } - { SwitchToMode = ["normal"]; } + { BreakPaneLeft = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["]"]; + _args = [ "]" ]; _children = [ { BreakPaneRight = [ ]; } - { SwitchToMode = ["normal"]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["b"]; + _args = [ "b" ]; _children = [ - { BreakPane = []; } - { SwitchToMode = ["normal"]; } + { BreakPane = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["h"]; - GoToPreviousTab = []; + _args = [ "h" ]; + GoToPreviousTab = [ ]; }; } { bind = { - _args = ["j"]; - GoToNextTab = []; + _args = [ "j" ]; + GoToNextTab = [ ]; }; } { bind = { - _args = ["k"]; - GoToPreviousTab = []; + _args = [ "k" ]; + GoToPreviousTab = [ ]; }; } { bind = { - _args = ["l"]; - GoToNextTab = []; + _args = [ "l" ]; + GoToNextTab = [ ]; }; } { bind = { - _args = ["n"]; + _args = [ "n" ]; _children = [ - { NewTab = []; } - { SwitchToMode = ["normal"]; } + { NewTab = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["r"]; + _args = [ "r" ]; _children = [ - { SwitchToMode = ["renametab"]; } - { TabNameInput = [0]; } + { SwitchToMode = [ "renametab" ]; } + { TabNameInput = [ 0 ]; } ]; }; } { bind = { - _args = ["s"]; + _args = [ "s" ]; _children = [ - { ToggleActiveSyncTab = []; } - { SwitchToMode = ["normal"]; } + { ToggleActiveSyncTab = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["Ctrl t"]; - SwitchToMode = ["normal"]; + _args = [ "Ctrl t" ]; + SwitchToMode = [ "normal" ]; }; } { bind = { - _args = ["x"]; + _args = [ "x" ]; _children = [ - { CloseTab = []; } - { SwitchToMode = ["normal"]; } + { CloseTab = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["tab"]; - ToggleTab = []; + _args = [ "tab" ]; + ToggleTab = [ ]; }; } ]; @@ -366,98 +366,98 @@ resize._children = [ { bind = { - _args = ["left"]; - Resize = ["Increase left"]; + _args = [ "left" ]; + Resize = [ "Increase left" ]; }; } { bind = { - _args = ["down"]; - Resize = ["Increase down"]; + _args = [ "down" ]; + Resize = [ "Increase down" ]; }; } { bind = { - _args = ["up"]; - Resize = ["Increase up"]; + _args = [ "up" ]; + Resize = [ "Increase up" ]; }; } { bind = { - _args = ["right"]; - Resize = ["Increase right"]; + _args = [ "right" ]; + Resize = [ "Increase right" ]; }; } { bind = { - _args = ["+"]; - Resize = ["Increase"]; + _args = [ "+" ]; + Resize = [ "Increase" ]; }; } { bind = { - _args = ["-"]; - Resize = ["Decrease"]; + _args = [ "-" ]; + Resize = [ "Decrease" ]; }; } { bind = { - _args = ["="]; - Resize = ["Increase"]; + _args = [ "=" ]; + Resize = [ "Increase" ]; }; } { bind = { - _args = ["H"]; - Resize = ["Decrease left"]; + _args = [ "H" ]; + Resize = [ "Decrease left" ]; }; } { bind = { - _args = ["J"]; - Resize = ["Decrease down"]; + _args = [ "J" ]; + Resize = [ "Decrease down" ]; }; } { bind = { - _args = ["K"]; - Resize = ["Decrease up"]; + _args = [ "K" ]; + Resize = [ "Decrease up" ]; }; } { bind = { - _args = ["L"]; - Resize = ["Decrease right"]; + _args = [ "L" ]; + Resize = [ "Decrease right" ]; }; } { bind = { - _args = ["h"]; - Resize = ["Increase left"]; + _args = [ "h" ]; + Resize = [ "Increase left" ]; }; } { bind = { - _args = ["j"]; - Resize = ["Increase down"]; + _args = [ "j" ]; + Resize = [ "Increase down" ]; }; } { bind = { - _args = ["k"]; - Resize = ["Increase up"]; + _args = [ "k" ]; + Resize = [ "Increase up" ]; }; } { bind = { - _args = ["l"]; - Resize = ["Increase right"]; + _args = [ "l" ]; + Resize = [ "Increase right" ]; }; } { bind = { - _args = ["Ctrl n"]; - SwitchToMode = ["normal"]; + _args = [ "Ctrl n" ]; + SwitchToMode = [ "normal" ]; }; } ]; @@ -465,74 +465,74 @@ move._children = [ { bind = { - _args = ["left"]; - MovePane = ["left"]; + _args = [ "left" ]; + MovePane = [ "left" ]; }; } { bind = { - _args = ["down"]; - MovePane = ["down"]; + _args = [ "down" ]; + MovePane = [ "down" ]; }; } { bind = { - _args = ["up"]; - MovePane = ["up"]; + _args = [ "up" ]; + MovePane = [ "up" ]; }; } { bind = { - _args = ["right"]; - MovePane = ["right"]; + _args = [ "right" ]; + MovePane = [ "right" ]; }; } { bind = { - _args = ["h"]; - MovePane = ["left"]; + _args = [ "h" ]; + MovePane = [ "left" ]; }; } { bind = { - _args = ["Ctrl h"]; - SwitchToMode = ["normal"]; + _args = [ "Ctrl h" ]; + SwitchToMode = [ "normal" ]; }; } { bind = { - _args = ["j"]; - MovePane = ["down"]; + _args = [ "j" ]; + MovePane = [ "down" ]; }; } { bind = { - _args = ["k"]; - MovePane = ["up"]; + _args = [ "k" ]; + MovePane = [ "up" ]; }; } { bind = { - _args = ["l"]; - MovePane = ["right"]; + _args = [ "l" ]; + MovePane = [ "right" ]; }; } { bind = { - _args = ["n"]; - MovePane = []; + _args = [ "n" ]; + MovePane = [ ]; }; } { bind = { - _args = ["p"]; - MovePaneBackwards = []; + _args = [ "p" ]; + MovePaneBackwards = [ ]; }; } { bind = { - _args = ["tab"]; - MovePane = []; + _args = [ "tab" ]; + MovePane = [ ]; }; } ]; @@ -540,19 +540,19 @@ scroll._children = [ { bind = { - _args = ["e"]; + _args = [ "e" ]; _children = [ - { EditScrollback = []; } - { SwitchToMode = ["normal"]; } + { EditScrollback = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["s"]; + _args = [ "s" ]; _children = [ - { SwitchToMode = ["entersearch"]; } - { SearchInput = [0]; } + { SwitchToMode = [ "entersearch" ]; } + { SearchInput = [ 0 ]; } ]; }; } @@ -561,32 +561,32 @@ search._children = [ { bind = { - _args = ["c"]; - SearchToggleOption = ["CaseSensitivity"]; + _args = [ "c" ]; + SearchToggleOption = [ "CaseSensitivity" ]; }; } { bind = { - _args = ["n"]; - Search = ["down"]; + _args = [ "n" ]; + Search = [ "down" ]; }; } { bind = { - _args = ["o"]; - SearchToggleOption = ["WholeWord"]; + _args = [ "o" ]; + SearchToggleOption = [ "WholeWord" ]; }; } { bind = { - _args = ["p"]; - Search = ["up"]; + _args = [ "p" ]; + Search = [ "up" ]; }; } { bind = { - _args = ["w"]; - SearchToggleOption = ["Wrap"]; + _args = [ "w" ]; + SearchToggleOption = [ "Wrap" ]; }; } ]; @@ -594,82 +594,82 @@ session._children = [ { bind = { - _args = ["a"]; + _args = [ "a" ]; _children = [ { LaunchOrFocusPlugin = { - _args = ["zellij:about"]; + _args = [ "zellij:about" ]; floating = true; move_to_focused_tab = true; }; } - { SwitchToMode = ["normal"]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["c"]; + _args = [ "c" ]; _children = [ { LaunchOrFocusPlugin = { - _args = ["configuration"]; + _args = [ "configuration" ]; floating = true; move_to_focused_tab = true; }; } - { SwitchToMode = ["normal"]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["Ctrl o"]; - SwitchToMode = ["normal"]; + _args = [ "Ctrl o" ]; + SwitchToMode = [ "normal" ]; }; } { bind = { - _args = ["p"]; + _args = [ "p" ]; _children = [ { LaunchOrFocusPlugin = { - _args = ["plugin-manager"]; + _args = [ "plugin-manager" ]; floating = true; move_to_focused_tab = true; }; } - { SwitchToMode = ["normal"]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["s"]; + _args = [ "s" ]; _children = [ { LaunchOrFocusPlugin = { - _args = ["zellij:share"]; + _args = [ "zellij:share" ]; floating = true; move_to_focused_tab = true; }; } - { SwitchToMode = ["normal"]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["w"]; + _args = [ "w" ]; _children = [ { LaunchOrFocusPlugin = { - _args = ["session-manager"]; + _args = [ "session-manager" ]; floating = true; move_to_focused_tab = true; }; } - { SwitchToMode = ["normal"]; } + { SwitchToMode = [ "normal" ]; } ]; }; } @@ -678,19 +678,19 @@ entersearch._children = [ { bind = { - _args = ["Ctrl c"]; + _args = [ "Ctrl c" ]; SwitchToMode = "scroll"; }; } { bind = { - _args = ["esc"]; + _args = [ "esc" ]; SwitchToMode = "scroll"; }; } { bind = { - _args = ["enter"]; + _args = [ "enter" ]; SwitchToMode = "search"; }; } @@ -699,10 +699,10 @@ renametab._children = [ { bind = { - _args = ["esc"]; + _args = [ "esc" ]; _children = [ - { UndoRenameTab = []; } - { SwitchToMode = ["tab"]; } + { UndoRenameTab = [ ]; } + { SwitchToMode = [ "tab" ]; } ]; }; } @@ -711,10 +711,10 @@ renamepane._children = [ { bind = { - _args = ["esc"]; + _args = [ "esc" ]; _children = [ - { UndoRenamePane = []; } - { SwitchToMode = ["pane"]; } + { UndoRenamePane = [ ]; } + { SwitchToMode = [ "pane" ]; } ]; }; } @@ -723,163 +723,163 @@ tmux._children = [ { bind = { - _args = ["left"]; + _args = [ "left" ]; _children = [ - { MoveFocus = ["left"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "left" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["down"]; + _args = [ "down" ]; _children = [ - { MoveFocus = ["down"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "down" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["up"]; + _args = [ "up" ]; _children = [ - { MoveFocus = ["up"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "up" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["right"]; + _args = [ "right" ]; _children = [ - { MoveFocus = ["right"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "right" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["space"]; - NextSwapLayout = []; + _args = [ "space" ]; + NextSwapLayout = [ ]; }; } { bind = { - _args = ["\""]; + _args = [ "\"" ]; _children = [ - { NewPane = ["down"]; } - { SwitchToMode = ["normal"]; } + { NewPane = [ "down" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["%"]; + _args = [ "%" ]; _children = [ - { NewPane = ["right"]; } - { SwitchToMode = ["normal"]; } + { NewPane = [ "right" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = [","]; - SwitchToMode = ["renametab"]; + _args = [ "," ]; + SwitchToMode = [ "renametab" ]; }; } { bind = { - _args = ["["]; - SwitchToMode = ["scroll"]; + _args = [ "[" ]; + SwitchToMode = [ "scroll" ]; }; } { bind = { - _args = ["Ctrl b"]; + _args = [ "Ctrl b" ]; _children = [ - { Write = [2]; } - { SwitchToMode = ["normal"]; } + { Write = [ 2 ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["c"]; + _args = [ "c" ]; _children = [ - { NewTab = []; } - { SwitchToMode = ["normal"]; } + { NewTab = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["h"]; + _args = [ "h" ]; _children = [ - { MoveFocus = ["left"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "left" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["j"]; + _args = [ "j" ]; _children = [ - { MoveFocus = ["down"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "down" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["k"]; + _args = [ "k" ]; _children = [ - { MoveFocus = ["up"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "up" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["l"]; + _args = [ "l" ]; _children = [ - { MoveFocus = ["right"]; } - { SwitchToMode = ["normal"]; } + { MoveFocus = [ "right" ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["n"]; + _args = [ "n" ]; _children = [ - { GoToNextTab = []; } - { SwitchToMode = ["normal"]; } + { GoToNextTab = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["o"]; + _args = [ "o" ]; _children = [ - { FocusNextPane = []; } - { SwitchToMode = ["normal"]; } + { FocusNextPane = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["p"]; + _args = [ "p" ]; _children = [ - { GoToPreviousTab = []; } - { SwitchToMode = ["normal"]; } + { GoToPreviousTab = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["z"]; + _args = [ "z" ]; _children = [ - { ToggleFocusFullscreen = []; } - { SwitchToMode = ["normal"]; } + { ToggleFocusFullscreen = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } @@ -888,132 +888,132 @@ _children = [ { shared_except = { - _args = ["locked"]; + _args = [ "locked" ]; _children = [ { bind = { - _args = ["Alt left"]; - MoveFocusOrTab = ["left"]; + _args = [ "Alt left" ]; + MoveFocusOrTab = [ "left" ]; }; } { bind = { - _args = ["Alt down"]; - MoveFocus = ["down"]; + _args = [ "Alt down" ]; + MoveFocus = [ "down" ]; }; } { bind = { - _args = ["Alt up"]; - MoveFocus = ["up"]; + _args = [ "Alt up" ]; + MoveFocus = [ "up" ]; }; } { bind = { - _args = ["Alt right"]; - MoveFocusOrTab = ["right"]; + _args = [ "Alt right" ]; + MoveFocusOrTab = [ "right" ]; }; } { bind = { - _args = ["Alt +"]; - Resize = ["Increase"]; + _args = [ "Alt +" ]; + Resize = [ "Increase" ]; }; } { bind = { - _args = ["Alt -"]; - Resize = ["Decrease"]; + _args = [ "Alt -" ]; + Resize = [ "Decrease" ]; }; } { bind = { - _args = ["Alt ="]; - Resize = ["Increase"]; + _args = [ "Alt =" ]; + Resize = [ "Increase" ]; }; } { bind = { - _args = ["Alt ["]; - PreviousSwapLayout = []; + _args = [ "Alt [" ]; + PreviousSwapLayout = [ ]; }; } { bind = { - _args = ["Alt ]"]; - NextSwapLayout = []; + _args = [ "Alt ]" ]; + NextSwapLayout = [ ]; }; } { bind = { - _args = ["Alt f"]; - ToggleFloatingPanes = []; + _args = [ "Alt f" ]; + ToggleFloatingPanes = [ ]; }; } { bind = { - _args = ["Ctrl g"]; - SwitchToMode = ["locked"]; + _args = [ "Ctrl g" ]; + SwitchToMode = [ "locked" ]; }; } { bind = { - _args = ["Alt h"]; - MoveFocusOrTab = ["left"]; + _args = [ "Alt h" ]; + MoveFocusOrTab = [ "left" ]; }; } { bind = { - _args = ["Alt i"]; - MoveTab = ["left"]; + _args = [ "Alt i" ]; + MoveTab = [ "left" ]; }; } { bind = { - _args = ["Alt j"]; - MoveFocus = ["down"]; + _args = [ "Alt j" ]; + MoveFocus = [ "down" ]; }; } { bind = { - _args = ["Alt k"]; - MoveFocus = ["up"]; + _args = [ "Alt k" ]; + MoveFocus = [ "up" ]; }; } { bind = { - _args = ["Alt l"]; - MoveFocusOrTab = ["right"]; + _args = [ "Alt l" ]; + MoveFocusOrTab = [ "right" ]; }; } { bind = { - _args = ["Alt n"]; - NewPane = []; + _args = [ "Alt n" ]; + NewPane = [ ]; }; } { bind = { - _args = ["Alt o"]; - MoveTab = ["right"]; + _args = [ "Alt o" ]; + MoveTab = [ "right" ]; }; } { bind = { - _args = ["Alt p"]; - TogglePaneInGroup = []; + _args = [ "Alt p" ]; + TogglePaneInGroup = [ ]; }; } { bind = { - _args = ["Alt Shift p"]; - ToggleGroupMarking = []; + _args = [ "Alt Shift p" ]; + ToggleGroupMarking = [ ]; }; } { bind = { - _args = ["Ctrl q"]; - Quit = []; + _args = [ "Ctrl q" ]; + Quit = [ ]; }; } ]; @@ -1021,12 +1021,15 @@ } { shared_except = { - _args = ["locked" "move"]; + _args = [ + "locked" + "move" + ]; _children = [ { bind = { - _args = ["Ctrl h"]; - SwitchToMode = ["move"]; + _args = [ "Ctrl h" ]; + SwitchToMode = [ "move" ]; }; } ]; @@ -1034,12 +1037,15 @@ } { shared_except = { - _args = ["locked" "session"]; + _args = [ + "locked" + "session" + ]; _children = [ { bind = { - _args = ["Ctrl o"]; - SwitchToMode = ["session"]; + _args = [ "Ctrl o" ]; + SwitchToMode = [ "session" ]; }; } ]; @@ -1047,12 +1053,17 @@ } { shared_except = { - _args = ["locked" "scroll" "search" "tmux"]; + _args = [ + "locked" + "scroll" + "search" + "tmux" + ]; _children = [ { bind = { - _args = ["Ctrl b"]; - SwitchToMode = ["tmux"]; + _args = [ "Ctrl b" ]; + SwitchToMode = [ "tmux" ]; }; } ]; @@ -1060,12 +1071,16 @@ } { shared_except = { - _args = ["locked" "scroll" "search"]; + _args = [ + "locked" + "scroll" + "search" + ]; _children = [ { bind = { - _args = ["Ctrl s"]; - SwitchToMode = ["scroll"]; + _args = [ "Ctrl s" ]; + SwitchToMode = [ "scroll" ]; }; } ]; @@ -1073,12 +1088,15 @@ } { shared_except = { - _args = ["locked" "tab"]; + _args = [ + "locked" + "tab" + ]; _children = [ { bind = { - _args = ["Ctrl t"]; - SwitchToMode = ["tab"]; + _args = [ "Ctrl t" ]; + SwitchToMode = [ "tab" ]; }; } ]; @@ -1086,12 +1104,15 @@ } { shared_except = { - _args = ["locked" "pane"]; + _args = [ + "locked" + "pane" + ]; _children = [ { bind = { - _args = ["Ctrl p"]; - SwitchToMode = ["pane"]; + _args = [ "Ctrl p" ]; + SwitchToMode = [ "pane" ]; }; } ]; @@ -1099,12 +1120,15 @@ } { shared_except = { - _args = ["locked" "resize"]; + _args = [ + "locked" + "resize" + ]; _children = [ { bind = { - _args = ["Ctrl n"]; - SwitchToMode = ["resize"]; + _args = [ "Ctrl n" ]; + SwitchToMode = [ "resize" ]; }; } ]; @@ -1112,12 +1136,16 @@ } { shared_except = { - _args = ["normal" "locked" "entersearch"]; + _args = [ + "normal" + "locked" + "entersearch" + ]; _children = [ { bind = { - _args = ["enter"]; - SwitchToMode = ["normal"]; + _args = [ "enter" ]; + SwitchToMode = [ "normal" ]; }; } ]; @@ -1125,12 +1153,18 @@ } { shared_except = { - _args = ["normal" "locked" "entersearch" "renametab" "renamepane"]; + _args = [ + "normal" + "locked" + "entersearch" + "renametab" + "renamepane" + ]; _children = [ { bind = { - _args = ["esc"]; - SwitchToMode = ["normal"]; + _args = [ "esc" ]; + SwitchToMode = [ "normal" ]; }; } ]; @@ -1138,14 +1172,17 @@ } { shared_among = { - _args = ["pane" "tmux"]; + _args = [ + "pane" + "tmux" + ]; _children = [ { bind = { - _args = ["x"]; + _args = [ "x" ]; _children = [ - { CloseFocus = []; } - { SwitchToMode = ["normal"]; } + { CloseFocus = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } @@ -1154,105 +1191,108 @@ } { shared_among = { - _args = ["scroll" "search"]; + _args = [ + "scroll" + "search" + ]; _children = [ { bind = { - _args = ["PageDown"]; - PageScrollDown = []; + _args = [ "PageDown" ]; + PageScrollDown = [ ]; }; } { bind = { - _args = ["PageUp"]; - PageScrollUp = []; + _args = [ "PageUp" ]; + PageScrollUp = [ ]; }; } { bind = { - _args = ["left"]; - PageScrollUp = []; + _args = [ "left" ]; + PageScrollUp = [ ]; }; } { bind = { - _args = ["down"]; - ScrollDown = []; + _args = [ "down" ]; + ScrollDown = [ ]; }; } { bind = { - _args = ["up"]; - ScrollDown = []; + _args = [ "up" ]; + ScrollDown = [ ]; }; } { bind = { - _args = ["right"]; - PageScrollDown = []; + _args = [ "right" ]; + PageScrollDown = [ ]; }; } { bind = { - _args = ["Ctrl b"]; - PageScrollUp = []; + _args = [ "Ctrl b" ]; + PageScrollUp = [ ]; }; } { bind = { - _args = ["Ctrl c"]; + _args = [ "Ctrl c" ]; _children = [ - { ScrollToBottom = []; } - { SwitchToMode = ["normal"]; } + { ScrollToBottom = [ ]; } + { SwitchToMode = [ "normal" ]; } ]; }; } { bind = { - _args = ["d"]; - HalfPageScrollDown = []; + _args = [ "d" ]; + HalfPageScrollDown = [ ]; }; } { bind = { - _args = ["Ctrl f"]; - PageScrollDown = []; + _args = [ "Ctrl f" ]; + PageScrollDown = [ ]; }; } { bind = { - _args = ["h"]; - PageScrollUp = []; + _args = [ "h" ]; + PageScrollUp = [ ]; }; } { bind = { - _args = ["j"]; - ScrollDown = []; + _args = [ "j" ]; + ScrollDown = [ ]; }; } { bind = { - _args = ["k"]; - ScrollUp = []; + _args = [ "k" ]; + ScrollUp = [ ]; }; } { bind = { - _args = ["l"]; - PageScrollDown = []; + _args = [ "l" ]; + PageScrollDown = [ ]; }; } { bind = { - _args = ["Ctrl s"]; - SwitchToMode = ["normal"]; + _args = [ "Ctrl s" ]; + SwitchToMode = [ "normal" ]; }; } { bind = { - _args = ["u"]; - HalfPageScrollUp = []; + _args = [ "u" ]; + HalfPageScrollUp = [ ]; }; } ]; @@ -1260,12 +1300,15 @@ } { shared_among = { - _args = ["renametab" "renamepane"]; + _args = [ + "renametab" + "renamepane" + ]; _children = [ { bind = { - _args = ["Ctrl c"]; - SwitchToMode = ["normal"]; + _args = [ "Ctrl c" ]; + SwitchToMode = [ "normal" ]; }; } ]; @@ -1273,12 +1316,15 @@ } { shared_among = { - _args = ["session" "tmux"]; + _args = [ + "session" + "tmux" + ]; _children = [ { bind = { - _args = ["d"]; - Detach = []; + _args = [ "d" ]; + Detach = [ ]; }; } ]; diff --git a/nix/users/ilkecan/utilities/zellij/layouts/code.nix b/nix/users/ilkecan/utilities/zellij/layouts/code.nix index 189a031..4b7f89e 100644 --- a/nix/users/ilkecan/utilities/zellij/layouts/code.nix +++ b/nix/users/ilkecan/utilities/zellij/layouts/code.nix @@ -8,17 +8,31 @@ layout._children = [ { tab = { - _props = { name = "Neovim"; focus = true; hide_floating_panes = true; }; + _props = { + name = "Neovim"; + focus = true; + hide_floating_panes = true; + }; _children = [ { pane._props.command = "nvim"; } - { floating_panes.pane = { - _props = { command = "claude"; x = "10%"; y = "10%"; width = "80%"; height = "80%"; }; + { + floating_panes.pane = { + _props = { + command = "claude"; + x = "10%"; + y = "10%"; + width = "80%"; + height = "80%"; + }; args = [ "--ide" ]; }; } { pane = { - _props = { size = 1; borderless = true; }; + _props = { + size = 1; + borderless = true; + }; plugin._props.location = "zellij:compact-bar"; }; } @@ -32,7 +46,10 @@ { pane._props.command = config.home.defaultShell.meta.mainProgram; } { pane = { - _props = { size = 1; borderless = true; }; + _props = { + size = 1; + borderless = true; + }; plugin._props.location = "zellij:compact-bar"; }; } diff --git a/nix/users/ilkecan/utilities/zellij/plugins/default.nix b/nix/users/ilkecan/utilities/zellij/plugins/default.nix index f935bca..b72fcb2 100644 --- a/nix/users/ilkecan/utilities/zellij/plugins/default.nix +++ b/nix/users/ilkecan/utilities/zellij/plugins/default.nix @@ -14,7 +14,7 @@ configuration._props.location = "zellij:configuration"; filepicker = { _props.location = "zellij:strider"; - cwd = ["/"]; + cwd = [ "/" ]; }; plugin-manager._props.location = "zellij:plugin-manager"; session-manager._props.location = "zellij:session-manager"; diff --git a/nix/users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix b/nix/users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix index e417dd2..4efb153 100644 --- a/nix/users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix +++ b/nix/users/ilkecan/utilities/zellij/plugins/zellij-autolock.nix @@ -17,17 +17,17 @@ }; load_plugins._children = [ - { autolock = {}; } + { autolock = { }; } ]; keybinds = { normal._children = [ { bind = { - _args = ["Enter"]; + _args = [ "Enter" ]; _children = [ { WriteChars = "\\u{000D}"; } - { MessagePlugin._args = ["autolock"]; } + { MessagePlugin._args = [ "autolock" ]; } ]; }; } @@ -36,12 +36,14 @@ locked._children = [ { bind = { - _args = ["Alt z"]; + _args = [ "Alt z" ]; _children = [ - { MessagePlugin = { - _args = ["autolock"]; - payload = "disable"; - }; } + { + MessagePlugin = { + _args = [ "autolock" ]; + payload = "disable"; + }; + } { SwitchToMode = "Normal"; } ]; }; @@ -51,9 +53,9 @@ shared._children = [ { bind = { - _args = ["Alt Shift z"]; + _args = [ "Alt Shift z" ]; MessagePlugin = { - _args = ["autolock"]; + _args = [ "autolock" ]; payload = "enable"; }; }; @@ -63,16 +65,18 @@ _children = [ { shared_except = { - _args = ["locked"]; + _args = [ "locked" ]; _children = [ { bind = { - _args = ["Alt z"]; + _args = [ "Alt z" ]; _children = [ - { MessagePlugin = { - _args = ["autolock"]; - payload = "disable"; - }; } + { + MessagePlugin = { + _args = [ "autolock" ]; + payload = "disable"; + }; + } { SwitchToMode = "Locked"; } ]; }; diff --git a/nix/users/ilkecan/wayland/dank-material-shell/default.nix b/nix/users/ilkecan/wayland/dank-material-shell/default.nix index f9602d6..72cddb0 100644 --- a/nix/users/ilkecan/wayland/dank-material-shell/default.nix +++ b/nix/users/ilkecan/wayland/dank-material-shell/default.nix @@ -20,24 +20,29 @@ in programs.dank-material-shell = { enable = true; - package = inputs'.dms.packages.dms-shell.overrideAttrs { vendorHash = "sha256-cVUJXgzYMRSM0od1xzDVkMTdxHu3OIQX2bQ8AJbGQ1Q="; }; + package = inputs'.dms.packages.dms-shell.overrideAttrs { + vendorHash = "sha256-cVUJXgzYMRSM0od1xzDVkMTdxHu3OIQX2bQ8AJbGQ1Q="; + }; dgop.package = pkgs.unstable.dgop; # Core features - enableAudioWavelength = true; # Audio visualizer (cava) - enableCalendarEvents = true; # Calendar integration (khal) - enableDynamicTheming = true; # Wallpaper-based theming (matugen) - enableSystemMonitoring = true; # System monitoring widgets (dgop) - enableVPN = true; # VPN management widget + enableAudioWavelength = true; # Audio visualizer (cava) + enableCalendarEvents = true; # Calendar integration (khal) + enableDynamicTheming = true; # Wallpaper-based theming (matugen) + enableSystemMonitoring = true; # System monitoring widgets (dgop) + enableVPN = true; # VPN management widget systemd = { - enable = true; # Systemd service for auto-start - restartIfChanged = true; # Auto-restart dms.service when dankMaterialShell changes + enable = true; # Systemd service for auto-start + restartIfChanged = true; # Auto-restart dms.service when dankMaterialShell changes }; niri = { - includes.filesToInclude = opt.niri.includes.filesToInclude.default ++ [ "cursor" "windowrules" ]; + includes.filesToInclude = opt.niri.includes.filesToInclude.default ++ [ + "cursor" + "windowrules" + ]; }; clipboardSettings = { diff --git a/nix/users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix index 54d2695..6416831 100644 --- a/nix/users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix +++ b/nix/users/ilkecan/wayland/dank-material-shell/plugins/command-runner.nix @@ -7,7 +7,7 @@ let inherit (lib) mkIf - ; + ; in { programs.dank-material-shell.plugins.commandRunner = { diff --git a/nix/users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix b/nix/users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix index daff4ee..d885e3e 100644 --- a/nix/users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix +++ b/nix/users/ilkecan/wayland/dank-material-shell/plugins/docker-manager.nix @@ -7,7 +7,7 @@ let inherit (lib) mkIf - ; + ; in { programs.dank-material-shell.plugins.dockerManager = { diff --git a/nix/users/ilkecan/wayland/default.nix b/nix/users/ilkecan/wayland/default.nix index c94f25d..19a07c3 100644 --- a/nix/users/ilkecan/wayland/default.nix +++ b/nix/users/ilkecan/wayland/default.nix @@ -10,13 +10,18 @@ let id mkIf mkMerge - ; + ; inherit (builtins) any - ; + ; - mozEnabled = any id (map (x: config.programs.${x}.enable) ["firefox" "thunderbird"]); + mozEnabled = any id ( + map (x: config.programs.${x}.enable) [ + "firefox" + "thunderbird" + ] + ); in { imports = [ @@ -26,7 +31,7 @@ in ]; dbus.packages = [ - pkgs.nautilus # required for xdg-desktop-portal-gnome's FileChooser to work properly + pkgs.nautilus # required for xdg-desktop-portal-gnome's FileChooser to work properly ]; home = { diff --git a/nix/users/ilkecan/wayland/niri/autostart.nix b/nix/users/ilkecan/wayland/niri/autostart.nix index 3a65acb..f6c8793 100644 --- a/nix/users/ilkecan/wayland/niri/autostart.nix +++ b/nix/users/ilkecan/wayland/niri/autostart.nix @@ -6,19 +6,53 @@ let inherit (config.home) homeDirectory - ; + ; githubDir = "${homeDirectory}/repos/git/github.com"; in { programs.niri.settings.spawn-at-startup = [ - { argv = [ "alacritty" "--class" "alacritty-config" "--working-directory" "${githubDir}/ilkecan/config" ]; } - { argv = [ "alacritty" "--class" "alacritty-nixpkgs" "--working-directory" "${githubDir}/NixOS/nixpkgs" ]; } - { argv = [ "alacritty" "--class" "alacritty-review" "--working-directory" "${githubDir}/NixOS/nixpkgs/review" ]; } + { + argv = [ + "alacritty" + "--class" + "alacritty-config" + "--working-directory" + "${githubDir}/ilkecan/config" + ]; + } + { + argv = [ + "alacritty" + "--class" + "alacritty-nixpkgs" + "--working-directory" + "${githubDir}/NixOS/nixpkgs" + ]; + } + { + argv = [ + "alacritty" + "--class" + "alacritty-review" + "--working-directory" + "${githubDir}/NixOS/nixpkgs/review" + ]; + } { argv = [ "firefox" ]; } { argv = [ "io.gitlab.news_flash.NewsFlash" ]; } - { argv = [ "solaar" "--window=hide" ]; } - { argv = [ "steam" "-silent" ]; } + { + argv = [ + "solaar" + "--window=hide" + ]; + } + { + argv = [ + "steam" + "-silent" + ]; + } { argv = [ "thunderbird" ]; } { argv = [ "wasistlos" ]; } ]; diff --git a/nix/users/ilkecan/wayland/niri/binds/default.nix b/nix/users/ilkecan/wayland/niri/binds/default.nix index 9d90b55..8e81804 100644 --- a/nix/users/ilkecan/wayland/niri/binds/default.nix +++ b/nix/users/ilkecan/wayland/niri/binds/default.nix @@ -8,8 +8,8 @@ ]; programs.niri.settings.binds = { - "Ctrl+WheelScrollLeft".action.focus-monitor-left = []; - "Ctrl+WheelScrollRight".action.focus-monitor-right = []; + "Ctrl+WheelScrollLeft".action.focus-monitor-left = [ ]; + "Ctrl+WheelScrollRight".action.focus-monitor-right = [ ]; "Mod+Return" = { hotkey-overlay.title = "Open a Terminal: alacritty"; action.spawn = "alacritty"; diff --git a/nix/users/ilkecan/wayland/niri/binds/defaults.nix b/nix/users/ilkecan/wayland/niri/binds/defaults.nix index 0f9a2cf..1c49f8d 100644 --- a/nix/users/ilkecan/wayland/niri/binds/defaults.nix +++ b/nix/users/ilkecan/wayland/niri/binds/defaults.nix @@ -17,7 +17,7 @@ # Mod-Shift-/, which is usually the same as Mod-?, # shows a list of important hotkeys. - "Mod+Shift+Slash".action.show-hotkey-overlay = []; + "Mod+Shift+Slash".action.show-hotkey-overlay = [ ]; # Suggested binds for running programs: terminal, app launcher, screen locker. "Mod+T" = { @@ -47,38 +47,72 @@ # Using spawn-sh allows to pass multiple arguments together with the command. # "-l 1.0" limits the volume to 100%. "XF86AudioRaiseVolume" = { - action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+" "-l" "1.0" ]; + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.1+" + "-l" + "1.0" + ]; allow-when-locked = true; }; "XF86AudioLowerVolume" = { - action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-" ]; + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.1-" + ]; allow-when-locked = true; }; "XF86AudioMute" = { - action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle" ]; + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SINK@" + "toggle" + ]; allow-when-locked = true; }; "XF86AudioMicMute" = { - action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle" ]; + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SOURCE@" + "toggle" + ]; allow-when-locked = true; }; # Example media keys mapping using playerctl. # This will work with any MPRIS-enabled media player. "XF86AudioPlay" = { - action.spawn = [ "playerctld" "play-pause" ]; + action.spawn = [ + "playerctld" + "play-pause" + ]; allow-when-locked = true; }; "XF86AudioStop" = { - action.spawn = [ "playerctld" "stop" ]; + action.spawn = [ + "playerctld" + "stop" + ]; allow-when-locked = true; }; "XF86AudioPrev" = { - action.spawn = [ "playerctld" "previous" ]; + action.spawn = [ + "playerctld" + "previous" + ]; allow-when-locked = true; }; "XF86AudioNext" = { - action.spawn = [ "playerctld" "next" ]; + action.spawn = [ + "playerctld" + "next" + ]; allow-when-locked = true; }; @@ -86,11 +120,21 @@ # You can use regular spawn with multiple arguments too (to avoid going through "sh"), # but you need to manually put each argument in separate "" quotes. "XF86MonBrightnessUp" = { - action.spawn = [ "brightnessctl" "--class=backlight" "set" "+10%" ]; + action.spawn = [ + "brightnessctl" + "--class=backlight" + "set" + "+10%" + ]; allow-when-locked = true; }; "XF86MonBrightnessDown" = { - action.spawn = [ "brightnessctl" "--class=backlight" "set" "10%-" ]; + action.spawn = [ + "brightnessctl" + "--class=backlight" + "set" + "10%-" + ]; allow-when-locked = true; }; @@ -98,33 +142,32 @@ # You can also move the mouse into the top-left hot corner, # or do a four-finger swipe up on a touchpad. "Mod+O" = { - action.toggle-overview = []; + action.toggle-overview = [ ]; repeat = false; }; "Mod+Q" = { - action.close-window = []; + action.close-window = [ ]; repeat = false; }; - "Mod+Left".action.focus-column-left = []; - "Mod+Down".action.focus-window-down = []; - "Mod+Up".action.focus-window-up = []; - "Mod+Right".action.focus-column-right = []; - "Mod+H".action.focus-column-left = []; - "Mod+J".action.focus-window-down = []; - "Mod+K".action.focus-window-up = []; - "Mod+L".action.focus-column-right = []; - - "Mod+Ctrl+Left".action.move-column-left = []; - "Mod+Ctrl+Down".action.move-window-down = []; - "Mod+Ctrl+Up".action.move-window-up = []; - "Mod+Ctrl+Right".action.move-column-right = []; - "Mod+Ctrl+H".action.move-column-left = []; - "Mod+Ctrl+J".action.move-window-down = []; - "Mod+Ctrl+K".action.move-window-up = []; - "Mod+Ctrl+L".action.move-column-right = []; - + "Mod+Left".action.focus-column-left = [ ]; + "Mod+Down".action.focus-window-down = [ ]; + "Mod+Up".action.focus-window-up = [ ]; + "Mod+Right".action.focus-column-right = [ ]; + "Mod+H".action.focus-column-left = [ ]; + "Mod+J".action.focus-window-down = [ ]; + "Mod+K".action.focus-window-up = [ ]; + "Mod+L".action.focus-column-right = [ ]; + + "Mod+Ctrl+Left".action.move-column-left = [ ]; + "Mod+Ctrl+Down".action.move-window-down = [ ]; + "Mod+Ctrl+Up".action.move-window-up = [ ]; + "Mod+Ctrl+Right".action.move-column-right = [ ]; + "Mod+Ctrl+H".action.move-column-left = [ ]; + "Mod+Ctrl+J".action.move-window-down = [ ]; + "Mod+Ctrl+K".action.move-window-up = [ ]; + "Mod+Ctrl+L".action.move-column-right = [ ]; # Alternative commands that move across workspaces when reaching # the first or last window in a column. @@ -133,29 +176,28 @@ # "Mod+Ctrl+J".action.move-window-down-or-to-workspace-down = []; # "Mod+Ctrl+K".action.move-window-up-or-to-workspace-up = []; - "Mod+Home".action.focus-column-first = []; - "Mod+End".action.focus-column-last = []; - "Mod+Ctrl+Home".action.move-column-to-first = []; - "Mod+Ctrl+End".action.move-column-to-last = []; - - "Mod+Shift+Left".action.focus-monitor-left = []; - "Mod+Shift+Down".action.focus-monitor-down = []; - "Mod+Shift+Up".action.focus-monitor-up = []; - "Mod+Shift+Right".action.focus-monitor-right = []; - "Mod+Shift+H".action.focus-monitor-left = []; - "Mod+Shift+J".action.focus-monitor-down = []; - "Mod+Shift+K".action.focus-monitor-up = []; - "Mod+Shift+L".action.focus-monitor-right = []; - - "Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = []; - "Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = []; - "Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = []; - "Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = []; - "Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = []; - "Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = []; - "Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = []; - "Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = []; - + "Mod+Home".action.focus-column-first = [ ]; + "Mod+End".action.focus-column-last = [ ]; + "Mod+Ctrl+Home".action.move-column-to-first = [ ]; + "Mod+Ctrl+End".action.move-column-to-last = [ ]; + + "Mod+Shift+Left".action.focus-monitor-left = [ ]; + "Mod+Shift+Down".action.focus-monitor-down = [ ]; + "Mod+Shift+Up".action.focus-monitor-up = [ ]; + "Mod+Shift+Right".action.focus-monitor-right = [ ]; + "Mod+Shift+H".action.focus-monitor-left = [ ]; + "Mod+Shift+J".action.focus-monitor-down = [ ]; + "Mod+Shift+K".action.focus-monitor-up = [ ]; + "Mod+Shift+L".action.focus-monitor-right = [ ]; + + "Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = [ ]; + "Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = [ ]; + "Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = [ ]; + "Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = [ ]; + "Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = [ ]; + "Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = [ ]; + "Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = [ ]; + "Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = [ ]; # Alternatively, there are commands to move just a single window: # "Mod+Shift+Ctrl+Left".action.move-window-to-monitor-left = []; @@ -165,23 +207,23 @@ # "Mod+Shift+Ctrl+Left".action.move-workspace-to-monitor-left = []; # ... - "Mod+Page_Down".action.focus-workspace-down = []; - "Mod+Page_Up".action.focus-workspace-up = []; - "Mod+U".action.focus-workspace-down = []; - "Mod+I".action.focus-workspace-up = []; - "Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = []; - "Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = []; - "Mod+Ctrl+U".action.move-column-to-workspace-down = []; - "Mod+Ctrl+I".action.move-column-to-workspace-up = []; + "Mod+Page_Down".action.focus-workspace-down = [ ]; + "Mod+Page_Up".action.focus-workspace-up = [ ]; + "Mod+U".action.focus-workspace-down = [ ]; + "Mod+I".action.focus-workspace-up = [ ]; + "Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = [ ]; + "Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = [ ]; + "Mod+Ctrl+U".action.move-column-to-workspace-down = [ ]; + "Mod+Ctrl+I".action.move-column-to-workspace-up = [ ]; # Alternatively, there are commands to move just a single window: # "Mod+Ctrl+Page_Down".action.move-window-to-workspace-down = []; # ... - "Mod+Shift+Page_Down".action.move-workspace-down = []; - "Mod+Shift+Page_Up".action.move-workspace-up = []; - "Mod+Shift+U".action.move-workspace-down = []; - "Mod+Shift+I".action.move-workspace-up = []; + "Mod+Shift+Page_Down".action.move-workspace-down = [ ]; + "Mod+Shift+Page_Up".action.move-workspace-up = [ ]; + "Mod+Shift+U".action.move-workspace-down = [ ]; + "Mod+Shift+I".action.move-workspace-up = [ ]; # You can bind mouse wheel scroll ticks using the following syntax. # These binds will change direction based on the natural-scroll setting. @@ -190,33 +232,33 @@ # the cooldown-ms property. The bind will be rate-limited to this value. # You can set a cooldown on any bind, but it's most useful for the wheel. "Mod+WheelScrollDown" = { - action.focus-workspace-down = []; + action.focus-workspace-down = [ ]; cooldown-ms = 150; }; "Mod+WheelScrollUp" = { - action.focus-workspace-up = []; + action.focus-workspace-up = [ ]; cooldown-ms = 150; }; "Mod+Ctrl+WheelScrollDown" = { - action.move-column-to-workspace-down = []; + action.move-column-to-workspace-down = [ ]; cooldown-ms = 150; }; "Mod+Ctrl+WheelScrollUp" = { - action.move-column-to-workspace-up = []; + action.move-column-to-workspace-up = [ ]; cooldown-ms = 150; }; - "Mod+WheelScrollRight".action.focus-column-right = []; - "Mod+WheelScrollLeft".action.focus-column-left = []; - "Mod+Ctrl+WheelScrollRight".action.move-column-right = []; - "Mod+Ctrl+WheelScrollLeft".action.move-column-left = []; + "Mod+WheelScrollRight".action.focus-column-right = [ ]; + "Mod+WheelScrollLeft".action.focus-column-left = [ ]; + "Mod+Ctrl+WheelScrollRight".action.move-column-right = [ ]; + "Mod+Ctrl+WheelScrollLeft".action.move-column-left = [ ]; # Usually scrolling up and down with Shift in applications results in # horizontal scrolling; these binds replicate that. - "Mod+Shift+WheelScrollDown".action.focus-column-right = []; - "Mod+Shift+WheelScrollUp".action.focus-column-left = []; - "Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = []; - "Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = []; + "Mod+Shift+WheelScrollDown".action.focus-column-right = [ ]; + "Mod+Shift+WheelScrollUp".action.focus-column-left = [ ]; + "Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = [ ]; + "Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = [ ]; # Similarly, you can bind touchpad scroll "ticks". # Touchpad scrolling is continuous, so for these binds it is split into @@ -263,36 +305,36 @@ # The following binds move the focused window in and out of a column. # If the window is alone, they will consume it into the nearby column to the side. # If the window is already in a column, they will expel it out. - "Mod+BracketLeft".action.consume-or-expel-window-left = []; - "Mod+BracketRight".action.consume-or-expel-window-right = []; + "Mod+BracketLeft".action.consume-or-expel-window-left = [ ]; + "Mod+BracketRight".action.consume-or-expel-window-right = [ ]; # Consume one window from the right to the bottom of the focused column. - "Mod+Comma".action.consume-window-into-column = []; + "Mod+Comma".action.consume-window-into-column = [ ]; # Expel the bottom window from the focused column to the right. - "Mod+Period".action.expel-window-from-column = []; + "Mod+Period".action.expel-window-from-column = [ ]; - "Mod+R".action.switch-preset-column-width = []; + "Mod+R".action.switch-preset-column-width = [ ]; # Cycling through the presets in reverse order is also possible. # "Mod+R".action.switch-preset-column-width-back = []; - "Mod+Shift+R".action.switch-preset-window-height = []; - "Mod+Ctrl+R".action.reset-window-height = []; - "Mod+F".action.maximize-column = []; - "Mod+Shift+F".action.fullscreen-window = []; + "Mod+Shift+R".action.switch-preset-window-height = [ ]; + "Mod+Ctrl+R".action.reset-window-height = [ ]; + "Mod+F".action.maximize-column = [ ]; + "Mod+Shift+F".action.fullscreen-window = [ ]; # While maximize-column leaves gaps and borders around the window, # maximize-window-to-edges doesn't: the window expands to the edges of the screen. # This bind corresponds to normal window maximizing, # e.g. by double-clicking on the titlebar. - "Mod+M".action.maximize-window-to-edges = []; + "Mod+M".action.maximize-window-to-edges = [ ]; # Expand the focused column to space not taken up by other fully visible columns. # Makes the column "fill the rest of the space". - "Mod+Ctrl+F".action.expand-column-to-available-width = []; + "Mod+Ctrl+F".action.expand-column-to-available-width = [ ]; - "Mod+C".action.center-column = []; + "Mod+C".action.center-column = [ ]; # Center all fully visible columns on screen. - "Mod+Ctrl+C".action.center-visible-columns = []; + "Mod+Ctrl+C".action.center-visible-columns = [ ]; # Finer width adjustments. # This command can also: @@ -310,13 +352,13 @@ "Mod+Shift+Equal".action.set-window-height = "+10%"; # Move the focused window between the floating and the tiling layout. - "Mod+V".action.toggle-window-floating = []; - "Mod+Shift+V".action.switch-focus-between-floating-and-tiling = []; + "Mod+V".action.toggle-window-floating = [ ]; + "Mod+Shift+V".action.switch-focus-between-floating-and-tiling = [ ]; # Toggle tabbed column display mode. # Windows in this column will appear as vertical tabs, # rather than stacked on top of each other. - "Mod+W".action.toggle-column-tabbed-display = []; + "Mod+W".action.toggle-column-tabbed-display = [ ]; # Actions to switch layouts. # Note: if you uncomment these, make sure you do NOT have @@ -326,9 +368,9 @@ "Mod+Space".action.switch-layout = [ "next" ]; "Mod+Shift+Space".action.switch-layout = [ "prev" ]; - "Print".action.screenshot = []; - "Ctrl+Print".action.screenshot-screen = []; - "Alt+Print".action.screenshot-window = []; + "Print".action.screenshot = [ ]; + "Ctrl+Print".action.screenshot-screen = [ ]; + "Alt+Print".action.screenshot-window = [ ]; # Applications such as remote-desktop clients and software KVM switches may # request that niri stops processing the keyboard shortcuts defined here @@ -339,16 +381,16 @@ # The allow-inhibiting=false property can be applied to other binds as well, # which ensures niri always processes them, even when an inhibitor is active. "Mod+Escape" = { - action.toggle-keyboard-shortcuts-inhibit = []; + action.toggle-keyboard-shortcuts-inhibit = [ ]; allow-inhibiting = false; }; # The quit action will show a confirmation dialog to avoid accidental exits. - "Mod+Shift+E".action.quit = []; - "Ctrl+Alt+Delete".action.quit = []; + "Mod+Shift+E".action.quit = [ ]; + "Ctrl+Alt+Delete".action.quit = [ ]; # Powers off the monitors. To turn them back on, do any input like # moving the mouse or pressing any other key. - "Mod+Shift+P".action.power-off-monitors = []; + "Mod+Shift+P".action.power-off-monitors = [ ]; }; } diff --git a/nix/users/ilkecan/wayland/niri/layout.nix b/nix/users/ilkecan/wayland/niri/layout.nix index 7fbd921..4d37e11 100644 --- a/nix/users/ilkecan/wayland/niri/layout.nix +++ b/nix/users/ilkecan/wayland/niri/layout.nix @@ -17,8 +17,12 @@ focus-ring = { enable = true; - active = { color = "#7fc8ff"; }; - inactive = { color = "#505050"; }; + active = { + color = "#7fc8ff"; + }; + inactive = { + color = "#505050"; + }; }; border.enable = false; diff --git a/nix/users/ilkecan/wayland/niri/window-rules.nix b/nix/users/ilkecan/wayland/niri/window-rules.nix index 4b79304..af64dbd 100644 --- a/nix/users/ilkecan/wayland/niri/window-rules.nix +++ b/nix/users/ilkecan/wayland/niri/window-rules.nix @@ -6,22 +6,22 @@ { programs.niri.settings.window-rules = [ { - matches = [ { app-id = ''^alacritty-config$''; } ]; + matches = [ { app-id = "^alacritty-config$"; } ]; open-maximized = true; open-on-workspace = "config"; } { - matches = [ { app-id = ''^alacritty-nixpkgs$''; } ]; + matches = [ { app-id = "^alacritty-nixpkgs$"; } ]; open-maximized = true; open-on-workspace = "nixpkgs"; } { - matches = [ { app-id = ''^alacritty-review$''; } ]; + matches = [ { app-id = "^alacritty-review$"; } ]; open-maximized = true; open-on-workspace = "review"; } { - matches = [ { app-id = ''^chromium-browser$''; } ]; + matches = [ { app-id = "^chromium-browser$"; } ]; open-maximized = true; open-on-workspace = "browser"; } @@ -36,17 +36,17 @@ open-on-workspace = "settings"; } { - matches = [ { app-id = ''^org.quickshell$''; } ]; + matches = [ { app-id = "^org.quickshell$"; } ]; open-maximized = true; open-on-workspace = "settings"; } { - matches = [ { app-id = ''^firefox$''; } ]; + matches = [ { app-id = "^firefox$"; } ]; open-maximized = true; open-on-workspace = "browser"; } { - matches = [ { app-id = ''^fluffychat$''; } ]; + matches = [ { app-id = "^fluffychat$"; } ]; block-out-from = "screen-capture"; open-maximized = true; open-on-workspace = "messaging"; @@ -62,7 +62,7 @@ open-on-workspace = "news"; } { - matches = [ { app-id = ''^itch$''; } ]; + matches = [ { app-id = "^itch$"; } ]; open-maximized = true; open-on-workspace = "gaming"; } @@ -84,12 +84,12 @@ open-on-workspace = "messaging"; } { - matches = [ { app-id = ''^solaar$''; } ]; + matches = [ { app-id = "^solaar$"; } ]; open-maximized = true; open-on-workspace = "settings"; } { - matches = [ { app-id = ''^steam$''; } ]; + matches = [ { app-id = "^steam$"; } ]; block-out-from = "screen-capture"; open-on-workspace = "gaming"; } @@ -100,13 +100,13 @@ open-on-workspace = "gaming"; } { - matches = [ { app-id = ''^thunderbird$''; } ]; + matches = [ { app-id = "^thunderbird$"; } ]; block-out-from = "screen-capture"; open-maximized = true; open-on-workspace = "news"; } { - matches = [ { app-id = ''^wasistlos$''; } ]; + matches = [ { app-id = "^wasistlos$"; } ]; block-out-from = "screen-capture"; open-maximized = true; open-on-workspace = "messaging"; diff --git a/nix/users/ilkecan/wayland/niri/workspaces/default.nix b/nix/users/ilkecan/wayland/niri/workspaces/default.nix index 39b1249..57aed1a 100644 --- a/nix/users/ilkecan/wayland/niri/workspaces/default.nix +++ b/nix/users/ilkecan/wayland/niri/workspaces/default.nix @@ -9,24 +9,27 @@ let flatten imap1 listToAttrs - ; + ; outputs = [ ./dp-3.nix ./edp-1.nix ]; - importOutput = file: + importOutput = + file: let inherit (import file) output workspaces; in imap1 (mkWorkspace output) workspaces; - mkWorkspace = output: index: name: - { - name = "${output}_${toString index}_${name}"; - value = { open-on-output = output; inherit name; }; + mkWorkspace = output: index: name: { + name = "${output}_${toString index}_${name}"; + value = { + open-on-output = output; + inherit name; }; + }; in { programs.niri.settings.workspaces = listToAttrs (flatten (map importOutput outputs)); diff --git a/nix/users/ilkecan/wayland/satty.nix b/nix/users/ilkecan/wayland/satty.nix index d42c5a2..5793bf7 100644 --- a/nix/users/ilkecan/wayland/satty.nix +++ b/nix/users/ilkecan/wayland/satty.nix @@ -8,7 +8,7 @@ let inherit (lib) mkIf - ; + ; in { home.sessionVariables = mkIf config.programs.dank-material-shell.enable { diff --git a/nix/users/ilkecan/xdg/basedir.nix b/nix/users/ilkecan/xdg/basedir.nix index b5b1c2a..07aec9d 100644 --- a/nix/users/ilkecan/xdg/basedir.nix +++ b/nix/users/ilkecan/xdg/basedir.nix @@ -8,28 +8,35 @@ let inherit (builtins) readDir - ; + ; inherit (lib) flatten listToAttrs mapAttrsToList - ; + ; # https://github.com/nix-community/home-manager/issues/3849#issuecomment-2115899992 - listFilesRecursive = dir: + listFilesRecursive = + dir: let - internalFunc = acc: + internalFunc = + acc: (mapAttrsToList ( name: type: if type == "directory" then internalFunc "${acc}${name}/" else "${acc}${name}" ) (readDir "${dir}/${acc}")); in flatten (internalFunc ""); - toXdgFiles = dir: + toXdgFiles = + dir: let - toXdgFile = name: - { inherit name; value = { source = "${dir}/${name}"; }; }; + toXdgFile = name: { + inherit name; + value = { + source = "${dir}/${name}"; + }; + }; in listToAttrs (map toXdgFile (listFilesRecursive dir)); From 8418f2b08da0ba3f9b3719be66e2fef01f0453e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 15:03:49 +0300 Subject: [PATCH 08/20] flake: update inputs --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index c2f953d..f92888a 100644 --- a/flake.lock +++ b/flake.lock @@ -202,11 +202,11 @@ ] }, "locked": { - "lastModified": 1773142806, - "narHash": "sha256-LCucRiPA3m6i7OM0rB+iT2oeFzIa008xxa4xkBkD/aU=", + "lastModified": 1773232295, + "narHash": "sha256-uHXT23XL5V2pQaBuW5zm2JhNM61ob4iISd1JtVrautE=", "owner": "AvengeMedia", "repo": "dms-plugin-registry", - "rev": "08e551b79aef5bd534b3e97b032bd3b282d7c99c", + "rev": "be0a43ea495cc955171fc9e0ebf13c359b7ed530", "type": "github" }, "original": { @@ -374,11 +374,11 @@ ] }, "locked": { - "lastModified": 1772985280, - "narHash": "sha256-FdrNykOoY9VStevU4zjSUdvsL9SzJTcXt4omdEDZDLk=", + "lastModified": 1773264488, + "narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "8f736f007139d7f70752657dff6a401a585d6cbc", + "rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c", "type": "github" }, "original": { @@ -448,11 +448,11 @@ ] }, "locked": { - "lastModified": 1773201098, - "narHash": "sha256-yq35qMKDHyMdVlhGfR5BojbjniY2cY9XYmiILeCf1Xc=", + "lastModified": 1773316298, + "narHash": "sha256-aggv/ltBnQZEPFNwGIZ+Eqz3P6xuNfpEmsCBAM2TU2s=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "8578734bf5087a1ca45033c2ec8e1a2228f9b95c", + "rev": "0bdfda81db96dc5646b39d3677aa010f32aaf551", "type": "github" }, "original": { @@ -468,11 +468,11 @@ ] }, "locked": { - "lastModified": 1773211754, - "narHash": "sha256-P3RF/4rCNXtQVoLXPelfDpIutusZ5qvLwRzqprDfKdk=", + "lastModified": 1773298265, + "narHash": "sha256-dC8JjCGsLzK7MRIUZCgNCpFw1wAj+Kwf4Y9eMi43WXQ=", "owner": "natsukium", "repo": "mcp-servers-nix", - "rev": "6326cb1384c5276b88c1df861ffa07b511a074ca", + "rev": "9b769589c09be6af071f50add59feafff5b86d07", "type": "github" }, "original": { @@ -537,11 +537,11 @@ ] }, "locked": { - "lastModified": 1773170801, - "narHash": "sha256-TB9/4xKh8tZcbOtxlHB24EO4NlEIorxtcL3L7LOWLqA=", + "lastModified": 1773303738, + "narHash": "sha256-qrl74wNFMTUzA8z6nSEWNjQcJI/MQEWdWu2Wn+u4Ctg=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "5336c8d137d1a3ad055e83fa08dcb17c1f2b9444", + "rev": "329df7671b7859abd1cbca5d5af296ed6dc22b46", "type": "github" }, "original": { @@ -640,11 +640,11 @@ ] }, "locked": { - "lastModified": 1773196297, - "narHash": "sha256-3cTCid9mn1VwqZwxoIjh7NKlUhnsNZUuEn++AAjaWsk=", + "lastModified": 1773283055, + "narHash": "sha256-wB/0EYnf7VnZxANC1xANXQtx5pS9riXR3Y4e2/BQ4Lo=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "283b7757411109bec421885dca788984c423d4af", + "rev": "021365f15453feab8aafc23fb3f111669a963292", "type": "github" }, "original": { @@ -686,11 +686,11 @@ ] }, "locked": { - "lastModified": 1773217223, - "narHash": "sha256-nuJm0CAgTFHQr900Euks0iTjcI5zagGfJTzeCEk3W8g=", + "lastModified": 1773276202, + "narHash": "sha256-eCVLRstRN2kM3k3OucNuzy+xFIda0J38kVOkSqtHUQw=", "owner": "kaylorben", "repo": "nixcord", - "rev": "41d6b20512a433203018777b630853c96b0294f8", + "rev": "4b0db552dec05832be35820ac287d56af2dd4fb9", "type": "github" }, "original": { @@ -759,11 +759,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1772963539, - "narHash": "sha256-G4+9cEu8XSqEWYUB6iRgDfrg53av6yyRwAKhSeKbUVw=", - "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", + "lastModified": 1773122722, + "narHash": "sha256-niN94IYRjSvML5CuvT+97QelKJ5GMG8668Q9xddsszU=", + "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre960399.9dcb002ca169/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre961274.62dc67aa6a52/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -780,11 +780,11 @@ ] }, "locked": { - "lastModified": 1773224906, - "narHash": "sha256-QyZqPbFa27GNWi4uYiUZ57sYan3WkuITheLo68OTv1Q=", + "lastModified": 1773312379, + "narHash": "sha256-vqDS7pNTtQP+c4OSbh/lXSORrEKOMHZbXiPHbJ2aNe4=", "owner": "nix-community", "repo": "NUR", - "rev": "128fdb2143551a55f669baca94a959a41bde3793", + "rev": "b2617c8dda6c65c9e5fd34f770a0cea9801d4647", "type": "github" }, "original": { @@ -1071,11 +1071,11 @@ ] }, "locked": { - "lastModified": 1772660329, - "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", + "lastModified": 1773297127, + "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3710e0e1218041bbad640352a0440114b1e10428", + "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", "type": "github" }, "original": { From 64fa04d5eca1097e85655d203c6c9422bdcde312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 15:19:44 +0300 Subject: [PATCH 09/20] AGENTS.md: update --- AGENTS.md | 83 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 40 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 75ec0b5..5601a7d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,37 +27,38 @@ nix flake check # Check for evaluation errors ## Repository Structure - flake.nix # Entry point: delegates to flake-parts via ./flake - flake/ # Flake-parts modules defining all outputs - nixos-configurations.nix - home-configurations.nix - modules.nix # Exposes modules/ tree as flake.modules - flake-modules.nix # flake.flakeModules = modules.flake - home-modules.nix # flake.homeModules = modules.homeManager - nixos-modules.nix # flake.nixosModules = modules.nixos - per-system/ # All perSystem outputs - args/ # Injects custom perSystem args (lib, pkgs) - apps/ # Flake apps (ci via nix-fast-build) - checks/ # Flake checks (trufflehog) - dev-shells.nix # devShells (pre-commit shell) - pre-commit.nix # git-hooks-nix pre-commit config - inputs/ # Applies patches to flake inputs - default.nix # Merges patched inputs over raw inputs - nixpkgs.nix # nixpkgs patches (module-level changes) - nixpkgs-patched.nix # nixpkgs-unstable patches (package-level changes) - home-manager.nix # home-manager patches - dms.nix # dms patches - lib/ # Custom lib extensions (lib.my.*) - my.nix # lib.my.importTree, lib.my.mkAbsolute - my-pkgs.nix # lib.my-pkgs.callExpression - hosts/mephistopheles/ # NixOS host configuration - users/ilkecan/ # Home Manager user configuration - modules/ # Reusable modules, exposed as flake outputs - flake/ # Flake-parts modules (flakeModules) - home-manager/ # Home Manager modules (homeModules) - nixos/ # NixOS modules (nixosModules) - packages/ # Custom pkgs instantiation (overlays applied here) - secrets/ # sops-nix encrypted secrets + flake.nix # Entry point: delegates to flake-parts via ./nix/flake + nix/ # All Nix source files + flake/ # Flake-parts modules defining all outputs + nixos-configurations.nix + home-configurations.nix + modules.nix # Exposes nix/modules/ tree as flake.modules + flake-modules.nix # flake.flakeModules = modules.flake + home-modules.nix # flake.homeModules = modules.homeManager + nixos-modules.nix # flake.nixosModules = modules.nixos + per-system/ # All perSystem outputs + args/ # Injects custom perSystem args (lib, pkgs) + apps/ # Flake apps (ci via nix-fast-build) + checks/ # Flake checks (trufflehog) + dev-shells.nix # devShells (pre-commit shell) + pre-commit.nix # git-hooks-nix pre-commit config + inputs/ # Applies patches to flake inputs + default.nix # Merges patched inputs over raw inputs + nixpkgs.nix # nixpkgs patches (module-level changes) + nixpkgs-patched.nix # nixpkgs-unstable patches (package-level changes) + home-manager.nix # home-manager patches + dms.nix # dms patches + lib/ # Custom lib extensions (lib.my.*) + my.nix # lib.my.importTree, lib.my.mkAbsolute + my-pkgs.nix # lib.my-pkgs.callExpression + hosts/mephistopheles/ # NixOS host configuration + users/ilkecan/ # Home Manager user configuration + modules/ # Reusable modules, exposed as flake outputs + flake/ # Flake-parts modules (flakeModules) + home-manager/ # Home Manager modules (homeModules) + nixos/ # NixOS modules (nixosModules) + packages/ # Custom pkgs instantiation (overlays applied here) + secrets/ # sops-nix encrypted secrets ## Key Architectural Patterns @@ -71,11 +72,11 @@ There are three nixpkgs inputs with distinct purposes: ### Input Patching -`inputs/default.nix` applies upstream PRs to inputs and makes patched versions transparent by overwriting the originals under `inputs.*` (except `nixpkgs-patched`, which is always a separate input). Modules consume patched inputs the same way as stock ones. +`nix/inputs/default.nix` applies upstream PRs to inputs and makes patched versions transparent by overwriting the originals under `inputs.*` (except `nixpkgs-patched`, which is always a separate input). Modules consume patched inputs the same way as stock ones. ### Custom pkgs Overlays -`packages/default.nix` instantiates nixpkgs with several overlays, making these package sets available everywhere: +`nix/packages/default.nix` instantiates nixpkgs with several overlays, making these package sets available everywhere: - `pkgs.unstable` — nixos-unstable packages - `pkgs.patched` — nixpkgs-unstable with package-level patches applied @@ -89,7 +90,7 @@ Used extensively to auto-import directories. All `.nix` files and subdirectories ### Impermanence -The host uses `impermanence` (ephemeral `/` via btrfs). Persistent paths must be explicitly declared in `hosts/mephistopheles/impermanence.nix`. +The host uses `impermanence` (ephemeral `/` via btrfs). Persistent paths must be explicitly declared in `nix/hosts/mephistopheles/impermanence.nix`. ### Secrets @@ -97,7 +98,7 @@ Managed with `sops-nix`. Encrypted secrets live in `secrets/`. ### Key Inputs -- **nvf** — Neovim configuration framework (used for all neovim config under `users/ilkecan/text-editors/neovim/`) +- **nvf** — Neovim configuration framework (used for all neovim config under `nix/users/ilkecan/text-editors/neovim/`) - **stylix** — System-wide theming - **niri-flake** — Niri Wayland compositor - **disko** — Declarative disk partitioning @@ -105,18 +106,20 @@ Managed with `sops-nix`. Encrypted secrets live in `secrets/`. - **sops-nix** — Secrets management (encrypted secrets in `secrets/`) - **dms** — DankMaterialShell, a desktop shell for Wayland compositors, built with Quickshell - **betterfox-nix** — Firefox user.js optimization -- **git-hooks-nix** — Pre-commit hooks framework (deadnix, flake-checker, flint, gitleaks, nil, nixf-diagnose, ripsecrets) +- **git-hooks-nix** — Pre-commit hooks framework (comrak, deadnix, flake-checker, flint, gitleaks, nil, nixf-diagnose, nixfmt, ripsecrets) - **nixos-cli** — NixOS CLI tool - **mcp-servers-nix** — MCP server configuration for Home Manager - **optnix** — Nix option analysis tool ### Flake Module Outputs -Modules under `modules/` are exposed as flake outputs via `flake/modules.nix`: +Modules under `nix/modules/` are exposed as flake outputs via `nix/flake/modules.nix`: -- `flakeModules` — from `modules/flake/` -- `homeModules` — from `modules/home-manager/` -- `nixosModules` — from `modules/nixos/` +- `flakeModules` — from `nix/modules/flake/` +- `homeModules` — from `nix/modules/home-manager/` +- `nixosModules` — from `nix/modules/nixos/` + +The `cachix-push` flake module (in `nix/modules/flake/`) provides a `flake.cachix.push` option and generates a `perSystem.apps.cachix-push` app for pushing packages to Cachix caches. Both host and user configurations dogfood their respective `*.default` module. From 4e0785d8816916f1f61177369e0ca5ca95cac151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 16:35:21 +0300 Subject: [PATCH 10/20] nix/inputs: make `pulls` a list to control the order --- nix/inputs/default.nix | 18 ++++++++---------- nix/inputs/dms.nix | 9 ++++++--- nix/inputs/home-manager.nix | 34 ++++++++++++++++++++++++++-------- nix/inputs/nixpkgs-patched.nix | 9 ++++++--- nix/inputs/nixpkgs.nix | 14 ++++++++++---- 5 files changed, 56 insertions(+), 28 deletions(-) diff --git a/nix/inputs/default.nix b/nix/inputs/default.nix index 3fcc4ad..99e3daf 100644 --- a/nix/inputs/default.nix +++ b/nix/inputs/default.nix @@ -11,10 +11,6 @@ let fetchpatch2 ; - inherit (inputs.nixpkgs.lib) - mapAttrsToList - ; - patchInput = { owner, @@ -25,12 +21,14 @@ let patches ? [ ], }: let - mkPatch = number: hash: { - inherit hash; - name = "${owner}-${repo}-${number}.patch"; - url = "https://github.com/${owner}/${repo}/pull/${number}.patch?full_index=1"; - }; - patches' = patches ++ map fetchpatch2 (mapAttrsToList mkPatch pulls); + mkPatch = + { number, hash }: + fetchpatch2 { + inherit hash; + name = "${owner}-${repo}-${number}.patch"; + url = "https://github.com/${owner}/${repo}/pull/${number}.patch?full_index=1"; + }; + patches' = patches ++ map mkPatch pulls; src' = applyPatches { inherit name src; patches = patches'; diff --git a/nix/inputs/dms.nix b/nix/inputs/dms.nix index 860c01f..db86c2b 100644 --- a/nix/inputs/dms.nix +++ b/nix/inputs/dms.nix @@ -7,7 +7,10 @@ repo = "DankMaterialShell"; src = inputs.dms; name = "dms"; - pulls = { - "1864" = "sha256-epTcIn5TDMZwZ3iUD8kx93EfobJEdcKnJ4zo/QlLrzw="; # nix: add package option for dms-shell - }; + pulls = [ + { + number = "1864"; + hash = "sha256-epTcIn5TDMZwZ3iUD8kx93EfobJEdcKnJ4zo/QlLrzw="; + } # nix: add package option for dms-shell + ]; } diff --git a/nix/inputs/home-manager.nix b/nix/inputs/home-manager.nix index bd8d3b0..b97ca6b 100644 --- a/nix/inputs/home-manager.nix +++ b/nix/inputs/home-manager.nix @@ -7,12 +7,30 @@ repo = "home-manager"; src = inputs.home-manager; name = "home-manager"; - pulls = { - "8290" = "sha256-hSnOwFX04GQcOwlxPsDJxVV8b6FIFvuckCAm0fjfLvI="; - "8305" = "sha256-osWWAfqhc9X8QlGjSe4cnffj/ljB+KQGfSLT3o4Dd60="; - "8365" = "sha256-AKXVJmltOEiYu71gTb5yhlKTP21Ce0vuEogstWOAUa8="; - "8770" = "sha256-1GctHo6/qowbuguH335KDtn3nAgwn6+cGlebfuE2QiY="; - "8543" = "sha256-Swwm+ejwIKVI4tQy7ilPNwMoUlBejPm2NfMDrY+dJz0="; - "8783" = "sha256-W8Ufvufloq3gNT2zxegKQUHmi3KZMlcQCp9gEi0ZHuE="; - }; + pulls = [ + { + number = "8290"; + hash = "sha256-hSnOwFX04GQcOwlxPsDJxVV8b6FIFvuckCAm0fjfLvI="; + } # claude-code: fix wrapper to inject --mcp-config after subcommands + { + number = "8305"; + hash = "sha256-osWWAfqhc9X8QlGjSe4cnffj/ljB+KQGfSLT3o4Dd60="; + } # claude-code: refactor wrapper to use append-flags + { + number = "8365"; + hash = "sha256-AKXVJmltOEiYu71gTb5yhlKTP21Ce0vuEogstWOAUa8="; + } # claude-code: add rules support + { + number = "8543"; + hash = "sha256-Swwm+ejwIKVI4tQy7ilPNwMoUlBejPm2NfMDrY+dJz0="; + } # claude-code: add enableMcpIntegration + { + number = "8770"; + hash = "sha256-1GctHo6/qowbuguH335KDtn3nAgwn6+cGlebfuE2QiY="; + } # claude-code: fix skills implementation + { + number = "8783"; + hash = "sha256-W8Ufvufloq3gNT2zxegKQUHmi3KZMlcQCp9gEi0ZHuE="; + } # claude-code: add support for output styles + ]; } diff --git a/nix/inputs/nixpkgs-patched.nix b/nix/inputs/nixpkgs-patched.nix index 09d7221..163259e 100644 --- a/nix/inputs/nixpkgs-patched.nix +++ b/nix/inputs/nixpkgs-patched.nix @@ -7,7 +7,10 @@ repo = "nixpkgs"; src = inputs.nixpkgs-unstable; name = "nixpkgs-patched"; - pulls = { - "480060" = "sha256-FNMYPEOeCp0WSbM9XZxJm8Qb9QfsTGud8cBriM6fnrM="; # various: use absolute path in thumbnailer files - }; + pulls = [ + { + number = "480060"; + hash = "sha256-FNMYPEOeCp0WSbM9XZxJm8Qb9QfsTGud8cBriM6fnrM="; + } # various: use absolute path in thumbnailer files + ]; } diff --git a/nix/inputs/nixpkgs.nix b/nix/inputs/nixpkgs.nix index 6c796de..0930786 100644 --- a/nix/inputs/nixpkgs.nix +++ b/nix/inputs/nixpkgs.nix @@ -7,8 +7,14 @@ repo = "nixpkgs"; src = inputs.nixpkgs; name = "nixpkgs"; - pulls = { - "470359" = "sha256-33Vr0X+xhWjbkQhPCivRC8C9yQS1U6vct9U0H4Rtvxo="; # nixos/automatic-timezoned: Fix boot delays and systemd unit ordering - "494001" = "sha256-JC391f0TQigESqOw+ubLwLmlnQuIRwPqHKg8BG+Oiwc="; # nixos/envfs: fix compatibility with systemd in initrd - }; + pulls = [ + { + number = "470359"; + hash = "sha256-33Vr0X+xhWjbkQhPCivRC8C9yQS1U6vct9U0H4Rtvxo="; + } # nixos/automatic-timezoned: Fix boot delays and systemd unit ordering + { + number = "494001"; + hash = "sha256-JC391f0TQigESqOw+ubLwLmlnQuIRwPqHKg8BG+Oiwc="; + } # nixos/envfs: fix compatibility with systemd in initrd + ]; } From d47aadaec9601285087802b7dbc070416189759e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 16:52:05 +0300 Subject: [PATCH 11/20] nix/inputs: use `.diff` instead of `.patch` for PRs --- nix/inputs/default.nix | 2 +- nix/inputs/nixpkgs.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/inputs/default.nix b/nix/inputs/default.nix index 99e3daf..1bd5d0b 100644 --- a/nix/inputs/default.nix +++ b/nix/inputs/default.nix @@ -26,7 +26,7 @@ let fetchpatch2 { inherit hash; name = "${owner}-${repo}-${number}.patch"; - url = "https://github.com/${owner}/${repo}/pull/${number}.patch?full_index=1"; + url = "https://github.com/${owner}/${repo}/pull/${number}.diff?full_index=1"; }; patches' = patches ++ map mkPatch pulls; src' = applyPatches { diff --git a/nix/inputs/nixpkgs.nix b/nix/inputs/nixpkgs.nix index 0930786..2e6b78c 100644 --- a/nix/inputs/nixpkgs.nix +++ b/nix/inputs/nixpkgs.nix @@ -10,7 +10,7 @@ pulls = [ { number = "470359"; - hash = "sha256-33Vr0X+xhWjbkQhPCivRC8C9yQS1U6vct9U0H4Rtvxo="; + hash = "sha256-JC391f0TQigESqOw+ubLwLmlnQuIRwPqHKg8BG+Oiwc="; } # nixos/automatic-timezoned: Fix boot delays and systemd unit ordering { number = "494001"; From f41606e68f322f9ac00cee4f9f15015650d8a793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 17:10:02 +0300 Subject: [PATCH 12/20] hm.programs: configure codex --- nix/inputs/home-manager.nix | 12 +++++++ nix/inputs/nixpkgs.nix | 2 +- nix/users/ilkecan/llm/codex.nix | 57 +++++++++++++++++++++++++++++++ nix/users/ilkecan/llm/default.nix | 1 + 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 nix/users/ilkecan/llm/codex.nix diff --git a/nix/inputs/home-manager.nix b/nix/inputs/home-manager.nix index b97ca6b..bd6d762 100644 --- a/nix/inputs/home-manager.nix +++ b/nix/inputs/home-manager.nix @@ -20,10 +20,18 @@ number = "8365"; hash = "sha256-AKXVJmltOEiYu71gTb5yhlKTP21Ce0vuEogstWOAUa8="; } # claude-code: add rules support + { + number = "8550"; + hash = "sha256-qYqSF986WZmzVYFPii+Thf0fZqH7HT3JrglKrutxdwI="; + } # codex: add skills options { number = "8543"; hash = "sha256-Swwm+ejwIKVI4tQy7ilPNwMoUlBejPm2NfMDrY+dJz0="; } # claude-code: add enableMcpIntegration + { + number = "8712"; + hash = "sha256-qA5TaU5tQuq4/UKCgCFfiLrjTva7LxdERnIWF413+l8="; + } # codex: add enableMcpIntegration option { number = "8770"; hash = "sha256-1GctHo6/qowbuguH335KDtn3nAgwn6+cGlebfuE2QiY="; @@ -32,5 +40,9 @@ number = "8783"; hash = "sha256-W8Ufvufloq3gNT2zxegKQUHmi3KZMlcQCp9gEi0ZHuE="; } # claude-code: add support for output styles + { + number = "8823"; + hash = "sha256-P49hudgjkJOjeTElT7k5Yn6UWxStVamOU6oOZccPylI="; + } # codex: fix skills location for new version ]; } diff --git a/nix/inputs/nixpkgs.nix b/nix/inputs/nixpkgs.nix index 2e6b78c..0930786 100644 --- a/nix/inputs/nixpkgs.nix +++ b/nix/inputs/nixpkgs.nix @@ -10,7 +10,7 @@ pulls = [ { number = "470359"; - hash = "sha256-JC391f0TQigESqOw+ubLwLmlnQuIRwPqHKg8BG+Oiwc="; + hash = "sha256-33Vr0X+xhWjbkQhPCivRC8C9yQS1U6vct9U0H4Rtvxo="; } # nixos/automatic-timezoned: Fix boot delays and systemd unit ordering { number = "494001"; diff --git a/nix/users/ilkecan/llm/codex.nix b/nix/users/ilkecan/llm/codex.nix new file mode 100644 index 0000000..4c3de27 --- /dev/null +++ b/nix/users/ilkecan/llm/codex.nix @@ -0,0 +1,57 @@ +{ + pkgs, + ... +}: + +{ + home = { + sessionVariables = { + }; + + packages = with pkgs; [ + nodejs_latest # https://github.com/nodejs/node - /experimental -> JavaScript REPL + ]; + }; + + programs = { + codex = { + enable = true; + package = pkgs.llm-agents.codex; + enableMcpIntegration = true; + settings = { + model = "gpt-5.4"; + model_reasoning_effort = "xhigh"; + plan_mode_reasoning_effort = "xhigh"; + personality = "pragmatic"; + + features = { + guardian_approval = true; + js_repl = true; + multi_agent = true; + use_linux_sandbox_bwrap = true; + }; + + tui = { + theme = "solarized-dark"; + status_line = [ + "model-with-reasoning" + "context-remaining" + "current-dir" + + "project-root" + "git-branch" + + "context-used" + "five-hour-limit" + "weekly-limit" + + "context-window-size" + "used-tokens" + "total-input-tokens" + "total-output-tokens" + ]; + }; + }; + }; + }; +} diff --git a/nix/users/ilkecan/llm/default.nix b/nix/users/ilkecan/llm/default.nix index a862462..7a07d4c 100644 --- a/nix/users/ilkecan/llm/default.nix +++ b/nix/users/ilkecan/llm/default.nix @@ -5,6 +5,7 @@ { imports = [ ./claude-code.nix + ./codex.nix ./mcp.nix ]; } From ad1a4143abfa6914ffe4f233dfbe8ef7d6e3b395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 17:10:39 +0300 Subject: [PATCH 13/20] hm.claude-code: set `ENABLE_TOOL_SEARCH=true` --- nix/users/ilkecan/llm/claude-code.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nix/users/ilkecan/llm/claude-code.nix b/nix/users/ilkecan/llm/claude-code.nix index ca035c9..89f70f2 100644 --- a/nix/users/ilkecan/llm/claude-code.nix +++ b/nix/users/ilkecan/llm/claude-code.nix @@ -7,6 +7,7 @@ home = { sessionVariables = { CLAUDE_CODE_DISABLE_AUTO_MEMORY = 0; + ENABLE_TOOL_SEARCH = "true"; }; packages = with pkgs; [ @@ -28,6 +29,8 @@ }; # to fix `attribute 'ryoppippi' missing` }); enableMcpIntegration = true; + settings = { + }; }; }; } From 0cd315fcf774568408db3da8e038172076da5769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 15:40:23 +0000 Subject: [PATCH 14/20] .gitignore: add /.serena/ --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 25e9f70..3f550a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /.direnv/ /.pre-commit-config.yaml +/.serena/ /result* From 67e8b26ffbe34b3ac68b80c16ed3d8c77fb82769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 15:48:01 +0000 Subject: [PATCH 15/20] zellij: add `Codex` as a floating pane --- .zellij-layout.kdl | 12 ++++++++++-- .../ilkecan/utilities/zellij/layouts/code.nix | 14 +++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.zellij-layout.kdl b/.zellij-layout.kdl index 8749ac1..e868007 100644 --- a/.zellij-layout.kdl +++ b/.zellij-layout.kdl @@ -1,5 +1,5 @@ layout { - tab name="nh" { + tab name="nh" hide_floating_panes=true { pane split_direction="horizontal" { pane split_direction="vertical" { pane command="nh" { @@ -26,6 +26,10 @@ layout { } } + floating_panes { + pane command="zsh" x="10%" y="10%" width="80%" height="80%" + } + pane size=1 borderless=true { plugin location="zellij:compact-bar" } @@ -45,9 +49,13 @@ layout { } } - tab name="shell" { + tab name="shell" hide_floating_panes=true { pane command="zsh" + floating_panes { + pane command="codex" x="10%" y="10%" width="80%" height="80%" + } + pane size=1 borderless=true { plugin location="zellij:compact-bar" } diff --git a/nix/users/ilkecan/utilities/zellij/layouts/code.nix b/nix/users/ilkecan/utilities/zellij/layouts/code.nix index 4b7f89e..5a50c5f 100644 --- a/nix/users/ilkecan/utilities/zellij/layouts/code.nix +++ b/nix/users/ilkecan/utilities/zellij/layouts/code.nix @@ -41,9 +41,21 @@ } { tab = { - _props.name = "terminal"; + _props = { + name = "terminal"; + hide_floating_panes = true; + }; _children = [ { pane._props.command = config.home.defaultShell.meta.mainProgram; } + { + floating_panes.pane._props = { + command = "codex"; + x = "10%"; + y = "10%"; + width = "80%"; + height = "80%"; + }; + } { pane = { _props = { From 50c1040331b88698f239e6d949de250cd092da47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Thu, 12 Mar 2026 22:33:45 +0000 Subject: [PATCH 16/20] nix/inputs: recursively apply the patched inputs --- AGENTS.md | 10 +++- flake.nix | 5 +- nix/inputs/default.nix | 107 ++++++++++++++++++++++++++++++++++------- 3 files changed, 102 insertions(+), 20 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 5601a7d..8b222f7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -72,7 +72,15 @@ There are three nixpkgs inputs with distinct purposes: ### Input Patching -`nix/inputs/default.nix` applies upstream PRs to inputs and makes patched versions transparent by overwriting the originals under `inputs.*` (except `nixpkgs-patched`, which is always a separate input). Modules consume patched inputs the same way as stock ones. +`nix/inputs/default.nix` applies upstream PRs to inputs and makes patched versions transparent by overwriting the originals under `inputs.*` (except `nixpkgs-patched`, which is always a separate additive input). Modules consume patched inputs the same way as stock ones. + +Transitive flake inputs are rewritten recursively: `replacementMapping` maps each top-level input's `outPath` to its resolved counterpart, so `follows` aliases like `nixpkgs-lib` or `nixpkgs-stable` are transparently replaced with the correct canonical node. + +Important invariants when editing `nix/inputs/default.nix`: + +- **Top-level canonical nodes** — if a dependency is shared in multiple places, it should have a canonical representative at the top level and all repeats should follow that node. +- **Additive patched inputs must not be flake inputs** — `nixpkgs-patched` is excluded from `resolvedTopLevel` and `replacementMapping` because it is not declared in `flake.nix`'s inputs. This is by design: its pre-patch source `outPath` would collide with `nixpkgs-unstable` in `replacementMapping`. It enters the final result via the `patchedInputs // resolvedTopLevel` merge and is only consumed directly by self. +- **`self` is special-cased** — the recursive rewrite applies to external inputs, but `self` itself is not rebuilt through that recursion. Only `self.inputs` is updated with the rewritten/exported input set to avoid recursive self-reimport. ### Custom pkgs Overlays diff --git a/flake.nix b/flake.nix index 72a6af1..d86dc91 100644 --- a/flake.nix +++ b/flake.nix @@ -187,12 +187,13 @@ }; }; - outputs = inputs: + outputs = + inputs: let lib = import ./nix/lib { inherit (inputs.nixpkgs) lib; }; in inputs.flake-parts.lib.mkFlake { - inputs = import ./nix/inputs { inherit inputs; }; + inputs = import ./nix/inputs { inherit inputs lib; }; specialArgs = { inherit lib; }; } { imports = [ ./nix/flake ]; }; } diff --git a/nix/inputs/default.nix b/nix/inputs/default.nix index 1bd5d0b..4bffab6 100644 --- a/nix/inputs/default.nix +++ b/nix/inputs/default.nix @@ -1,8 +1,20 @@ { inputs, + lib, }: let + inherit (builtins) + unsafeDiscardStringContext + ; + + inherit (lib) + map + mapAttrs + mapAttrs' + nameValuePair + ; + # NOTE: unfortunately there is no way to avoid hard-coded `system` yet # https://github.com/NixOS/nix/issues/3920 system = "x86_64-linux"; @@ -11,6 +23,30 @@ let fetchpatch2 ; + # Reconstruct a flake from a source path and an already-resolved input set. + # This is what keeps flake outputs consistent with rewritten transitive inputs. + mkFlake = + { + srcPath, + sourceInfo, + inputs', + }: + let + flake = import "${srcPath}/flake.nix"; + outputs = flake.outputs ({ inherit self; } // inputs'); + self = + outputs + // sourceInfo + // { + _type = "flake"; + inputs = inputs'; + inherit sourceInfo outputs; + }; + in + self; + + # Apply local patches to a top-level input, then rebuild its outputs against + # the canonical resolved graph rather than the original upstream inputs. patchInput = { owner, @@ -34,34 +70,71 @@ let patches = patches'; }; - flake = import "${src'}/flake.nix"; - outputs = flake.outputs ({ inherit self; } // src.inputs); sourceInfo = src.sourceInfo // { inherit (src') outPath; }; - self = - outputs - // sourceInfo - // { - _type = "flake"; - inherit (src) inputs; - inherit sourceInfo outputs; - }; in - self; + mkFlake { + srcPath = src'; + inherit sourceInfo; + inputs' = mapAttrs (_: resolveInput) src.inputs; + }; + + inherit (inputs) self; + inputs' = removeAttrs inputs [ "self" ]; args = { inherit inputs; }; - newAttrs = { + patchedInputs = { dms = patchInput (import ./dms.nix args); home-manager = patchInput (import ./home-manager.nix args); nixpkgs = patchInput (import ./nixpkgs.nix args); nixpkgs-patched = patchInput (import ./nixpkgs-patched.nix args); }; + + # Use the original realized source path as the replacement identity so + # aliases such as nixpkgs-lib and nixpkgs-stable collapse to one node. + inputKey = x: unsafeDiscardStringContext x.outPath; + + # Rebuild a non-patched flake against resolved child inputs. + # Top-level canonical inputs are handled separately through replacementMapping. + resolveFlake = + input: + if input ? inputs then + mkFlake { + srcPath = input.outPath; + sourceInfo = input.sourceInfo; + inputs' = mapAttrs (_: resolveInput) input.inputs; + } + else + input; + + # These are the canonical nodes for every raw top-level input. Any transitive + # dependency that is shared across the graph is expected to follow one of + # these exact top-level nodes. + resolvedTopLevel = mapAttrs (name: input: patchedInputs.${name} or (resolveFlake input)) inputs'; + + # Map each original top-level source identity to its canonical resolved node. + # This only covers raw top-level inputs: additive patched inputs such as + # nixpkgs-patched are intentionally excluded because their pre-patch source + # identity collides with another raw input (for example nixpkgs-unstable), + # and they are only meant to be consumed directly by self. + replacementMapping = mapAttrs' ( + name: input: nameValuePair (inputKey input) (resolvedTopLevel.${name}) + ) inputs'; + + # Repository invariant: if a dependency is shared in multiple places, it + # should have a canonical representative at the top level and all repeats + # should follow that node. In that common case we reuse the canonical thunk + # through replacementMapping; the fallback only rebuilds non-canonical inputs + # that are not expected to be shared transitively. + resolveInput = input: replacementMapping.${inputKey input} or (resolveFlake input); + + # to include additive patched inputs like `nixpkgs-patched` + resolvedInputs = patchedInputs // resolvedTopLevel; in -inputs -// newAttrs -// { - self = inputs.self // { - inputs = inputs.self.inputs // newAttrs; +{ + self = self // { + inputs = resolvedInputs; }; } +// resolvedInputs From 715ccf6ea09dabc72f3e39ecacb0118bf690c4cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Fri, 13 Mar 2026 20:44:26 +0000 Subject: [PATCH 17/20] nix/inputs: don't require `inputs` as a param ... and instead implicitly use it. --- nix/inputs/default.nix | 16 ++++++++-------- nix/inputs/dms.nix | 5 ----- nix/inputs/home-manager.nix | 5 ----- nix/inputs/nixpkgs-patched.nix | 6 +----- nix/inputs/nixpkgs.nix | 5 ----- 5 files changed, 9 insertions(+), 28 deletions(-) diff --git a/nix/inputs/default.nix b/nix/inputs/default.nix index 4bffab6..7cbec68 100644 --- a/nix/inputs/default.nix +++ b/nix/inputs/default.nix @@ -51,9 +51,9 @@ let { owner, repo, - src, name, pulls, + input ? name, patches ? [ ], }: let @@ -64,10 +64,11 @@ let name = "${owner}-${repo}-${number}.patch"; url = "https://github.com/${owner}/${repo}/pull/${number}.diff?full_index=1"; }; - patches' = patches ++ map mkPatch pulls; + + src = inputs.${input}; src' = applyPatches { inherit name src; - patches = patches'; + patches = patches ++ map mkPatch pulls; }; sourceInfo = src.sourceInfo // { @@ -83,12 +84,11 @@ let inherit (inputs) self; inputs' = removeAttrs inputs [ "self" ]; - args = { inherit inputs; }; patchedInputs = { - dms = patchInput (import ./dms.nix args); - home-manager = patchInput (import ./home-manager.nix args); - nixpkgs = patchInput (import ./nixpkgs.nix args); - nixpkgs-patched = patchInput (import ./nixpkgs-patched.nix args); + dms = patchInput (import ./dms.nix); + home-manager = patchInput (import ./home-manager.nix); + nixpkgs = patchInput (import ./nixpkgs.nix); + nixpkgs-patched = patchInput (import ./nixpkgs-patched.nix); }; # Use the original realized source path as the replacement identity so diff --git a/nix/inputs/dms.nix b/nix/inputs/dms.nix index db86c2b..0fc6828 100644 --- a/nix/inputs/dms.nix +++ b/nix/inputs/dms.nix @@ -1,11 +1,6 @@ -{ - inputs, -}: - { owner = "AvengeMedia"; repo = "DankMaterialShell"; - src = inputs.dms; name = "dms"; pulls = [ { diff --git a/nix/inputs/home-manager.nix b/nix/inputs/home-manager.nix index bd6d762..4f012b4 100644 --- a/nix/inputs/home-manager.nix +++ b/nix/inputs/home-manager.nix @@ -1,11 +1,6 @@ -{ - inputs, -}: - { owner = "nix-community"; repo = "home-manager"; - src = inputs.home-manager; name = "home-manager"; pulls = [ { diff --git a/nix/inputs/nixpkgs-patched.nix b/nix/inputs/nixpkgs-patched.nix index 163259e..681e4c1 100644 --- a/nix/inputs/nixpkgs-patched.nix +++ b/nix/inputs/nixpkgs-patched.nix @@ -1,11 +1,7 @@ -{ - inputs, -}: - { owner = "NixOS"; repo = "nixpkgs"; - src = inputs.nixpkgs-unstable; + input = "nixpkgs-unstable"; name = "nixpkgs-patched"; pulls = [ { diff --git a/nix/inputs/nixpkgs.nix b/nix/inputs/nixpkgs.nix index 0930786..37076b3 100644 --- a/nix/inputs/nixpkgs.nix +++ b/nix/inputs/nixpkgs.nix @@ -1,11 +1,6 @@ -{ - inputs, -}: - { owner = "NixOS"; repo = "nixpkgs"; - src = inputs.nixpkgs; name = "nixpkgs"; pulls = [ { From bcd874439fddcdbeac4983c8656400845f9a8387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Fri, 13 Mar 2026 21:33:32 +0000 Subject: [PATCH 18/20] nix/inputs: move `default.nix` to parent directory ... and use `importTree` to automatically import input patches. --- AGENTS.md | 2 +- flake.nix | 2 +- nix/{inputs/default.nix => inputs.nix} | 15 ++++++++++----- 3 files changed, 12 insertions(+), 7 deletions(-) rename nix/{inputs/default.nix => inputs.nix} (94%) diff --git a/AGENTS.md b/AGENTS.md index 8b222f7..fddaac2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -43,7 +43,6 @@ nix flake check # Check for evaluation errors dev-shells.nix # devShells (pre-commit shell) pre-commit.nix # git-hooks-nix pre-commit config inputs/ # Applies patches to flake inputs - default.nix # Merges patched inputs over raw inputs nixpkgs.nix # nixpkgs patches (module-level changes) nixpkgs-patched.nix # nixpkgs-unstable patches (package-level changes) home-manager.nix # home-manager patches @@ -58,6 +57,7 @@ nix flake check # Check for evaluation errors home-manager/ # Home Manager modules (homeModules) nixos/ # NixOS modules (nixosModules) packages/ # Custom pkgs instantiation (overlays applied here) + inputs.nix # Merges patched inputs over raw inputs secrets/ # sops-nix encrypted secrets ## Key Architectural Patterns diff --git a/flake.nix b/flake.nix index d86dc91..26fc021 100644 --- a/flake.nix +++ b/flake.nix @@ -193,7 +193,7 @@ lib = import ./nix/lib { inherit (inputs.nixpkgs) lib; }; in inputs.flake-parts.lib.mkFlake { - inputs = import ./nix/inputs { inherit inputs lib; }; + inputs = import ./nix/inputs.nix { inherit inputs lib; }; specialArgs = { inherit lib; }; } { imports = [ ./nix/flake ]; }; } diff --git a/nix/inputs/default.nix b/nix/inputs.nix similarity index 94% rename from nix/inputs/default.nix rename to nix/inputs.nix index 7cbec68..fd80d36 100644 --- a/nix/inputs/default.nix +++ b/nix/inputs.nix @@ -13,6 +13,11 @@ let mapAttrs mapAttrs' nameValuePair + removeSuffix + ; + + inherit (lib.my) + importTree ; # NOTE: unfortunately there is no way to avoid hard-coded `system` yet @@ -84,11 +89,11 @@ let inherit (inputs) self; inputs' = removeAttrs inputs [ "self" ]; - patchedInputs = { - dms = patchInput (import ./dms.nix); - home-manager = patchInput (import ./home-manager.nix); - nixpkgs = patchInput (import ./nixpkgs.nix); - nixpkgs-patched = patchInput (import ./nixpkgs-patched.nix); + patchedInputs = importTree { + root = ./inputs; + depth = 1; + importFn = x: patchInput (import x); + normalizeNameFn = removeSuffix ".nix"; }; # Use the original realized source path as the replacement identity so From 8acd646645738294bd6bd32d72fb529656cb5606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Sat, 14 Mar 2026 00:06:41 +0000 Subject: [PATCH 19/20] flake: update inputs --- flake.lock | 61 ++++++++++++++++++++++++++++-------------------------- flake.nix | 1 + 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index f92888a..1cd4393 100644 --- a/flake.lock +++ b/flake.lock @@ -202,11 +202,11 @@ ] }, "locked": { - "lastModified": 1773232295, - "narHash": "sha256-uHXT23XL5V2pQaBuW5zm2JhNM61ob4iISd1JtVrautE=", + "lastModified": 1773419163, + "narHash": "sha256-3dZnUQ9CON+w7zm6WSlqjQUUKOKipLKJlPBLe6xmXu4=", "owner": "AvengeMedia", "repo": "dms-plugin-registry", - "rev": "be0a43ea495cc955171fc9e0ebf13c359b7ed530", + "rev": "2327eede74ccc23b9006dc39414485dd7280f164", "type": "github" }, "original": { @@ -448,11 +448,11 @@ ] }, "locked": { - "lastModified": 1773316298, - "narHash": "sha256-aggv/ltBnQZEPFNwGIZ+Eqz3P6xuNfpEmsCBAM2TU2s=", + "lastModified": 1773412360, + "narHash": "sha256-d6FY3t40JRc3nNZUu40rhfcMrOlVQeXGjUvzG/l0G8M=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "0bdfda81db96dc5646b39d3677aa010f32aaf551", + "rev": "a638ae24d87ea4bb42f57416c0b3c75d980e810d", "type": "github" }, "original": { @@ -468,11 +468,11 @@ ] }, "locked": { - "lastModified": 1773298265, - "narHash": "sha256-dC8JjCGsLzK7MRIUZCgNCpFw1wAj+Kwf4Y9eMi43WXQ=", + "lastModified": 1773427419, + "narHash": "sha256-WEyUhk7a6qBCTfYMV8BlThht2CyVaJ4B4tR+Cvp6Ks8=", "owner": "natsukium", "repo": "mcp-servers-nix", - "rev": "9b769589c09be6af071f50add59feafff5b86d07", + "rev": "d7fb706273373b7132174ad5fbcc9f52f0076882", "type": "github" }, "original": { @@ -537,11 +537,11 @@ ] }, "locked": { - "lastModified": 1773303738, - "narHash": "sha256-qrl74wNFMTUzA8z6nSEWNjQcJI/MQEWdWu2Wn+u4Ctg=", + "lastModified": 1773433102, + "narHash": "sha256-0q2Uz4oNTX0+dIpN3zV2HLMHI8NOoRDwScatBS1v8ng=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "329df7671b7859abd1cbca5d5af296ed6dc22b46", + "rev": "20f866c7416799ebf5b88b07c9d32c6a440e825d", "type": "github" }, "original": { @@ -640,11 +640,11 @@ ] }, "locked": { - "lastModified": 1773283055, - "narHash": "sha256-wB/0EYnf7VnZxANC1xANXQtx5pS9riXR3Y4e2/BQ4Lo=", + "lastModified": 1773369317, + "narHash": "sha256-AeJgLJp0UxO5CDnIa9+dkK9/SeB2dDpBF4dYIf38Yng=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "021365f15453feab8aafc23fb3f111669a963292", + "rev": "62286299d8059a8cd357188c1b807d126bc691ed", "type": "github" }, "original": { @@ -683,14 +683,17 @@ ], "nixpkgs": [ "nixpkgs" + ], + "nixpkgs-nixcord": [ + "nixpkgs" ] }, "locked": { - "lastModified": 1773276202, - "narHash": "sha256-eCVLRstRN2kM3k3OucNuzy+xFIda0J38kVOkSqtHUQw=", + "lastModified": 1773426551, + "narHash": "sha256-xkdf5jU1HDphAFy89WQsyStYdq0EjRsYCYsz5IrDEjo=", "owner": "kaylorben", "repo": "nixcord", - "rev": "4b0db552dec05832be35820ac287d56af2dd4fb9", + "rev": "efe6a34e34d5ab0983d26ca290e5e0dba6e1abd1", "type": "github" }, "original": { @@ -746,11 +749,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1773068389, - "narHash": "sha256-SXjlcLSLN5akUflU1ium1b+h2SoKi+hZzk9YuXn/VYg=", - "rev": "44bae273f9f82d480273bab26f5c50de3724f52f", + "lastModified": 1773375660, + "narHash": "sha256-C/pSy3nRByzeKFcdtv4pNc8uYuT02pBdQB4BE3knKus=", + "rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776", "type": "tarball", - "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.7346.44bae273f9f8/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.7516.3e20095fe3c6/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -759,11 +762,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1773122722, - "narHash": "sha256-niN94IYRjSvML5CuvT+97QelKJ5GMG8668Q9xddsszU=", - "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50", + "lastModified": 1773282481, + "narHash": "sha256-oFe06TmOy8UUT1f7xMHqDpSYq2Fy1mkIsXZUvdnyfeY=", + "rev": "fe416aaedd397cacb33a610b33d60ff2b431b127", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre961274.62dc67aa6a52/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre962285.fe416aaedd39/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -780,11 +783,11 @@ ] }, "locked": { - "lastModified": 1773312379, - "narHash": "sha256-vqDS7pNTtQP+c4OSbh/lXSORrEKOMHZbXiPHbJ2aNe4=", + "lastModified": 1773436970, + "narHash": "sha256-8W7J/EvtAvO4x8X2ebGE/hJns85fT6fHIdKrKf9/EII=", "owner": "nix-community", "repo": "NUR", - "rev": "b2617c8dda6c65c9e5fd34f770a0cea9801d4647", + "rev": "18e764719da8c51f8c69c5ea0f96c02e4e384d16", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 26fc021..b281328 100644 --- a/flake.nix +++ b/flake.nix @@ -122,6 +122,7 @@ inputs = { flake-compat.follows = "flake-compat"; flake-parts.follows = "flake-parts"; + nixpkgs-nixcord.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs"; }; }; From 7448109c2c17d60b94cfa425d4a5fbf64e0cc0c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Sat, 14 Mar 2026 01:13:16 +0000 Subject: [PATCH 20/20] hm.packages: add `ccstatusline` & `ccusage{,-codex}` --- nix/users/ilkecan/llm/claude-code.nix | 2 ++ nix/users/ilkecan/llm/codex.nix | 1 + 2 files changed, 3 insertions(+) diff --git a/nix/users/ilkecan/llm/claude-code.nix b/nix/users/ilkecan/llm/claude-code.nix index 89f70f2..bb2fb5f 100644 --- a/nix/users/ilkecan/llm/claude-code.nix +++ b/nix/users/ilkecan/llm/claude-code.nix @@ -11,6 +11,8 @@ }; packages = with pkgs; [ + llm-agents.ccstatusline # https://github.com/sirmalloc/ccstatusline + llm-agents.ccusage # https://github.com/ryoppippi/ccusage starship # https://github.com/starship/starship - https://github.com/martinemde/starship-claude ]; }; diff --git a/nix/users/ilkecan/llm/codex.nix b/nix/users/ilkecan/llm/codex.nix index 4c3de27..ca756b4 100644 --- a/nix/users/ilkecan/llm/codex.nix +++ b/nix/users/ilkecan/llm/codex.nix @@ -9,6 +9,7 @@ }; packages = with pkgs; [ + llm-agents.ccusage-codex # https://github.com/ryoppippi/ccusage nodejs_latest # https://github.com/nodejs/node - /experimental -> JavaScript REPL ]; };