From 36a03b5dcbb9378eb3e7cef0c65dc91944fca5f1 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 14 Jul 2025 00:44:51 -0500 Subject: [PATCH 01/25] flake.lock: update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 55759030b..203d5780b 100644 --- a/flake.lock +++ b/flake.lock @@ -93,11 +93,11 @@ ] }, "locked": { - "lastModified": 1752227483, - "narHash": "sha256-eetITGJfURryoHY5gfuE9/4sEV9aSgzhPxgsQgofNa8=", + "lastModified": 1752490162, + "narHash": "sha256-CFOuAHbc9PTt9HhjGQFf07bUCZKOahQ+vLt30J6u5fw=", "owner": "catppuccin", "repo": "nix", - "rev": "5f431aac1a4038c385e6de2d2384d943e4802d61", + "rev": "7dc907c010e1612729c5d76cf614b5f7811bfe23", "type": "github" }, "original": { @@ -170,11 +170,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1752292998, - "narHash": "sha256-ybCnRdrK49s7xgsaWLuabM/FC5ociZrMkSmzNE119Os=", + "lastModified": 1752379414, + "narHash": "sha256-0R3slhrjrnzyxR/fAYy5UliZvSgaVS38YCESBdH5RJw=", "owner": "rycee", "repo": "nur-expressions", - "rev": "bf437c46b2b92baa4a0d3341c27b25fcfa285ec0", + "rev": "51e77bb95540b7dd6c60f8fd65a0c472a2c9c3b7", "type": "gitlab" }, "original": { @@ -414,11 +414,11 @@ ] }, "locked": { - "lastModified": 1752373701, - "narHash": "sha256-d0d7y9gjv9HU0Amws6kHJucR8bxrQ0PfVKxt2ll5cfs=", + "lastModified": 1752467539, + "narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=", "owner": "nix-community", "repo": "home-manager", - "rev": "fc25398450cdab61af9654928dfef9d101f51140", + "rev": "1e54837569e0b80797c47be4720fab19e0db1616", "type": "github" }, "original": { @@ -537,11 +537,11 @@ ] }, "locked": { - "lastModified": 1752346111, - "narHash": "sha256-SVxCIYnbED0rNYSpm3QQoOhqxYRp1GuE9FkyM5Y2afs=", + "lastModified": 1752441837, + "narHash": "sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "deff7a9a0aa98a08d8c7839fe2658199ce9828f8", + "rev": "839e02dece5845be3a322e507a79712b73a96ba2", "type": "github" }, "original": { @@ -678,11 +678,11 @@ }, "nixpkgs-master_2": { "locked": { - "lastModified": 1752373047, - "narHash": "sha256-f+DjsnqGT28PwIrDLbmih/6Wq2tppLeOJtd+dktYOuQ=", + "lastModified": 1752501828, + "narHash": "sha256-VNKL1zVLGH4QQ13mgUUEsUYtehazO7Ojkw3dfBkvq40=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b0b6c2231296e37830e016380a764c91ff3d1e18", + "rev": "dc1db7b2dfb8e7a685072696251ddecbd37d6cac", "type": "github" }, "original": { @@ -693,11 +693,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1752012998, - "narHash": "sha256-Q82Ms+FQmgOBkdoSVm+FBpuFoeUAffNerR5yVV7SgT8=", + "lastModified": 1752077645, + "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2a2130494ad647f953593c4e84ea4df839fbd68c", + "rev": "be9e214982e20b8310878ac2baa063a961c1bdf6", "type": "github" }, "original": { @@ -987,11 +987,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752364203, - "narHash": "sha256-oJaLYpM8NkQ4LRvv8dCd0eFg2GNopeuToM+3Pp8b+RY=", + "lastModified": 1752449117, + "narHash": "sha256-Cn24ySH/LN/Q/SsDhpOX4cTMYZa1JMOLNeNsoYqcZpY=", "owner": "danth", "repo": "stylix", - "rev": "05752c77acc9dc7ff7454c6fe6da829e3a40e548", + "rev": "d683e35fa5ec8bbfd45d52e4b53c7b91f7b38d06", "type": "github" }, "original": { @@ -1169,11 +1169,11 @@ ] }, "locked": { - "lastModified": 1751660490, - "narHash": "sha256-GusU4/Odv1osGDeYkJskJ3Jj213Wyo8XacMA+r21ImE=", + "lastModified": 1752390446, + "narHash": "sha256-OcVcNM7Jt1E1/5HfPEXAodeJ4z8rvsR+1eY5OUYCt1I=", "owner": "Alexays", "repo": "Waybar", - "rev": "cae5f9a56f88bdd4306860b22740a33e7957e5bc", + "rev": "94777921d96c2657c37c7d83a18f13968df486de", "type": "github" }, "original": { From 86bf77779693d69f651b1cf5a1c85c4fe1811b5d Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 14 Jul 2025 10:56:05 -0500 Subject: [PATCH 02/25] treefmt: tweak deadnix config --- treefmt.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/treefmt.nix b/treefmt.nix index 1bd29048a..684852c2a 100644 --- a/treefmt.nix +++ b/treefmt.nix @@ -10,6 +10,7 @@ clang-format.enable = true; deadnix = { enable = true; + no-lambda-arg = true; }; deno = { enable = true; From eecbf14afd6f6d134d7495f538fb63ae5afe9c06 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 14 Jul 2025 00:50:46 -0500 Subject: [PATCH 03/25] treewide: migrate snowfall-lib -> flake-parts Been using flake parts more and more for different projects. Wanted to have the granular control instead of offloading the core functionality of my flake. While being able to plug and play different modules, when needed. --- .gitignore | 1 - flake.lock | 196 +-- flake.nix | 163 +-- flake/configs.nix | 41 + flake/default.nix | 23 + flake/dev/checks.nix | 45 + flake/dev/default.nix | 7 + flake/dev/devshells.nix | 83 ++ flake/dev/flake.lock | 1296 +++++++++++++++++ flake/dev/flake.nix | 33 + flake/dev/formatting.nix | 104 ++ .../dev/shells/angular.nix | 0 .../c/default.nix => flake/dev/shells/c.nix | 0 .../default => flake/dev/shells}/default.nix | 3 +- .../dev/shells/dotnet.nix | 0 .../dev/shells/dotnet6.nix | 2 +- .../dev/shells/dotnet7.nix | 2 +- .../dev/shells/dotnet8.nix | 2 +- .../dev/shells/dotnet9.nix | 2 +- .../default.nix => flake/dev/shells/java.nix | 0 .../dev/shells/migrator.nix | 0 .../default.nix => flake/dev/shells/nix.nix | 3 +- .../dev/shells/python.nix | 0 .../default.nix => flake/dev/shells/react.nix | 0 .../default.nix => flake/dev/shells/rust.nix | 0 flake/home.nix | 47 + flake/overlays.nix | 71 + flake/packages.nix | 41 + flake/templates.nix | 23 + .../khaneliman@khanelimac-m1/default.nix | 8 +- .../khaneliman@khanelimac/default.nix | 12 +- .../x86_64-linux/bruddy@bruddynix/default.nix | 7 +- .../khaneliman@khanelilab/default.nix | 8 +- .../khaneliman@khanelinix/default.nix | 39 +- .../x86_64-linux/khaneliman@nixos/default.nix | 8 +- .../nixos@CORE-PW0D2M1A/default.nix | 10 +- .../nixos@VT0-IT-47-D443/default.nix | 8 +- lib/audio/default.nix | 76 - lib/base64/default.nix | 41 +- lib/default.nix | 33 +- lib/file/default.nix | 134 +- lib/mk-darwin.nix | 111 ++ lib/mk-home.nix | 65 + lib/mk-system.nix | 120 ++ lib/module/default.nix | 70 +- lib/network/default.nix | 43 - lib/overlay.nix | 35 + lib/theme/default.nix | 22 +- .../darwin/archetypes/personal/default.nix | 8 +- modules/darwin/archetypes/vm/default.nix | 8 +- .../darwin/archetypes/workstation/default.nix | 8 +- modules/darwin/default.nix | 4 + modules/darwin/desktop/wms/yabai/default.nix | 14 +- modules/darwin/home/default.nix | 17 +- modules/darwin/nix/default.nix | 6 +- modules/darwin/nix/linux-builder/default.nix | 6 +- .../nix/nix-rosetta-builder/default.nix | 6 +- .../graphical/apps/_1password/default.nix | 8 +- .../programs/terminal/tools/ssh/default.nix | 2 +- modules/darwin/security/gpg/default.nix | 10 +- modules/darwin/security/sops/default.nix | 12 +- modules/darwin/security/sudo/default.nix | 6 +- modules/darwin/services/openssh/default.nix | 8 +- modules/darwin/services/tailscale/default.nix | 8 +- modules/darwin/suites/art/default.nix | 8 +- modules/darwin/suites/business/default.nix | 10 +- modules/darwin/suites/common/default.nix | 16 +- modules/darwin/suites/desktop/default.nix | 12 +- modules/darwin/suites/development/default.nix | 8 +- modules/darwin/suites/games/default.nix | 6 +- modules/darwin/suites/music/default.nix | 8 +- modules/darwin/suites/networking/default.nix | 8 +- modules/darwin/suites/photo/default.nix | 6 +- modules/darwin/suites/social/default.nix | 6 +- modules/darwin/suites/video/default.nix | 8 +- modules/darwin/suites/vm/default.nix | 6 +- modules/darwin/system/env/default.nix | 6 +- modules/darwin/system/fonts/default.nix | 6 +- modules/darwin/system/input/default.nix | 6 +- modules/darwin/system/interface/default.nix | 10 +- modules/darwin/system/networking/default.nix | 6 +- modules/darwin/tools/homebrew/default.nix | 6 +- modules/darwin/user/default.nix | 9 +- modules/home/default.nix | 4 + modules/home/host/default.nix | 6 +- modules/home/programs/default.nix | 5 + .../addons/electron-support/default.nix | 6 +- .../graphical/addons/kanshi/default.nix | 8 +- .../addons/looking-glass-client/default.nix | 6 +- .../graphical/addons/mako/default.nix | 6 +- .../graphical/addons/mangohud/default.nix | 6 +- .../graphical/addons/swappy/default.nix | 6 +- .../graphical/addons/swaync/default.nix | 7 +- .../graphical/addons/swaync/settings.nix | 8 +- .../graphical/addons/wlogout/default.nix | 6 +- .../graphical/apps/caprine/custom.css | 4 +- .../graphical/apps/caprine/default.nix | 6 +- .../graphical/apps/discord/default.nix | 10 +- .../programs/graphical/apps/mpv/default.nix | 6 +- .../programs/graphical/apps/obs/default.nix | 6 +- .../graphical/apps/retroarch/default.nix | 6 +- .../graphical/apps/thunderbird/default.nix | 28 +- .../graphical/apps/vesktop/default.nix | 6 +- .../graphical/apps/zathura/default.nix | 6 +- .../graphical/bars/ashell/default.nix | 14 +- .../graphical/bars/sketchybar/default.nix | 18 +- .../graphical/bars/waybar/default.nix | 32 +- .../bars/waybar/modules/custom-modules.nix | 4 +- .../bars/waybar/modules/default-modules.nix | 2 +- .../bars/waybar/modules/group-modules.nix | 6 +- .../graphical/browsers/chromium/default.nix | 6 +- .../graphical/browsers/firefox/default.nix | 19 +- .../desktop-environment/gnome/default.nix | 16 +- .../graphical/editors/vscode/default.nix | 14 +- .../graphical/launchers/anyrun/default.nix | 6 +- .../graphical/launchers/rofi/default.nix | 6 +- .../graphical/launchers/wofi/default.nix | 6 +- .../graphical/launchers/wofi/style.css | 2 +- .../screenlockers/hyprlock/default.nix | 14 +- .../screenlockers/swaylock/default.nix | 8 +- .../graphical/wms/aerospace/default.nix | 14 +- .../programs/graphical/wms/hyprland/apps.nix | 4 +- .../programs/graphical/wms/hyprland/binds.nix | 4 +- .../graphical/wms/hyprland/default.nix | 23 +- .../graphical/wms/hyprland/permissions.nix | 6 +- .../graphical/wms/hyprland/variables.nix | 10 +- .../wms/hyprland/windowrules/default.nix | 4 +- .../wms/hyprland/windowrules/floating.nix | 4 +- .../wms/hyprland/windowrules/fullscreen.nix | 4 +- .../wms/hyprland/windowrules/idleinhibit.nix | 4 +- .../wms/hyprland/windowrules/input.nix | 4 +- .../wms/hyprland/windowrules/opacity.nix | 4 +- .../wms/hyprland/windowrules/tearing.nix | 4 +- .../wms/hyprland/windowrules/tiling.nix | 4 +- .../wms/hyprland/windowrules/workspace.nix | 4 +- .../graphical/wms/hyprland/workspacerules.nix | 4 +- .../home/programs/graphical/wms/sway/apps.nix | 4 +- .../programs/graphical/wms/sway/binds.nix | 8 +- .../programs/graphical/wms/sway/default.nix | 14 +- .../graphical/wms/sway/windowrules.nix | 4 +- modules/home/programs/terminal/default.nix | 5 + .../terminal/editors/helix/default.nix | 10 +- .../terminal/editors/micro/default.nix | 6 +- .../terminal/editors/neovim/default.nix | 14 +- .../terminal/emulators/alacritty/default.nix | 8 +- .../terminal/emulators/foot/default.nix | 6 +- .../terminal/emulators/ghostty/default.nix | 6 +- .../terminal/emulators/kitty/default.nix | 8 +- .../terminal/emulators/warp/default.nix | 6 +- .../terminal/emulators/wezterm/default.nix | 8 +- .../terminal/media/ncmpcpp/default.nix | 10 +- .../terminal/media/ncspot/default.nix | 6 +- .../programs/terminal/media/rmpc/default.nix | 6 +- .../programs/terminal/shells/bash/default.nix | 6 +- .../programs/terminal/shells/fish/default.nix | 6 +- .../terminal/shells/nushell/default.nix | 6 +- .../programs/terminal/shells/zsh/default.nix | 6 +- .../programs/terminal/shells/zsh/opts.nix | 4 +- .../terminal/social/slack-term/default.nix | 10 +- .../terminal/social/twitch-tui/default.nix | 10 +- .../terminal/tools/_1password-cli/default.nix | 6 +- .../programs/terminal/tools/act/default.nix | 6 +- .../programs/terminal/tools/atuin/default.nix | 6 +- .../programs/terminal/tools/azure/default.nix | 6 +- .../programs/terminal/tools/bat/default.nix | 6 +- .../terminal/tools/bottom/default.nix | 6 +- .../programs/terminal/tools/btop/default.nix | 6 +- .../terminal/tools/carapace/default.nix | 6 +- .../programs/terminal/tools/cava/default.nix | 6 +- .../terminal/tools/colorls/default.nix | 6 +- .../programs/terminal/tools/comma/default.nix | 6 +- .../home/programs/terminal/tools/default.nix | 5 + .../terminal/tools/dircolors/default.nix | 6 +- .../terminal/tools/direnv/default.nix | 8 +- .../programs/terminal/tools/eza/default.nix | 6 +- .../terminal/tools/fastfetch/default.nix | 6 +- .../terminal/tools/fup-repl/default.nix | 23 - .../programs/terminal/tools/fzf/default.nix | 6 +- .../programs/terminal/tools/gh/default.nix | 8 +- .../terminal/tools/git-crypt/default.nix | 6 +- .../programs/terminal/tools/git/default.nix | 18 +- .../terminal/tools/glxinfo/default.nix | 6 +- .../programs/terminal/tools/go/default.nix | 6 +- .../programs/terminal/tools/jq/default.nix | 6 +- .../terminal/tools/jujutsu/default.nix | 10 +- .../programs/terminal/tools/k9s/default.nix | 6 +- .../terminal/tools/lazydocker/default.nix | 6 +- .../terminal/tools/lazygit/default.nix | 8 +- .../programs/terminal/tools/lsd/default.nix | 6 +- .../programs/terminal/tools/navi/default.nix | 6 +- .../programs/terminal/tools/nh/default.nix | 6 +- .../terminal/tools/oh-my-posh/default.nix | 6 +- .../terminal/tools/prisma/default.nix | 8 +- .../terminal/tools/ripgrep/default.nix | 6 +- .../terminal/tools/run-as-service/default.nix | 6 +- .../programs/terminal/tools/ssh/default.nix | 21 +- .../terminal/tools/superfile/default.nix | 6 +- .../programs/terminal/tools/tmux/default.nix | 8 +- .../terminal/tools/topgrade/default.nix | 6 +- .../programs/terminal/tools/wine/default.nix | 6 +- .../programs/terminal/tools/yazi/default.nix | 8 +- .../terminal/tools/yazi/keymap/manager.nix | 5 +- .../tools/yazi/keymap/manager/goto.nix | 4 +- .../terminal/tools/yazi/settings/opener.nix | 4 +- .../terminal/tools/zellij/default.nix | 8 +- .../terminal/tools/zoxide/default.nix | 6 +- modules/home/services/cliphist/default.nix | 6 +- modules/home/services/davmail/default.nix | 6 +- modules/home/services/easyeffects/default.nix | 6 +- modules/home/services/hypridle/default.nix | 6 +- modules/home/services/hyprpaper/default.nix | 10 +- modules/home/services/hyprsunset/default.nix | 6 +- .../home/services/jankyborders/default.nix | 20 +- modules/home/services/keyring/default.nix | 6 +- modules/home/services/mpd/default.nix | 6 +- modules/home/services/noisetorch/default.nix | 8 +- modules/home/services/ollama/default.nix | 6 +- modules/home/services/rnnoise/default.nix | 6 +- modules/home/services/skhd/default.nix | 14 +- modules/home/services/sops/default.nix | 10 +- modules/home/services/ssh-agent/default.nix | 6 +- modules/home/services/swayidle/default.nix | 6 +- modules/home/services/syncthing/default.nix | 6 +- modules/home/services/tray/default.nix | 6 +- modules/home/services/udiskie/default.nix | 6 +- modules/home/suites/art/default.nix | 6 +- modules/home/suites/business/default.nix | 10 +- modules/home/suites/common/default.nix | 13 +- modules/home/suites/desktop/default.nix | 6 +- modules/home/suites/development/default.nix | 22 +- modules/home/suites/emulation/default.nix | 6 +- modules/home/suites/games/default.nix | 8 +- modules/home/suites/music/default.nix | 8 +- modules/home/suites/networking/default.nix | 6 +- modules/home/suites/photo/default.nix | 6 +- modules/home/suites/social/default.nix | 8 +- modules/home/suites/video/default.nix | 8 +- modules/home/suites/wlroots/default.nix | 8 +- modules/home/system/env/default.nix | 4 +- modules/home/system/input/default.nix | 6 +- modules/home/system/xdg/default.nix | 12 +- .../catppuccin/catppuccin-macchiato.theme.css | 8 +- modules/home/theme/catppuccin/default.nix | 17 +- modules/home/theme/catppuccin/firefox.nix | 4 +- modules/home/theme/catppuccin/gtk.nix | 4 +- modules/home/theme/catppuccin/qt.nix | 8 +- modules/home/theme/catppuccin/sway.nix | 4 +- modules/home/theme/gtk/default.nix | 23 +- modules/home/theme/qt/default.nix | 21 +- modules/home/theme/stylix/default.nix | 81 +- modules/home/user/default.nix | 22 +- modules/nixos/archetypes/gaming/default.nix | 10 +- modules/nixos/archetypes/personal/default.nix | 8 +- modules/nixos/archetypes/server/default.nix | 8 +- modules/nixos/archetypes/vm/default.nix | 8 +- .../nixos/archetypes/workstation/default.nix | 8 +- modules/nixos/archetypes/wsl/default.nix | 6 +- modules/nixos/default.nix | 4 + .../nixos/display-managers/gdm/default.nix | 12 +- .../display-managers/lightdm/default.nix | 20 +- .../display-managers/regreet/default.nix | 16 +- .../nixos/display-managers/sddm/default.nix | 14 +- .../display-managers/tuigreet/default.nix | 6 +- modules/nixos/hardware/audio/default.nix | 8 +- modules/nixos/hardware/bluetooth/default.nix | 6 +- modules/nixos/hardware/cpu/amd/default.nix | 6 +- modules/nixos/hardware/cpu/default.nix | 4 +- modules/nixos/hardware/cpu/intel/default.nix | 6 +- .../nixos/hardware/fingerprint/default.nix | 6 +- modules/nixos/hardware/gpu/amd/default.nix | 6 +- modules/nixos/hardware/gpu/default.nix | 4 +- modules/nixos/hardware/gpu/nvidia/default.nix | 8 +- modules/nixos/hardware/opengl/default.nix | 6 +- modules/nixos/hardware/power/default.nix | 6 +- .../nixos/hardware/rgb/ckb-next/default.nix | 10 +- .../nixos/hardware/rgb/openrgb/default.nix | 10 +- .../nixos/hardware/storage/btrfs/default.nix | 8 +- modules/nixos/hardware/storage/default.nix | 8 +- .../nixos/hardware/storage/zfs/default.nix | 8 +- modules/nixos/hardware/tpm/default.nix | 6 +- modules/nixos/hardware/yubikey/default.nix | 6 +- modules/nixos/home/default.nix | 16 +- modules/nixos/nix/default.nix | 13 +- .../graphical/addons/gamemode/default.nix | 8 +- .../graphical/addons/gamescope/default.nix | 6 +- .../graphical/addons/keyring/default.nix | 6 +- .../addons/looking-glass-client/default.nix | 8 +- .../graphical/addons/noisetorch/default.nix | 6 +- .../graphical/addons/uwsm/default.nix | 6 +- .../graphical/apps/_1password/default.nix | 10 +- .../graphical/apps/gnome-disks/default.nix | 6 +- .../apps/partitionmanager/default.nix | 6 +- .../programs/graphical/apps/steam/default.nix | 6 +- .../graphical/apps/virtualbox/default.nix | 8 +- .../desktop-environment/gnome/default.nix | 8 +- .../file-managers/dolphin/default.nix | 6 +- .../file-managers/nautilus/default.nix | 6 +- .../file-managers/thunar/default.nix | 6 +- .../graphical/wms/hyprland/default.nix | 16 +- .../programs/graphical/wms/sway/default.nix | 8 +- .../terminal/tools/bandwhich/default.nix | 6 +- .../terminal/tools/nix-ld/default.nix | 6 +- .../programs/terminal/tools/qmk/default.nix | 6 +- .../programs/terminal/tools/ssh/default.nix | 4 +- modules/nixos/security/acme/default.nix | 10 +- modules/nixos/security/auditd/default.nix | 6 +- modules/nixos/security/clamav/default.nix | 6 +- modules/nixos/security/doas/default.nix | 8 +- modules/nixos/security/gpg/default.nix | 8 +- modules/nixos/security/keyring/default.nix | 6 +- modules/nixos/security/pam/default.nix | 6 +- modules/nixos/security/polkit/default.nix | 10 +- modules/nixos/security/sops/default.nix | 12 +- modules/nixos/security/sudo-rs/default.nix | 8 +- modules/nixos/security/sudo/default.nix | 6 +- modules/nixos/security/usbguard/default.nix | 8 +- modules/nixos/services/avahi/default.nix | 6 +- .../nixos/services/cloudflared/default.nix | 8 +- modules/nixos/services/dbus/default.nix | 8 +- modules/nixos/services/ddc/default.nix | 6 +- modules/nixos/services/earlyoom/default.nix | 6 +- modules/nixos/services/flatpak/default.nix | 6 +- modules/nixos/services/geoclue/default.nix | 6 +- modules/nixos/services/logind/default.nix | 6 +- modules/nixos/services/logrotate/default.nix | 6 +- modules/nixos/services/ollama-ui/default.nix | 6 +- modules/nixos/services/ollama/default.nix | 6 +- modules/nixos/services/oomd/default.nix | 6 +- modules/nixos/services/open-webui/default.nix | 6 +- modules/nixos/services/openssh/default.nix | 8 +- modules/nixos/services/power/default.nix | 6 +- modules/nixos/services/printing/default.nix | 6 +- .../services/resources-limiter/default.nix | 6 +- .../services/rustdesk-server/default.nix | 8 +- modules/nixos/services/samba/default.nix | 14 +- modules/nixos/services/seatd/default.nix | 6 +- modules/nixos/services/snapper/default.nix | 6 +- .../nixos/services/spice-vdagentd/default.nix | 6 +- .../nixos/services/spice-webdav/default.nix | 6 +- modules/nixos/services/tailscale/default.nix | 10 +- modules/nixos/services/udisks2/default.nix | 8 +- modules/nixos/suites/common/default.nix | 14 +- modules/nixos/suites/desktop/default.nix | 8 +- modules/nixos/suites/development/default.nix | 6 +- modules/nixos/suites/games/default.nix | 8 +- modules/nixos/suites/vm/default.nix | 8 +- modules/nixos/suites/wlroots/default.nix | 8 +- modules/nixos/system/boot/default.nix | 10 +- modules/nixos/system/env/default.nix | 6 +- modules/nixos/system/fonts/default.nix | 6 +- modules/nixos/system/locale/default.nix | 6 +- .../system/networking/connman/default.nix | 8 +- modules/nixos/system/networking/default.nix | 8 +- .../system/networking/dnsmasq/default.nix | 4 +- .../system/networking/networkd/default.nix | 6 +- .../networking/networkmanager/default.nix | 10 +- .../system/networking/resolved/default.nix | 4 +- modules/nixos/system/realtime/default.nix | 8 +- modules/nixos/system/time/default.nix | 6 +- modules/nixos/system/xkb/default.nix | 6 +- modules/nixos/theme/default.nix | 8 +- modules/nixos/theme/gtk/default.nix | 8 +- modules/nixos/theme/qt/default.nix | 11 +- modules/nixos/theme/stylix/default.nix | 12 +- modules/nixos/user/default.nix | 8 +- modules/nixos/virtualisation/kvm/default.nix | 12 +- .../nixos/virtualisation/podman/default.nix | 6 +- modules/shared/nix/default.nix | 40 +- .../programs/terminal/tools/ssh/default.nix | 16 +- modules/shared/suites/common/default.nix | 6 +- modules/shared/system/fonts/default.nix | 8 +- overlays/nixpkgs-master/default.nix | 14 +- overlays/nixpkgs-unstable/default.nix | 10 +- .../{default.nix => package.nix} | 0 packages/avrogen/{default.nix => package.nix} | 0 .../{default.nix => package.nix} | 0 .../dep-graph/{default.nix => package.nix} | 0 .../{default.nix => package.nix} | 1 + packages/fix-git/{default.nix => package.nix} | 0 .../git-cliff/{default.nix => package.nix} | 0 .../list-iommu/{default.nix => package.nix} | 0 .../{default.nix => package.nix} | 0 .../{default.nix => package.nix} | 2 +- .../test-fonts/{default.nix => package.nix} | 0 .../{default.nix => package.nix} | 0 .../trace-which/{default.nix => package.nix} | 5 +- .../user-icon/{default.nix => package.nix} | 2 +- .../{wallpapers => assets}/buttons.png | Bin .../{wallpapers => assets}/cat-sound.png | Bin .../{wallpapers => assets}/cat_pacman.png | Bin .../flatppuccin_macchiato.png | Bin .../{wallpapers => assets}/hashtags-black.png | Bin .../{wallpapers => assets}/hashtags-new.png | Bin .../{wallpapers => assets}/hearts.png | Bin .../{wallpapers => assets}/tetris.png | Bin .../wallpapers/{default.nix => package.nix} | 25 +- .../why-depends/{default.nix => package.nix} | 0 .../yabai-helper/{default.nix => package.nix} | 8 +- .../aarch64-darwin/khanelimac-m1/default.nix | 8 +- systems/aarch64-darwin/khanelimac/default.nix | 8 +- systems/aarch64-linux/nixos/default.nix | 4 +- .../x86_64-install-iso/graphical/default.nix | 4 +- .../x86_64-install-iso/minimal/default.nix | 4 +- systems/x86_64-iso/isolated/default.nix | 4 +- systems/x86_64-iso/rescue/default.nix | 4 +- .../x86_64-linux/CORE-PW0D2M1A/default.nix | 4 +- .../x86_64-linux/VT0-IT-47-D443/default.nix | 4 +- systems/x86_64-linux/bruddynix/default.nix | 8 +- systems/x86_64-linux/khanelilab/default.nix | 6 +- systems/x86_64-linux/khanelinix/default.nix | 8 +- systems/x86_64-linux/khanelinix/disks.nix | 12 +- systems/x86_64-linux/khanelinix/hardware.nix | 4 +- systems/x86_64-linux/nixos/default.nix | 4 +- treefmt.nix | 94 -- 414 files changed, 3971 insertions(+), 1966 deletions(-) create mode 100644 flake/configs.nix create mode 100644 flake/default.nix create mode 100644 flake/dev/checks.nix create mode 100644 flake/dev/default.nix create mode 100644 flake/dev/devshells.nix create mode 100644 flake/dev/flake.lock create mode 100644 flake/dev/flake.nix create mode 100644 flake/dev/formatting.nix rename shells/angular/default.nix => flake/dev/shells/angular.nix (100%) rename shells/c/default.nix => flake/dev/shells/c.nix (100%) rename {shells/default => flake/dev/shells}/default.nix (85%) rename shells/dotnet/default.nix => flake/dev/shells/dotnet.nix (100%) rename shells/dotnet6/default.nix => flake/dev/shells/dotnet6.nix (91%) rename shells/dotnet7/default.nix => flake/dev/shells/dotnet7.nix (85%) rename shells/dotnet8/default.nix => flake/dev/shells/dotnet8.nix (85%) rename shells/dotnet9/default.nix => flake/dev/shells/dotnet9.nix (85%) rename shells/java/default.nix => flake/dev/shells/java.nix (100%) rename shells/migrator/default.nix => flake/dev/shells/migrator.nix (100%) rename shells/nix/default.nix => flake/dev/shells/nix.nix (88%) rename shells/python/default.nix => flake/dev/shells/python.nix (100%) rename shells/react/default.nix => flake/dev/shells/react.nix (100%) rename shells/rust/default.nix => flake/dev/shells/rust.nix (100%) create mode 100644 flake/home.nix create mode 100644 flake/overlays.nix create mode 100644 flake/packages.nix create mode 100644 flake/templates.nix delete mode 100644 lib/audio/default.nix create mode 100644 lib/mk-darwin.nix create mode 100644 lib/mk-home.nix create mode 100644 lib/mk-system.nix delete mode 100644 lib/network/default.nix create mode 100644 lib/overlay.nix create mode 100644 modules/darwin/default.nix create mode 100644 modules/home/default.nix create mode 100644 modules/home/programs/default.nix create mode 100644 modules/home/programs/terminal/default.nix create mode 100644 modules/home/programs/terminal/tools/default.nix delete mode 100644 modules/home/programs/terminal/tools/fup-repl/default.nix create mode 100644 modules/nixos/default.nix rename packages/artifacts-credprovider/{default.nix => package.nix} (100%) rename packages/avrogen/{default.nix => package.nix} (100%) rename packages/build-by-path/{default.nix => package.nix} (100%) rename packages/dep-graph/{default.nix => package.nix} (100%) rename packages/dynamic-island-helper/{default.nix => package.nix} (98%) rename packages/fix-git/{default.nix => package.nix} (100%) rename packages/git-cliff/{default.nix => package.nix} (100%) rename packages/list-iommu/{default.nix => package.nix} (100%) rename packages/record_screen/{default.nix => package.nix} (100%) rename packages/sketchyhelper/{default.nix => package.nix} (94%) rename packages/test-fonts/{default.nix => package.nix} (100%) rename packages/trace-symlink/{default.nix => package.nix} (100%) rename packages/trace-which/{default.nix => package.nix} (65%) rename packages/user-icon/{default.nix => package.nix} (90%) rename packages/wallpapers/{wallpapers => assets}/buttons.png (100%) rename packages/wallpapers/{wallpapers => assets}/cat-sound.png (100%) rename packages/wallpapers/{wallpapers => assets}/cat_pacman.png (100%) rename packages/wallpapers/{wallpapers => assets}/flatppuccin_macchiato.png (100%) rename packages/wallpapers/{wallpapers => assets}/hashtags-black.png (100%) rename packages/wallpapers/{wallpapers => assets}/hashtags-new.png (100%) rename packages/wallpapers/{wallpapers => assets}/hearts.png (100%) rename packages/wallpapers/{wallpapers => assets}/tetris.png (100%) rename packages/wallpapers/{default.nix => package.nix} (54%) rename packages/why-depends/{default.nix => package.nix} (100%) rename packages/yabai-helper/{default.nix => package.nix} (97%) delete mode 100644 treefmt.nix diff --git a/.gitignore b/.gitignore index 0b135cafc..6e00d6fea 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,6 @@ node_modules .direnv/* result .ccls-cache -flake .pre-commit-config.yaml .venv diff --git a/flake.lock b/flake.lock index 203d5780b..ef1e111cc 100644 --- a/flake.lock +++ b/flake.lock @@ -200,32 +200,36 @@ "type": "github" } }, - "flake-compat": { - "flake": false, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "lastModified": 1690933134, + "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-parts": { + "flake-parts_2": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": [ + "nixpkgs" + ] }, "locked": { - "lastModified": 1690933134, - "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -234,7 +238,7 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "khanelivim", @@ -255,7 +259,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "lanzaboote", @@ -276,7 +280,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "stylix", @@ -315,43 +319,6 @@ "type": "github" } }, - "flake-utils-plus": { - "inputs": { - "flake-utils": "flake-utils_2" - }, - "locked": { - "lastModified": 1715533576, - "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", - "owner": "gytis-ivaskevicius", - "repo": "flake-utils-plus", - "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", - "type": "github" - }, - "original": { - "owner": "gytis-ivaskevicius", - "repo": "flake-utils-plus", - "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "fromYaml": { "flake": false, "locked": { @@ -368,25 +335,25 @@ "type": "github" } }, - "git-hooks-nix": { + "gitignore": { "inputs": { - "flake-compat": [], - "gitignore": [], "nixpkgs": [ - "nixpkgs-unstable" + "lanzaboote", + "pre-commit-hooks-nix", + "nixpkgs" ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { - "owner": "cachix", - "repo": "git-hooks.nix", + "owner": "hercules-ci", + "repo": "gitignore.nix", "type": "github" } }, @@ -448,7 +415,7 @@ }, "khanelivim": { "inputs": { - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "nixpkgs": "nixpkgs_4", "nixpkgs-master": "nixpkgs-master", "nixvim": "nixvim", @@ -472,13 +439,11 @@ "inputs": { "crane": "crane", "flake-compat": [], - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "nixpkgs": [ "nixpkgs" ], - "pre-commit-hooks-nix": [ - "git-hooks-nix" - ], + "pre-commit-hooks-nix": "pre-commit-hooks-nix", "rust-overlay": "rust-overlay_2" }, "locked": { @@ -856,6 +821,32 @@ "type": "github" } }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": [ + "lanzaboote", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "anyrun-nixos-options": "anyrun-nixos-options", @@ -863,7 +854,7 @@ "darwin": "darwin", "disko": "disko", "firefox-addons": "firefox-addons", - "git-hooks-nix": "git-hooks-nix", + "flake-parts": "flake-parts_2", "home-manager": "home-manager", "hypr-socket-watch": "hypr-socket-watch", "khanelivim": "khanelivim", @@ -876,10 +867,8 @@ "nixpkgs": "nixpkgs_6", "nixpkgs-master": "nixpkgs-master_2", "nixpkgs-unstable": "nixpkgs-unstable", - "snowfall-lib": "snowfall-lib", "sops-nix": "sops-nix", "stylix": "stylix", - "treefmt-nix": "treefmt-nix", "waybar": "waybar", "yazi-flavors": "yazi-flavors" } @@ -924,28 +913,6 @@ "type": "github" } }, - "snowfall-lib": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils-plus": "flake-utils-plus", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736130495, - "narHash": "sha256-4i9nAJEZFv7vZMmrE0YG55I3Ggrtfo5/T07JEpEZ/RM=", - "owner": "snowfallorg", - "repo": "lib", - "rev": "02d941739f98a09e81f3d2d9b3ab08918958beac", - "type": "github" - }, - "original": { - "owner": "snowfallorg", - "repo": "lib", - "type": "github" - } - }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -973,13 +940,13 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "gnome-shell": "gnome-shell", "nixpkgs": [ "nixpkgs" ], "nur": "nur", - "systems": "systems_4", + "systems": "systems_3", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -1045,21 +1012,6 @@ "type": "github" } }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "tinted-foot": { "flake": false, "locked": { @@ -1141,26 +1093,6 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixpkgs-unstable" - ] - }, - "locked": { - "lastModified": 1752055615, - "narHash": "sha256-19m7P4O/Aw/6+CzncWMAJu89JaKeMh3aMle1CNQSIwM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "c9d477b5d5bd7f26adddd3f96cfd6a904768d4f9", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "waybar": { "inputs": { "flake-compat": [], diff --git a/flake.nix b/flake.nix index fb85673c5..0274f11bb 100644 --- a/flake.nix +++ b/flake.nix @@ -3,35 +3,26 @@ inputs = { # Core inputs - darwin = { - url = "github:nix-darwin/nix-darwin"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-master.url = "github:NixOS/nixpkgs"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + + flake-parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; }; + home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; - nixos-wsl = { - url = "github:nix-community/nixos-wsl"; - inputs = { - nixpkgs.follows = "nixpkgs"; - # Optional inputs removed - flake-compat.follows = ""; - }; - }; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-master.url = "github:NixOS/nixpkgs"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - nix-rosetta-builder = { - # url = "github:cpick/nix-rosetta-builder"; - url = "github:khaneliman/nix-rosetta-builder/speedfactor"; + + darwin = { + url = "github:nix-darwin/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; - snowfall-lib = { - url = "github:snowfallorg/lib"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # System inputs disko = { url = "github:nix-community/disko/latest"; inputs.nixpkgs.follows = "nixpkgs-unstable"; @@ -39,10 +30,7 @@ lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; inputs = { - # Does this even make sense with a pinned version ? nixpkgs.follows = "nixpkgs"; - pre-commit-hooks-nix.follows = "git-hooks-nix"; - # Optional inputs removed flake-compat.follows = ""; }; }; @@ -50,6 +38,13 @@ url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + nixos-wsl = { + url = "github:nix-community/nixos-wsl"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-compat.follows = ""; + }; + }; # Applications anyrun-nixos-options.url = "github:n3oney/anyrun-nixos-options"; @@ -71,6 +66,11 @@ nixpkgs.follows = "nixpkgs"; }; }; + nix-rosetta-builder = { + # url = "github:cpick/nix-rosetta-builder"; + url = "github:khaneliman/nix-rosetta-builder/speedfactor"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; stylix = { url = "github:danth/stylix"; inputs = { @@ -81,7 +81,6 @@ url = "github:Alexays/Waybar"; inputs = { nixpkgs.follows = "nixpkgs"; - # Optional inputs removed flake-compat.follows = ""; }; }; @@ -89,117 +88,17 @@ url = "github:yazi-rs/flavors"; flake = false; }; - - # TODO: - # Dev flake - git-hooks-nix = { - url = "github:cachix/git-hooks.nix"; - inputs = { - nixpkgs.follows = "nixpkgs-unstable"; - # Optional inputs removed - gitignore.follows = ""; - flake-compat.follows = ""; - }; - }; - treefmt-nix = { - url = "github:numtide/treefmt-nix"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; }; outputs = inputs: - let - inherit (inputs) snowfall-lib; - - lib = snowfall-lib.mkLib { - inherit inputs; - src = ./.; - - snowfall = { - meta = { - name = "khanelinix"; - title = "KhaneliNix"; - }; - - namespace = "khanelinix"; - }; - }; - in - lib.mkFlake { - channels-config = { - # allowBroken = true; - allowUnfree = true; - # showDerivationWarnings = [ "maintainerless" ]; - - # TODO: cleanup when available - permittedInsecurePackages = [ - # NOTE: citrix - "libxml2-2.13.8" - # NOTE: needed by emulationstation - "freeimage-3.18.0-unstable-2024-04-18" - # dev shells - "aspnetcore-runtime-6.0.36" - "aspnetcore-runtime-7.0.20" - "aspnetcore-runtime-wrapped-7.0.20" - "aspnetcore-runtime-wrapped-6.0.36" - "dotnet-combined" - "dotnet-core-combined" - "dotnet-runtime-6.0.36" - "dotnet-runtime-7.0.20" - "dotnet-runtime-wrapped-6.0.36" - "dotnet-runtime-wrapped-7.0.20" - "dotnet-sdk-6.0.428" - "dotnet-sdk-7.0.410" - "dotnet-sdk-wrapped-6.0.428" - "dotnet-sdk-wrapped-7.0.410" - "dotnet-wrapped-combined" - ]; - }; - - overlays = [ inputs.nh.overlays.default ]; - - homes.modules = with inputs; [ - catppuccin.homeModules.catppuccin - hypr-socket-watch.homeManagerModules.default - nix-index-database.homeModules.nix-index - sops-nix.homeManagerModules.sops + inputs.flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ + "x86_64-linux" + "aarch64-darwin" + ]; + imports = [ + ./flake ]; - - systems = { - modules = { - darwin = with inputs; [ - nix-rosetta-builder.darwinModules.default - sops-nix.darwinModules.sops - stylix.darwinModules.stylix - ]; - nixos = with inputs; [ - disko.nixosModules.disko - lanzaboote.nixosModules.lanzaboote - nix-flatpak.nixosModules.nix-flatpak - sops-nix.nixosModules.sops - stylix.nixosModules.stylix - ]; - }; - }; - - templates = { - angular.description = "Angular template"; - c.description = "C flake template."; - container.description = "Container template"; - cpp.description = "CPP flake template"; - dotnetf.description = "Dotnet FSharp template"; - flake-compat.description = "Flake-compat shell and default files."; - go.description = "Go template"; - node.description = "Node template"; - python.description = "Python template"; - rust.description = "Rust template"; - rust-web-server.description = "Rust web server template"; - snowfall.description = "Snowfall-lib template"; - }; - - outputs-builder = channels: { - formatter = inputs.treefmt-nix.lib.mkWrapper channels.nixpkgs ./treefmt.nix; - }; }; } diff --git a/flake/configs.nix b/flake/configs.nix new file mode 100644 index 000000000..74353e0b8 --- /dev/null +++ b/flake/configs.nix @@ -0,0 +1,41 @@ +{ + inputs, + self, + lib, + ... +}: +let + inherit (self.lib.file) scanSystems filterNixOSSystems filterDarwinSystems; + + systemsPath = ../systems; + allSystems = scanSystems systemsPath; +in +{ + flake = { + nixosConfigurations = lib.mapAttrs' ( + name: + { system, hostname, ... }: + { + name = hostname; + value = self.lib.mkSystem { + inherit inputs system hostname; + username = "khaneliman"; + }; + } + ) (filterNixOSSystems allSystems); + + darwinConfigurations = lib.mapAttrs' ( + name: + { system, hostname, ... }: + { + name = hostname; + value = self.lib.mkDarwin { + inherit inputs system hostname; + username = "khaneliman"; + }; + } + ) (filterDarwinSystems allSystems); + + # NOTE: Home Manager configurations are now handled by flake/home.nix + }; +} diff --git a/flake/default.nix b/flake/default.nix new file mode 100644 index 000000000..16b4abdfb --- /dev/null +++ b/flake/default.nix @@ -0,0 +1,23 @@ +{ inputs, ... }: +{ + imports = [ + ../lib + ./overlays.nix + ./packages.nix + ./configs.nix + ./home.nix + ./templates.nix + inputs.flake-parts.flakeModules.partitions + ]; + + partitions.dev = { + module = ./dev; + extraInputsFlake = ./dev; + }; + + partitionedAttrs = inputs.nixpkgs.lib.genAttrs [ + "checks" + "devShells" + "formatter" + ] (_: "dev"); +} diff --git a/flake/dev/checks.nix b/flake/dev/checks.nix new file mode 100644 index 000000000..6e66a60ca --- /dev/null +++ b/flake/dev/checks.nix @@ -0,0 +1,45 @@ +{ inputs, lib, ... }: +{ + imports = lib.optional (inputs.git-hooks-nix ? flakeModule) inputs.git-hooks-nix.flakeModule; + + perSystem = + { pkgs, ... }: + { + pre-commit = lib.mkIf (inputs.git-hooks-nix ? flakeModule) { + check.enable = false; + + settings.hooks = { + actionlint.enable = true; + clang-tidy.enable = true; + deadnix = { + enable = true; + + settings = { + edit = true; + }; + }; + eslint = { + enable = true; + package = pkgs.eslint_d; + }; + luacheck.enable = true; + pre-commit-hook-ensure-sops.enable = true; + statix.enable = true; + treefmt.enable = true; + typos = { + enable = true; + excludes = [ "generated/*" ]; + }; + }; + }; + + checks = { + # TODO: + # Custom checks can go here + # nix-syntax = pkgs.runCommand "check-nix-syntax" { } '' + # find ${./../..} -name "*.nix" -exec ${pkgs.nix}/bin/nix-instantiate --parse {} \; > /dev/null + # touch $out + # ''; + }; + }; +} diff --git a/flake/dev/default.nix b/flake/dev/default.nix new file mode 100644 index 000000000..973c371e4 --- /dev/null +++ b/flake/dev/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./devshells.nix + ./checks.nix + ./formatting.nix + ]; +} diff --git a/flake/dev/devshells.nix b/flake/dev/devshells.nix new file mode 100644 index 000000000..ae8fc8e41 --- /dev/null +++ b/flake/dev/devshells.nix @@ -0,0 +1,83 @@ +{ + perSystem = + { + pkgs, + lib, + inputs, + self, + ... + }: + let + # Import the overlay configuration + overlaysConfig = import ../overlays.nix { + inherit inputs lib self; + }; + + # Custom pkgs with insecure packages allowed for devshells + # Use the existing pkgs but allow insecure packages by creating a new instance + devPkgs = import pkgs.path { + inherit (pkgs) system; + config = pkgs.config // { + allowUnfree = true; + permittedInsecurePackages = (pkgs.config.permittedInsecurePackages or [ ]) ++ [ + # dotnet packages + "aspnetcore-runtime-6.0.36" + "aspnetcore-runtime-7.0.20" + "aspnetcore-runtime-wrapped-7.0.20" + "aspnetcore-runtime-wrapped-6.0.36" + "dotnet-combined" + "dotnet-core-combined" + "dotnet-runtime-6.0.36" + "dotnet-runtime-7.0.20" + "dotnet-runtime-wrapped-6.0.36" + "dotnet-runtime-wrapped-7.0.20" + "dotnet-sdk-6.0.428" + "dotnet-sdk-7.0.410" + "dotnet-sdk-wrapped-6.0.428" + "dotnet-sdk-wrapped-7.0.410" + "dotnet-wrapped-combined" + ]; + }; + overlays = [ + overlaysConfig.flake.overlays.khanelinix + ]; + }; + + shellsPath = ./shells; + shellFiles = lib.filterAttrs (name: type: type == "regular" && lib.hasSuffix ".nix" name) ( + builtins.readDir shellsPath + ); + shellNames = lib.mapAttrsToList (name: _: lib.removeSuffix ".nix" name) shellFiles; + + buildShell = name: { + ${name} = import (shellsPath + "/${name}.nix") { + inherit lib; + inherit (devPkgs) mkShell; + pkgs = devPkgs; + }; + }; + + dynamicShells = lib.foldl' (acc: name: acc // buildShell name) { } shellNames; + in + { + devShells = dynamicShells // { + default = pkgs.mkShell { + name = "khanelidev"; + packages = with pkgs; [ + nixpkgs-fmt + statix + deadnix + nil + ]; + shellHook = '' + echo "🚀 Khanelinix development environment" + echo "Available commands:" + echo " nix flake check - Run all checks" + echo " nix fmt -- --no-cache - Format without cache" + echo " statix check - Check for anti-patterns" + echo " deadnix - Find unused code" + ''; + }; + }; + }; +} diff --git a/flake/dev/flake.lock b/flake/dev/flake.lock new file mode 100644 index 000000000..2dba1f66e --- /dev/null +++ b/flake/dev/flake.lock @@ -0,0 +1,1296 @@ +{ + "nodes": { + "anyrun-nixos-options": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1704902043, + "narHash": "sha256-YL5ANmzWJAe3IhsuqTccxZIdkQX0tYt9dt9oNw0QwAY=", + "owner": "n3oney", + "repo": "anyrun-nixos-options", + "rev": "aed824957538e65dc3bea414aadbe5e2de611f49", + "type": "github" + }, + "original": { + "owner": "n3oney", + "repo": "anyrun-nixos-options", + "type": "github" + } + }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1746562888, + "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1748408240, + "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, + "catppuccin": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752490162, + "narHash": "sha256-CFOuAHbc9PTt9HhjGQFf07bUCZKOahQ+vLt30J6u5fw=", + "owner": "catppuccin", + "repo": "nix", + "rev": "7dc907c010e1612729c5d76cf614b5f7811bfe23", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nix", + "type": "github" + } + }, + "crane": { + "locked": { + "lastModified": 1731098351, + "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", + "owner": "ipetkov", + "repo": "crane", + "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "darwin": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1751313918, + "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=", + "owner": "nix-darwin", + "repo": "nix-darwin", + "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf", + "type": "github" + }, + "original": { + "owner": "nix-darwin", + "repo": "nix-darwin", + "type": "github" + } + }, + "devshell": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741473158, + "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", + "owner": "numtide", + "repo": "devshell", + "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "disko": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1746728054, + "narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=", + "owner": "nix-community", + "repo": "disko", + "rev": "ff442f5d1425feb86344c028298548024f21256d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "latest", + "repo": "disko", + "type": "github" + } + }, + "firefox-addons": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "dir": "pkgs/firefox-addons", + "lastModified": 1752379414, + "narHash": "sha256-0R3slhrjrnzyxR/fAYy5UliZvSgaVS38YCESBdH5RJw=", + "owner": "rycee", + "repo": "nur-expressions", + "rev": "51e77bb95540b7dd6c60f8fd65a0c472a2c9c3b7", + "type": "gitlab" + }, + "original": { + "dir": "pkgs/firefox-addons", + "owner": "rycee", + "repo": "nur-expressions", + "type": "gitlab" + } + }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1748383148, + "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1690933134, + "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "root", + "khanelivim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": [ + "root", + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "root", + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "git-hooks-nix": { + "inputs": { + "flake-compat": [ + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "git-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "root", + "lanzaboote", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1748186689, + "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "48.2", + "repo": "gnome-shell", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1752467539, + "narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "1e54837569e0b80797c47be4720fab19e0db1616", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hypr-socket-watch": { + "inputs": { + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1725220982, + "narHash": "sha256-NnFB0PjH80BYuGO1arwR9+h1wLtxogh8U474BWxhGiA=", + "owner": "khaneliman", + "repo": "hypr-socket-watch", + "rev": "cdbd57538de2cc82010f35abc7e3c99b113297e4", + "type": "github" + }, + "original": { + "owner": "khaneliman", + "repo": "hypr-socket-watch", + "type": "github" + } + }, + "khanelivim": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_4", + "nixpkgs-master": "nixpkgs-master", + "nixvim": "nixvim", + "pkgs-by-name-for-flake-parts": "pkgs-by-name-for-flake-parts" + }, + "locked": { + "lastModified": 1752376152, + "narHash": "sha256-l8W20YXDCxhawLDn+YNOyFBGktBeKXHB/1l3eCj0vfw=", + "owner": "khaneliman", + "repo": "khanelivim", + "rev": "c0d150d3f9a178dbf0f29797d8b4e57b033d0736", + "type": "github" + }, + "original": { + "owner": "khaneliman", + "repo": "khanelivim", + "type": "github" + } + }, + "lanzaboote": { + "inputs": { + "crane": "crane", + "flake-compat": [ + "root" + ], + "flake-parts": "flake-parts_4", + "nixpkgs": [ + "root", + "nixpkgs" + ], + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1737639419, + "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", + "owner": "nix-community", + "repo": "lanzaboote", + "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.4.2", + "repo": "lanzaboote", + "type": "github" + } + }, + "nh": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1751375534, + "narHash": "sha256-9z1W64dDVtVxqgPzUbjIQqRfygg1hdivUOZ6d/H+yFg=", + "owner": "nix-community", + "repo": "nh", + "rev": "d0abb8eebe32f79ce4659e68dd777cf497a5d3d2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nh", + "type": "github" + } + }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752441837, + "narHash": "sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "839e02dece5845be3a322e507a79712b73a96ba2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, + "nix-rosetta-builder": { + "inputs": { + "nixos-generators": "nixos-generators", + "nixpkgs": [ + "root", + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1746921880, + "narHash": "sha256-8YyEuL9QDOmLhnOYZQnFB5XeQKj5LJeuy3QcTX7NzE0=", + "owner": "khaneliman", + "repo": "nix-rosetta-builder", + "rev": "94d2ea2da6a600fc97013881d7e0043d375cd5cf", + "type": "github" + }, + "original": { + "owner": "khaneliman", + "ref": "speedfactor", + "repo": "nix-rosetta-builder", + "type": "github" + } + }, + "nixlib": { + "locked": { + "lastModified": 1736643958, + "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixos-generators": { + "inputs": { + "nixlib": "nixlib", + "nixpkgs": [ + "root", + "nix-rosetta-builder", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737057290, + "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=", + "owner": "nix-community", + "repo": "nixos-generators", + "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-generators", + "type": "github" + } + }, + "nixos-wsl": { + "inputs": { + "flake-compat": [ + "root" + ], + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752199438, + "narHash": "sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y=", + "owner": "nix-community", + "repo": "nixos-wsl", + "rev": "d34d9412556d3a896e294534ccd25f53b6822e80", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-wsl", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1690031011, + "narHash": "sha256-kzK0P4Smt7CL53YCdZCBbt9uBFFhE0iNvCki20etAf4=", + "path": "/nix/store/gxw5rlp29swdpgz26vhaqzy21b9pxrim-source", + "rev": "12303c652b881435065a98729eb7278313041e49", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1690881714, + "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9e1960bc196baf6881340d53dccb203a951745a2", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-master": { + "locked": { + "lastModified": 1752373047, + "narHash": "sha256-f+DjsnqGT28PwIrDLbmih/6Wq2tppLeOJtd+dktYOuQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b0b6c2231296e37830e016380a764c91ff3d1e18", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-master_2": { + "locked": { + "lastModified": 1752501828, + "narHash": "sha256-VNKL1zVLGH4QQ13mgUUEsUYtehazO7Ojkw3dfBkvq40=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "dc1db7b2dfb8e7a685072696251ddecbd37d6cac", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1752077645, + "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "be9e214982e20b8310878ac2baa063a961c1bdf6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1714253743, + "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1752012998, + "narHash": "sha256-Q82Ms+FQmgOBkdoSVm+FBpuFoeUAffNerR5yVV7SgT8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "2a2130494ad647f953593c4e84ea4df839fbd68c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1751211869, + "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1751984180, + "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "flake-parts": [ + "root", + "khanelivim", + "flake-parts" + ], + "nixpkgs": [ + "root", + "khanelivim", + "nixpkgs" + ], + "nuschtosSearch": [ + "root", + "khanelivim" + ], + "systems": "systems_2" + }, + "locked": { + "lastModified": 1752358818, + "narHash": "sha256-Txnm5vJqZgaHpEM/9OANg1Ux4e9xHQ7iXfQ8EqtqM9s=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "4b068551d85cb4984fc60268a95097cf7af1ae48", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": [ + "root", + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "root", + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751906969, + "narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", + "owner": "nix-community", + "repo": "NUR", + "rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "pkgs-by-name-for-flake-parts": { + "locked": { + "lastModified": 1743779435, + "narHash": "sha256-5eaQ3iKcwUbLw7pOJJqV85qgf5L+ihfsISrifGM7czQ=", + "owner": "drupol", + "repo": "pkgs-by-name-for-flake-parts", + "rev": "477b3e8f981e3d7bac9d297e64796c918942f744", + "type": "github" + }, + "original": { + "owner": "drupol", + "repo": "pkgs-by-name-for-flake-parts", + "type": "github" + } + }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": [ + "root", + "lanzaboote", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "root", + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "devshell": "devshell", + "flake-compat": [ + "root", + "flake-compat" + ], + "git-hooks-nix": "git-hooks-nix", + "nixpkgs": [ + "root", + "nixpkgs" + ], + "root": "root_2", + "treefmt-nix": "treefmt-nix" + } + }, + "root_2": { + "inputs": { + "anyrun-nixos-options": "anyrun-nixos-options", + "catppuccin": "catppuccin", + "darwin": "darwin", + "disko": "disko", + "firefox-addons": "firefox-addons", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts_2", + "home-manager": "home-manager", + "hypr-socket-watch": "hypr-socket-watch", + "khanelivim": "khanelivim", + "lanzaboote": "lanzaboote", + "nh": "nh", + "nix-flatpak": "nix-flatpak", + "nix-index-database": "nix-index-database", + "nix-rosetta-builder": "nix-rosetta-builder", + "nixos-wsl": "nixos-wsl", + "nixpkgs": "nixpkgs_6", + "nixpkgs-master": "nixpkgs-master_2", + "nixpkgs-unstable": "nixpkgs-unstable", + "sops-nix": "sops-nix", + "stylix": "stylix", + "waybar": "waybar", + "yazi-flavors": "yazi-flavors" + }, + "locked": { + "path": "./../..", + "type": "path" + }, + "original": { + "path": "./../..", + "type": "path" + }, + "parent": [] + }, + "rust-overlay": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1714529851, + "narHash": "sha256-YMKJW880f7LHXVRzu93xa6Ek+QLECIu0IRQbXbzZe38=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "9ca720fdcf7865385ae3b93ecdf65f1a64cb475e", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "root", + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731897198, + "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1751606940, + "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts_5", + "gnome-shell": "gnome-shell", + "nixpkgs": [ + "root", + "nixpkgs" + ], + "nur": "nur", + "systems": "systems_3", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1752449117, + "narHash": "sha256-Cn24ySH/LN/Q/SsDhpOX4cTMYZa1JMOLNeNsoYqcZpY=", + "owner": "danth", + "repo": "stylix", + "rev": "d683e35fa5ec8bbfd45d52e4b53c7b91f7b38d06", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1750770351, + "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1751159871, + "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1751158968, + "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "86a470d94204f7652b906ab0d378e4231a5b3384", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752055615, + "narHash": "sha256-19m7P4O/Aw/6+CzncWMAJu89JaKeMh3aMle1CNQSIwM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "c9d477b5d5bd7f26adddd3f96cfd6a904768d4f9", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "waybar": { + "inputs": { + "flake-compat": [ + "root" + ], + "nixpkgs": [ + "root", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752390446, + "narHash": "sha256-OcVcNM7Jt1E1/5HfPEXAodeJ4z8rvsR+1eY5OUYCt1I=", + "owner": "Alexays", + "repo": "Waybar", + "rev": "94777921d96c2657c37c7d83a18f13968df486de", + "type": "github" + }, + "original": { + "owner": "Alexays", + "repo": "Waybar", + "type": "github" + } + }, + "yazi-flavors": { + "flake": false, + "locked": { + "lastModified": 1751970029, + "narHash": "sha256-RtunaCs1RUfzjefFLFu5qLRASbyk5RUILWTdavThRkc=", + "owner": "yazi-rs", + "repo": "flavors", + "rev": "d3fd3a5d774b48b3f88845f4f0ae1b82f106d331", + "type": "github" + }, + "original": { + "owner": "yazi-rs", + "repo": "flavors", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake/dev/flake.nix b/flake/dev/flake.nix new file mode 100644 index 000000000..093e9e203 --- /dev/null +++ b/flake/dev/flake.nix @@ -0,0 +1,33 @@ +{ + description = "Private inputs for development purposes. These are used by the top level flake in the `dev` partition, but do not appear in consumers' lock files."; + + inputs = { + # By pointing to the parent directory, this flake can "follow" the inputs + # of the root flake, ensuring dependency versions are kept in sync. + root.url = "path:./../.."; + + nixpkgs.follows = "root/nixpkgs"; + flake-compat.follows = "root/flake-compat"; + + # keep-sorted start block=yes newline_separated=yes + devshell = { + url = "github:numtide/devshell"; + inputs.nixpkgs.follows = "root/nixpkgs"; + }; + + git-hooks-nix = { + url = "github:cachix/git-hooks.nix"; + inputs.nixpkgs.follows = "root/nixpkgs"; + inputs.flake-compat.follows = "flake-compat"; + }; + + treefmt-nix = { + url = "github:numtide/treefmt-nix"; + inputs.nixpkgs.follows = "root/nixpkgs"; + }; + # keep-sorted end + }; + + # This flake is only used for its inputs. + outputs = _inputs: { }; +} diff --git a/flake/dev/formatting.nix b/flake/dev/formatting.nix new file mode 100644 index 000000000..9182621a3 --- /dev/null +++ b/flake/dev/formatting.nix @@ -0,0 +1,104 @@ +{ inputs, lib, ... }: +{ + imports = lib.optional (inputs.treefmt-nix ? flakeModule) inputs.treefmt-nix.flakeModule; + + perSystem = _: { + treefmt = lib.mkIf (inputs.treefmt-nix ? flakeModule) { + flakeCheck = true; + flakeFormatter = true; + + projectRootFile = "flake.nix"; + + programs = { + actionlint.enable = true; + biome = { + enable = true; + settings.formatter.formatWithErrors = true; + }; + clang-format.enable = true; + deadnix = { + enable = true; + no-lambda-arg = true; + }; + deno = { + enable = true; + # Using biome for these + excludes = [ + "*.ts" + "*.js" + "*.json" + "*.jsonc" + ]; + }; + fantomas.enable = true; + fish_indent.enable = true; + gofmt.enable = true; + isort.enable = true; + nixfmt.enable = true; + nufmt.enable = true; + ruff-check.enable = true; + ruff-format.enable = true; + rustfmt.enable = true; + shfmt = { + enable = true; + indent_size = 4; + }; + statix.enable = true; + stylua.enable = true; + taplo.enable = true; + yamlfmt.enable = true; + }; + + settings = { + global.excludes = [ + "*.editorconfig" + "*.envrc" + "*.gitconfig" + "*.git-blame-ignore-revs" + "*.gitignore" + "*.gitattributes" + "*.luacheckrc" + "*CODEOWNERS" + "*LICENSE" + "*flake.lock" + "*.conf" + "*.gif" + "*.ico" + "*.ini" + "*.micro" + "*.png" + "*.svg" + "*.tmux" + "*/config" + # TODO: formatters? + "*.ac" + "*.css" # Exclude CSS files from formatting since we use Nix template variables + "*.csproj" + "*.fsproj" + "*.in" + "*.kdl" + "*.kvconfig" + "*.rasi" + "*.sln" + "*.xml" + "*.zsh" + "*Makefile" + "*makefile" + + # Unique files + "homes/x86_64-linux/nixos@CORE-PW0D2M1A/git/windows-compat-config" + "lib/base64/ascii" + "modules/darwin/desktop/wms/yabai/extraConfig" + "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/helper/islandhelper" + "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/scripts/islands/music/get_artwork.scpt" + "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/scripts/islands/volume/data/cache" + "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/sketchybarrc" + "systems/x86_64-linux/khanelinix/hyprlandOutput" + "systems/x86_64-linux/khanelinix/swayOutput" + ]; + + formatter.ruff-format.options = [ "--isolated" ]; + }; + }; + }; +} diff --git a/shells/angular/default.nix b/flake/dev/shells/angular.nix similarity index 100% rename from shells/angular/default.nix rename to flake/dev/shells/angular.nix diff --git a/shells/c/default.nix b/flake/dev/shells/c.nix similarity index 100% rename from shells/c/default.nix rename to flake/dev/shells/c.nix diff --git a/shells/default/default.nix b/flake/dev/shells/default.nix similarity index 85% rename from shells/default/default.nix rename to flake/dev/shells/default.nix index b79037d06..723f3f392 100644 --- a/shells/default/default.nix +++ b/flake/dev/shells/default.nix @@ -3,7 +3,6 @@ mkShell, pkgs, system, - namespace, ... }: mkShell { @@ -18,7 +17,7 @@ mkShell { shellHook = '' ${inputs.self.checks.${system}.pre-commit-hooks.shellHook} - echo 🔨 Welcome to ${namespace} + echo 🔨 Welcome to Khanelinix! ''; diff --git a/shells/dotnet/default.nix b/flake/dev/shells/dotnet.nix similarity index 100% rename from shells/dotnet/default.nix rename to flake/dev/shells/dotnet.nix diff --git a/shells/dotnet6/default.nix b/flake/dev/shells/dotnet6.nix similarity index 91% rename from shells/dotnet6/default.nix rename to flake/dev/shells/dotnet6.nix index cb247ec0c..d9c0c197c 100644 --- a/shells/dotnet6/default.nix +++ b/flake/dev/shells/dotnet6.nix @@ -1,6 +1,6 @@ { mkShell, pkgs, ... }: let - dotnetDevShell = import ../dotnet/default.nix { inherit mkShell pkgs; }; + dotnetDevShell = import ./dotnet.nix { inherit mkShell pkgs; }; in mkShell { packages = diff --git a/shells/dotnet7/default.nix b/flake/dev/shells/dotnet7.nix similarity index 85% rename from shells/dotnet7/default.nix rename to flake/dev/shells/dotnet7.nix index 1af67ea12..148dcc447 100644 --- a/shells/dotnet7/default.nix +++ b/flake/dev/shells/dotnet7.nix @@ -1,6 +1,6 @@ { mkShell, pkgs, ... }: let - dotnetDevShell = import ../dotnet/default.nix { inherit mkShell pkgs; }; + dotnetDevShell = import ./dotnet.nix { inherit mkShell pkgs; }; in mkShell { packages = diff --git a/shells/dotnet8/default.nix b/flake/dev/shells/dotnet8.nix similarity index 85% rename from shells/dotnet8/default.nix rename to flake/dev/shells/dotnet8.nix index a61fee3b1..79f5d619f 100644 --- a/shells/dotnet8/default.nix +++ b/flake/dev/shells/dotnet8.nix @@ -1,6 +1,6 @@ { mkShell, pkgs, ... }: let - dotnetDevShell = import ../dotnet/default.nix { inherit mkShell pkgs; }; + dotnetDevShell = import ./dotnet.nix { inherit mkShell pkgs; }; in mkShell { packages = diff --git a/shells/dotnet9/default.nix b/flake/dev/shells/dotnet9.nix similarity index 85% rename from shells/dotnet9/default.nix rename to flake/dev/shells/dotnet9.nix index 03e798806..c958826f6 100644 --- a/shells/dotnet9/default.nix +++ b/flake/dev/shells/dotnet9.nix @@ -1,6 +1,6 @@ { mkShell, pkgs, ... }: let - dotnetDevShell = import ../dotnet/default.nix { inherit mkShell pkgs; }; + dotnetDevShell = import ./dotnet.nix { inherit mkShell pkgs; }; in mkShell { packages = diff --git a/shells/java/default.nix b/flake/dev/shells/java.nix similarity index 100% rename from shells/java/default.nix rename to flake/dev/shells/java.nix diff --git a/shells/migrator/default.nix b/flake/dev/shells/migrator.nix similarity index 100% rename from shells/migrator/default.nix rename to flake/dev/shells/migrator.nix diff --git a/shells/nix/default.nix b/flake/dev/shells/nix.nix similarity index 88% rename from shells/nix/default.nix rename to flake/dev/shells/nix.nix index 9ea07a39b..a105c6ec6 100644 --- a/shells/nix/default.nix +++ b/flake/dev/shells/nix.nix @@ -1,7 +1,6 @@ { mkShell, pkgs, - namespace, ... }: mkShell { @@ -27,7 +26,7 @@ mkShell { ]; shellHook = '' - echo 🔨 Welcome to ${namespace} + echo 🔨 Nix DevShell ''; diff --git a/shells/python/default.nix b/flake/dev/shells/python.nix similarity index 100% rename from shells/python/default.nix rename to flake/dev/shells/python.nix diff --git a/shells/react/default.nix b/flake/dev/shells/react.nix similarity index 100% rename from shells/react/default.nix rename to flake/dev/shells/react.nix diff --git a/shells/rust/default.nix b/flake/dev/shells/rust.nix similarity index 100% rename from shells/rust/default.nix rename to flake/dev/shells/rust.nix diff --git a/flake/home.nix b/flake/home.nix new file mode 100644 index 000000000..baf36b78a --- /dev/null +++ b/flake/home.nix @@ -0,0 +1,47 @@ +{ + inputs, + self, + lib, + ... +}: +let + inherit (self.lib.file) scanHomes; + + homesPath = ../homes; + allHomes = scanHomes homesPath; + + generateHomeConfiguration = + name: + { + system, + username, + userAtHost, + hostname, + path, + ... + }: + { + name = userAtHost; # Use the full "username@hostname" as key + value = self.lib.mkHome { + inherit + inputs + system + hostname + username + ; + modules = [ path ]; + }; + }; +in +{ + imports = [ inputs.home-manager.flakeModules.home-manager ]; + + flake = { + homeModules = { + default = ../modules/home; + }; + + # Dynamically generated home configurations + homeConfigurations = lib.mapAttrs' generateHomeConfiguration allHomes; + }; +} diff --git a/flake/overlays.nix b/flake/overlays.nix new file mode 100644 index 000000000..9656ae0d7 --- /dev/null +++ b/flake/overlays.nix @@ -0,0 +1,71 @@ +{ + inputs, + lib, + ... +}: +let + overlaysPath = ../overlays; + dynamicOverlaysSet = + if builtins.pathExists overlaysPath then + let + overlayDirs = builtins.attrNames (builtins.readDir overlaysPath); + in + lib.genAttrs overlayDirs ( + name: + let + overlayPath = overlaysPath + "/${name}"; + overlayFn = import overlayPath; + in + if lib.isFunction overlayFn then + overlayFn { + inherit inputs; + # Helper function to import nixpkgs with proper config + mkPkgs = + input: system: config: + import input { + inherit system config; + }; + } + else + overlayFn + ) + else + { }; + + khanelinixPackagesOverlay = + final: prev: + let + directory = ../packages; + packageFunctions = prev.lib.filesystem.packagesFromDirectoryRecursive { + inherit directory; + callPackage = file: _args: import file; + }; + in + { + khanelinix = prev.lib.fix ( + self: + prev.lib.mapAttrs ( + _name: func: final.callPackage func (self // { inherit inputs; }) + ) packageFunctions + ); + }; + + allOverlays = (lib.attrValues dynamicOverlaysSet) ++ [ khanelinixPackagesOverlay ]; + +in +{ + flake = { + overlays = dynamicOverlaysSet // { + default = khanelinixPackagesOverlay; + khanelinix = khanelinixPackagesOverlay; # Alias for clarity + }; + + perSystem = + { config, pkgs, ... }: + { + pkgs = pkgs.extend (lib.composeManyExtensions allOverlays); + + packages = config.pkgs.khanelinix; + }; + }; +} diff --git a/flake/packages.nix b/flake/packages.nix new file mode 100644 index 000000000..cf4460322 --- /dev/null +++ b/flake/packages.nix @@ -0,0 +1,41 @@ +{ + inputs, + lib, + ... +}: +{ + perSystem = + { pkgs, ... }: + let + + packageFunctions = lib.filesystem.packagesFromDirectoryRecursive { + directory = ../packages; + callPackage = file: _args: import file; + }; + + builtPackages = lib.fix ( + self: + lib.mapAttrs ( + _name: packageData: + let + packageFn = packageData.default or packageData; + in + pkgs.callPackage packageFn ( + self + // { + inherit inputs; + } + ) + ) packageFunctions + ); + + supportedPackages = lib.filterAttrs ( + _name: package: + package != null + && (!(package ? meta.platforms) || lib.meta.availableOn pkgs.stdenv.hostPlatform package) + ) builtPackages; + in + { + packages = supportedPackages; + }; +} diff --git a/flake/templates.nix b/flake/templates.nix new file mode 100644 index 000000000..d55ee2e46 --- /dev/null +++ b/flake/templates.nix @@ -0,0 +1,23 @@ +{ lib, ... }: +let + templatesPath = ../templates; + + scanTemplates = + path: + let + entries = builtins.readDir path; + templateDirs = lib.filterAttrs (_name: type: type == "directory") entries; + in + lib.mapAttrs (name: _: { + path = path + "/${name}"; + description = "${name} template"; + }) templateDirs; + + allTemplates = scanTemplates templatesPath; +in +{ + flake.templates = lib.mapAttrs (_name: template: { + inherit (template) path description; + }) allTemplates; +} + diff --git a/homes/aarch64-darwin/khaneliman@khanelimac-m1/default.nix b/homes/aarch64-darwin/khaneliman@khanelimac-m1/default.nix index a221d91d6..81d7fda82 100644 --- a/homes/aarch64-darwin/khaneliman@khanelimac-m1/default.nix +++ b/homes/aarch64-darwin/khaneliman@khanelimac-m1/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { khanelinix = { user = { enable = true; - inherit (config.snowfallorg.user) name; + name = "khaneliman"; }; programs = { @@ -25,7 +25,7 @@ in services = { sops = { enable = false; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelimac/khaneliman/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelimac/khaneliman/default.yaml"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; diff --git a/homes/aarch64-darwin/khaneliman@khanelimac/default.nix b/homes/aarch64-darwin/khaneliman@khanelimac/default.nix index 3ff6b8c57..36d1e1544 100644 --- a/homes/aarch64-darwin/khaneliman@khanelimac/default.nix +++ b/homes/aarch64-darwin/khaneliman@khanelimac/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { khanelinix = { user = { enable = true; - inherit (config.snowfallorg.user) name; + name = "khaneliman"; }; programs = { @@ -20,8 +20,8 @@ in thunderbird = let # Not super secret, just doesn't need to be scraped so easily. - outlook = lib.${namespace}.decode "a2hhbmVsaW1hbjEyQG91dGxvb2suY29t"; - personal = lib.${namespace}.decode "YXVzdGluLm0uaG9yc3RtYW5AZ21haWwuY29t"; + outlook = lib.khanelinix.decode "a2hhbmVsaW1hbjEyQG91dGxvb2suY29t"; + personal = lib.khanelinix.decode "YXVzdGluLm0uaG9yc3RtYW5AZ21haWwuY29t"; in { accountsOrder = [ @@ -70,7 +70,7 @@ in services = { sops = { enable = true; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelimac/khaneliman/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelimac/khaneliman/default.yaml"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; diff --git a/homes/x86_64-linux/bruddy@bruddynix/default.nix b/homes/x86_64-linux/bruddy@bruddynix/default.nix index 748f4108f..1b3027942 100644 --- a/homes/x86_64-linux/bruddy@bruddynix/default.nix +++ b/homes/x86_64-linux/bruddy@bruddynix/default.nix @@ -1,10 +1,10 @@ { lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled disabled; + inherit (lib.khanelinix) enabled disabled; in { khanelinix = { @@ -59,7 +59,6 @@ in tools = { # No need for all these on his computer carapace.enable = false; - fup-repl.enable = false; jujutsu.enable = false; topgrade.enable = false; @@ -80,7 +79,7 @@ in # sops = { # enable = true; - # defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelinix/khaneliman/default.yaml"; + # defaultSopsFile = lib.getFile "secrets/khanelinix/khaneliman/default.yaml"; # sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; # }; }; diff --git a/homes/x86_64-linux/khaneliman@khanelilab/default.nix b/homes/x86_64-linux/khaneliman@khanelilab/default.nix index 4055b472f..3cdf2b221 100644 --- a/homes/x86_64-linux/khaneliman@khanelilab/default.nix +++ b/homes/x86_64-linux/khaneliman@khanelilab/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { khanelinix = { user = { enable = true; - inherit (config.snowfallorg.user) name; + name = "khaneliman"; }; programs = { @@ -26,7 +26,7 @@ in services = { sops = { enable = true; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelilab/khaneliman/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelilab/khaneliman/default.yaml"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; diff --git a/homes/x86_64-linux/khaneliman@khanelinix/default.nix b/homes/x86_64-linux/khaneliman@khanelinix/default.nix index 080a2f601..a644062ec 100644 --- a/homes/x86_64-linux/khaneliman@khanelinix/default.nix +++ b/homes/x86_64-linux/khaneliman@khanelinix/default.nix @@ -2,23 +2,24 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) getExe; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { home.packages = [ # NOTE: annoyingly need to download separately and prefetch hash manually + # FIXME:failure to start app with VM pkgs.citrix_workspace ]; khanelinix = { user = { enable = true; - inherit (config.snowfallorg.user) name; + name = "khaneliman"; }; programs = { @@ -28,8 +29,8 @@ in thunderbird = let # Not super secret, just doesn't need to be scraped so easily. - outlook = lib.${namespace}.decode "a2hhbmVsaW1hbjEyQG91dGxvb2suY29t"; - personal = lib.${namespace}.decode "YXVzdGluLm0uaG9yc3RtYW5AZ21haWwuY29t"; + outlook = lib.khanelinix.decode "a2hhbmVsaW1hbjEyQG91dGxvb2suY29t"; + personal = lib.khanelinix.decode "YXVzdGluLm0uaG9yc3RtYW5AZ21haWwuY29t"; in { accountsOrder = [ @@ -86,9 +87,7 @@ in appendConfig = # bash '' - exec-once = hyprctl setcursor ${config.${namespace}.theme.gtk.cursor.name} ${ - builtins.toString config.${namespace}.theme.gtk.cursor.size - } + exec-once = hyprctl setcursor ${config.khanelinix.theme.gtk.cursor.name} ${builtins.toString config.khanelinix.theme.gtk.cursor.size} ''; prependConfig = # bash @@ -197,23 +196,23 @@ in monitors = [ { name = "DP-3"; - wallpaper = "${pkgs.${namespace}.wallpapers}/share/wallpapers/cat_pacman.png"; + wallpaper = "${pkgs.khanelinix.wallpapers}/share/wallpapers/cat_pacman.png"; } { name = "DP-1"; - wallpaper = "${pkgs.${namespace}.wallpapers}/share/wallpapers/cat-sound.png"; + wallpaper = "${pkgs.khanelinix.wallpapers}/share/wallpapers/cat-sound.png"; } ]; wallpapers = [ - "${pkgs.${namespace}.wallpapers}/share/wallpapers/buttons.png" - "${pkgs.${namespace}.wallpapers}/share/wallpapers/cat_pacman.png" - "${pkgs.${namespace}.wallpapers}/share/wallpapers/cat-sound.png" - "${pkgs.${namespace}.wallpapers}/share/wallpapers/flatppuccin_macchiato.png" - "${pkgs.${namespace}.wallpapers}/share/wallpapers/hashtags-black.png" - "${pkgs.${namespace}.wallpapers}/share/wallpapers/hashtags-new.png" - "${pkgs.${namespace}.wallpapers}/share/wallpapers/hearts.png" - "${pkgs.${namespace}.wallpapers}/share/wallpapers/tetris.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/buttons.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/cat_pacman.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/cat-sound.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/flatppuccin_macchiato.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/hashtags-black.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/hashtags-new.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/hearts.png" + "${pkgs.khanelinix.wallpapers}/share/wallpapers/tetris.png" ]; }; @@ -225,7 +224,7 @@ in sops = { enable = true; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelinix/khaneliman/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelinix/khaneliman/default.yaml"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; @@ -273,7 +272,7 @@ in inherit monitor; brightness = "0.817200"; color = lib.mkDefault "rgba(25, 20, 20, 1.0)"; - path = "${pkgs.${namespace}.wallpapers}/share/wallpapers/${wallpaper}"; + path = "${pkgs.khanelinix.wallpapers}/share/wallpapers/${wallpaper}"; blur_passes = 3; blur_size = 8; contrast = "0.891700"; diff --git a/homes/x86_64-linux/khaneliman@nixos/default.nix b/homes/x86_64-linux/khaneliman@nixos/default.nix index 188ddbac4..2d80e0f65 100644 --- a/homes/x86_64-linux/khaneliman@nixos/default.nix +++ b/homes/x86_64-linux/khaneliman@nixos/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { khanelinix = { user = { enable = true; - inherit (config.snowfallorg.user) name; + name = "khaneliman"; }; programs = { @@ -26,7 +26,7 @@ in services = { sops = { enable = true; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelinix/khaneliman/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelinix/khaneliman/default.yaml"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; diff --git a/homes/x86_64-linux/nixos@CORE-PW0D2M1A/default.nix b/homes/x86_64-linux/nixos@CORE-PW0D2M1A/default.nix index 1017b7047..b8b6d813c 100644 --- a/homes/x86_64-linux/nixos@CORE-PW0D2M1A/default.nix +++ b/homes/x86_64-linux/nixos@CORE-PW0D2M1A/default.nix @@ -1,19 +1,19 @@ { config, lib, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkForce; - inherit (lib.${namespace}) enabled disabled; + inherit (lib.khanelinix) enabled disabled; in { khanelinix = { user = { enable = true; - inherit (config.snowfallorg.user) name; + name = "khaneliman"; }; programs = { @@ -73,7 +73,7 @@ in services = { sops = { enable = true; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/CORE/nixos/default.yaml"; + defaultSopsFile = lib.getFile "secrets/CORE/nixos/default.yaml"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; @@ -95,7 +95,7 @@ in theme.catppuccin = enabled; }; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { kubernetes = { path = "${config.home.homeDirectory}/.kube/config"; }; diff --git a/homes/x86_64-linux/nixos@VT0-IT-47-D443/default.nix b/homes/x86_64-linux/nixos@VT0-IT-47-D443/default.nix index fa51575da..f89a34d93 100644 --- a/homes/x86_64-linux/nixos@VT0-IT-47-D443/default.nix +++ b/homes/x86_64-linux/nixos@VT0-IT-47-D443/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkForce; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { khanelinix = { user = { enable = true; - inherit (config.snowfallorg.user) name; + name = "khaneliman"; }; programs = { @@ -69,7 +69,7 @@ in services = { sops = { # enable = true; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/CORE/nixos/default.yaml"; + defaultSopsFile = lib.getFile "secrets/CORE/nixos/default.yaml"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; diff --git a/lib/audio/default.nix b/lib/audio/default.nix deleted file mode 100644 index f12e92b2b..000000000 --- a/lib/audio/default.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ lib }: -rec { - mkAlsaRename = - { name, description }: - { - matches = [ { "node.name" = name; } ]; - actions = { - "update-props" = { - "node.description" = description; - }; - }; - }; - mkAudioNode = - args@{ - name, - factory ? "adapter", - ... - }: - { - inherit factory; - args = - (builtins.removeAttrs args [ - "name" - "description" - ]) - // { - "node.name" = name; - "node.description" = args.description or args."node.description"; - "factory.name" = args."factory.name" or "support.null-audio-sink"; - }; - }; - mkVirtualAudioNode = - args@{ name, ... }: - mkAudioNode ( - args - // { - name = "virtual-${lib.toLower name}-audio"; - description = "${name} (Virtual)"; - "media.class" = args.class or args."media.class" or "Audio/Duplex"; - "object.linger" = args."object.linger" or true; - "audio.position" = - args."audio.position" or [ - "FL" - "FR" - ]; - "monitor.channel-volumes" = args."monitor.channel-volumes" or true; - } - ); - mkBridgeAudioModule = - args@{ from, to, ... }: - { - name = "libpipewire-module-loopback"; - args = - (builtins.removeAttrs args [ - "from" - "to" - "name" - ]) - // { - "node.name" = - if args ? name then "${args.name}-bridge" else "${lib.toLower from}-to-${lib.toLower to}-bridge"; - "audio.position" = - args."audio.position" or [ - "FL" - "FR" - ]; - "capture.props" = { - "node.target" = from; - } // (args."capture.props" or { }); - "playback.props" = { - "node.target" = to; - "monitor.channel-volumes" = true; - } // (args."playback.props" or { }); - }; - }; -} diff --git a/lib/base64/default.nix b/lib/base64/default.nix index 16c152286..468cfa942 100644 --- a/lib/base64/default.nix +++ b/lib/base64/default.nix @@ -1,8 +1,23 @@ -{ lib }: +{ inputs }: +let + inherit (inputs.nixpkgs.lib) + imap0 + nameValuePair + stringToCharacters + concatLists + genList + foldl' + sublist + length + concatMapStrings + substring + mod + ; +in rec { base64Table = builtins.listToAttrs ( - lib.imap0 (i: c: lib.nameValuePair c i) ( - lib.stringToCharacters "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" + imap0 (i: c: nameValuePair c i) ( + stringToCharacters "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ) ); @@ -14,28 +29,28 @@ rec { str: let # List of base-64 numbers - numbers64 = map (c: base64Table.${c}) (lib.stringToCharacters str); + numbers64 = map (c: base64Table.${c}) (stringToCharacters str); # List of base-256 numbers - numbers256 = lib.concatLists ( - lib.genList ( + numbers256 = concatLists ( + genList ( i: let - v = lib.foldl' (acc: el: acc * 64 + el) 0 (lib.sublist (i * 4) 4 numbers64); + v = foldl' (acc: el: acc * 64 + el) 0 (sublist (i * 4) 4 numbers64); in [ - (lib.mod (v / 256 / 256) 256) - (lib.mod (v / 256) 256) - (lib.mod v 256) + (mod (v / 256 / 256) 256) + (mod (v / 256) 256) + (mod v 256) ] - ) (lib.length numbers64 / 4) + ) (length numbers64 / 4) ); in # Converts base-256 numbers to ascii - lib.concatMapStrings ( + concatMapStrings ( n: # Can't represent the null byte in Nix.. - lib.substring (n - 1) 1 ascii + substring (n - 1) 1 ascii ) numbers256; } diff --git a/lib/default.nix b/lib/default.nix index c546ea9c4..37565887a 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,7 +1,28 @@ -_: { - override-meta = - meta: package: - package.overrideAttrs (_: { - inherit meta; - }); +{ inputs, ... }: +{ + # Extended library functions + flake.lib = { + # Utility functions for the flake + mkSystem = import ./mk-system.nix { inherit inputs; }; + mkHome = import ./mk-home.nix { inherit inputs; }; + mkDarwin = import ./mk-darwin.nix { inherit inputs; }; + + # File utilities + file = import ./file { + inherit inputs; + self = ../.; + }; + + # Module utilities + module = import ./module { inherit inputs; }; + + # Theme utilities + theme = import ./theme { inherit inputs; }; + + # Base64 utilities + base64 = import ./base64 { inherit inputs; }; + + # Library overlay for extending nixpkgs lib + overlay = import ./overlay.nix { inherit inputs; }; + }; } diff --git a/lib/file/default.nix b/lib/file/default.nix index bf01041a7..f77080a57 100644 --- a/lib/file/default.nix +++ b/lib/file/default.nix @@ -1,9 +1,127 @@ -_: { - fileWithText = file: text: '' - ${builtins.readFile file} - ${text}''; - - fileWithText' = file: text: '' - ${text} - ${builtins.readFile file}''; +{ + inputs, + self, +}: +let + inherit (inputs.nixpkgs.lib) + genAttrs + filterAttrs + hasPrefix + foldl' + ; +in +rec { + # Read a file and return its contents + readFile = path: builtins.readFile path; + + # Check if a file exists + pathExists = path: builtins.pathExists path; + + # Import a nix file with error handling + safeImport = path: default: if builtins.pathExists path then import path else default; + + # Scan a directory and return directory names + scanDir = path: builtins.attrNames (builtins.readDir path); + + # Get a file path relative to the flake root (similar to Snowfall's get-file) + getFile = relativePath: self + "/${relativePath}"; + + # Recursively discover and import all Nix modules in a directory tree + importModulesRecursive = + path: + let + # Helper function to recursively walk directories + walkDir = + currentPath: + let + currentEntries = builtins.readDir currentPath; + entryNames = builtins.attrNames currentEntries; + + # Get all directories that contain default.nix + directoriesWithDefault = builtins.filter ( + name: + currentEntries.${name} == "directory" && builtins.pathExists (currentPath + "/${name}/default.nix") + ) entryNames; + + # Get ALL directories (to recurse into) + allDirectories = builtins.filter (name: currentEntries.${name} == "directory") entryNames; + + # Import directories that have default.nix + directoryImports = map (name: currentPath + "/${name}") directoriesWithDefault; + + # Recursively walk ALL subdirectories + subDirImports = builtins.concatLists (map (dir: walkDir (currentPath + "/${dir}")) allDirectories); + + in + directoryImports ++ subDirImports; + + in + walkDir path; + + # Recursively scan systems directory structure + scanSystems = + systemsPath: + let + systemArchs = builtins.attrNames (builtins.readDir systemsPath); + + generateSystemConfigs = + system: + let + systemPath = systemsPath + "/${system}"; + hosts = builtins.attrNames (builtins.readDir systemPath); + in + genAttrs hosts (hostname: { + inherit system hostname; + path = systemPath + "/${hostname}"; + }); + in + foldl' (acc: system: acc // generateSystemConfigs system) { } systemArchs; + + # Filter systems for NixOS (Linux) + filterNixOSSystems = + systems: + filterAttrs ( + _name: { system, ... }: hasPrefix "x86_64-linux" system || hasPrefix "aarch64-linux" system + ) systems; + + # Filter systems for Darwin (macOS) + filterDarwinSystems = + systems: + filterAttrs ( + _name: { system, ... }: hasPrefix "aarch64-darwin" system || hasPrefix "x86_64-darwin" system + ) systems; + + # Scan homes directory structure for home configurations + scanHomes = + homesPath: + let + systemArchs = builtins.attrNames (builtins.readDir homesPath); + + generateHomeConfigs = + system: + let + systemPath = homesPath + "/${system}"; + userAtHosts = builtins.attrNames (builtins.readDir systemPath); + + parseUserAtHost = + userAtHost: + let + # Split "username@hostname" into parts + parts = builtins.split "@" userAtHost; + username = builtins.head parts; + hostname = builtins.elemAt parts 2; # After split: [username, "@", hostname] + in + { + inherit + system + username + hostname + userAtHost + ; + path = systemPath + "/${userAtHost}"; + }; + in + genAttrs userAtHosts parseUserAtHost; + in + foldl' (acc: system: acc // generateHomeConfigs system) { } systemArchs; } diff --git a/lib/mk-darwin.nix b/lib/mk-darwin.nix new file mode 100644 index 000000000..28339c784 --- /dev/null +++ b/lib/mk-darwin.nix @@ -0,0 +1,111 @@ +{ inputs }: +{ + system, + hostname, + username ? "khaneliman", + modules ? [ ], + ... +}: +let + # Import the khaneliparts flake to access the overlay + flake = inputs.self or (throw "mkDarwin requires 'inputs.self' to be passed"); + + # Extend nixpkgs lib with khanelinix functions + extendedLib = inputs.nixpkgs-unstable.lib.extend flake.lib.overlay; + + # Auto-discover home configurations for this system+hostname + inherit (flake.lib.file) scanHomes; + homesPath = ../homes; + allHomes = scanHomes homesPath; + + # Filter for matching system and hostname + matchingHomes = extendedLib.filterAttrs ( + _name: homeConfig: homeConfig.system == system && homeConfig.hostname == hostname + ) allHomes; + + # Generate home-manager configuration for matching users + homeManagerConfig = + if matchingHomes != { } then + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { + inherit inputs system; + inherit (flake) self; + lib = extendedLib; + flake-parts-lib = inputs.flake-parts.lib; + }; + sharedModules = [ + # Provide extended lib to all modules + { _module.args.lib = extendedLib; } + + inputs.catppuccin.homeModules.catppuccin + inputs.hypr-socket-watch.homeManagerModules.default + inputs.nix-index-database.homeModules.nix-index + inputs.sops-nix.homeManagerModules.sops + ../modules/home + ]; + users = extendedLib.mapAttrs' (_name: homeConfig: { + name = homeConfig.username; + value = { + imports = [ homeConfig.path ]; + home = { + inherit (homeConfig) username; + homeDirectory = inputs.nixpkgs-unstable.lib.mkDefault "/Users/${homeConfig.username}"; + }; + }; + }) matchingHomes; + }; + } + else + { }; +in +inputs.darwin.lib.darwinSystem { + inherit system; + + specialArgs = { + inherit inputs hostname username; + inherit (flake) self; + lib = extendedLib; + flake-parts-lib = inputs.flake-parts.lib; + format = "system"; + host = hostname; + }; + + modules = [ + # Provide extended lib to all modules + { _module.args.lib = extendedLib; } + + # Configure nixpkgs with overlays + { + nixpkgs = { + inherit system; + overlays = builtins.attrValues flake.overlays; + config = { + allowUnfree = true; + permittedInsecurePackages = [ + # NOTE: citrix + "libxml2-2.13.8" + ]; + }; + }; + } + + inputs.home-manager.darwinModules.home-manager + inputs.sops-nix.darwinModules.sops + inputs.stylix.darwinModules.stylix + inputs.nix-rosetta-builder.darwinModules.default + + # Auto-inject home configurations for this system+hostname + homeManagerConfig + + # Base Darwin modules + ../modules/darwin + + # Host-specific configuration + ../systems/${system}/${hostname} + + # Additional modules passed as arguments + ] ++ modules; +} diff --git a/lib/mk-home.nix b/lib/mk-home.nix new file mode 100644 index 000000000..f20554d72 --- /dev/null +++ b/lib/mk-home.nix @@ -0,0 +1,65 @@ +{ inputs }: +{ + system, + hostname, + username ? "khaneliman", + modules ? [ ], + ... +}: +let + # Import the khaneliparts flake to access the overlay + flake = inputs.self or (throw "mkHome requires 'inputs.self' to be passed"); + + # Extend nixpkgs lib with khanelinix functions + extendedLib = inputs.nixpkgs-unstable.lib.extend flake.lib.overlay; +in +inputs.home-manager.lib.homeManagerConfiguration { + pkgs = import inputs.nixpkgs-unstable { + inherit system; + overlays = builtins.attrValues flake.overlays; + config = { + allowUnfree = true; + # TODO: cleanup when available + permittedInsecurePackages = [ + # NOTE: citrix + "libxml2-2.13.8" + # NOTE: needed by emulationstation + "freeimage-3.18.0-unstable-2024-04-18" + # dev shells + "aspnetcore-runtime-6.0.36" + "aspnetcore-runtime-7.0.20" + "aspnetcore-runtime-wrapped-7.0.20" + "aspnetcore-runtime-wrapped-6.0.36" + "dotnet-combined" + ]; + }; + }; + + extraSpecialArgs = { + inherit + inputs + hostname + username + system + ; + inherit (flake) self; + lib = extendedLib; + flake-parts-lib = inputs.flake-parts.lib; + }; + + modules = [ + # Provide extended lib to all modules + { _module.args.lib = extendedLib; } + + # Third-party home modules + inputs.catppuccin.homeModules.catppuccin + inputs.hypr-socket-watch.homeManagerModules.default + inputs.nix-index-database.homeModules.nix-index + inputs.sops-nix.homeManagerModules.sops + + # Base home modules + ../modules/home + + # Additional modules passed as arguments + ] ++ modules; +} diff --git a/lib/mk-system.nix b/lib/mk-system.nix new file mode 100644 index 000000000..105de83d8 --- /dev/null +++ b/lib/mk-system.nix @@ -0,0 +1,120 @@ +{ inputs }: +{ + system, + hostname, + username ? "khaneliman", + modules ? [ ], + ... +}: +let + # Import the khaneliparts flake to access the overlay + flake = inputs.self or (throw "mkSystem requires 'inputs.self' to be passed"); + + # Extend nixpkgs lib with khanelinix functions + extendedLib = inputs.nixpkgs.lib.extend flake.lib.overlay; + + # Auto-discover home configurations for this system+hostname + inherit (flake.lib.file) scanHomes; + homesPath = ../homes; + allHomes = scanHomes homesPath; + + # Filter for matching system and hostname + matchingHomes = extendedLib.filterAttrs ( + _name: homeConfig: homeConfig.system == system && homeConfig.hostname == hostname + ) allHomes; + + # Generate home-manager configuration for matching users + homeManagerConfig = + if matchingHomes != { } then + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { + inherit inputs system; + inherit (flake) self; + lib = extendedLib; + flake-parts-lib = inputs.flake-parts.lib; + }; + sharedModules = [ + # Provide extended lib to all modules + { _module.args.lib = extendedLib; } + + inputs.home-manager.flakeModules.home-manager + inputs.catppuccin.homeModules.catppuccin + inputs.hypr-socket-watch.homeManagerModules.default + inputs.nix-index-database.homeModules.nix-index + inputs.sops-nix.homeManagerModules.sops + ../modules/home + ]; + users = extendedLib.mapAttrs' (_name: homeConfig: { + name = homeConfig.username; + value = { + imports = [ homeConfig.path ]; + home = { + inherit (homeConfig) username; + homeDirectory = inputs.nixpkgs.lib.mkDefault "/home/${homeConfig.username}"; + }; + _module.args.username = homeConfig.username; + }; + }) matchingHomes; + }; + } + else + { }; +in +inputs.nixpkgs.lib.nixosSystem { + inherit system; + + specialArgs = { + inherit inputs hostname username; + inherit (flake) self; + lib = extendedLib; + flake-parts-lib = inputs.flake-parts.lib; + format = "system"; + host = hostname; + }; + + modules = [ + # Provide extended lib to all modules + { _module.args.lib = extendedLib; } + + # Configure nixpkgs with overlays + { + nixpkgs = { + inherit system; + overlays = builtins.attrValues flake.overlays; + config = { + allowUnfree = true; + permittedInsecurePackages = [ + # NOTE: citrix + "libxml2-2.13.8" + ]; + }; + }; + } + + # Home Manager NixOS module + inputs.home-manager.nixosModules.home-manager + + # System modules + inputs.lanzaboote.nixosModules.lanzaboote + inputs.sops-nix.nixosModules.sops + inputs.disko.nixosModules.disko + inputs.stylix.nixosModules.stylix + inputs.catppuccin.nixosModules.catppuccin + inputs.nix-index-database.nixosModules.nix-index + inputs.nix-flatpak.nixosModules.nix-flatpak + + # Auto-inject home configurations for this system+hostname + homeManagerConfig + + # Base system modules + ../modules/nixos + + # Host-specific configuration + ../systems/${system}/${hostname} + + # Additional modules passed as arguments + ] ++ modules; +} diff --git a/lib/module/default.nix b/lib/module/default.nix index 820f223bf..a58bcd089 100644 --- a/lib/module/default.nix +++ b/lib/module/default.nix @@ -1,8 +1,59 @@ -{ lib, ... }: +{ inputs }: let - inherit (lib) mapAttrs mkOption types; + inherit (inputs.nixpkgs.lib) + mapAttrs + mkOption + types + toUpper + substring + stringLength + mkDefault + mkForce + ; + + base64Lib = import ../base64 { inherit inputs; }; in rec { + # Original flake-parts module utilities + # Enable a module with optional configuration + enable = + module: config: + { + imports = [ module ]; + } + // config; + + # Conditionally enable modules based on system + enableForSystem = + system: modules: + builtins.filter ( + mod: mod.systems or [ ] == [ ] || builtins.elem system (mod.systems or [ ]) + ) modules; + + # Create a module with common options + mkModule = + { + name, + description ? "", + options ? { }, + config ? { }, + }: + { lib, ... }: + { + options.khanelinix.${name} = lib.mkOption { + type = lib.types.submodule { + options = { + enable = lib.mkEnableOption description; + } // options; + }; + default = { }; + }; + + config = lib.mkIf config.khanelinix.${name}.enable config; + }; + + # Migrated khanelinix utilities + # Option creation helpers mkOpt = type: default: description: mkOption { inherit type default description; }; @@ -13,6 +64,7 @@ rec { mkBoolOpt' = mkOpt' types.bool; + # Standard enable/disable patterns enabled = { enable = true; }; @@ -21,22 +73,24 @@ rec { enable = false; }; + # String utilities capitalize = s: let - len = lib.stringLength s; + len = stringLength s; in - if len == 0 then "" else (lib.toUpper (lib.substring 0 1 s)) + (lib.substring 1 len s); + if len == 0 then "" else (toUpper (substring 0 1 s)) + (substring 1 len s); - # return an int (1/0) based on boolean value - # `boolToNum true` -> 1 + # Boolean utilities boolToNum = bool: if bool then 1 else 0; - default-attrs = mapAttrs (_key: lib.mkDefault); + # Attribute manipulation utilities + default-attrs = mapAttrs (_key: mkDefault); - force-attrs = mapAttrs (_key: lib.mkForce); + force-attrs = mapAttrs (_key: mkForce); nested-default-attrs = mapAttrs (_key: default-attrs); nested-force-attrs = mapAttrs (_key: force-attrs); } +// base64Lib diff --git a/lib/network/default.nix b/lib/network/default.nix deleted file mode 100644 index 12abfb1a3..000000000 --- a/lib/network/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ lib, inputs }: -let - inherit (inputs.nixpkgs.lib) assertMsg last; -in -{ - network = { - # Split an address to get its host name or ip and its port. - # Type: String -> Attrs - # Usage: get-address-parts "bismuth:3000" - # result: { host = "bismuth"; port = "3000"; } - get-address-parts = - address: - let - address-parts = builtins.split ":" address; - ip = builtins.head address-parts; - host = if ip == "" then "127.0.0.1" else ip; - port = if builtins.length address-parts != 3 then "" else last address-parts; - in - { - inherit host port; - }; - - create-proxy = - { - port ? null, - host ? "127.0.0.1", - proxy-web-sockets ? false, - extra-config ? { }, - }: - assert assertMsg (port != "" && port != null) "port cannot be empty"; - assert assertMsg (host != "") "host cannot be empty"; - extra-config - // { - locations = (extra-config.locations or { }) // { - "/" = (extra-config.locations."/" or { }) // { - proxyPass = "http://${host}${if port != null then ":${builtins.toString port}" else ""}"; - - proxyWebsockets = proxy-web-sockets; - }; - }; - }; - }; -} diff --git a/lib/overlay.nix b/lib/overlay.nix new file mode 100644 index 000000000..58a269981 --- /dev/null +++ b/lib/overlay.nix @@ -0,0 +1,35 @@ +{ inputs }: +final: _prev: { + # Add our extended khanelinix functions to lib + khanelinix = import ./module { inherit inputs; }; + + # Add file utilities + file = import ./file { + inherit inputs; + self = ../.; + }; + + # Also add individual namespaces for convenience + inherit (final.khanelinix) + mkOpt + mkOpt' + mkBoolOpt + mkBoolOpt' + enabled + disabled + ; + inherit (final.khanelinix) capitalize boolToNum; + inherit (final.khanelinix) + default-attrs + force-attrs + nested-default-attrs + nested-force-attrs + decode + ; + + # Add file utilities to root lib for easy access + inherit (final.file) getFile importModulesRecursive; + + # Add home-manager lib functions + inherit (inputs.home-manager.lib) hm; +} diff --git a/lib/theme/default.nix b/lib/theme/default.nix index b2ac782d5..9d15c2b9d 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -1,6 +1,24 @@ -{ lib, ... }: +{ inputs }: +let + inherit (inputs.nixpkgs.lib) getExe; +in { + # Common theme utilities + mkColorScheme = name: colors: { + inherit name colors; + type = "colorScheme"; + }; + # Extract colors from a scheme + getColors = scheme: scheme.colors or { }; + + # Theme variants + variants = { + light = "light"; + dark = "dark"; + }; + + # Migrated SCSS compilation utility # a function that takes a theme name and a source file and compiles it to CSS # compileSCSS "theme-name" "path/to/theme.scss" -> "$out/theme-name.css" # adapted from @@ -14,7 +32,7 @@ "${ pkgs.runCommandLocal name { } '' mkdir -p $out - ${lib.getExe pkgs.sassc} ${args} '${source}' > $out/${name}.css + ${getExe pkgs.sassc} ${args} '${source}' > $out/${name}.css '' }/${name}.css"; } diff --git a/modules/darwin/archetypes/personal/default.nix b/modules/darwin/archetypes/personal/default.nix index 2ace530c5..efc0a6e0e 100644 --- a/modules/darwin/archetypes/personal/default.nix +++ b/modules/darwin/archetypes/personal/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.personal; + cfg = config.khanelinix.archetypes.personal; in { - options.${namespace}.archetypes.personal = { + options.khanelinix.archetypes.personal = { enable = lib.mkEnableOption "the personal archetype"; }; diff --git a/modules/darwin/archetypes/vm/default.nix b/modules/darwin/archetypes/vm/default.nix index eaf2c296b..6b0af2996 100644 --- a/modules/darwin/archetypes/vm/default.nix +++ b/modules/darwin/archetypes/vm/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.vm; + cfg = config.khanelinix.archetypes.vm; in { - options.${namespace}.archetypes.vm = { + options.khanelinix.archetypes.vm = { enable = lib.mkEnableOption "the vm archetype"; }; diff --git a/modules/darwin/archetypes/workstation/default.nix b/modules/darwin/archetypes/workstation/default.nix index bb0a754d6..66235cef3 100644 --- a/modules/darwin/archetypes/workstation/default.nix +++ b/modules/darwin/archetypes/workstation/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.workstation; + cfg = config.khanelinix.archetypes.workstation; in { - options.${namespace}.archetypes.workstation = { + options.khanelinix.archetypes.workstation = { enable = lib.mkEnableOption "the workstation archetype"; }; diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix new file mode 100644 index 000000000..b6d50a61b --- /dev/null +++ b/modules/darwin/default.nix @@ -0,0 +1,4 @@ +{ lib, ... }: +{ + imports = lib.importModulesRecursive ./.; +} diff --git a/modules/darwin/desktop/wms/yabai/default.nix b/modules/darwin/desktop/wms/yabai/default.nix index ea6c39184..a853f8a92 100644 --- a/modules/darwin/desktop/wms/yabai/default.nix +++ b/modules/darwin/desktop/wms/yabai/default.nix @@ -2,27 +2,27 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) getExe; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.desktop.wms.yabai; + cfg = config.khanelinix.desktop.wms.yabai; hmCfg = config.home-manager.users.${config.khanelinix.user.name}; in { - options.${namespace}.desktop.wms.yabai = { + options.khanelinix.desktop.wms.yabai = { enable = lib.mkEnableOption "yabai"; debug = lib.mkEnableOption "debug output"; logFile = mkOpt lib.types.str "${ - config.snowfallorg.users.${config.${namespace}.user.name}.home.path + config.users.users.${config.khanelinix.user.name}.home }/Library/Logs/yabai.log" "Filepath of log output"; }; config = lib.mkIf cfg.enable { - ${namespace} = { + khanelinix = { home.extraOptions = { home.shellAliases = { @@ -89,7 +89,7 @@ in extraConfig = let sketchybar = hmCfg.programs.sketchybar.finalPackage; - inherit (pkgs.${namespace}) yabai-helper; + inherit (pkgs.khanelinix) yabai-helper; yabai = config.services.yabai.package; in # bash diff --git a/modules/darwin/home/default.nix b/modules/darwin/home/default.nix index 11260c6e9..fd8665101 100644 --- a/modules/darwin/home/default.nix +++ b/modules/darwin/home/default.nix @@ -2,14 +2,14 @@ config, lib, options, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; in { - options.${namespace}.home = { + options.khanelinix.home = { file = mkOpt lib.types.attrs { } "A set of files to be managed by home-manager's ."; @@ -21,15 +21,14 @@ in }; config = { - ${namespace}.home.extraOptions = { - home.file = lib.mkAliasDefinitions options.${namespace}.home.file; + khanelinix.home.extraOptions = { + home.file = lib.mkAliasDefinitions options.khanelinix.home.file; xdg.enable = true; - xdg.configFile = lib.mkAliasDefinitions options.${namespace}.home.configFile; + xdg.configFile = lib.mkAliasDefinitions options.khanelinix.home.configFile; }; - snowfallorg.users.${config.${namespace}.user.name}.home.config = - lib.mkAliasDefinitions - options.${namespace}.home.extraOptions; + home-manager.users.${config.khanelinix.user.name} = + lib.mkAliasDefinitions options.khanelinix.home.extraOptions; home-manager = { # enables backing up existing files instead of erroring if conflicts exist diff --git a/modules/darwin/nix/default.nix b/modules/darwin/nix/default.nix index e00649772..1878d2efe 100644 --- a/modules/darwin/nix/default.nix +++ b/modules/darwin/nix/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.nix; + cfg = config.khanelinix.nix; in { - imports = [ (lib.snowfall.fs.get-file "modules/shared/nix/default.nix") ]; + imports = [ (lib.getFile "modules/shared/nix/default.nix") ]; config = lib.mkIf cfg.enable { # Nix-Darwin config options diff --git a/modules/darwin/nix/linux-builder/default.nix b/modules/darwin/nix/linux-builder/default.nix index fe0356a9c..2e67c5e0c 100644 --- a/modules/darwin/nix/linux-builder/default.nix +++ b/modules/darwin/nix/linux-builder/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.nix.linux-builder; + cfg = config.khanelinix.nix.linux-builder; in { - options.${namespace}.nix.linux-builder = { + options.khanelinix.nix.linux-builder = { enable = lib.mkEnableOption "linux-builder"; cores = lib.mkOption { type = lib.types.int; diff --git a/modules/darwin/nix/nix-rosetta-builder/default.nix b/modules/darwin/nix/nix-rosetta-builder/default.nix index 0176c562f..a5b56e37b 100644 --- a/modules/darwin/nix/nix-rosetta-builder/default.nix +++ b/modules/darwin/nix/nix-rosetta-builder/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.nix.nix-rosetta-builder; + cfg = config.khanelinix.nix.nix-rosetta-builder; in { - options.${namespace}.nix.nix-rosetta-builder = { + options.khanelinix.nix.nix-rosetta-builder = { enable = lib.mkEnableOption "nix-rosetta-builder"; cores = lib.mkOption { type = lib.types.int; diff --git a/modules/darwin/programs/graphical/apps/_1password/default.nix b/modules/darwin/programs/graphical/apps/_1password/default.nix index 5940ac375..993829951 100644 --- a/modules/darwin/programs/graphical/apps/_1password/default.nix +++ b/modules/darwin/programs/graphical/apps/_1password/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.apps._1password; + cfg = config.khanelinix.programs.graphical.apps._1password; in { - options.${namespace}.programs.graphical.apps._1password = { + options.khanelinix.programs.graphical.apps._1password = { enable = lib.mkEnableOption "1password"; }; @@ -28,7 +28,7 @@ in }; homebrew = { - masApps = mkIf config.${namespace}.tools.homebrew.masEnable { + masApps = mkIf config.khanelinix.tools.homebrew.masEnable { "1Password for Safari" = 1569813296; }; }; diff --git a/modules/darwin/programs/terminal/tools/ssh/default.nix b/modules/darwin/programs/terminal/tools/ssh/default.nix index 0475d4404..19cd4f6d2 100644 --- a/modules/darwin/programs/terminal/tools/ssh/default.nix +++ b/modules/darwin/programs/terminal/tools/ssh/default.nix @@ -3,5 +3,5 @@ ... }: { - imports = [ (lib.snowfall.fs.get-file "modules/shared/programs/terminal/tools/ssh/default.nix") ]; + imports = [ (lib.getFile "modules/shared/programs/terminal/tools/ssh/default.nix") ]; } diff --git a/modules/darwin/security/gpg/default.nix b/modules/darwin/security/gpg/default.nix index 645d48223..e176435e4 100644 --- a/modules/darwin/security/gpg/default.nix +++ b/modules/darwin/security/gpg/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -12,9 +12,9 @@ let mkIf getExe' ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.security.gpg; + cfg = config.khanelinix.security.gpg; gpgAgentConf = '' enable-ssh-support @@ -23,7 +23,7 @@ let ''; in { - options.${namespace}.security.gpg = { + options.khanelinix.security.gpg = { enable = mkEnableOption "GPG"; agentTimeout = mkOpt types.int 5 "The amount of time to wait before continuing with shell init."; }; @@ -51,7 +51,7 @@ in enableSSHSupport = true; }; - ${namespace}.home.file = { + khanelinix.home.file = { ".gnupg/.keep".text = ""; ".gnupg/gpg-agent.conf".text = gpgAgentConf; }; diff --git a/modules/darwin/security/sops/default.nix b/modules/darwin/security/sops/default.nix index de0529e11..b3355401b 100644 --- a/modules/darwin/security/sops/default.nix +++ b/modules/darwin/security/sops/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.security.sops; + cfg = config.khanelinix.security.sops; in { - options.${namespace}.security.sops = { + options.khanelinix.security.sops = { enable = lib.mkEnableOption "sops"; defaultSopsFile = mkOpt lib.types.path null "Default sops file."; sshKeyPaths = mkOpt (with lib.types; listOf path) [ @@ -25,13 +25,13 @@ in age = { inherit (cfg) sshKeyPaths; - keyFile = "${config.users.users.${config.${namespace}.user.name}.home}/.config/sops/age/keys.txt"; + keyFile = "${config.users.users.${config.khanelinix.user.name}.home}/.config/sops/age/keys.txt"; }; }; sops.secrets = { "khanelimac_khaneliman_ssh_key" = { - sopsFile = lib.snowfall.fs.get-file "secrets/khanelimac/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khanelimac/khaneliman/default.yaml"; }; }; }; diff --git a/modules/darwin/security/sudo/default.nix b/modules/darwin/security/sudo/default.nix index e806807ff..db6760261 100644 --- a/modules/darwin/security/sudo/default.nix +++ b/modules/darwin/security/sudo/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.security.sudo; + cfg = config.khanelinix.security.sudo; in { - options.${namespace}.security.sudo = { + options.khanelinix.security.sudo = { enable = lib.mkEnableOption "sudo support"; }; diff --git a/modules/darwin/services/openssh/default.nix b/modules/darwin/services/openssh/default.nix index 7e97cf535..f3e9cc66b 100644 --- a/modules/darwin/services/openssh/default.nix +++ b/modules/darwin/services/openssh/default.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + ... }: let @@ -9,12 +9,12 @@ let types mkIf ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.openssh; + cfg = config.khanelinix.services.openssh; in { - options.${namespace}.services.openssh = with types; { + options.khanelinix.services.openssh = with types; { enable = lib.mkEnableOption "OpenSSH support"; authorizedKeys = mkOpt (listOf str) [ ] "The public keys to apply."; extraConfig = mkOpt str "" "Extra configuration to apply."; diff --git a/modules/darwin/services/tailscale/default.nix b/modules/darwin/services/tailscale/default.nix index e4e79a5f9..afc7fcce7 100644 --- a/modules/darwin/services/tailscale/default.nix +++ b/modules/darwin/services/tailscale/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.tailscale; + cfg = config.khanelinix.services.tailscale; in { - options.${namespace}.services.tailscale = { + options.khanelinix.services.tailscale = { enable = mkOpt types.bool true "Whether to enable the Nix daemon."; }; diff --git a/modules/darwin/suites/art/default.nix b/modules/darwin/suites/art/default.nix index 0cc8e0828..91494e83b 100644 --- a/modules/darwin/suites/art/default.nix +++ b/modules/darwin/suites/art/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.art; + cfg = config.khanelinix.suites.art; in { - options.${namespace}.suites.art = { + options.khanelinix.suites.art = { enable = lib.mkEnableOption "art configuration"; }; @@ -29,7 +29,7 @@ in "mediainfo" ]; - masApps = mkIf config.${namespace}.tools.homebrew.masEnable { "Pixelmator" = 407963104; }; + masApps = mkIf config.khanelinix.tools.homebrew.masEnable { "Pixelmator" = 407963104; }; }; }; } diff --git a/modules/darwin/suites/business/default.nix b/modules/darwin/suites/business/default.nix index 4de4c7cdf..3b652f04c 100644 --- a/modules/darwin/suites/business/default.nix +++ b/modules/darwin/suites/business/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.business; + cfg = config.khanelinix.suites.business; in { - options.${namespace}.suites.business = { + options.khanelinix.suites.business = { enable = lib.mkEnableOption "business configuration"; }; @@ -27,7 +27,7 @@ in "obsidian" ]; - masApps = mkIf config.${namespace}.tools.homebrew.masEnable { + masApps = mkIf config.khanelinix.tools.homebrew.masEnable { "Brother iPrint&Scan" = 1193539993; "Keynote" = 409183694; "Microsoft OneNote" = 784801555; diff --git a/modules/darwin/suites/common/default.nix b/modules/darwin/suites/common/default.nix index e7d02418b..5927b2d9c 100644 --- a/modules/darwin/suites/common/default.nix +++ b/modules/darwin/suites/common/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.common; + cfg = config.khanelinix.suites.common; in { - imports = [ (lib.snowfall.fs.get-file "modules/shared/suites/common/default.nix") ]; + imports = [ (lib.getFile "modules/shared/suites/common/default.nix") ]; config = mkIf cfg.enable { programs.zsh.enable = mkDefault true; @@ -33,14 +33,14 @@ in gnupg gnused gnutls - pkgs.${namespace}.trace-symlink - pkgs.${namespace}.trace-which - pkgs.${namespace}.why-depends + pkgs.khanelinix.trace-symlink + pkgs.khanelinix.trace-which + pkgs.khanelinix.why-depends terminal-notifier trash-cli wtfutil ] - ++ lib.optionals config.${namespace}.tools.homebrew.masEnable [ + ++ lib.optionals config.khanelinix.tools.homebrew.masEnable [ mas ]; }; diff --git a/modules/darwin/suites/desktop/default.nix b/modules/darwin/suites/desktop/default.nix index 7e72235f9..1da52a41f 100644 --- a/modules/darwin/suites/desktop/default.nix +++ b/modules/darwin/suites/desktop/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.desktop; + cfg = config.khanelinix.suites.desktop; in { - options.${namespace}.suites.desktop = { + options.khanelinix.suites.desktop = { enable = lib.mkEnableOption "common desktop configuration"; }; @@ -30,7 +30,7 @@ in # xquartz ]; - ${namespace}.desktop = { + khanelinix.desktop = { wms = { yabai = mkDefault enabled; }; @@ -56,7 +56,7 @@ in "felixkratz/homebrew-formulae" ]; - masApps = mkIf config.${namespace}.tools.homebrew.masEnable { + masApps = mkIf config.khanelinix.tools.homebrew.masEnable { "AmorphousMemoryMark" = 1495719766; "Amphetamine" = 937984704; "AutoMounter" = 1160435653; diff --git a/modules/darwin/suites/development/default.nix b/modules/darwin/suites/development/default.nix index f688e703d..e17fb7a2a 100644 --- a/modules/darwin/suites/development/default.nix +++ b/modules/darwin/suites/development/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.development; + cfg = config.khanelinix.suites.development; in { - options.${namespace}.suites.development = { + options.khanelinix.suites.development = { enable = lib.mkEnableOption "common development configuration"; dockerEnable = lib.mkEnableOption "docker development configuration"; aiEnable = lib.mkEnableOption "ai development configuration"; @@ -32,7 +32,7 @@ in ] ++ lib.optionals cfg.aiEnable [ "ollamac" ]; - masApps = mkIf config.${namespace}.tools.homebrew.masEnable { + masApps = mkIf config.khanelinix.tools.homebrew.masEnable { "Patterns" = 429449079; "Xcode" = 497799835; }; diff --git a/modules/darwin/suites/games/default.nix b/modules/darwin/suites/games/default.nix index 64f4f3b74..d9a287cdf 100644 --- a/modules/darwin/suites/games/default.nix +++ b/modules/darwin/suites/games/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.games; + cfg = config.khanelinix.suites.games; in { - options.${namespace}.suites.games = { + options.khanelinix.suites.games = { enable = lib.mkEnableOption "games configuration"; }; diff --git a/modules/darwin/suites/music/default.nix b/modules/darwin/suites/music/default.nix index 1e619f1b5..58e4e6319 100644 --- a/modules/darwin/suites/music/default.nix +++ b/modules/darwin/suites/music/default.nix @@ -1,22 +1,22 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.music; + cfg = config.khanelinix.suites.music; in { - options.${namespace}.suites.music = { + options.khanelinix.suites.music = { enable = lib.mkEnableOption "music configuration"; }; config = mkIf cfg.enable { homebrew = { - masApps = mkIf config.${namespace}.tools.homebrew.masEnable { "GarageBand" = 682658836; }; + masApps = mkIf config.khanelinix.tools.homebrew.masEnable { "GarageBand" = 682658836; }; }; }; } diff --git a/modules/darwin/suites/networking/default.nix b/modules/darwin/suites/networking/default.nix index 8cac4f0da..407e1edbe 100644 --- a/modules/darwin/suites/networking/default.nix +++ b/modules/darwin/suites/networking/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.networking; + cfg = config.khanelinix.suites.networking; in { - options.${namespace}.suites.networking = { + options.khanelinix.suites.networking = { enable = lib.mkEnableOption "networking configuration"; }; diff --git a/modules/darwin/suites/photo/default.nix b/modules/darwin/suites/photo/default.nix index f9e9f5151..643a9628c 100644 --- a/modules/darwin/suites/photo/default.nix +++ b/modules/darwin/suites/photo/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.photo; + cfg = config.khanelinix.suites.photo; in { - options.${namespace}.suites.photo = { + options.khanelinix.suites.photo = { enable = lib.mkEnableOption "photo configuration"; }; diff --git a/modules/darwin/suites/social/default.nix b/modules/darwin/suites/social/default.nix index a7f0f4adb..7e3fbf75f 100644 --- a/modules/darwin/suites/social/default.nix +++ b/modules/darwin/suites/social/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.social; + cfg = config.khanelinix.suites.social; in { - options.${namespace}.suites.social = { + options.khanelinix.suites.social = { enable = lib.mkEnableOption "social configuration"; }; diff --git a/modules/darwin/suites/video/default.nix b/modules/darwin/suites/video/default.nix index 5bfd7934d..5a936a29b 100644 --- a/modules/darwin/suites/video/default.nix +++ b/modules/darwin/suites/video/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.video; + cfg = config.khanelinix.suites.video; in { - options.${namespace}.suites.video = { + options.khanelinix.suites.video = { enable = lib.mkEnableOption "video configuration"; }; @@ -23,7 +23,7 @@ in "plex" ]; - masApps = mkIf config.${namespace}.tools.homebrew.masEnable { + masApps = mkIf config.khanelinix.tools.homebrew.masEnable { "Infuse" = 1136220934; "iMovie" = 408981434; }; diff --git a/modules/darwin/suites/vm/default.nix b/modules/darwin/suites/vm/default.nix index 6746f7781..f07be7d82 100644 --- a/modules/darwin/suites/vm/default.nix +++ b/modules/darwin/suites/vm/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.vm; + cfg = config.khanelinix.suites.vm; in { - options.${namespace}.suites.vm = { + options.khanelinix.suites.vm = { enable = lib.mkEnableOption "vm"; }; diff --git a/modules/darwin/system/env/default.nix b/modules/darwin/system/env/default.nix index c1a8090cc..509bf6aa8 100644 --- a/modules/darwin/system/env/default.nix +++ b/modules/darwin/system/env/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.system.env; + cfg = config.khanelinix.system.env; in { - options.${namespace}.system.env = lib.mkOption { + options.khanelinix.system.env = lib.mkOption { apply = lib.mapAttrs ( _n: v: if lib.isList v then lib.concatMapStringsSep ":" toString v else (toString v) ); diff --git a/modules/darwin/system/fonts/default.nix b/modules/darwin/system/fonts/default.nix index adcbc4406..62d1378a7 100644 --- a/modules/darwin/system/fonts/default.nix +++ b/modules/darwin/system/fonts/default.nix @@ -2,16 +2,16 @@ config, pkgs, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.system.fonts; + cfg = config.khanelinix.system.fonts; in { - imports = [ (lib.snowfall.fs.get-file "modules/shared/system/fonts/default.nix") ]; + imports = [ (lib.getFile "modules/shared/system/fonts/default.nix") ]; config = mkIf cfg.enable { fonts = { diff --git a/modules/darwin/system/input/default.nix b/modules/darwin/system/input/default.nix index 48a3056e2..eeb3e6852 100644 --- a/modules/darwin/system/input/default.nix +++ b/modules/darwin/system/input/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkMerge mkEnableOption; - cfg = config.${namespace}.system.input; + cfg = config.khanelinix.system.input; in { - options.${namespace}.system.input = { + options.khanelinix.system.input = { enable = mkEnableOption "macOS input"; }; diff --git a/modules/darwin/system/interface/default.nix b/modules/darwin/system/interface/default.nix index 012a22834..e46ea73f8 100644 --- a/modules/darwin/system/interface/default.nix +++ b/modules/darwin/system/interface/default.nix @@ -1,23 +1,23 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf mkEnableOption; - cfg = config.${namespace}.system.interface; + cfg = config.khanelinix.system.interface; hmCfg = config.home-manager.users.${config.khanelinix.user.name}; in { - options.${namespace}.system.interface = { + options.khanelinix.system.interface = { enable = mkEnableOption "macOS interface"; }; config = mkIf cfg.enable { - ${namespace}.home.file = { + khanelinix.home.file = { "Pictures/screenshots/.keep".text = ""; }; @@ -205,7 +205,7 @@ in screencapture = { disable-shadow = true; - location = "/Users/${config.${namespace}.user.name}/Pictures/screenshots/"; + location = "/Users/${config.khanelinix.user.name}/Pictures/screenshots/"; type = "png"; }; diff --git a/modules/darwin/system/networking/default.nix b/modules/darwin/system/networking/default.nix index f648d57d7..a7e76729e 100644 --- a/modules/darwin/system/networking/default.nix +++ b/modules/darwin/system/networking/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.system.networking; + cfg = config.khanelinix.system.networking; in { - options.${namespace}.system.networking = { + options.khanelinix.system.networking = { enable = lib.mkEnableOption "networking support"; }; diff --git a/modules/darwin/tools/homebrew/default.nix b/modules/darwin/tools/homebrew/default.nix index a096689fe..e3214033e 100644 --- a/modules/darwin/tools/homebrew/default.nix +++ b/modules/darwin/tools/homebrew/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.tools.homebrew; + cfg = config.khanelinix.tools.homebrew; in { - options.${namespace}.tools.homebrew = { + options.khanelinix.tools.homebrew = { enable = lib.mkEnableOption "homebrew"; masEnable = lib.mkEnableOption "Mac App Store downloads"; }; diff --git a/modules/darwin/user/default.nix b/modules/darwin/user/default.nix index 1c645de01..6980ca6ff 100644 --- a/modules/darwin/user/default.nix +++ b/modules/darwin/user/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.user; + cfg = config.khanelinix.user; in { - options.${namespace}.user = { + options.khanelinix.user = { name = mkOpt types.str "khaneliman" "The user account."; email = mkOpt types.str "khaneliman12@gmail.com" "The email of the user."; fullName = mkOpt types.str "Austin Horstman" "The full name of the user."; @@ -23,6 +23,7 @@ in users.users.${cfg.name} = { uid = mkIf (cfg.uid != null) cfg.uid; shell = pkgs.zsh; + home = "/Users/${cfg.name}"; }; }; } diff --git a/modules/home/default.nix b/modules/home/default.nix new file mode 100644 index 000000000..b6d50a61b --- /dev/null +++ b/modules/home/default.nix @@ -0,0 +1,4 @@ +{ lib, ... }: +{ + imports = lib.importModulesRecursive ./.; +} diff --git a/modules/home/host/default.nix b/modules/home/host/default.nix index b03383080..f1678c286 100644 --- a/modules/home/host/default.nix +++ b/modules/home/host/default.nix @@ -1,15 +1,15 @@ { lib, host ? null, - namespace, + ... }: let inherit (lib) types; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; in { - options.${namespace}.host = { + options.khanelinix.host = { name = mkOpt (types.nullOr types.str) host "The host name."; }; } diff --git a/modules/home/programs/default.nix b/modules/home/programs/default.nix new file mode 100644 index 000000000..19b2fbba3 --- /dev/null +++ b/modules/home/programs/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./terminal + ]; +} diff --git a/modules/home/programs/graphical/addons/electron-support/default.nix b/modules/home/programs/graphical/addons/electron-support/default.nix index 41ff4fc24..7a59e33f9 100644 --- a/modules/home/programs/graphical/addons/electron-support/default.nix +++ b/modules/home/programs/graphical/addons/electron-support/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.electron-support; + cfg = config.khanelinix.programs.graphical.addons.electron-support; in { - options.${namespace}.programs.graphical.addons.electron-support = { + options.khanelinix.programs.graphical.addons.electron-support = { enable = lib.mkEnableOption "wayland electron support in the desktop environment"; }; diff --git a/modules/home/programs/graphical/addons/kanshi/default.nix b/modules/home/programs/graphical/addons/kanshi/default.nix index 6c1535733..a2d32aa8b 100644 --- a/modules/home/programs/graphical/addons/kanshi/default.nix +++ b/modules/home/programs/graphical/addons/kanshi/default.nix @@ -2,18 +2,18 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf getExe; - inherit (config.${namespace}) user; + inherit (config.khanelinix) user; inherit (config.users.users.${user.name}) home; - cfg = config.${namespace}.programs.graphical.addons.kanshi; + cfg = config.khanelinix.programs.graphical.addons.kanshi; in { - options.${namespace}.programs.graphical.addons.kanshi = { + options.khanelinix.programs.graphical.addons.kanshi = { enable = lib.mkEnableOption "Kanshi in the desktop environment"; }; diff --git a/modules/home/programs/graphical/addons/looking-glass-client/default.nix b/modules/home/programs/graphical/addons/looking-glass-client/default.nix index 3add4d4ae..dbb1db40a 100644 --- a/modules/home/programs/graphical/addons/looking-glass-client/default.nix +++ b/modules/home/programs/graphical/addons/looking-glass-client/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.looking-glass-client; + cfg = config.khanelinix.programs.graphical.addons.looking-glass-client; in { - options.${namespace}.programs.graphical.addons.looking-glass-client = { + options.khanelinix.programs.graphical.addons.looking-glass-client = { enable = lib.mkEnableOption "the Looking Glass client"; }; diff --git a/modules/home/programs/graphical/addons/mako/default.nix b/modules/home/programs/graphical/addons/mako/default.nix index 27de775ce..ea2b72422 100644 --- a/modules/home/programs/graphical/addons/mako/default.nix +++ b/modules/home/programs/graphical/addons/mako/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf getExe getExe'; - cfg = config.${namespace}.programs.graphical.addons.mako; + cfg = config.khanelinix.programs.graphical.addons.mako; in { - options.${namespace}.programs.graphical.addons.mako = { + options.khanelinix.programs.graphical.addons.mako = { enable = lib.mkEnableOption "Mako in Sway"; }; diff --git a/modules/home/programs/graphical/addons/mangohud/default.nix b/modules/home/programs/graphical/addons/mangohud/default.nix index 9ae0bcd55..71c3cb84b 100644 --- a/modules/home/programs/graphical/addons/mangohud/default.nix +++ b/modules/home/programs/graphical/addons/mangohud/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf literalExpression; - cfg = config.${namespace}.programs.graphical.mangohud; + cfg = config.khanelinix.programs.graphical.mangohud; in { - options.${namespace}.programs.graphical.mangohud = { + options.khanelinix.programs.graphical.mangohud = { enable = lib.mkEnableOption "mangohud"; }; diff --git a/modules/home/programs/graphical/addons/swappy/default.nix b/modules/home/programs/graphical/addons/swappy/default.nix index e037f653c..4be74e4e9 100644 --- a/modules/home/programs/graphical/addons/swappy/default.nix +++ b/modules/home/programs/graphical/addons/swappy/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.swappy; + cfg = config.khanelinix.programs.graphical.addons.swappy; in { - options.${namespace}.programs.graphical.addons.swappy = { + options.khanelinix.programs.graphical.addons.swappy = { enable = lib.mkEnableOption "Swappy in the desktop environment"; }; diff --git a/modules/home/programs/graphical/addons/swaync/default.nix b/modules/home/programs/graphical/addons/swaync/default.nix index 3661a0205..5192cf6cf 100644 --- a/modules/home/programs/graphical/addons/swaync/default.nix +++ b/modules/home/programs/graphical/addons/swaync/default.nix @@ -3,13 +3,13 @@ lib, osConfig ? { }, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.swaync; + cfg = config.khanelinix.programs.graphical.addons.swaync; dependencies = with pkgs; [ bash @@ -27,7 +27,6 @@ let settings = import ./settings.nix { inherit lib - namespace osConfig pkgs ; @@ -35,7 +34,7 @@ let style = import ./style.nix { inherit lib; }; in { - options.${namespace}.programs.graphical.addons.swaync = { + options.khanelinix.programs.graphical.addons.swaync = { enable = lib.mkEnableOption "swaync in the desktop environment"; }; diff --git a/modules/home/programs/graphical/addons/swaync/settings.nix b/modules/home/programs/graphical/addons/swaync/settings.nix index f2a51ec3d..d2525dbc1 100644 --- a/modules/home/programs/graphical/addons/swaync/settings.nix +++ b/modules/home/programs/graphical/addons/swaync/settings.nix @@ -1,6 +1,6 @@ { lib, - namespace, + osConfig ? { }, pkgs, }: @@ -137,15 +137,15 @@ in } { label = " Record area"; - command = ''${lib.getExe pkgs.${namespace}.record_screen} area & ; swaync-client -t''; + command = ''${lib.getExe pkgs.khanelinix.record_screen} area & ; swaync-client -t''; } { label = " Record screen"; - command = ''${lib.getExe pkgs.${namespace}.record_screen} screen & ; swaync-client -t''; + command = ''${lib.getExe pkgs.khanelinix.record_screen} screen & ; swaync-client -t''; } { label = " Stop Record"; - command = ''${lib.getExe pkgs.${namespace}.record_screen} stop & ; swaync-client -t''; + command = ''${lib.getExe pkgs.khanelinix.record_screen} stop & ; swaync-client -t''; } ]; }; diff --git a/modules/home/programs/graphical/addons/wlogout/default.nix b/modules/home/programs/graphical/addons/wlogout/default.nix index 7915955ae..ae0aa357d 100644 --- a/modules/home/programs/graphical/addons/wlogout/default.nix +++ b/modules/home/programs/graphical/addons/wlogout/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.wlogout; + cfg = config.khanelinix.programs.graphical.addons.wlogout; in { - options.${namespace}.programs.graphical.addons.wlogout = { + options.khanelinix.programs.graphical.addons.wlogout = { enable = lib.mkEnableOption "wlogout in the desktop environment"; }; diff --git a/modules/home/programs/graphical/apps/caprine/custom.css b/modules/home/programs/graphical/apps/caprine/custom.css index e7711457f..b5816da56 100644 --- a/modules/home/programs/graphical/apps/caprine/custom.css +++ b/modules/home/programs/graphical/apps/caprine/custom.css @@ -10,7 +10,9 @@ Press Command/Ctrl+R in Caprine to see your changes. } /* Scrollbar fixes. */ -::-webkit-scrollbar-track, ::-webkit-scrollbar, ::-webkit-scrollbar-corner { +::-webkit-scrollbar-track, +::-webkit-scrollbar, +::-webkit-scrollbar-corner { background-color: #1e2030; } ::-webkit-scrollbar { diff --git a/modules/home/programs/graphical/apps/caprine/default.nix b/modules/home/programs/graphical/apps/caprine/default.nix index f2abdfc0f..d8cad5dbf 100644 --- a/modules/home/programs/graphical/apps/caprine/default.nix +++ b/modules/home/programs/graphical/apps/caprine/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.programs.graphical.apps.caprine; + cfg = config.khanelinix.programs.graphical.apps.caprine; in { - options.${namespace}.programs.graphical.apps.caprine = { + options.khanelinix.programs.graphical.apps.caprine = { enable = mkEnableOption "caprine"; }; diff --git a/modules/home/programs/graphical/apps/discord/default.nix b/modules/home/programs/graphical/apps/discord/default.nix index 8de716de4..accbcb6cb 100644 --- a/modules/home/programs/graphical/apps/discord/default.nix +++ b/modules/home/programs/graphical/apps/discord/default.nix @@ -2,7 +2,7 @@ config, inputs, lib, - namespace, + pkgs, ... }: @@ -10,10 +10,10 @@ let inherit (lib) mkIf getExe; inherit (inputs) home-manager; - cfg = config.${namespace}.programs.graphical.apps.discord; + cfg = config.khanelinix.programs.graphical.apps.discord; in { - options.${namespace}.programs.graphical.apps.discord = { + options.khanelinix.programs.graphical.apps.discord = { enable = lib.mkEnableOption "Discord"; canary.enable = lib.mkEnableOption "Discord Canary"; firefox.enable = lib.mkEnableOption "the Firefox version of Discord"; @@ -23,8 +23,8 @@ in home = { packages = lib.optional cfg.enable pkgs.discord - ++ lib.optional cfg.canary.enable pkgs.${namespace}.discord - ++ lib.optional cfg.firefox.enable pkgs.${namespace}.discord-firefox; + ++ lib.optional cfg.canary.enable pkgs.khanelinix.discord + ++ lib.optional cfg.firefox.enable pkgs.khanelinix.discord-firefox; activation = mkIf pkgs.stdenv.hostPlatform.isLinux { betterdiscordInstall = # bash diff --git a/modules/home/programs/graphical/apps/mpv/default.nix b/modules/home/programs/graphical/apps/mpv/default.nix index 0ae130e95..60f38b50f 100644 --- a/modules/home/programs/graphical/apps/mpv/default.nix +++ b/modules/home/programs/graphical/apps/mpv/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.apps.mpv; + cfg = config.khanelinix.programs.graphical.apps.mpv; in { - options.${namespace}.programs.graphical.apps.mpv = { + options.khanelinix.programs.graphical.apps.mpv = { enable = lib.mkEnableOption "support for mpv"; }; diff --git a/modules/home/programs/graphical/apps/obs/default.nix b/modules/home/programs/graphical/apps/obs/default.nix index 2a4213c02..52626d3cd 100644 --- a/modules/home/programs/graphical/apps/obs/default.nix +++ b/modules/home/programs/graphical/apps/obs/default.nix @@ -2,15 +2,15 @@ config, lib, pkgs, - namespace, + ... }: let - cfg = config.${namespace}.programs.graphical.apps.obs; + cfg = config.khanelinix.programs.graphical.apps.obs; in { - options.${namespace}.programs.graphical.apps.obs = { + options.khanelinix.programs.graphical.apps.obs = { enable = lib.mkEnableOption "support for OBS"; }; diff --git a/modules/home/programs/graphical/apps/retroarch/default.nix b/modules/home/programs/graphical/apps/retroarch/default.nix index 07f2b3c45..c7cc9e3f7 100644 --- a/modules/home/programs/graphical/apps/retroarch/default.nix +++ b/modules/home/programs/graphical/apps/retroarch/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.apps.retroarch; + cfg = config.khanelinix.programs.graphical.apps.retroarch; in { - options.${namespace}.programs.graphical.apps.retroarch = { + options.khanelinix.programs.graphical.apps.retroarch = { enable = lib.mkEnableOption "retroarch"; }; diff --git a/modules/home/programs/graphical/apps/thunderbird/default.nix b/modules/home/programs/graphical/apps/thunderbird/default.nix index 537e64cdc..38c62cd76 100644 --- a/modules/home/programs/graphical/apps/thunderbird/default.nix +++ b/modules/home/programs/graphical/apps/thunderbird/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.graphical.apps.thunderbird; + cfg = config.khanelinix.programs.graphical.apps.thunderbird; in { - options.${namespace}.programs.graphical.apps.thunderbird = { + options.khanelinix.programs.graphical.apps.thunderbird = { enable = lib.mkEnableOption "thunderbird"; accountsOrder = lib.mkOption { type = lib.types.listOf lib.types.str; @@ -98,7 +98,7 @@ in { remote = { inherit type url; - userName = config.${namespace}.user.email; + userName = config.khanelinix.user.email; }; local = { inherit color; @@ -106,24 +106,24 @@ in thunderbird = { enable = true; profiles = [ - config.${namespace}.user.name + config.khanelinix.user.name ]; inherit color; }; }; in { - "${config.${namespace}.user.email}" = { + "${config.khanelinix.user.email}" = { remote = { type = "caldav"; url = "https://apidata.googleusercontent.com/caldav/v2/khaneliman12%40gmail.com/events/"; - userName = config.${namespace}.user.email; + userName = config.khanelinix.user.email; }; primary = true; thunderbird = { enable = true; profiles = [ - config.${namespace}.user.name + config.khanelinix.user.name ]; color = "#16a765"; }; @@ -141,7 +141,7 @@ in { inherit address primary; flavor = if (flavor == "davmail") then "plain" else flavor; - realName = config.${namespace}.user.fullName; + realName = config.khanelinix.user.fullName; userName = lib.mkIf (flavor == "davmail") address; imap = lib.mkIf (flavor == "davmail") { host = "localhost"; @@ -162,7 +162,7 @@ in thunderbird = { enable = true; profiles = [ - config.${namespace}.user.name + config.khanelinix.user.name ]; settings = _id: { }; @@ -170,8 +170,8 @@ in }; in { - "${config.${namespace}.user.email}" = mkEmailConfig { - address = config.${namespace}.user.email; + "${config.khanelinix.user.email}" = mkEmailConfig { + address = config.khanelinix.user.email; primary = true; flavor = "gmail.com"; }; @@ -183,7 +183,7 @@ in enable = true; package = pkgs.thunderbird-latest; - profiles.${config.${namespace}.user.name} = { + profiles.${config.khanelinix.user.name} = { isDefault = true; inherit (cfg) accountsOrder; diff --git a/modules/home/programs/graphical/apps/vesktop/default.nix b/modules/home/programs/graphical/apps/vesktop/default.nix index b3f2751be..52b97bb42 100644 --- a/modules/home/programs/graphical/apps/vesktop/default.nix +++ b/modules/home/programs/graphical/apps/vesktop/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.programs.graphical.apps.vesktop; + cfg = config.khanelinix.programs.graphical.apps.vesktop; in { - options.${namespace}.programs.graphical.apps.vesktop = { + options.khanelinix.programs.graphical.apps.vesktop = { enable = lib.mkEnableOption "Vesktop"; }; diff --git a/modules/home/programs/graphical/apps/zathura/default.nix b/modules/home/programs/graphical/apps/zathura/default.nix index 98b8b8a0b..1ec503c08 100644 --- a/modules/home/programs/graphical/apps/zathura/default.nix +++ b/modules/home/programs/graphical/apps/zathura/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.programs.graphical.apps.zathura; + cfg = config.khanelinix.programs.graphical.apps.zathura; in { - options.${namespace}.programs.graphical.apps.zathura = { + options.khanelinix.programs.graphical.apps.zathura = { enable = mkEnableOption "zathura"; }; diff --git a/modules/home/programs/graphical/bars/ashell/default.nix b/modules/home/programs/graphical/bars/ashell/default.nix index 8c1ecdcc0..b128f0db2 100644 --- a/modules/home/programs/graphical/bars/ashell/default.nix +++ b/modules/home/programs/graphical/bars/ashell/default.nix @@ -1,19 +1,19 @@ { config, lib, - namespace, + osConfig ? { }, pkgs, ... }: let inherit (lib) mkIf types; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.graphical.bars.ashell; + cfg = config.khanelinix.programs.graphical.bars.ashell; in { - options.${namespace}.programs.graphical.bars.ashell = { + options.khanelinix.programs.graphical.bars.ashell = { enable = lib.mkEnableOption "ashell in the desktop environment"; style = mkOpt types.str "Islands" "Style of the bar"; @@ -48,7 +48,7 @@ in # GitHub notifications helper githubHelper = pkgs.writeShellScriptBin "ashell-github-helper" '' - ${lib.optionalString (osConfig.${namespace}.security.sops.enable or false) '' + ${lib.optionalString (osConfig.khanelinix.security.sops.enable or false) '' ${lib.getExe pkgs.gh} auth login --with-token < ${config.sops.secrets."github/access-token".path} ''} @@ -314,9 +314,9 @@ in }; }; - sops.secrets = mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = mkIf (osConfig.khanelinix.security.sops.enable or false) { weather_config = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/weather_config.json"; }; }; diff --git a/modules/home/programs/graphical/bars/sketchybar/default.nix b/modules/home/programs/graphical/bars/sketchybar/default.nix index 613d70a08..fbe3dbb01 100644 --- a/modules/home/programs/graphical/bars/sketchybar/default.nix +++ b/modules/home/programs/graphical/bars/sketchybar/default.nix @@ -2,14 +2,14 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf getExe; - cfg = config.${namespace}.programs.graphical.bars.sketchybar; + cfg = config.khanelinix.programs.graphical.bars.sketchybar; shellAliases = { push = # bash @@ -18,7 +18,7 @@ let }; in { - options.${namespace}.programs.graphical.bars.sketchybar = { + options.khanelinix.programs.graphical.bars.sketchybar = { enable = lib.mkEnableOption "sketchybar in the desktop environment"; }; @@ -44,14 +44,14 @@ in gnused jankyborders jq - pkgs.${namespace}.dynamic-island-helper - pkgs.${namespace}.sketchyhelper + pkgs.khanelinix.dynamic-island-helper + pkgs.khanelinix.sketchyhelper wttrbar ] - ++ lib.optionals (osConfig.${namespace}.desktop.wms.yabai.enable or false) [ + ++ lib.optionals (osConfig.khanelinix.desktop.wms.yabai.enable or false) [ osConfig.services.yabai.package ] - ++ lib.optionals config.${namespace}.programs.graphical.wms.aerospace.enable [ + ++ lib.optionals config.khanelinix.programs.graphical.wms.aerospace.enable [ config.programs.aerospace.package ]; @@ -85,10 +85,10 @@ in -- Window manager configuration for sketchybar return { use_aerospace = ${ - if (config.${namespace}.programs.graphical.wms.aerospace.enable or false) then "true" else "false" + if (config.khanelinix.programs.graphical.wms.aerospace.enable or false) then "true" else "false" }, use_yabai = ${ - if (osConfig.${namespace}.desktop.wms.yabai.enable or false) then "true" else "false" + if (osConfig.khanelinix.desktop.wms.yabai.enable or false) then "true" else "false" }, } ''; diff --git a/modules/home/programs/graphical/bars/waybar/default.nix b/modules/home/programs/graphical/bars/waybar/default.nix index 1dd48bedc..b018aedd2 100644 --- a/modules/home/programs/graphical/bars/waybar/default.nix +++ b/modules/home/programs/graphical/bars/waybar/default.nix @@ -4,7 +4,7 @@ lib, pkgs, system, - namespace, + osConfig ? { }, ... }: @@ -14,13 +14,13 @@ let mkMerge types ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; inherit (inputs) waybar; - cfg = config.${namespace}.programs.graphical.bars.waybar; + cfg = config.khanelinix.programs.graphical.bars.waybar; # Determine which style files to use based on whether stylix is enabled and catppuccin is not enabled - styleDir = if config.${namespace}.theme.catppuccin.enable then ./styles else ./base16-style; + styleDir = if config.khanelinix.theme.catppuccin.enable then ./styles else ./base16-style; style = builtins.readFile "${styleDir}/style.css"; controlCenterStyle = builtins.readFile "${styleDir}/control-center.css"; @@ -33,7 +33,6 @@ let osConfig config lib - namespace pkgs ; }; @@ -42,7 +41,6 @@ let inherit config lib - namespace osConfig ; }; @@ -66,13 +64,13 @@ let modules-left = [ "custom/power" ] - ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ + ++ lib.optionals config.khanelinix.programs.graphical.wms.hyprland.enable [ "hyprland/workspaces" ] - ++ lib.optionals config.${namespace}.programs.graphical.wms.sway.enable [ "sway/workspaces" ] + ++ lib.optionals config.khanelinix.programs.graphical.wms.sway.enable [ "sway/workspaces" ] ++ [ "custom/separator-left" ] - ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ "hyprland/window" ] - ++ lib.optionals config.${namespace}.programs.graphical.wms.sway.enable [ "sway/window" ]; + ++ lib.optionals config.khanelinix.programs.graphical.wms.hyprland.enable [ "hyprland/window" ] + ++ lib.optionals config.khanelinix.programs.graphical.wms.sway.enable [ "sway/window" ]; }; fullSizeModules = { @@ -84,7 +82,7 @@ let "custom/separator-right" "group/control-center" ] - ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ "hyprland/submap" ] + ++ lib.optionals config.khanelinix.programs.graphical.wms.hyprland.enable [ "hyprland/submap" ] ++ [ "custom/weather" "clock" @@ -98,7 +96,7 @@ let "group/stats-drawer" "group/control-center" ] - ++ lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ "hyprland/submap" ] + ++ lib.optionals config.khanelinix.programs.graphical.wms.hyprland.enable [ "hyprland/submap" ] ++ [ "custom/weather" "clock" @@ -113,8 +111,8 @@ let custom-modules default-modules group-modules - (lib.mkIf config.${namespace}.programs.graphical.wms.hyprland.enable hyprland-modules) - (lib.mkIf config.${namespace}.programs.graphical.wms.sway.enable sway-modules) + (lib.mkIf config.khanelinix.programs.graphical.wms.hyprland.enable hyprland-modules) + (lib.mkIf config.khanelinix.programs.graphical.wms.sway.enable sway-modules) ]; generateOutputSettings = @@ -130,7 +128,7 @@ let ); in { - options.${namespace}.programs.graphical.bars.waybar = { + options.khanelinix.programs.graphical.bars.waybar = { enable = lib.mkEnableOption "waybar in the desktop environment"; enableDebug = lib.mkEnableOption "debug mode"; enableInspect = lib.mkEnableOption "inspect mode"; @@ -160,9 +158,9 @@ in style = "${style}${controlCenterStyle}${powerStyle}${statsStyle}${workspacesStyle}"; }; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { weather_config = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/weather_config.json"; }; }; diff --git a/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix index aaf3f7261..33a227741 100644 --- a/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix +++ b/modules/home/programs/graphical/bars/waybar/modules/custom-modules.nix @@ -3,14 +3,14 @@ lib, osConfig ? { }, pkgs, - namespace, + ... }: let inherit (lib) getExe getExe'; githubHelper = pkgs.writeShellScriptBin "githubHelper" '' - ${lib.optionalString (osConfig.${namespace}.security.sops.enable or false) '' + ${lib.optionalString (osConfig.khanelinix.security.sops.enable or false) '' ${getExe pkgs.gh} auth login --with-token < ${config.sops.secrets."github/access-token".path} ''} diff --git a/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix index f6be4881c..deae54073 100644 --- a/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix +++ b/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix @@ -7,7 +7,7 @@ let inherit (lib) getExe getExe'; - catppuccin = import (lib.snowfall.fs.get-file "modules/home/theme/catppuccin/colors.nix"); + catppuccin = import (lib.getFile "modules/home/theme/catppuccin/colors.nix"); in { backlight = diff --git a/modules/home/programs/graphical/bars/waybar/modules/group-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/group-modules.nix index 1289b37c5..4556fe1f7 100644 --- a/modules/home/programs/graphical/bars/waybar/modules/group-modules.nix +++ b/modules/home/programs/graphical/bars/waybar/modules/group-modules.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + osConfig ? { }, ... }: @@ -37,14 +37,14 @@ "group/control-center" = { orientation = "horizontal"; modules = - lib.optionals config.${namespace}.programs.graphical.wms.hyprland.enable [ "custom/hyprsunset" ] + lib.optionals config.khanelinix.programs.graphical.wms.hyprland.enable [ "custom/hyprsunset" ] ++ [ "gamemode" "idle_inhibitor" "systemd-failed-units" "custom/notification" ] - ++ lib.optionals (osConfig.${namespace}.security.sops.enable or false) [ "custom/github" ] + ++ lib.optionals (osConfig.khanelinix.security.sops.enable or false) [ "custom/github" ] ++ [ "bluetooth" "group/audio" diff --git a/modules/home/programs/graphical/browsers/chromium/default.nix b/modules/home/programs/graphical/browsers/chromium/default.nix index a42097ad4..31569c153 100644 --- a/modules/home/programs/graphical/browsers/chromium/default.nix +++ b/modules/home/programs/graphical/browsers/chromium/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.browsers.chromium; + cfg = config.khanelinix.programs.graphical.browsers.chromium; in { - options.${namespace}.programs.graphical.browsers.chromium = { + options.khanelinix.programs.graphical.browsers.chromium = { enable = lib.mkEnableOption "chromium"; }; diff --git a/modules/home/programs/graphical/browsers/firefox/default.nix b/modules/home/programs/graphical/browsers/firefox/default.nix index 6d7b3fe43..f1537c843 100644 --- a/modules/home/programs/graphical/browsers/firefox/default.nix +++ b/modules/home/programs/graphical/browsers/firefox/default.nix @@ -3,7 +3,7 @@ inputs, lib, pkgs, - namespace, + ... }: let @@ -13,14 +13,17 @@ let mkMerge optionalAttrs ; - inherit (lib.${namespace}) mkBoolOpt mkOpt; + inherit (lib.khanelinix) mkBoolOpt mkOpt; - cfg = config.${namespace}.programs.graphical.browsers.firefox; + cfg = config.khanelinix.programs.graphical.browsers.firefox; in { - imports = lib.snowfall.fs.get-non-default-nix-files ./.; + imports = [ + ./extensions.nix + ./search.nix + ]; - options.${namespace}.programs.graphical.browsers.firefox = with types; { + options.khanelinix.programs.graphical.browsers.firefox = with types; { enable = lib.mkEnableOption "Firefox"; extraConfig = mkOpt str "" "Extra configuration for the user profile JS file."; @@ -83,12 +86,12 @@ in profiles = { "dev-edition-default" = { id = 0; - path = "${config.${namespace}.user.name}"; + path = "${config.khanelinix.user.name}"; }; - ${config.${namespace}.user.name} = { + ${config.khanelinix.user.name} = { inherit (cfg) extraConfig; - inherit (config.${namespace}.user) name; + inherit (config.khanelinix.user) name; id = 1; diff --git a/modules/home/programs/graphical/desktop-environment/gnome/default.nix b/modules/home/programs/graphical/desktop-environment/gnome/default.nix index e6c072c92..ef0f5626e 100644 --- a/modules/home/programs/graphical/desktop-environment/gnome/default.nix +++ b/modules/home/programs/graphical/desktop-environment/gnome/default.nix @@ -2,20 +2,20 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) default-attrs mkBoolOpt mkOpt; + inherit (lib.khanelinix) default-attrs mkBoolOpt mkOpt; - cfg = config.${namespace}.programs.graphical.desktop-environment.gnome; + cfg = config.khanelinix.programs.graphical.desktop-environment.gnome; get-wallpaper = wallpaper: if lib.isDerivation wallpaper then builtins.toString wallpaper else wallpaper; in { - options.${namespace}.programs.graphical.desktop-environment.gnome = { + options.khanelinix.programs.graphical.desktop-environment.gnome = { enable = lib.mkEnableOption "GNOME desktop environment customization"; shell = mkOpt (types.submodule { @@ -64,8 +64,8 @@ in }; }) { - picture-uri = get-wallpaper pkgs.${namespace}.wallpapers.flatppuccin_macchiato; - picture-uri-dark = get-wallpaper pkgs.${namespace}.wallpapers.cat-sound; + picture-uri = get-wallpaper "${pkgs.khanelinix.wallpapers}/share/wallpapers/flatppuccin_macchiato.png"; + picture-uri-dark = get-wallpaper "${pkgs.khanelinix.wallpapers}/share/wallpapers/cat-sound.png"; } "Desktop background settings"; @@ -79,8 +79,8 @@ in }; }) { - picture-uri = get-wallpaper pkgs.${namespace}.wallpapers.flatppuccin_macchiato; - picture-uri-dark = get-wallpaper pkgs.${namespace}.wallpapers.cat-sound; + picture-uri = get-wallpaper "${pkgs.khanelinix.wallpapers}/share/wallpapers/flatppuccin_macchiato.png"; + picture-uri-dark = get-wallpaper "${pkgs.khanelinix.wallpapers}/share/wallpapers/cat-sound.png"; } "Screensaver settings"; diff --git a/modules/home/programs/graphical/editors/vscode/default.nix b/modules/home/programs/graphical/editors/vscode/default.nix index f0a7c5195..91c4812df 100644 --- a/modules/home/programs/graphical/editors/vscode/default.nix +++ b/modules/home/programs/graphical/editors/vscode/default.nix @@ -2,25 +2,25 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkEnableOption mkIf; - inherit (lib.${namespace}) mkBoolOpt; + inherit (lib.khanelinix) mkBoolOpt; - cfg = config.${namespace}.programs.graphical.editors.vscode; + cfg = config.khanelinix.programs.graphical.editors.vscode; in { - options.${namespace}.programs.graphical.editors.vscode = { + options.khanelinix.programs.graphical.editors.vscode = { enable = mkEnableOption "Whether or not to enable vscode"; declarativeConfig = mkBoolOpt true "Whether or not to enable vscode."; }; config = mkIf cfg.enable { home.file = { - ".vscode/argv.json" = mkIf config.${namespace}.services.keyring.enable { + ".vscode/argv.json" = mkIf config.khanelinix.services.keyring.enable { text = builtins.toJSON { "enable-crash-reporter" = true; "crash-reporter-id" = "53a6c113-87c4-4f20-9451-dd67057ddb95"; @@ -290,9 +290,9 @@ in }; }; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { wakatime = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/.wakatime.cfg"; }; }; diff --git a/modules/home/programs/graphical/launchers/anyrun/default.nix b/modules/home/programs/graphical/launchers/anyrun/default.nix index 62e585e30..dd43e376e 100644 --- a/modules/home/programs/graphical/launchers/anyrun/default.nix +++ b/modules/home/programs/graphical/launchers/anyrun/default.nix @@ -2,7 +2,7 @@ config, inputs, lib, - namespace, + pkgs, system, osConfig ? { }, @@ -12,10 +12,10 @@ let inherit (lib) mkIf; inherit (inputs) anyrun-nixos-options; - cfg = config.${namespace}.programs.graphical.launchers.anyrun; + cfg = config.khanelinix.programs.graphical.launchers.anyrun; in { - options.${namespace}.programs.graphical.launchers.anyrun = { + options.khanelinix.programs.graphical.launchers.anyrun = { enable = lib.mkEnableOption "anyrun in the desktop environment"; }; diff --git a/modules/home/programs/graphical/launchers/rofi/default.nix b/modules/home/programs/graphical/launchers/rofi/default.nix index 1d08d4aac..fd5131de9 100644 --- a/modules/home/programs/graphical/launchers/rofi/default.nix +++ b/modules/home/programs/graphical/launchers/rofi/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.launchers.rofi; + cfg = config.khanelinix.programs.graphical.launchers.rofi; in { - options.${namespace}.programs.graphical.launchers.rofi = { + options.khanelinix.programs.graphical.launchers.rofi = { enable = lib.mkEnableOption "Rofi in the desktop environment"; }; diff --git a/modules/home/programs/graphical/launchers/wofi/default.nix b/modules/home/programs/graphical/launchers/wofi/default.nix index ea5f9f3e3..e4e41b5bd 100644 --- a/modules/home/programs/graphical/launchers/wofi/default.nix +++ b/modules/home/programs/graphical/launchers/wofi/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.wofi; + cfg = config.khanelinix.programs.graphical.addons.wofi; in { - options.${namespace}.programs.graphical.addons.wofi = { + options.khanelinix.programs.graphical.addons.wofi = { enable = lib.mkEnableOption "the Wofi in the desktop environment"; }; diff --git a/modules/home/programs/graphical/launchers/wofi/style.css b/modules/home/programs/graphical/launchers/wofi/style.css index c1093e557..e93d78b15 100644 --- a/modules/home/programs/graphical/launchers/wofi/style.css +++ b/modules/home/programs/graphical/launchers/wofi/style.css @@ -99,7 +99,7 @@ expander list #entry { expander list #entry:hover, expander list #entry:active { /* color: #8fbcbb; - background: #e5e9f0; */ + background: #e5e9f0; */ } expander list #entry #selected { diff --git a/modules/home/programs/graphical/screenlockers/hyprlock/default.nix b/modules/home/programs/graphical/screenlockers/hyprlock/default.nix index 4f610bc47..bd2e7b525 100644 --- a/modules/home/programs/graphical/screenlockers/hyprlock/default.nix +++ b/modules/home/programs/graphical/screenlockers/hyprlock/default.nix @@ -2,18 +2,18 @@ config, lib, osConfig ? { }, - namespace, + ... }: let inherit (lib) mkIf; - catppuccin = import (lib.snowfall.fs.get-file "modules/home/theme/catppuccin/colors.nix"); + catppuccin = import (lib.getFile "modules/home/theme/catppuccin/colors.nix"); - cfg = config.${namespace}.programs.graphical.screenlockers.hyprlock; + cfg = config.khanelinix.programs.graphical.screenlockers.hyprlock; in { - options.${namespace}.programs.graphical.screenlockers.hyprlock = { + options.khanelinix.programs.graphical.screenlockers.hyprlock = { enable = lib.mkEnableOption "hyprlock in the desktop environment"; }; @@ -73,7 +73,7 @@ in monitor = ""; size = 120; position = "0, 45"; - path = "/home/${config.snowfallorg.user.name}/.face"; + path = "${config.khanelinix.user.home}/.face"; border_color = lib.mkDefault catppuccin.colors.text.rgb; border_size = 5; halign = "center"; @@ -103,7 +103,7 @@ in text = "󰌾 "; color = lib.mkDefault catppuccin.colors.text.rgb; font_size = 50; - font_family = lib.mkDefault (osConfig.${namespace}.system.fonts.default or "MonaspaceNeon"); + font_family = lib.mkDefault (osConfig.khanelinix.system.fonts.default or "MonaspaceNeon"); valign = "center"; halign = "center"; position = "15, -350"; @@ -118,7 +118,7 @@ in text = " "; color = lib.mkDefault catppuccin.colors.text.rgb; font_size = 25; - font_family = lib.mkDefault (osConfig.${namespace}.system.fonts.default or "MonaspaceNeon"); + font_family = lib.mkDefault (osConfig.khanelinix.system.fonts.default or "MonaspaceNeon"); valign = "bottom"; halign = "right"; position = "5, 8"; diff --git a/modules/home/programs/graphical/screenlockers/swaylock/default.nix b/modules/home/programs/graphical/screenlockers/swaylock/default.nix index 5509f935d..a9927a273 100644 --- a/modules/home/programs/graphical/screenlockers/swaylock/default.nix +++ b/modules/home/programs/graphical/screenlockers/swaylock/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.screenlockers.swaylock; + cfg = config.khanelinix.programs.graphical.screenlockers.swaylock; in { - options.${namespace}.programs.graphical.screenlockers.swaylock = { + options.khanelinix.programs.graphical.screenlockers.swaylock = { enable = lib.mkEnableOption "swaylock in the desktop environment"; }; @@ -30,7 +30,7 @@ in timestr = "%R"; datestr = "%a, %e of %B"; - image = "${pkgs.${namespace}.wallpapers}/share/wallpapers/flatppuccin_macchiato.png"; + image = "${pkgs.khanelinix.wallpapers}/share/wallpapers/flatppuccin_macchiato.png"; fade-in = "0.2"; diff --git a/modules/home/programs/graphical/wms/aerospace/default.nix b/modules/home/programs/graphical/wms/aerospace/default.nix index dd52442ba..72751f22d 100644 --- a/modules/home/programs/graphical/wms/aerospace/default.nix +++ b/modules/home/programs/graphical/wms/aerospace/default.nix @@ -2,22 +2,22 @@ config, lib, pkgs, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; - cfg = config.${namespace}.programs.graphical.wms.aerospace; + inherit (lib.khanelinix) mkOpt; + cfg = config.khanelinix.programs.graphical.wms.aerospace; sketchybar = lib.getExe config.programs.sketchybar.finalPackage; in { - options.${namespace}.programs.graphical.wms.aerospace = { + options.khanelinix.programs.graphical.wms.aerospace = { enable = lib.mkEnableOption "aerospace"; debug = lib.mkEnableOption "debug output"; - logFile = mkOpt lib.types.str "${ - config.snowfallorg.users.${config.${namespace}.user.name}.home.path - }/Library/Logs/aerospace.log" "Filepath of log output"; + logFile = + mkOpt lib.types.str "${config.khanelinix.user.home}/Library/Logs/aerospace.log" + "Filepath of log output"; }; config = lib.mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/apps.nix b/modules/home/programs/graphical/wms/hyprland/apps.nix index 08bdd2bac..b2adc812b 100644 --- a/modules/home/programs/graphical/wms/hyprland/apps.nix +++ b/modules/home/programs/graphical/wms/hyprland/apps.nix @@ -2,14 +2,14 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf getExe; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/binds.nix b/modules/home/programs/graphical/wms/hyprland/binds.nix index 52d1dc12b..d17469857 100644 --- a/modules/home/programs/graphical/wms/hyprland/binds.nix +++ b/modules/home/programs/graphical/wms/hyprland/binds.nix @@ -2,14 +2,14 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf getExe; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; # Helper functions mkStartCommand = diff --git a/modules/home/programs/graphical/wms/hyprland/default.nix b/modules/home/programs/graphical/wms/hyprland/default.nix index c5dff7025..670ac7756 100644 --- a/modules/home/programs/graphical/wms/hyprland/default.nix +++ b/modules/home/programs/graphical/wms/hyprland/default.nix @@ -2,15 +2,15 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf mkEnableOption getExe; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; historicalLogAliases = builtins.listToAttrs ( builtins.genList (x: { @@ -22,12 +22,12 @@ let historicalCrashAliases = builtins.listToAttrs ( builtins.genList (x: { name = "hlc${toString (x + 1)}"; - value = "cat /home/${config.${namespace}.user.name}/.cache/hyprland/$(command ls -t /home/${config.${namespace}.user.name}/.cache/hyprland/ | grep 'hyprlandCrashReport' | head -n ${toString (x + 2)} | tail -n 1)"; + value = "cat /home/${config.khanelinix.user.name}/.cache/hyprland/$(command ls -t /home/${config.khanelinix.user.name}/.cache/hyprland/ | grep 'hyprlandCrashReport' | head -n ${toString (x + 2)} | tail -n 1)"; }) 4 ); in { - options.${namespace}.programs.graphical.wms.hyprland = { + options.khanelinix.programs.graphical.wms.hyprland = { enable = mkEnableOption "Hyprland"; enableDebug = mkEnableOption "debug config"; appendConfig = lib.mkOption { @@ -46,7 +46,14 @@ in }; }; - imports = lib.snowfall.fs.get-non-default-nix-files ./.; + imports = [ + ./apps.nix + ./binds.nix + ./permissions.nix + ./variables.nix + ./windowrules + ./workspacerules.nix + ]; config = mkIf cfg.enable { home = { @@ -54,7 +61,7 @@ in grim hyprsunset hyprsysteminfo - pkgs.${namespace}.record_screen + pkgs.khanelinix.record_screen slurp kdePackages.xwaylandvideobridge ]; @@ -86,7 +93,7 @@ in shellAliases = { hl = "cat $XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/hyprland.log"; - hlc = "cat /home/${config.${namespace}.user.name}/.cache/hyprland/$(command ls -t /home/${config.${namespace}.user.name}/.cache/hyprland/ | grep 'hyprlandCrashReport' | head -n 1)"; + hlc = "cat /home/${config.khanelinix.user.name}/.cache/hyprland/$(command ls -t /home/${config.khanelinix.user.name}/.cache/hyprland/ | grep 'hyprlandCrashReport' | head -n 1)"; hlw = ''watch -n 0.1 "grep -v \"arranged\" $XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/hyprland.log | tail -n 40"''; } // historicalLogAliases diff --git a/modules/home/programs/graphical/wms/hyprland/permissions.nix b/modules/home/programs/graphical/wms/hyprland/permissions.nix index 437c5ecf6..87f3f3fd0 100644 --- a/modules/home/programs/graphical/wms/hyprland/permissions.nix +++ b/modules/home/programs/graphical/wms/hyprland/permissions.nix @@ -1,13 +1,13 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { @@ -18,7 +18,7 @@ in "${lib.getExe pkgs.grimblast}, screencopy, allow" "${lib.getExe pkgs.grim}, screencopy, allow" "${lib.getExe pkgs.hyprpicker}, screencopy, allow" - "${lib.getExe pkgs.${namespace}.record_screen}, screencopy, allow" + "${lib.getExe pkgs.khanelinix.record_screen}, screencopy, allow" "${config.wayland.windowManager.hyprland.portalPackage}/libexec/.xdg-desktop-portal-hyprland-wrapped, screencopy, allow" "${lib.getExe config.programs.hyprlock.package}, screencopy, allow" ] diff --git a/modules/home/programs/graphical/wms/hyprland/variables.nix b/modules/home/programs/graphical/wms/hyprland/variables.nix index d82061a48..a454d1d46 100644 --- a/modules/home/programs/graphical/wms/hyprland/variables.nix +++ b/modules/home/programs/graphical/wms/hyprland/variables.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -20,9 +20,9 @@ let '' ); - screenshot-path = "/home/${config.${namespace}.user.name}/Pictures/screenshots"; + screenshot-path = "/home/${config.khanelinix.user.name}/Pictures/screenshots"; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { @@ -199,12 +199,12 @@ in "$looking-glass" = "${getExe pkgs.looking-glass-client}"; "$screen-locker" = "${getExe config.programs.hyprlock.package}"; "$window-inspector" = "${getExe pkgs.hyprprop}"; - "$screen-recorder" = "${getExe pkgs.${namespace}.record_screen}"; + "$screen-recorder" = "${getExe pkgs.khanelinix.record_screen}"; "$bar" = ".waybar-wrapped"; # screenshot commands "$notify-screenshot" = ''${getExe pkgs.libnotify} --icon "$file" "Screenshot Saved"''; - "$screenshot-path" = "/home/${config.${namespace}.user.name}/Pictures/screenshots"; + "$screenshot-path" = "/home/${config.khanelinix.user.name}/Pictures/screenshots"; "$grimblast_area_file" = ''${grimblast} --freeze --notify save area "${screenshot-path}/$(${getDateTime}).png"''; "$grimblast_active_file" = diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/default.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/default.nix index e589fd603..69a8db2ec 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/default.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/default.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { imports = [ diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/floating.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/floating.nix index bbfc81876..0a395e90b 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/floating.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/floating.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/fullscreen.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/fullscreen.nix index 3442d7360..a20c9e49e 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/fullscreen.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/fullscreen.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/idleinhibit.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/idleinhibit.nix index 8e1fb521f..2480e3591 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/idleinhibit.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/idleinhibit.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/input.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/input.nix index 7c14eb456..deffd0ed4 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/input.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/input.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/opacity.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/opacity.nix index d411213c2..54355c5f9 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/opacity.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/opacity.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/tearing.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/tearing.nix index a980b6822..d88c22b26 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/tearing.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/tearing.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/tiling.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/tiling.nix index cce9ce857..26f1f102c 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/tiling.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/tiling.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/windowrules/workspace.nix b/modules/home/programs/graphical/wms/hyprland/windowrules/workspace.nix index dc4331d4f..872055d51 100644 --- a/modules/home/programs/graphical/wms/hyprland/windowrules/workspace.nix +++ b/modules/home/programs/graphical/wms/hyprland/windowrules/workspace.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/hyprland/workspacerules.nix b/modules/home/programs/graphical/wms/hyprland/workspacerules.nix index 39ce73831..fcd856d17 100644 --- a/modules/home/programs/graphical/wms/hyprland/workspacerules.nix +++ b/modules/home/programs/graphical/wms/hyprland/workspacerules.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/sway/apps.nix b/modules/home/programs/graphical/wms/sway/apps.nix index 9ae320666..c41ec3e25 100644 --- a/modules/home/programs/graphical/wms/sway/apps.nix +++ b/modules/home/programs/graphical/wms/sway/apps.nix @@ -2,13 +2,13 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf getExe; - cfg = config.${namespace}.programs.graphical.wms.sway; + cfg = config.khanelinix.programs.graphical.wms.sway; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/graphical/wms/sway/binds.nix b/modules/home/programs/graphical/wms/sway/binds.nix index 16c1b8045..8b89f41d8 100644 --- a/modules/home/programs/graphical/wms/sway/binds.nix +++ b/modules/home/programs/graphical/wms/sway/binds.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + pkgs, ... }: @@ -13,7 +13,7 @@ let mkForce ; - cfg = config.${namespace}.programs.graphical.wms.sway; + cfg = config.khanelinix.programs.graphical.wms.sway; in { config = mkIf cfg.enable { @@ -35,7 +35,7 @@ in '' ); - screenshot-path = "/home/${config.${namespace}.user.name}/Pictures/screenshots"; + screenshot-path = "/home/${config.khanelinix.user.name}/Pictures/screenshots"; browser = "${getExe config.programs.firefox.package}"; explorer = "${getExe pkgs.nautilus}"; notification_center = "${getExe' config.services.swaync.package "swaync-client"}"; @@ -44,7 +44,7 @@ in screen-locker = "${getExe config.programs.swaylock.package}"; # TODO: package upstream # window-inspector = "${getExe pkgs.swayprop}"; - screen-recorder = "${getExe pkgs.${namespace}.record_screen}"; + screen-recorder = "${getExe pkgs.khanelinix.record_screen}"; # screenshot commands grimblast_area_file = ''file="${screenshot-path}/$(${getDateTime}).png" && ${grimblast} --freeze --notify save area "$file"''; diff --git a/modules/home/programs/graphical/wms/sway/default.nix b/modules/home/programs/graphical/wms/sway/default.nix index 45d79ff87..2bd10363f 100644 --- a/modules/home/programs/graphical/wms/sway/default.nix +++ b/modules/home/programs/graphical/wms/sway/default.nix @@ -2,18 +2,18 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf mkEnableOption getExe; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.programs.graphical.wms.sway; + cfg = config.khanelinix.programs.graphical.wms.sway; in { - options.${namespace}.programs.graphical.wms.sway = { + options.khanelinix.programs.graphical.wms.sway = { enable = mkEnableOption "sway"; enableDebug = mkEnableOption "debug mode"; appendConfig = lib.mkOption { @@ -47,7 +47,11 @@ in }; }; - imports = lib.snowfall.fs.get-non-default-nix-files ./.; + imports = [ + ./apps.nix + ./binds.nix + ./windowrules.nix + ]; config = mkIf cfg.enable { home = { diff --git a/modules/home/programs/graphical/wms/sway/windowrules.nix b/modules/home/programs/graphical/wms/sway/windowrules.nix index 66708f244..ab62a88d4 100644 --- a/modules/home/programs/graphical/wms/sway/windowrules.nix +++ b/modules/home/programs/graphical/wms/sway/windowrules.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.wms.sway; + cfg = config.khanelinix.programs.graphical.wms.sway; in { config = mkIf cfg.enable { diff --git a/modules/home/programs/terminal/default.nix b/modules/home/programs/terminal/default.nix new file mode 100644 index 000000000..9753b32f7 --- /dev/null +++ b/modules/home/programs/terminal/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./tools + ]; +} diff --git a/modules/home/programs/terminal/editors/helix/default.nix b/modules/home/programs/terminal/editors/helix/default.nix index 95ee3ffc3..95c4e079f 100644 --- a/modules/home/programs/terminal/editors/helix/default.nix +++ b/modules/home/programs/terminal/editors/helix/default.nix @@ -2,18 +2,20 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.programs.terminal.editors.helix; + cfg = config.khanelinix.programs.terminal.editors.helix; in { - imports = lib.snowfall.fs.get-non-default-nix-files ./.; + imports = [ + ./languages.nix + ]; - options.${namespace}.programs.terminal.editors.helix = { + options.khanelinix.programs.terminal.editors.helix = { enable = mkEnableOption "Helix"; }; diff --git a/modules/home/programs/terminal/editors/micro/default.nix b/modules/home/programs/terminal/editors/micro/default.nix index 3140d0473..5dbb9e3da 100644 --- a/modules/home/programs/terminal/editors/micro/default.nix +++ b/modules/home/programs/terminal/editors/micro/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.editors.micro; + cfg = config.khanelinix.programs.terminal.editors.micro; in { - options.${namespace}.programs.terminal.editors.micro = { + options.khanelinix.programs.terminal.editors.micro = { enable = lib.mkEnableOption "micro"; default = lib.mkEnableOption "setting micro as the session EDITOR"; }; diff --git a/modules/home/programs/terminal/editors/neovim/default.nix b/modules/home/programs/terminal/editors/neovim/default.nix index c39e2baf1..422c0cd7a 100644 --- a/modules/home/programs/terminal/editors/neovim/default.nix +++ b/modules/home/programs/terminal/editors/neovim/default.nix @@ -2,17 +2,17 @@ config, inputs, lib, - namespace, + osConfig ? { }, pkgs, system, ... }: let - inherit (lib.${namespace}) mkBoolOpt; + inherit (lib.khanelinix) mkBoolOpt; inherit (lib) mkOption types; - cfg = config.${namespace}.programs.terminal.editors.neovim; + cfg = config.khanelinix.programs.terminal.editors.neovim; khanelivimConfiguration = inputs.khanelivim.nixvimConfigurations.${system}.khanelivim; khanelivimConfigurationExtended = khanelivimConfiguration.extendModules { @@ -35,7 +35,7 @@ let # }; }; } - (lib.mkIf (osConfig.${namespace}.archetypes.wsl.enable or false) { + (lib.mkIf (osConfig.khanelinix.archetypes.wsl.enable or false) { plugins.yanky.enable = lib.mkForce false; plugins.yanky.settings.ring.permanent_wrapper.__raw = ''require("yanky.wrappers").remove_carriage_return''; @@ -58,7 +58,7 @@ let khanelivim = khanelivimConfigurationExtended.config.build.package; in { - options.${namespace}.programs.terminal.editors.neovim = { + options.khanelinix.programs.terminal.editors.neovim = { enable = lib.mkEnableOption "neovim"; default = mkBoolOpt true "Whether to set Neovim as the session EDITOR"; extraModules = mkOption { @@ -80,9 +80,9 @@ in ]; }; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { wakatime = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/.wakatime.cfg"; }; }; diff --git a/modules/home/programs/terminal/emulators/alacritty/default.nix b/modules/home/programs/terminal/emulators/alacritty/default.nix index 88dc0b883..97c4ee1b1 100644 --- a/modules/home/programs/terminal/emulators/alacritty/default.nix +++ b/modules/home/programs/terminal/emulators/alacritty/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.terminal.emulators.alacritty; + cfg = config.khanelinix.programs.terminal.emulators.alacritty; in { - options.${namespace}.programs.terminal.emulators.alacritty = with types; { + options.khanelinix.programs.terminal.emulators.alacritty = with types; { enable = lib.mkEnableOption "alacritty"; font = { normal = mkOpt str ( diff --git a/modules/home/programs/terminal/emulators/foot/default.nix b/modules/home/programs/terminal/emulators/foot/default.nix index 737606c91..5c60dd092 100644 --- a/modules/home/programs/terminal/emulators/foot/default.nix +++ b/modules/home/programs/terminal/emulators/foot/default.nix @@ -2,16 +2,16 @@ config, pkgs, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.emulators.foot; + cfg = config.khanelinix.programs.terminal.emulators.foot; in { - options.${namespace}.programs.terminal.emulators.foot = { + options.khanelinix.programs.terminal.emulators.foot = { enable = lib.mkEnableOption "foot"; }; diff --git a/modules/home/programs/terminal/emulators/ghostty/default.nix b/modules/home/programs/terminal/emulators/ghostty/default.nix index 495a720a0..829593f17 100644 --- a/modules/home/programs/terminal/emulators/ghostty/default.nix +++ b/modules/home/programs/terminal/emulators/ghostty/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.emulators.ghostty; + cfg = config.khanelinix.programs.terminal.emulators.ghostty; in { - options.${namespace}.programs.terminal.emulators.ghostty = { + options.khanelinix.programs.terminal.emulators.ghostty = { enable = lib.mkEnableOption "ghostty"; }; diff --git a/modules/home/programs/terminal/emulators/kitty/default.nix b/modules/home/programs/terminal/emulators/kitty/default.nix index f987b14c4..b4df2d445 100644 --- a/modules/home/programs/terminal/emulators/kitty/default.nix +++ b/modules/home/programs/terminal/emulators/kitty/default.nix @@ -2,14 +2,14 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.terminal.emulators.kitty; + cfg = config.khanelinix.programs.terminal.emulators.kitty; monaspaceArgon = if pkgs.stdenv.hostPlatform.isDarwin then "Monaspace Argon Var" else "MonaspaceArgon"; @@ -24,7 +24,7 @@ let removeSpaces = builtins.replaceStrings [ " " ] [ "" ]; in { - options.${namespace}.programs.terminal.emulators.kitty = with types; { + options.khanelinix.programs.terminal.emulators.kitty = with types; { enable = lib.mkEnableOption "kitty"; font = { normal = mkOpt str monaspaceNeon "Font to use for alacritty."; diff --git a/modules/home/programs/terminal/emulators/warp/default.nix b/modules/home/programs/terminal/emulators/warp/default.nix index 522d71292..d80e04dc6 100644 --- a/modules/home/programs/terminal/emulators/warp/default.nix +++ b/modules/home/programs/terminal/emulators/warp/default.nix @@ -2,17 +2,17 @@ config, pkgs, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.emulators.warp; + cfg = config.khanelinix.programs.terminal.emulators.warp; in { - options.${namespace}.programs.terminal.emulators.warp = { + options.khanelinix.programs.terminal.emulators.warp = { enable = lib.mkEnableOption "warp"; }; diff --git a/modules/home/programs/terminal/emulators/wezterm/default.nix b/modules/home/programs/terminal/emulators/wezterm/default.nix index ed9231a14..af6cce448 100644 --- a/modules/home/programs/terminal/emulators/wezterm/default.nix +++ b/modules/home/programs/terminal/emulators/wezterm/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.emulators.wezterm; - catppuccin = import (lib.snowfall.fs.get-file "modules/home/theme/catppuccin/colors.nix"); + cfg = config.khanelinix.programs.terminal.emulators.wezterm; + catppuccin = import (lib.getFile "modules/home/theme/catppuccin/colors.nix"); in { - options.${namespace}.programs.terminal.emulators.wezterm = { + options.khanelinix.programs.terminal.emulators.wezterm = { enable = lib.mkEnableOption "wezterm"; }; diff --git a/modules/home/programs/terminal/media/ncmpcpp/default.nix b/modules/home/programs/terminal/media/ncmpcpp/default.nix index 2e14c40e2..913ee4f9e 100644 --- a/modules/home/programs/terminal/media/ncmpcpp/default.nix +++ b/modules/home/programs/terminal/media/ncmpcpp/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.programs.terminal.media.ncmpcpp; + cfg = config.khanelinix.programs.terminal.media.ncmpcpp; in { - options.${namespace}.programs.terminal.media.ncmpcpp = { + options.khanelinix.programs.terminal.media.ncmpcpp = { enable = mkEnableOption "ncmpcpp"; }; @@ -46,9 +46,7 @@ in } ]; - mpdMusicDir = - mkIf config.${namespace}.services.mpd.enable - config.${namespace}.services.mpd.musicDirectory; + mpdMusicDir = mkIf config.khanelinix.services.mpd.enable config.khanelinix.services.mpd.musicDirectory; settings = { # TODO: see how much UI customization can be done diff --git a/modules/home/programs/terminal/media/ncspot/default.nix b/modules/home/programs/terminal/media/ncspot/default.nix index c56308c25..454bc657d 100644 --- a/modules/home/programs/terminal/media/ncspot/default.nix +++ b/modules/home/programs/terminal/media/ncspot/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.programs.terminal.media.ncspot; + cfg = config.khanelinix.programs.terminal.media.ncspot; in { - options.${namespace}.programs.terminal.media.ncspot = { + options.khanelinix.programs.terminal.media.ncspot = { enable = mkEnableOption "ncspot"; }; diff --git a/modules/home/programs/terminal/media/rmpc/default.nix b/modules/home/programs/terminal/media/rmpc/default.nix index af6f9adc0..2f5ae200b 100644 --- a/modules/home/programs/terminal/media/rmpc/default.nix +++ b/modules/home/programs/terminal/media/rmpc/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.programs.terminal.media.rmpc; + cfg = config.khanelinix.programs.terminal.media.rmpc; in { - options.${namespace}.programs.terminal.media.rmpc = { + options.khanelinix.programs.terminal.media.rmpc = { enable = mkEnableOption "rmpc"; }; diff --git a/modules/home/programs/terminal/shells/bash/default.nix b/modules/home/programs/terminal/shells/bash/default.nix index 897ca8de5..9d1fa463b 100644 --- a/modules/home/programs/terminal/shells/bash/default.nix +++ b/modules/home/programs/terminal/shells/bash/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.shell.bash; + cfg = config.khanelinix.programs.terminal.shell.bash; in { - options.${namespace}.programs.terminal.shell.bash = { + options.khanelinix.programs.terminal.shell.bash = { enable = lib.mkEnableOption "bash"; }; diff --git a/modules/home/programs/terminal/shells/fish/default.nix b/modules/home/programs/terminal/shells/fish/default.nix index c684007c8..cdf139854 100644 --- a/modules/home/programs/terminal/shells/fish/default.nix +++ b/modules/home/programs/terminal/shells/fish/default.nix @@ -3,16 +3,16 @@ lib, pkgs, osConfig ? { }, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.shell.fish; + cfg = config.khanelinix.programs.terminal.shell.fish; in { - options.${namespace}.programs.terminal.shell.fish = { + options.khanelinix.programs.terminal.shell.fish = { enable = lib.mkEnableOption "fish"; }; diff --git a/modules/home/programs/terminal/shells/nushell/default.nix b/modules/home/programs/terminal/shells/nushell/default.nix index 7fb44bdc3..821e4ef0c 100644 --- a/modules/home/programs/terminal/shells/nushell/default.nix +++ b/modules/home/programs/terminal/shells/nushell/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.programs.terminal.shell.nushell; + cfg = config.khanelinix.programs.terminal.shell.nushell; in { - options.${namespace}.programs.terminal.shell.nushell = { + options.khanelinix.programs.terminal.shell.nushell = { enable = mkEnableOption "nushell"; }; diff --git a/modules/home/programs/terminal/shells/zsh/default.nix b/modules/home/programs/terminal/shells/zsh/default.nix index 4b7bab00b..658c9b17b 100644 --- a/modules/home/programs/terminal/shells/zsh/default.nix +++ b/modules/home/programs/terminal/shells/zsh/default.nix @@ -2,21 +2,21 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; inherit (lib.strings) fileContents; - cfg = config.${namespace}.programs.terminal.shell.zsh; + cfg = config.khanelinix.programs.terminal.shell.zsh; in { imports = [ ./opts.nix ]; - options.${namespace}.programs.terminal.shell.zsh = { + options.khanelinix.programs.terminal.shell.zsh = { enable = mkEnableOption "ZSH"; }; diff --git a/modules/home/programs/terminal/shells/zsh/opts.nix b/modules/home/programs/terminal/shells/zsh/opts.nix index 19050433f..59efebe76 100644 --- a/modules/home/programs/terminal/shells/zsh/opts.nix +++ b/modules/home/programs/terminal/shells/zsh/opts.nix @@ -1,11 +1,11 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.programs.terminal.shell.zsh; + cfg = config.khanelinix.programs.terminal.shell.zsh; in { config = lib.mkIf cfg.enable { diff --git a/modules/home/programs/terminal/social/slack-term/default.nix b/modules/home/programs/terminal/social/slack-term/default.nix index 757993984..51cb9a85c 100644 --- a/modules/home/programs/terminal/social/slack-term/default.nix +++ b/modules/home/programs/terminal/social/slack-term/default.nix @@ -2,26 +2,26 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.social.slack-term; + cfg = config.khanelinix.programs.terminal.social.slack-term; in { - options.${namespace}.programs.terminal.social.slack-term = { + options.khanelinix.programs.terminal.social.slack-term = { enable = lib.mkEnableOption "slack-term"; }; config = mkIf cfg.enable { home.packages = [ pkgs.slack-term ]; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { slack-term = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/.config/slack-term/config"; }; }; diff --git a/modules/home/programs/terminal/social/twitch-tui/default.nix b/modules/home/programs/terminal/social/twitch-tui/default.nix index e204eadf2..3103eb1e3 100644 --- a/modules/home/programs/terminal/social/twitch-tui/default.nix +++ b/modules/home/programs/terminal/social/twitch-tui/default.nix @@ -2,25 +2,25 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let - cfg = config.${namespace}.programs.terminal.social.twitch-tui; + cfg = config.khanelinix.programs.terminal.social.twitch-tui; in { - options.${namespace}.programs.terminal.social.twitch-tui = { + options.khanelinix.programs.terminal.social.twitch-tui = { enable = lib.mkEnableOption "twitch-tui"; }; config = lib.mkIf cfg.enable { home.packages = [ pkgs.twitch-tui ]; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { twitch-tui = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/.config/twt/config.toml"; }; }; diff --git a/modules/home/programs/terminal/tools/_1password-cli/default.nix b/modules/home/programs/terminal/tools/_1password-cli/default.nix index 7b6ae7da0..465e97dba 100644 --- a/modules/home/programs/terminal/tools/_1password-cli/default.nix +++ b/modules/home/programs/terminal/tools/_1password-cli/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools._1password-cli; + cfg = config.khanelinix.programs.terminal.tools._1password-cli; in { - options.${namespace}.programs.terminal.tools._1password-cli = { + options.khanelinix.programs.terminal.tools._1password-cli = { enable = lib.mkEnableOption "1password-cli"; enableSshSocket = lib.mkEnableOption "ssh-agent socket"; }; diff --git a/modules/home/programs/terminal/tools/act/default.nix b/modules/home/programs/terminal/tools/act/default.nix index 7d98b9d00..54b56fea7 100644 --- a/modules/home/programs/terminal/tools/act/default.nix +++ b/modules/home/programs/terminal/tools/act/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.act; + cfg = config.khanelinix.programs.terminal.tools.act; in { - options.${namespace}.programs.terminal.tools.act = { + options.khanelinix.programs.terminal.tools.act = { enable = lib.mkEnableOption "act"; }; diff --git a/modules/home/programs/terminal/tools/atuin/default.nix b/modules/home/programs/terminal/tools/atuin/default.nix index 0b07e651c..f64282b02 100644 --- a/modules/home/programs/terminal/tools/atuin/default.nix +++ b/modules/home/programs/terminal/tools/atuin/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.atuin; + cfg = config.khanelinix.programs.terminal.tools.atuin; in { - options.${namespace}.programs.terminal.tools.atuin = { + options.khanelinix.programs.terminal.tools.atuin = { enable = lib.mkEnableOption "atuin"; enableDebug = lib.mkEnableOption "atuin daemon debug logging"; }; diff --git a/modules/home/programs/terminal/tools/azure/default.nix b/modules/home/programs/terminal/tools/azure/default.nix index 2c98262ae..75ba2b4e6 100644 --- a/modules/home/programs/terminal/tools/azure/default.nix +++ b/modules/home/programs/terminal/tools/azure/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.azure; + cfg = config.khanelinix.programs.terminal.tools.azure; in { - options.${namespace}.programs.terminal.tools.azure = { + options.khanelinix.programs.terminal.tools.azure = { enable = lib.mkEnableOption "common Azure utilities"; }; diff --git a/modules/home/programs/terminal/tools/bat/default.nix b/modules/home/programs/terminal/tools/bat/default.nix index c0f18b60e..36b0305f0 100644 --- a/modules/home/programs/terminal/tools/bat/default.nix +++ b/modules/home/programs/terminal/tools/bat/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) getExe mkIf; - cfg = config.${namespace}.programs.terminal.tools.bat; + cfg = config.khanelinix.programs.terminal.tools.bat; in { - options.${namespace}.programs.terminal.tools.bat = { + options.khanelinix.programs.terminal.tools.bat = { enable = lib.mkEnableOption "bat"; }; diff --git a/modules/home/programs/terminal/tools/bottom/default.nix b/modules/home/programs/terminal/tools/bottom/default.nix index 55ae1f742..5fe852ec2 100644 --- a/modules/home/programs/terminal/tools/bottom/default.nix +++ b/modules/home/programs/terminal/tools/bottom/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.bottom; + cfg = config.khanelinix.programs.terminal.tools.bottom; in { - options.${namespace}.programs.terminal.tools.bottom = { + options.khanelinix.programs.terminal.tools.bottom = { enable = lib.mkEnableOption "bottom"; }; diff --git a/modules/home/programs/terminal/tools/btop/default.nix b/modules/home/programs/terminal/tools/btop/default.nix index 7778ceb87..fc9341d5e 100644 --- a/modules/home/programs/terminal/tools/btop/default.nix +++ b/modules/home/programs/terminal/tools/btop/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.btop; + cfg = config.khanelinix.programs.terminal.tools.btop; in { - options.${namespace}.programs.terminal.tools.btop = { + options.khanelinix.programs.terminal.tools.btop = { enable = lib.mkEnableOption "btop"; }; diff --git a/modules/home/programs/terminal/tools/carapace/default.nix b/modules/home/programs/terminal/tools/carapace/default.nix index db986de21..3e0251b6d 100644 --- a/modules/home/programs/terminal/tools/carapace/default.nix +++ b/modules/home/programs/terminal/tools/carapace/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.carapace; + cfg = config.khanelinix.programs.terminal.tools.carapace; in { - options.${namespace}.programs.terminal.tools.carapace = { + options.khanelinix.programs.terminal.tools.carapace = { enable = lib.mkEnableOption "carapace"; }; diff --git a/modules/home/programs/terminal/tools/cava/default.nix b/modules/home/programs/terminal/tools/cava/default.nix index f0dfdeb90..ee0993eee 100644 --- a/modules/home/programs/terminal/tools/cava/default.nix +++ b/modules/home/programs/terminal/tools/cava/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.cava; + cfg = config.khanelinix.programs.terminal.tools.cava; in { - options.${namespace}.programs.terminal.tools.cava = { + options.khanelinix.programs.terminal.tools.cava = { enable = lib.mkEnableOption "cava"; }; diff --git a/modules/home/programs/terminal/tools/colorls/default.nix b/modules/home/programs/terminal/tools/colorls/default.nix index e9e5fe5ec..ee927d15d 100644 --- a/modules/home/programs/terminal/tools/colorls/default.nix +++ b/modules/home/programs/terminal/tools/colorls/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.colorls; + cfg = config.khanelinix.programs.terminal.tools.colorls; in { - options.${namespace}.programs.terminal.tools.colorls = { + options.khanelinix.programs.terminal.tools.colorls = { enable = lib.mkEnableOption "colorls"; }; diff --git a/modules/home/programs/terminal/tools/comma/default.nix b/modules/home/programs/terminal/tools/comma/default.nix index de3c3278f..97b5ef69d 100644 --- a/modules/home/programs/terminal/tools/comma/default.nix +++ b/modules/home/programs/terminal/tools/comma/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.comma; + cfg = config.khanelinix.programs.terminal.tools.comma; in { - options.${namespace}.programs.terminal.tools.comma = { + options.khanelinix.programs.terminal.tools.comma = { enable = lib.mkEnableOption "comma"; }; diff --git a/modules/home/programs/terminal/tools/default.nix b/modules/home/programs/terminal/tools/default.nix new file mode 100644 index 000000000..d8d507c13 --- /dev/null +++ b/modules/home/programs/terminal/tools/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./bat + ]; +} diff --git a/modules/home/programs/terminal/tools/dircolors/default.nix b/modules/home/programs/terminal/tools/dircolors/default.nix index 4dfd47dde..99bfdf404 100644 --- a/modules/home/programs/terminal/tools/dircolors/default.nix +++ b/modules/home/programs/terminal/tools/dircolors/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.dircolors; + cfg = config.khanelinix.programs.terminal.tools.dircolors; in { - options.${namespace}.programs.terminal.tools.dircolors = { + options.khanelinix.programs.terminal.tools.dircolors = { enable = lib.mkEnableOption "dircolors"; }; diff --git a/modules/home/programs/terminal/tools/direnv/default.nix b/modules/home/programs/terminal/tools/direnv/default.nix index afea18199..4bf33b4b9 100644 --- a/modules/home/programs/terminal/tools/direnv/default.nix +++ b/modules/home/programs/terminal/tools/direnv/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.programs.terminal.tools.direnv; + cfg = config.khanelinix.programs.terminal.tools.direnv; in { - options.${namespace}.programs.terminal.tools.direnv = { + options.khanelinix.programs.terminal.tools.direnv = { enable = lib.mkEnableOption "direnv"; }; diff --git a/modules/home/programs/terminal/tools/eza/default.nix b/modules/home/programs/terminal/tools/eza/default.nix index 04ed6cf8c..45bea0c46 100644 --- a/modules/home/programs/terminal/tools/eza/default.nix +++ b/modules/home/programs/terminal/tools/eza/default.nix @@ -2,15 +2,15 @@ config, lib, pkgs, - namespace, + ... }: let - cfg = config.${namespace}.programs.terminal.tools.eza; + cfg = config.khanelinix.programs.terminal.tools.eza; in { - options.${namespace}.programs.terminal.tools.eza = { + options.khanelinix.programs.terminal.tools.eza = { enable = lib.mkEnableOption "eza"; }; diff --git a/modules/home/programs/terminal/tools/fastfetch/default.nix b/modules/home/programs/terminal/tools/fastfetch/default.nix index 425f0361f..696d13e0e 100644 --- a/modules/home/programs/terminal/tools/fastfetch/default.nix +++ b/modules/home/programs/terminal/tools/fastfetch/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.fastfetch; + cfg = config.khanelinix.programs.terminal.tools.fastfetch; in { - options.${namespace}.programs.terminal.tools.fastfetch = { + options.khanelinix.programs.terminal.tools.fastfetch = { enable = lib.mkEnableOption "fastfetch"; }; diff --git a/modules/home/programs/terminal/tools/fup-repl/default.nix b/modules/home/programs/terminal/tools/fup-repl/default.nix deleted file mode 100644 index 67576e1df..000000000 --- a/modules/home/programs/terminal/tools/fup-repl/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - lib, - pkgs, - config, - namespace, - ... -}: -let - inherit (lib) mkIf getExe'; - - cfg = config.${namespace}.programs.terminal.tools.fup-repl; - - fup-repl = pkgs.writeShellScriptBin "fup-repl" '' - ${getExe' pkgs.fup-repl "repl"} ''${@} - ''; -in -{ - options.${namespace}.programs.terminal.tools.fup-repl = { - enable = lib.mkEnableOption "fup-repl or not"; - }; - - config = mkIf cfg.enable { home.packages = [ fup-repl ]; }; -} diff --git a/modules/home/programs/terminal/tools/fzf/default.nix b/modules/home/programs/terminal/tools/fzf/default.nix index 619558921..9533ad9f8 100644 --- a/modules/home/programs/terminal/tools/fzf/default.nix +++ b/modules/home/programs/terminal/tools/fzf/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.fzf; + cfg = config.khanelinix.programs.terminal.tools.fzf; in { - options.${namespace}.programs.terminal.tools.fzf = { + options.khanelinix.programs.terminal.tools.fzf = { enable = lib.mkEnableOption "fzf"; }; diff --git a/modules/home/programs/terminal/tools/gh/default.nix b/modules/home/programs/terminal/tools/gh/default.nix index 90fdc9b5b..2d471341c 100644 --- a/modules/home/programs/terminal/tools/gh/default.nix +++ b/modules/home/programs/terminal/tools/gh/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -12,12 +12,12 @@ let mkOption types ; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.programs.terminal.tools.gh; + cfg = config.khanelinix.programs.terminal.tools.gh; in { - options.${namespace}.programs.terminal.tools.gh = { + options.khanelinix.programs.terminal.tools.gh = { enable = mkEnableOption "the gh CLI tool"; gitCredentialHelper = { diff --git a/modules/home/programs/terminal/tools/git-crypt/default.nix b/modules/home/programs/terminal/tools/git-crypt/default.nix index 99dfa93ff..dd0f78dea 100644 --- a/modules/home/programs/terminal/tools/git-crypt/default.nix +++ b/modules/home/programs/terminal/tools/git-crypt/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.git-crypt; + cfg = config.khanelinix.programs.terminal.tools.git-crypt; in { - options.${namespace}.programs.terminal.tools.git-crypt = { + options.khanelinix.programs.terminal.tools.git-crypt = { enable = lib.mkEnableOption "git-crypt"; }; diff --git a/modules/home/programs/terminal/tools/git/default.nix b/modules/home/programs/terminal/tools/git/default.nix index cdc63d1bf..540de1d9c 100644 --- a/modules/home/programs/terminal/tools/git/default.nix +++ b/modules/home/programs/terminal/tools/git/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: @@ -14,17 +14,17 @@ let mkForce getExe' ; - inherit (lib.${namespace}) mkOpt enabled; - inherit (config.${namespace}) user; + inherit (lib.khanelinix) mkOpt enabled; + inherit (config.khanelinix) user; - cfg = config.${namespace}.programs.terminal.tools.git; + cfg = config.khanelinix.programs.terminal.tools.git; aliases = import ./aliases.nix; ignores = import ./ignores.nix; shell-aliases = import ./shell-aliases.nix { inherit config lib pkgs; }; tokenExports = - lib.optionalString (osConfig.${namespace}.security.sops.enable or false) # Bash + lib.optionalString (osConfig.khanelinix.security.sops.enable or false) # Bash '' if [ -f ${config.sops.secrets."github/access-token".path} ]; then GITHUB_TOKEN="$(cat ${config.sops.secrets."github/access-token".path})" @@ -35,7 +35,7 @@ let ''; in { - options.${namespace}.programs.terminal.tools.git = { + options.khanelinix.programs.terminal.tools.git = { enable = mkEnableOption "Git"; includes = mkOpt (types.listOf types.attrs) [ ] "Git includeIf paths and conditions."; signByDefault = mkOpt types.bool true "Whether to sign commits by default."; @@ -146,7 +146,7 @@ in safe = { directory = [ - "~/${namespace}/" + "~/khanelinix/" "/etc/nixos" "/etc/nix-darwin" ]; @@ -183,9 +183,9 @@ in inherit (shell-aliases) shellAliases; }; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { "github/access-token" = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/.config/gh/access-token"; }; }; diff --git a/modules/home/programs/terminal/tools/glxinfo/default.nix b/modules/home/programs/terminal/tools/glxinfo/default.nix index f3ffb83db..a1edec612 100644 --- a/modules/home/programs/terminal/tools/glxinfo/default.nix +++ b/modules/home/programs/terminal/tools/glxinfo/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.glxinfo; + cfg = config.khanelinix.programs.terminal.tools.glxinfo; in { - options.${namespace}.programs.terminal.tools.glxinfo = { + options.khanelinix.programs.terminal.tools.glxinfo = { enable = lib.mkEnableOption "glxinfo"; }; diff --git a/modules/home/programs/terminal/tools/go/default.nix b/modules/home/programs/terminal/tools/go/default.nix index bd33a61de..81ea555d6 100644 --- a/modules/home/programs/terminal/tools/go/default.nix +++ b/modules/home/programs/terminal/tools/go/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.go; + cfg = config.khanelinix.programs.terminal.tools.go; in { - options.${namespace}.programs.terminal.tools.go = { + options.khanelinix.programs.terminal.tools.go = { enable = lib.mkEnableOption "Go support"; }; diff --git a/modules/home/programs/terminal/tools/jq/default.nix b/modules/home/programs/terminal/tools/jq/default.nix index ed7b5d548..a001d2b18 100644 --- a/modules/home/programs/terminal/tools/jq/default.nix +++ b/modules/home/programs/terminal/tools/jq/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.jq; + cfg = config.khanelinix.programs.terminal.tools.jq; in { - options.${namespace}.programs.terminal.tools.jq = { + options.khanelinix.programs.terminal.tools.jq = { enable = lib.mkEnableOption "jq"; }; diff --git a/modules/home/programs/terminal/tools/jujutsu/default.nix b/modules/home/programs/terminal/tools/jujutsu/default.nix index 257795f53..69a598873 100644 --- a/modules/home/programs/terminal/tools/jujutsu/default.nix +++ b/modules/home/programs/terminal/tools/jujutsu/default.nix @@ -2,18 +2,18 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkEnableOption mkIf; - inherit (lib.${namespace}) mkOpt enabled; - inherit (config.${namespace}) user; + inherit (lib.khanelinix) mkOpt enabled; + inherit (config.khanelinix) user; - cfg = config.${namespace}.programs.terminal.tools.jujutsu; + cfg = config.khanelinix.programs.terminal.tools.jujutsu; in { - options.${namespace}.programs.terminal.tools.jujutsu = { + options.khanelinix.programs.terminal.tools.jujutsu = { enable = mkEnableOption "jujutsu"; signByDefault = mkOpt types.bool true "Whether to sign commits by default."; signingKey = diff --git a/modules/home/programs/terminal/tools/k9s/default.nix b/modules/home/programs/terminal/tools/k9s/default.nix index 7461e7e66..fd6d842d6 100644 --- a/modules/home/programs/terminal/tools/k9s/default.nix +++ b/modules/home/programs/terminal/tools/k9s/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.k9s; + cfg = config.khanelinix.programs.terminal.tools.k9s; in { - options.${namespace}.programs.terminal.tools.k9s = { + options.khanelinix.programs.terminal.tools.k9s = { enable = lib.mkEnableOption "k9s"; }; diff --git a/modules/home/programs/terminal/tools/lazydocker/default.nix b/modules/home/programs/terminal/tools/lazydocker/default.nix index 64779e274..ee494b127 100644 --- a/modules/home/programs/terminal/tools/lazydocker/default.nix +++ b/modules/home/programs/terminal/tools/lazydocker/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.lazydocker; + cfg = config.khanelinix.programs.terminal.tools.lazydocker; in { - options.${namespace}.programs.terminal.tools.lazydocker = { + options.khanelinix.programs.terminal.tools.lazydocker = { enable = lib.mkEnableOption "lazydocker"; }; diff --git a/modules/home/programs/terminal/tools/lazygit/default.nix b/modules/home/programs/terminal/tools/lazygit/default.nix index f31b74d2a..38c2d4795 100644 --- a/modules/home/programs/terminal/tools/lazygit/default.nix +++ b/modules/home/programs/terminal/tools/lazygit/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.lazygit; + cfg = config.khanelinix.programs.terminal.tools.lazygit; in { - options.${namespace}.programs.terminal.tools.lazygit = { + options.khanelinix.programs.terminal.tools.lazygit = { enable = lib.mkEnableOption "lazygit"; }; @@ -21,7 +21,7 @@ in settings = { gui = { authorColors = { - "${config.${namespace}.user.fullName}" = "#c6a0f6"; + "${config.khanelinix.user.fullName}" = "#c6a0f6"; "dependabot[bot]" = "#eed49f"; }; branchColors = { diff --git a/modules/home/programs/terminal/tools/lsd/default.nix b/modules/home/programs/terminal/tools/lsd/default.nix index 1ea66d909..a28e88875 100644 --- a/modules/home/programs/terminal/tools/lsd/default.nix +++ b/modules/home/programs/terminal/tools/lsd/default.nix @@ -2,13 +2,13 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.lsd; + cfg = config.khanelinix.programs.terminal.tools.lsd; aliases = { ls = "${lib.getExe pkgs.lsd} -al"; @@ -17,7 +17,7 @@ let }; in { - options.${namespace}.programs.terminal.tools.lsd = { + options.khanelinix.programs.terminal.tools.lsd = { enable = lib.mkEnableOption "lsd"; }; diff --git a/modules/home/programs/terminal/tools/navi/default.nix b/modules/home/programs/terminal/tools/navi/default.nix index a061031a4..c1c74e372 100644 --- a/modules/home/programs/terminal/tools/navi/default.nix +++ b/modules/home/programs/terminal/tools/navi/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.navi; + cfg = config.khanelinix.programs.terminal.tools.navi; in { - options.${namespace}.programs.terminal.tools.navi = { + options.khanelinix.programs.terminal.tools.navi = { enable = lib.mkEnableOption "navi"; }; diff --git a/modules/home/programs/terminal/tools/nh/default.nix b/modules/home/programs/terminal/tools/nh/default.nix index a449871a0..a8fcd2adc 100644 --- a/modules/home/programs/terminal/tools/nh/default.nix +++ b/modules/home/programs/terminal/tools/nh/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.nh; + cfg = config.khanelinix.programs.terminal.tools.nh; in { - options.${namespace}.programs.terminal.tools.nh = { + options.khanelinix.programs.terminal.tools.nh = { enable = lib.mkEnableOption "nh"; }; diff --git a/modules/home/programs/terminal/tools/oh-my-posh/default.nix b/modules/home/programs/terminal/tools/oh-my-posh/default.nix index d9ad98934..9a7b71faa 100644 --- a/modules/home/programs/terminal/tools/oh-my-posh/default.nix +++ b/modules/home/programs/terminal/tools/oh-my-posh/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.oh-my-posh; + cfg = config.khanelinix.programs.terminal.tools.oh-my-posh; in { - options.${namespace}.programs.terminal.tools.oh-my-posh = { + options.khanelinix.programs.terminal.tools.oh-my-posh = { enable = lib.mkEnableOption "oh-my-posh"; }; diff --git a/modules/home/programs/terminal/tools/prisma/default.nix b/modules/home/programs/terminal/tools/prisma/default.nix index d3dd39b55..8ac002ebe 100644 --- a/modules/home/programs/terminal/tools/prisma/default.nix +++ b/modules/home/programs/terminal/tools/prisma/default.nix @@ -2,17 +2,17 @@ lib, pkgs, config, - namespace, + ... }: let inherit (lib) types mkIf getExe'; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.terminal.tools.prisma; + cfg = config.khanelinix.programs.terminal.tools.prisma; in { - options.${namespace}.programs.terminal.tools.prisma = with types; { + options.khanelinix.programs.terminal.tools.prisma = with types; { enable = lib.mkEnableOption "Prisma"; pkgs = { npm = mkOpt package pkgs.nodePackages.prisma "The NPM package to install"; diff --git a/modules/home/programs/terminal/tools/ripgrep/default.nix b/modules/home/programs/terminal/tools/ripgrep/default.nix index 647b0d230..a0708ec7e 100644 --- a/modules/home/programs/terminal/tools/ripgrep/default.nix +++ b/modules/home/programs/terminal/tools/ripgrep/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) getExe mkForce mkIf; - cfg = config.${namespace}.programs.terminal.tools.ripgrep; + cfg = config.khanelinix.programs.terminal.tools.ripgrep; in { - options.${namespace}.programs.terminal.tools.ripgrep = { + options.khanelinix.programs.terminal.tools.ripgrep = { enable = lib.mkEnableOption "ripgrep"; }; diff --git a/modules/home/programs/terminal/tools/run-as-service/default.nix b/modules/home/programs/terminal/tools/run-as-service/default.nix index b0b6396aa..e99f061b9 100644 --- a/modules/home/programs/terminal/tools/run-as-service/default.nix +++ b/modules/home/programs/terminal/tools/run-as-service/default.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + pkgs, ... }: @@ -10,7 +10,7 @@ let inherit (lib.strings) optionalString concatStringsSep; inherit (lib.attrsets) mapAttrsToList; - cfg = config.${namespace}.programs.terminal.tools.run-as-service; + cfg = config.khanelinix.programs.terminal.tools.run-as-service; sessionPath = optionalString (config.home.sessionPath != [ ]) '' export PATH=${concatStringsSep ":" config.home.sessionPath}:$PATH @@ -40,7 +40,7 @@ let ''; in { - options.${namespace}.programs.terminal.tools.run-as-service = { + options.khanelinix.programs.terminal.tools.run-as-service = { enable = lib.mkEnableOption "systemd-run support"; }; config = mkIf cfg.enable { home.packages = [ run-as-service ]; }; diff --git a/modules/home/programs/terminal/tools/ssh/default.nix b/modules/home/programs/terminal/tools/ssh/default.nix index 5494773fb..0284868d8 100644 --- a/modules/home/programs/terminal/tools/ssh/default.nix +++ b/modules/home/programs/terminal/tools/ssh/default.nix @@ -1,8 +1,7 @@ { config, lib, - inputs, - namespace, + pkgs, ... }: @@ -13,11 +12,11 @@ let mkIf foldl ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.terminal.tools.ssh; + cfg = config.khanelinix.programs.terminal.tools.ssh; - user = config.users.users.${config.${namespace}.user.name}; + user = config.users.users.${config.khanelinix.user.name}; user-id = builtins.toString user.uid; authorizedKeys = [ @@ -32,15 +31,15 @@ let "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEqCiZgjOmhsBTAFD0LbuwpfeuCnwXwMl2wByxC1UiRt" ]; - other-hosts = lib.filterAttrs (_key: host: (host.config.${namespace}.user.name or null) != null) ( - (inputs.self.nixosConfigurations or { }) // (inputs.self.darwinConfigurations or { }) - ); + # Note: Removed circular dependency on inputs.self configurations + # This should be configured statically or through other means + other-hosts = { }; other-hosts-config = lib.foldl' ( acc: name: let remote = other-hosts.${name}; - remote-user-name = remote.config.${namespace}.user.name; + remote-user-name = remote.config.khanelinix.user.name; remote-user-id = builtins.toString remote.config.users.users.${remote-user-name}.uid; in acc @@ -49,7 +48,7 @@ let hostname = "${name}.local"; user = remote-user-name; forwardAgent = true; - port = lib.mkIf (builtins.hasAttr name inputs.self.nixosConfigurations) cfg.port; + inherit (cfg) port; remoteForwards = lib.optionals (config.services.gpg-agent.enable && remote.config.services.gpg-agent.enable) [ @@ -61,7 +60,7 @@ let ) { } (builtins.attrNames other-hosts); in { - options.${namespace}.programs.terminal.tools.ssh = with types; { + options.khanelinix.programs.terminal.tools.ssh = with types; { enable = lib.mkEnableOption "ssh support"; authorizedKeys = mkOpt (listOf str) authorizedKeys "The public keys to apply."; extraConfig = mkOpt str "" "Extra configuration to apply."; diff --git a/modules/home/programs/terminal/tools/superfile/default.nix b/modules/home/programs/terminal/tools/superfile/default.nix index 0401eb2f4..1069a0e6b 100644 --- a/modules/home/programs/terminal/tools/superfile/default.nix +++ b/modules/home/programs/terminal/tools/superfile/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.superfile; + cfg = config.khanelinix.programs.terminal.tools.superfile; in { - options.${namespace}.programs.terminal.tools.superfile = { + options.khanelinix.programs.terminal.tools.superfile = { enable = lib.mkEnableOption "superfile"; }; diff --git a/modules/home/programs/terminal/tools/tmux/default.nix b/modules/home/programs/terminal/tools/tmux/default.nix index 9dd847b55..35b525be6 100644 --- a/modules/home/programs/terminal/tools/tmux/default.nix +++ b/modules/home/programs/terminal/tools/tmux/default.nix @@ -2,14 +2,14 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.tmux; + cfg = config.khanelinix.programs.terminal.tools.tmux; plugins = with pkgs.tmuxPlugins; [ { @@ -33,7 +33,7 @@ let ]; in { - options.${namespace}.programs.terminal.tools.tmux = { + options.khanelinix.programs.terminal.tools.tmux = { enable = lib.mkEnableOption "tmux"; }; @@ -71,7 +71,7 @@ in ${lib.optionalString ( config.programs.tmux.sensibleOnTop && (osConfig != { }) - ) "set -g default-command ${osConfig.users.users.${config.${namespace}.user.name}.shell}"} + ) "set -g default-command ${osConfig.users.users.${config.khanelinix.user.name}.shell}"} ''; inherit plugins; diff --git a/modules/home/programs/terminal/tools/topgrade/default.nix b/modules/home/programs/terminal/tools/topgrade/default.nix index 9100c5f1e..774cc54a6 100644 --- a/modules/home/programs/terminal/tools/topgrade/default.nix +++ b/modules/home/programs/terminal/tools/topgrade/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.topgrade; + cfg = config.khanelinix.programs.terminal.tools.topgrade; in { - options.${namespace}.programs.terminal.tools.topgrade = { + options.khanelinix.programs.terminal.tools.topgrade = { enable = lib.mkEnableOption "topgrade"; }; diff --git a/modules/home/programs/terminal/tools/wine/default.nix b/modules/home/programs/terminal/tools/wine/default.nix index 4c5a00365..bbddc076b 100644 --- a/modules/home/programs/terminal/tools/wine/default.nix +++ b/modules/home/programs/terminal/tools/wine/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.wine; + cfg = config.khanelinix.programs.terminal.tools.wine; in { - options.${namespace}.programs.terminal.tools.wine = { + options.khanelinix.programs.terminal.tools.wine = { enable = lib.mkEnableOption "Wine"; }; diff --git a/modules/home/programs/terminal/tools/yazi/default.nix b/modules/home/programs/terminal/tools/yazi/default.nix index e813b5497..862e5d8da 100644 --- a/modules/home/programs/terminal/tools/yazi/default.nix +++ b/modules/home/programs/terminal/tools/yazi/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + osConfig ? { }, inputs, ... @@ -11,10 +11,10 @@ let inherit (lib) mkIf; inherit (inputs) yazi-flavors; - cfg = config.${namespace}.programs.terminal.tools.yazi; + cfg = config.khanelinix.programs.terminal.tools.yazi; in { - options.${namespace}.programs.terminal.tools.yazi = { + options.khanelinix.programs.terminal.tools.yazi = { enable = lib.mkEnableOption "yazi"; }; @@ -49,7 +49,6 @@ in inherit config lib - namespace pkgs ; }) @@ -103,7 +102,6 @@ in inherit config lib - namespace osConfig pkgs ; diff --git a/modules/home/programs/terminal/tools/yazi/keymap/manager.nix b/modules/home/programs/terminal/tools/yazi/keymap/manager.nix index 4ec559e31..311957eb9 100644 --- a/modules/home/programs/terminal/tools/yazi/keymap/manager.nix +++ b/modules/home/programs/terminal/tools/yazi/keymap/manager.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + pkgs, ... }: @@ -12,7 +12,6 @@ let inherit config lib - namespace pkgs ; }; @@ -95,7 +94,7 @@ in run = "plugin ouch"; desc = "Compress with outch"; } - ++ lib.optional config.${namespace}.suites.wlroots.enable { + ++ lib.optional config.khanelinix.suites.wlroots.enable { on = [ "y" ]; run = [ ''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list'' diff --git a/modules/home/programs/terminal/tools/yazi/keymap/manager/goto.nix b/modules/home/programs/terminal/tools/yazi/keymap/manager/goto.nix index 8c0ad35a9..40a4d7dd5 100644 --- a/modules/home/programs/terminal/tools/yazi/keymap/manager/goto.nix +++ b/modules/home/programs/terminal/tools/yazi/keymap/manager/goto.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + pkgs, ... }: @@ -84,7 +84,7 @@ let } { key = "i"; - path = "/run/media/${config.${namespace}.user.name}"; + path = "/run/media/${config.khanelinix.user.name}"; desc = "Go to the media directory"; } { diff --git a/modules/home/programs/terminal/tools/yazi/settings/opener.nix b/modules/home/programs/terminal/tools/yazi/settings/opener.nix index 9a8b24534..d3985dba9 100644 --- a/modules/home/programs/terminal/tools/yazi/settings/opener.nix +++ b/modules/home/programs/terminal/tools/yazi/settings/opener.nix @@ -3,11 +3,11 @@ lib, pkgs, osConfig ? { }, - namespace, + ... }: let - isWSL = osConfig.${namespace}.archetypes.wsl.enable or false; + isWSL = osConfig.khanelinix.archetypes.wsl.enable or false; in { opener = { diff --git a/modules/home/programs/terminal/tools/zellij/default.nix b/modules/home/programs/terminal/tools/zellij/default.nix index 3c4961774..11474b01d 100644 --- a/modules/home/programs/terminal/tools/zellij/default.nix +++ b/modules/home/programs/terminal/tools/zellij/default.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + osConfig ? { }, pkgs, ... @@ -9,7 +9,7 @@ let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.zellij; + cfg = config.khanelinix.programs.terminal.tools.zellij; zns = "zellij -s $(basename $(pwd)) options --default-cwd $(pwd)"; zas = "zellij a $(basename $(pwd))"; @@ -26,7 +26,7 @@ in ./layouts/system.nix ]; - options.${namespace}.programs.terminal.tools.zellij = { + options.khanelinix.programs.terminal.tools.zellij = { enable = lib.mkEnableOption "zellij"; }; @@ -46,7 +46,7 @@ in settings = { # clipboard provider copy_command = - if pkgs.stdenv.hostPlatform.isLinux && (osConfig.${namespace}.archetypes.wsl.enable or false) then + if pkgs.stdenv.hostPlatform.isLinux && (osConfig.khanelinix.archetypes.wsl.enable or false) then "clip.exe" else if pkgs.stdenv.hostPlatform.isLinux then "wl-copy" diff --git a/modules/home/programs/terminal/tools/zoxide/default.nix b/modules/home/programs/terminal/tools/zoxide/default.nix index a935db85f..cdc4ca56c 100644 --- a/modules/home/programs/terminal/tools/zoxide/default.nix +++ b/modules/home/programs/terminal/tools/zoxide/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.zoxide; + cfg = config.khanelinix.programs.terminal.tools.zoxide; in { - options.${namespace}.programs.terminal.tools.zoxide = { + options.khanelinix.programs.terminal.tools.zoxide = { enable = lib.mkEnableOption "zoxide"; }; diff --git a/modules/home/services/cliphist/default.nix b/modules/home/services/cliphist/default.nix index 1e84d321d..11e9680bd 100644 --- a/modules/home/services/cliphist/default.nix +++ b/modules/home/services/cliphist/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.services.cliphist; + cfg = config.khanelinix.services.cliphist; in { - options.${namespace}.services.cliphist = { + options.khanelinix.services.cliphist = { enable = mkEnableOption "cliphist"; systemdTargets = lib.mkOption { diff --git a/modules/home/services/davmail/default.nix b/modules/home/services/davmail/default.nix index 9bafe73cc..8b0b92d86 100644 --- a/modules/home/services/davmail/default.nix +++ b/modules/home/services/davmail/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.services.davmail; + cfg = config.khanelinix.services.davmail; in { - options.${namespace}.services.davmail = { + options.khanelinix.services.davmail = { enable = mkEnableOption "davmail"; }; diff --git a/modules/home/services/easyeffects/default.nix b/modules/home/services/easyeffects/default.nix index 322a0db3d..731274fbc 100644 --- a/modules/home/services/easyeffects/default.nix +++ b/modules/home/services/easyeffects/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.easyeffects; + cfg = config.khanelinix.services.easyeffects; in { - options.${namespace}.services.easyeffects = { + options.khanelinix.services.easyeffects = { enable = lib.mkEnableOption "easyeffects"; }; diff --git a/modules/home/services/hypridle/default.nix b/modules/home/services/hypridle/default.nix index 1cd0fbbdb..352f6778d 100644 --- a/modules/home/services/hypridle/default.nix +++ b/modules/home/services/hypridle/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf getExe getExe'; - cfg = config.${namespace}.services.hypridle; + cfg = config.khanelinix.services.hypridle; in { - options.${namespace}.services.hypridle = { + options.khanelinix.services.hypridle = { enable = lib.mkEnableOption "hypridle service"; }; diff --git a/modules/home/services/hyprpaper/default.nix b/modules/home/services/hyprpaper/default.nix index 644aa7599..1c6a322ad 100644 --- a/modules/home/services/hyprpaper/default.nix +++ b/modules/home/services/hyprpaper/default.nix @@ -4,7 +4,7 @@ lib, pkgs, system, - namespace, + ... }: let @@ -15,12 +15,12 @@ let mkOption ; inherit (inputs) hypr-socket-watch; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.hyprpaper; + cfg = config.khanelinix.services.hyprpaper; in { - options.${namespace}.services.hyprpaper = { + options.khanelinix.services.hyprpaper = { enable = mkEnableOption "Hyprpaper"; enableSocketWatch = mkEnableOption "hypr-socket-watch"; monitors = mkOption { @@ -53,7 +53,7 @@ in package = hypr-socket-watch.packages.${system}.hypr-socket-watch; monitor = "DP-1"; - wallpapers = "${pkgs.${namespace}.wallpapers}/share/wallpapers/"; + wallpapers = "${pkgs.khanelinix.wallpapers}/share/wallpapers/"; debug = false; }; }; diff --git a/modules/home/services/hyprsunset/default.nix b/modules/home/services/hyprsunset/default.nix index e92aef6df..7aaf12806 100644 --- a/modules/home/services/hyprsunset/default.nix +++ b/modules/home/services/hyprsunset/default.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + ... }: let @@ -10,10 +10,10 @@ let mkEnableOption ; - cfg = config.${namespace}.services.hyprsunset; + cfg = config.khanelinix.services.hyprsunset; in { - options.${namespace}.services.hyprsunset = { + options.khanelinix.services.hyprsunset = { enable = mkEnableOption "Hyprsunset"; }; diff --git a/modules/home/services/jankyborders/default.nix b/modules/home/services/jankyborders/default.nix index c64176416..13dfa7c8a 100644 --- a/modules/home/services/jankyborders/default.nix +++ b/modules/home/services/jankyborders/default.nix @@ -2,29 +2,27 @@ config, lib, pkgs, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.jankyborders; + cfg = config.khanelinix.services.jankyborders; in { - options.${namespace}.services.jankyborders = { - enable = - lib.${namespace}.mkBoolOpt false - "Whether to enable jankyborders in the desktop environment."; + options.khanelinix.services.jankyborders = { + enable = lib.khanelinix.mkBoolOpt false "Whether to enable jankyborders in the desktop environment."; package = lib.mkOption { type = lib.types.package; default = pkgs.jankyborders; defaultText = lib.literalExpression "pkgs.jankyborders"; description = "The jankyborders package to use."; - example = lib.literalExpression "pkgs.${namespace}.jankyborders"; + example = lib.literalExpression "pkgs.khanelinix.jankyborders"; }; - logFile = mkOpt lib.types.str "${ - config.snowfallorg.users.${config.${namespace}.user.name}.home.path - }/Library/Logs/jankyborders.log" "Filepath of log output"; + logFile = + mkOpt lib.types.str "${config.khanelinix.user.home}/Library/Logs/jankyborders.log" + "Filepath of log output"; }; config = lib.mkIf cfg.enable { diff --git a/modules/home/services/keyring/default.nix b/modules/home/services/keyring/default.nix index 4dfde1105..3b4f77c92 100644 --- a/modules/home/services/keyring/default.nix +++ b/modules/home/services/keyring/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.keyring; + cfg = config.khanelinix.services.keyring; in { - options.${namespace}.services.keyring = { + options.khanelinix.services.keyring = { enable = lib.mkEnableOption "gnome keyring"; }; diff --git a/modules/home/services/mpd/default.nix b/modules/home/services/mpd/default.nix index 707daf2ac..2efa563ce 100644 --- a/modules/home/services/mpd/default.nix +++ b/modules/home/services/mpd/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -13,10 +13,10 @@ let types ; - cfg = config.${namespace}.services.mpd; + cfg = config.khanelinix.services.mpd; in { - options.${namespace}.services.mpd = { + options.khanelinix.services.mpd = { enable = mkEnableOption "mpd"; musicDirectory = mkOption { type = with types; either path str; diff --git a/modules/home/services/noisetorch/default.nix b/modules/home/services/noisetorch/default.nix index 1de6bf49d..4c0716129 100644 --- a/modules/home/services/noisetorch/default.nix +++ b/modules/home/services/noisetorch/default.nix @@ -2,19 +2,19 @@ osConfig ? { }, config, lib, - namespace, + pkgs, ... }: let inherit (lib) getExe mkIf mkEnableOption; - cfg = config.${namespace}.services.noisetorch; - osCfg = osConfig.${namespace}.programs.graphical.addons.noisetorch or { }; + cfg = config.khanelinix.services.noisetorch; + osCfg = osConfig.khanelinix.programs.graphical.addons.noisetorch or { }; in { options = { - ${namespace}.services.noisetorch = { + khanelinix.services.noisetorch = { enable = mkEnableOption "noisetorch service"; }; }; diff --git a/modules/home/services/ollama/default.nix b/modules/home/services/ollama/default.nix index 34ef5ad6f..35626ac90 100644 --- a/modules/home/services/ollama/default.nix +++ b/modules/home/services/ollama/default.nix @@ -1,20 +1,20 @@ { config, lib, - namespace, + osConfig ? { }, pkgs, ... }: let - cfg = config.${namespace}.services.ollama; + cfg = config.khanelinix.services.ollama; amdCfg = osConfig.khanelinix.hardware.gpu.amd or { }; hasHardwareConfig = (osConfig.khanelinix.hardware or null) != null; in { - options.${namespace}.services.ollama = { + options.khanelinix.services.ollama = { enable = lib.mkEnableOption "ollama"; enableDebug = lib.mkEnableOption "debug"; }; diff --git a/modules/home/services/rnnoise/default.nix b/modules/home/services/rnnoise/default.nix index 3a9955f08..e3b2e05d2 100644 --- a/modules/home/services/rnnoise/default.nix +++ b/modules/home/services/rnnoise/default.nix @@ -1,6 +1,6 @@ { pkgs, - namespace, + lib, config, ... @@ -10,11 +10,11 @@ let json = pkgs.formats.json { }; - cfg = config.${namespace}.services.rnnoise; + cfg = config.khanelinix.services.rnnoise; in { options = { - ${namespace}.services.rnnoise = { + khanelinix.services.rnnoise = { enable = mkEnableOption "rnnoise pipewire module"; }; }; diff --git a/modules/home/services/skhd/default.nix b/modules/home/services/skhd/default.nix index 844792f98..2f881e052 100644 --- a/modules/home/services/skhd/default.nix +++ b/modules/home/services/skhd/default.nix @@ -2,13 +2,13 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf getExe; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; sketchybar = getExe config.programs.sketchybar.finalPackage; yabai = @@ -17,14 +17,14 @@ let else getExe pkgs.yabai; - cfg = config.${namespace}.services.skhd; + cfg = config.khanelinix.services.skhd; in { - options.${namespace}.services.skhd = { + options.khanelinix.services.skhd = { enable = lib.mkEnableOption "skhd"; - logFile = mkOpt lib.types.str "${ - config.snowfallorg.users.${config.${namespace}.user.name}.home.path - }/Library/Logs/skhd.log" "Filepath of log output"; + logFile = + mkOpt lib.types.str "${config.khanelinix.user.home}/Library/Logs/skhd.log" + "Filepath of log output"; }; config = mkIf cfg.enable { diff --git a/modules/home/services/sops/default.nix b/modules/home/services/sops/default.nix index d9aad88b9..af3166906 100644 --- a/modules/home/services/sops/default.nix +++ b/modules/home/services/sops/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf types; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.sops; + cfg = config.khanelinix.services.sops; in { - options.${namespace}.services.sops = with types; { + options.khanelinix.services.sops = with types; { enable = lib.mkEnableOption "sops"; defaultSopsFile = mkOpt path null "Default sops file."; sshKeyPaths = mkOpt (listOf path) [ ] "SSH Key paths to use."; @@ -37,7 +37,7 @@ in secrets = { nix = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/.config/nix/nix.conf"; }; }; diff --git a/modules/home/services/ssh-agent/default.nix b/modules/home/services/ssh-agent/default.nix index 587ca8078..b18ca4325 100644 --- a/modules/home/services/ssh-agent/default.nix +++ b/modules/home/services/ssh-agent/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.ssh-agent; + cfg = config.khanelinix.services.ssh-agent; in { - options.${namespace}.services.ssh-agent = { + options.khanelinix.services.ssh-agent = { enable = lib.mkEnableOption "ssh-agent service"; }; diff --git a/modules/home/services/swayidle/default.nix b/modules/home/services/swayidle/default.nix index c00e08b98..4ba21f720 100644 --- a/modules/home/services/swayidle/default.nix +++ b/modules/home/services/swayidle/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) getExe getExe'; - cfg = config.${namespace}.services.swayidle; + cfg = config.khanelinix.services.swayidle; in { - options.${namespace}.services.swayidle = { + options.khanelinix.services.swayidle = { enable = lib.mkEnableOption "swayidle service"; }; diff --git a/modules/home/services/syncthing/default.nix b/modules/home/services/syncthing/default.nix index 466a585ec..d6bbb0e88 100644 --- a/modules/home/services/syncthing/default.nix +++ b/modules/home/services/syncthing/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.services.syncthing; + cfg = config.khanelinix.services.syncthing; in { - options.${namespace}.services.syncthing = { + options.khanelinix.services.syncthing = { enable = mkEnableOption "syncthing"; }; diff --git a/modules/home/services/tray/default.nix b/modules/home/services/tray/default.nix index d155c5aba..91ac3fdeb 100644 --- a/modules/home/services/tray/default.nix +++ b/modules/home/services/tray/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.services.tray; + cfg = config.khanelinix.services.tray; in { - options.${namespace}.services.tray = { + options.khanelinix.services.tray = { enable = mkEnableOption "tray"; }; diff --git a/modules/home/services/udiskie/default.nix b/modules/home/services/udiskie/default.nix index 8b492b25f..2d6bed583 100644 --- a/modules/home/services/udiskie/default.nix +++ b/modules/home/services/udiskie/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.services.udiskie; + cfg = config.khanelinix.services.udiskie; in { - options.${namespace}.services.udiskie = { + options.khanelinix.services.udiskie = { enable = mkEnableOption "udiskie"; }; diff --git a/modules/home/suites/art/default.nix b/modules/home/suites/art/default.nix index 5977b74ed..72ced28be 100644 --- a/modules/home/suites/art/default.nix +++ b/modules/home/suites/art/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.art; + cfg = config.khanelinix.suites.art; in { - options.${namespace}.suites.art = { + options.khanelinix.suites.art = { enable = lib.mkEnableOption "art configuration"; }; diff --git a/modules/home/suites/business/default.nix b/modules/home/suites/business/default.nix index 14017737d..1352516b0 100644 --- a/modules/home/suites/business/default.nix +++ b/modules/home/suites/business/default.nix @@ -2,19 +2,19 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.business; - isWSL = osConfig.${namespace}.archetypes.wsl.enable or false; + cfg = config.khanelinix.suites.business; + isWSL = osConfig.khanelinix.archetypes.wsl.enable or false; in { - options.${namespace}.suites.business = { + options.khanelinix.suites.business = { enable = lib.mkEnableOption "business configuration"; }; diff --git a/modules/home/suites/common/default.nix b/modules/home/suites/common/default.nix index ad840dcf8..5bf528e19 100644 --- a/modules/home/suites/common/default.nix +++ b/modules/home/suites/common/default.nix @@ -2,19 +2,19 @@ config, lib, pkgs, - namespace, + osConfig ? { }, ... }: let inherit (lib) mkIf mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.common; - isWSL = osConfig.${namespace}.archetypes.wsl.enable or false; + cfg = config.khanelinix.suites.common; + isWSL = osConfig.khanelinix.archetypes.wsl.enable or false; in { - options.${namespace}.suites.common = { + options.khanelinix.suites.common = { enable = lib.mkEnableOption "common configuration"; }; @@ -31,7 +31,7 @@ in }; shellAliases = { - nixcfg = "nvim ~/${namespace}/flake.nix"; + nixcfg = "nvim ~/khanelinix/flake.nix"; # Closure size checking aliases ncs-sys = ''f(){ nix build ".#nixosConfigurations.$1.config.system.build.toplevel" --no-link && nix path-info --recursive --closure-size --human-readable $(nix eval --raw ".#nixosConfigurations.$1.config.system.build.toplevel.outPath") | tail -1; }; f''; ncs-darwin = ''f(){ nix build ".#darwinConfigurations.$1.config.system.build.toplevel" --no-link && nix path-info --recursive --closure-size --human-readable $(nix eval --raw ".#darwinConfigurations.$1.config.system.build.toplevel.outPath") | tail -1; }; f''; @@ -85,7 +85,6 @@ in eza = mkDefault enabled; fastfetch = mkDefault enabled; fzf = mkDefault enabled; - fup-repl = mkDefault enabled; git = mkDefault enabled; glxinfo.enable = mkDefault (pkgs.stdenv.hostPlatform.isLinux && !isWSL); jq = mkDefault enabled; diff --git a/modules/home/suites/desktop/default.nix b/modules/home/suites/desktop/default.nix index 91bd9fa28..5fcf92da3 100644 --- a/modules/home/suites/desktop/default.nix +++ b/modules/home/suites/desktop/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkDefault mkIf; - cfg = config.${namespace}.suites.desktop; + cfg = config.khanelinix.suites.desktop; in { - options.${namespace}.suites.desktop = { + options.khanelinix.suites.desktop = { enable = lib.mkEnableOption "common desktop applications"; }; diff --git a/modules/home/suites/development/default.nix b/modules/home/suites/development/default.nix index 1e707b2cf..3e2650bde 100644 --- a/modules/home/suites/development/default.nix +++ b/modules/home/suites/development/default.nix @@ -3,15 +3,15 @@ lib, osConfig ? { }, pkgs, - namespace, + ... }: let inherit (lib) mkIf mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; tokenExports = - lib.optionalString (osConfig.${namespace}.security.sops.enable or false) # Bash + lib.optionalString (osConfig.khanelinix.security.sops.enable or false) # Bash '' if [ -f ${config.sops.secrets.ANTHROPIC_API_KEY.path} ]; then ANTHROPIC_API_KEY="$(cat ${config.sops.secrets.ANTHROPIC_API_KEY.path})" @@ -31,11 +31,11 @@ let fi ''; - cfg = config.${namespace}.suites.development; - isWSL = osConfig.${namespace}.archetypes.wsl.enable or false; + cfg = config.khanelinix.suites.development; + isWSL = osConfig.khanelinix.archetypes.wsl.enable or false; in { - options.${namespace}.suites.development = { + options.khanelinix.suites.development = { enable = lib.mkEnableOption "common development configuration"; azureEnable = lib.mkEnableOption "azure development configuration"; dockerEnable = lib.mkEnableOption "docker development configuration"; @@ -186,21 +186,21 @@ in services.ollama.enable = mkDefault (cfg.aiEnable && pkgs.stdenv.hostPlatform.isDarwin); }; - sops.secrets = lib.mkIf (osConfig.${namespace}.security.sops.enable or false) { + sops.secrets = lib.mkIf (osConfig.khanelinix.security.sops.enable or false) { ANTHROPIC_API_KEY = { - sopsFile = lib.snowfall.fs.get-file "secrets/CORE/default.yaml"; + sopsFile = lib.getFile "secrets/CORE/default.yaml"; path = "${config.home.homeDirectory}/.ANTHROPIC_API_KEY"; }; AZURE_OPENAI_API_KEY = { - sopsFile = lib.snowfall.fs.get-file "secrets/CORE/default.yaml"; + sopsFile = lib.getFile "secrets/CORE/default.yaml"; path = "${config.home.homeDirectory}/.AZURE_OPENAI_API_KEY"; }; OPENAI_API_KEY = { - sopsFile = lib.snowfall.fs.get-file "secrets/CORE/default.yaml"; + sopsFile = lib.getFile "secrets/CORE/default.yaml"; path = "${config.home.homeDirectory}/.OPENAI_API_KEY"; }; TAVILY_API_KEY = { - sopsFile = lib.snowfall.fs.get-file "secrets/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khaneliman/default.yaml"; path = "${config.home.homeDirectory}/.TAVILY_API_KEY"; }; }; diff --git a/modules/home/suites/emulation/default.nix b/modules/home/suites/emulation/default.nix index c7185722e..d38d1fba0 100644 --- a/modules/home/suites/emulation/default.nix +++ b/modules/home/suites/emulation/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.emulation; + cfg = config.khanelinix.suites.emulation; in { - options.${namespace}.suites.emulation = { + options.khanelinix.suites.emulation = { enable = lib.mkEnableOption "emulation configuration"; retroarchFull = lib.mkEnableOption "emulation configuration"; }; diff --git a/modules/home/suites/games/default.nix b/modules/home/suites/games/default.nix index 08638cdd2..8c51b0a99 100644 --- a/modules/home/suites/games/default.nix +++ b/modules/home/suites/games/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.games; + cfg = config.khanelinix.suites.games; in { - options.${namespace}.suites.games = { + options.khanelinix.suites.games = { enable = lib.mkEnableOption "common games configuration"; }; diff --git a/modules/home/suites/music/default.nix b/modules/home/suites/music/default.nix index eb3869e29..9e5cd7ba2 100644 --- a/modules/home/suites/music/default.nix +++ b/modules/home/suites/music/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.music; + cfg = config.khanelinix.suites.music; in { - options.${namespace}.suites.music = { + options.khanelinix.suites.music = { enable = lib.mkEnableOption "common music configuration"; }; diff --git a/modules/home/suites/networking/default.nix b/modules/home/suites/networking/default.nix index 6d83ace4e..32e04136a 100644 --- a/modules/home/suites/networking/default.nix +++ b/modules/home/suites/networking/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.networking; + cfg = config.khanelinix.suites.networking; in { - options.${namespace}.suites.networking = { + options.khanelinix.suites.networking = { enable = lib.mkEnableOption "networking configuration"; }; diff --git a/modules/home/suites/photo/default.nix b/modules/home/suites/photo/default.nix index 7be3ec705..698e79a59 100644 --- a/modules/home/suites/photo/default.nix +++ b/modules/home/suites/photo/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.photo; + cfg = config.khanelinix.suites.photo; in { - options.${namespace}.suites.photo = { + options.khanelinix.suites.photo = { enable = lib.mkEnableOption "photo configuration"; }; diff --git a/modules/home/suites/social/default.nix b/modules/home/suites/social/default.nix index 2d5722f44..71dcceca4 100644 --- a/modules/home/suites/social/default.nix +++ b/modules/home/suites/social/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.social; + cfg = config.khanelinix.suites.social; in { - options.${namespace}.suites.social = { + options.khanelinix.suites.social = { enable = lib.mkEnableOption "social configuration"; }; diff --git a/modules/home/suites/video/default.nix b/modules/home/suites/video/default.nix index b96df9422..a82c4d42d 100644 --- a/modules/home/suites/video/default.nix +++ b/modules/home/suites/video/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.video; + cfg = config.khanelinix.suites.video; in { - options.${namespace}.suites.video = { + options.khanelinix.suites.video = { enable = lib.mkEnableOption "video configuration"; }; diff --git a/modules/home/suites/wlroots/default.nix b/modules/home/suites/wlroots/default.nix index f5970650f..e8874aa67 100644 --- a/modules/home/suites/wlroots/default.nix +++ b/modules/home/suites/wlroots/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.wlroots; + cfg = config.khanelinix.suites.wlroots; in { - options.${namespace}.suites.wlroots = { + options.khanelinix.suites.wlroots = { enable = lib.mkEnableOption "common wlroots configuration"; }; diff --git a/modules/home/system/env/default.nix b/modules/home/system/env/default.nix index 6b72c9ef9..29af40166 100644 --- a/modules/home/system/env/default.nix +++ b/modules/home/system/env/default.nix @@ -1,10 +1,10 @@ { lib, - namespace, + ... }: { - options.${namespace}.system.env = lib.mkOption { + options.khanelinix.system.env = lib.mkOption { apply = lib.mapAttrs ( _n: v: if lib.isList v then lib.concatMapStringsSep ":" toString v else (toString v) ); diff --git a/modules/home/system/input/default.nix b/modules/home/system/input/default.nix index 84d103fce..1dbb03764 100644 --- a/modules/home/system/input/default.nix +++ b/modules/home/system/input/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkEnableOption; - cfg = config.${namespace}.system.input; + cfg = config.khanelinix.system.input; in { - options.${namespace}.system.input = { + options.khanelinix.system.input = { enable = mkEnableOption "macOS input"; }; diff --git a/modules/home/system/xdg/default.nix b/modules/home/system/xdg/default.nix index 885acca1b..40ccb9ba4 100644 --- a/modules/home/system/xdg/default.nix +++ b/modules/home/system/xdg/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkEnableOption mkIf; - cfg = config.${namespace}.system.xdg; + cfg = config.khanelinix.system.xdg; browser = [ "firefox-devedition.desktop" @@ -159,7 +159,7 @@ let in { # NOTE: Can test with `, ashpd-demo` - options.${namespace}.system.xdg = { + options.khanelinix.system.xdg = { enable = mkEnableOption "xdg"; }; @@ -171,7 +171,7 @@ in cacheHome = config.home.homeDirectory + "/.local/cache"; configFile."xdg-desktop-portal-wlr/config" = - lib.mkIf config.${namespace}.programs.graphical.wms.sway.enable + lib.mkIf config.khanelinix.programs.graphical.wms.sway.enable { text = '' [screencast] @@ -193,7 +193,7 @@ in xdgOpenUsePortal = true; config = { - hyprland = mkIf config.${namespace}.programs.graphical.wms.hyprland.enable { + hyprland = mkIf config.khanelinix.programs.graphical.wms.hyprland.enable { default = [ "hyprland" "gtk" @@ -203,7 +203,7 @@ in "org.freedesktop.impl.portal.Screenshot" = "hyprland"; }; - sway = mkIf config.${namespace}.programs.graphical.wms.sway.enable { + sway = mkIf config.khanelinix.programs.graphical.wms.sway.enable { default = lib.mkDefault [ "wlr" "gtk" diff --git a/modules/home/theme/catppuccin/catppuccin-macchiato.theme.css b/modules/home/theme/catppuccin/catppuccin-macchiato.theme.css index 8e42097e8..ddb8d3cbd 100644 --- a/modules/home/theme/catppuccin/catppuccin-macchiato.theme.css +++ b/modules/home/theme/catppuccin/catppuccin-macchiato.theme.css @@ -2437,10 +2437,10 @@ div[class*="cardWarning-"] div[class*="warning-"] { #sticker-picker-tab-panel { /* --background-floating: #363a4f; - + div[class^="slotsContainer-"] { - background-color: $surface0; - } - */ + + div[class^="slotsContainer-"] { + background-color: $surface0; + } + */ } #emoji-picker-tab-panel div[class^="tooltipContainer-"] diff --git a/modules/home/theme/catppuccin/default.nix b/modules/home/theme/catppuccin/default.nix index ea1deb78e..2c74ec3ee 100644 --- a/modules/home/theme/catppuccin/default.nix +++ b/modules/home/theme/catppuccin/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -14,11 +14,11 @@ let types ; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; palette = import ./colors.nix; - cfg = config.${namespace}.theme.catppuccin; + cfg = config.khanelinix.theme.catppuccin; in { imports = [ @@ -28,7 +28,7 @@ in ./sway.nix ]; - options.${namespace}.theme.catppuccin = { + options.khanelinix.theme.catppuccin = { enable = mkEnableOption "catppuccin theme for applications"; accent = mkOption { @@ -98,7 +98,7 @@ in gitui = enabled; glamour = enabled; helix = enabled; - hyprland = mkIf config.${namespace}.programs.graphical.wms.hyprland.enable { + hyprland = mkIf config.khanelinix.programs.graphical.wms.hyprland.enable { enable = true; inherit (cfg) accent; }; @@ -149,11 +149,11 @@ in ]; pointerCursor = mkIf pkgs.stdenv.hostPlatform.isLinux { - inherit (config.${namespace}.theme.gtk.cursor) name package size; + inherit (config.khanelinix.theme.gtk.cursor) name package size; }; sessionVariables = mkIf pkgs.stdenv.hostPlatform.isLinux { - CURSOR_THEME = config.${namespace}.theme.gtk.cursor.name; + CURSOR_THEME = config.khanelinix.theme.gtk.cursor.name; }; }; @@ -219,8 +219,7 @@ in }; xdg.configFile = - mkIf - (pkgs.stdenv.hostPlatform.isLinux && config.${namespace}.programs.graphical.apps.discord.enable) + mkIf (pkgs.stdenv.hostPlatform.isLinux && config.khanelinix.programs.graphical.apps.discord.enable) { # TODO: use packaged version "ArmCord/themes/Catppuccin-Macchiato-BD".source = ./Catppuccin-Macchiato-BD; diff --git a/modules/home/theme/catppuccin/firefox.nix b/modules/home/theme/catppuccin/firefox.nix index 8b867d485..25df71398 100644 --- a/modules/home/theme/catppuccin/firefox.nix +++ b/modules/home/theme/catppuccin/firefox.nix @@ -2,11 +2,11 @@ config, lib, pkgs, - namespace, + ... }: let - cfg = config.${namespace}.theme.catppuccin; + cfg = config.khanelinix.theme.catppuccin; in { config = lib.mkIf cfg.enable { diff --git a/modules/home/theme/catppuccin/gtk.nix b/modules/home/theme/catppuccin/gtk.nix index a215ece70..77e6d2325 100644 --- a/modules/home/theme/catppuccin/gtk.nix +++ b/modules/home/theme/catppuccin/gtk.nix @@ -1,12 +1,12 @@ { config, lib, - namespace, + pkgs, ... }: let - cfg = config.${namespace}.theme.catppuccin; + cfg = config.khanelinix.theme.catppuccin; in { config = lib.mkIf cfg.enable { diff --git a/modules/home/theme/catppuccin/qt.nix b/modules/home/theme/catppuccin/qt.nix index 16f173370..0927fdc10 100644 --- a/modules/home/theme/catppuccin/qt.nix +++ b/modules/home/theme/catppuccin/qt.nix @@ -1,13 +1,13 @@ { config, lib, - namespace, + pkgs, ... }: let - inherit (lib.${namespace}) capitalize; - cfg = config.${namespace}.theme.catppuccin; + inherit (lib.khanelinix) capitalize; + cfg = config.khanelinix.theme.catppuccin; in { config = lib.mkIf cfg.enable { @@ -40,7 +40,7 @@ in style = { name = "kvantum"; - inherit (config.${namespace}.theme.qt.theme) package; + inherit (config.khanelinix.theme.qt.theme) package; }; }; }; diff --git a/modules/home/theme/catppuccin/sway.nix b/modules/home/theme/catppuccin/sway.nix index cc4eeceb5..cc42474a7 100644 --- a/modules/home/theme/catppuccin/sway.nix +++ b/modules/home/theme/catppuccin/sway.nix @@ -1,11 +1,11 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.theme.catppuccin; + cfg = config.khanelinix.theme.catppuccin; in { config = lib.mkIf cfg.enable { diff --git a/modules/home/theme/gtk/default.nix b/modules/home/theme/gtk/default.nix index d829936f1..13e280550 100644 --- a/modules/home/theme/gtk/default.nix +++ b/modules/home/theme/gtk/default.nix @@ -3,21 +3,20 @@ lib, pkgs, osConfig ? { }, - namespace, ... }: let - inherit (lib) mkIf mkDefault types; - inherit (lib.${namespace}) - boolToNum - mkOpt - nested-default-attrs + inherit (lib) + mkIf + mkDefault + types ; + inherit (lib.khanelinix) mkOpt boolToNum nested-default-attrs; - cfg = config.${namespace}.theme.gtk; + cfg = config.khanelinix.theme.gtk; in { - options.${namespace}.theme.gtk = { + options.khanelinix.theme.gtk = { enable = lib.mkEnableOption "customizing GTK and apply themes"; usePortal = lib.mkEnableOption "using the GTK Portal"; @@ -93,8 +92,8 @@ in color-scheme = "prefer-dark"; cursor-size = cfg.cursor.size; cursor-theme = cfg.cursor.name; - font-name = "${osConfig.${namespace}.system.fonts.default or "MonaspaceNeon"} ${ - toString (osConfig.${namespace}.system.fonts.size or 10) + font-name = "${osConfig.khanelinix.system.fonts.default or "MonaspaceNeon"} ${ + toString (osConfig.khanelinix.system.fonts.size or 10) }"; gtk-theme = cfg.theme.name; icon-theme = cfg.icon.name; @@ -106,8 +105,8 @@ in enable = true; font = { - name = mkDefault (osConfig.${namespace}.system.fonts.default or "MonaspaceNeon"); - size = mkDefault (osConfig.${namespace}.system.fonts.size or 10); + name = mkDefault (osConfig.khanelinix.system.fonts.default or "MonaspaceNeon"); + size = mkDefault (osConfig.khanelinix.system.fonts.size or 10); }; gtk2 = { diff --git a/modules/home/theme/qt/default.nix b/modules/home/theme/qt/default.nix index 81d00c0fc..5added2f9 100644 --- a/modules/home/theme/qt/default.nix +++ b/modules/home/theme/qt/default.nix @@ -2,17 +2,26 @@ config, lib, pkgs, - namespace, ... }: let - inherit (lib) types mkDefault mkIf; - inherit (lib.${namespace}) mkBoolOpt mkOpt; + inherit (lib) + types + mkDefault + mkIf + mkOption + ; - cfg = config.${namespace}.theme.qt; + # Use direct implementations to avoid circular dependency + mkOpt = + type: default: description: + mkOption { inherit type default description; }; + mkBoolOpt = mkOpt types.bool; + + cfg = config.khanelinix.theme.qt; in { - options.${namespace}.theme.qt = with types; { + options.khanelinix.theme.qt = with types; { enable = lib.mkEnableOption "customizing qt and apply themes"; theme = { @@ -27,7 +36,7 @@ in Appearance = { color_scheme_path = mkOpt types.str "" "Color scheme path"; custom_palette = mkBoolOpt true "Whether to use custom palette"; - icon_theme = mkOpt types.str config.${namespace}.theme.gtk.icon.name "Icon theme"; + icon_theme = mkOpt types.str config.khanelinix.theme.gtk.icon.name "Icon theme"; standard_dialogs = mkOpt types.str "gtk3" "Dialog type"; style = mkOpt types.str "kvantum" "Style"; }; diff --git a/modules/home/theme/stylix/default.nix b/modules/home/theme/stylix/default.nix index 0df8ce4a8..629329873 100644 --- a/modules/home/theme/stylix/default.nix +++ b/modules/home/theme/stylix/default.nix @@ -1,7 +1,6 @@ { config, lib, - namespace, pkgs, options, ... @@ -10,15 +9,19 @@ let inherit (lib) mkEnableOption mkIf + mkOption types ; - inherit (lib.${namespace}) mkOpt; + # Use direct mkOpt implementation to avoid circular dependency + mkOpt = + type: default: description: + lib.mkOption { inherit type default description; }; - cfg = config.${namespace}.theme.stylix; + cfg = config.khanelinix.theme.stylix; in { - options.${namespace}.theme.stylix = { + options.khanelinix.theme.stylix = { enable = mkEnableOption "stylix theme for applications"; theme = mkOpt types.str "catppuccin-macchiato" "base16 theme file name"; @@ -49,7 +52,7 @@ in # autoEnable = false; base16Scheme = "${pkgs.base16-schemes}/share/themes/${cfg.theme}.yaml"; - cursor = if (!config.${namespace}.theme.catppuccin.enable) then cfg.cursor else null; + cursor = lib.mkOptionDefault cfg.cursor; fonts = { sizes = { @@ -77,15 +80,13 @@ in }; }; - iconTheme = - lib.mkIf (pkgs.stdenv.hostPlatform.isLinux && (!config.${namespace}.theme.catppuccin.enable)) - { - enable = true; - inherit (cfg.icon) package; - dark = cfg.icon.name; - # TODO: support custom light - light = cfg.icon.name; - }; + iconTheme = lib.mkIf pkgs.stdenv.hostPlatform.isLinux { + enable = lib.mkDefault true; + inherit (cfg.icon) package; + dark = cfg.icon.name; + # TODO: support custom light + light = cfg.icon.name; + }; polarity = "dark"; @@ -99,48 +100,48 @@ in targets = { # Set profile names for firefox - firefox.profileNames = [ config.${namespace}.user.name ]; + firefox.profileNames = [ config.khanelinix.user.name ]; # TODO: Very custom styling, integrate with their variables # Currently setup only for catppuccin/nix vscode.enable = false; # Disable targets when catppuccin is enabled - alacritty.enable = !config.${namespace}.theme.catppuccin.enable; - bat.enable = !config.${namespace}.theme.catppuccin.enable; - btop.enable = !config.${namespace}.theme.catppuccin.enable; - cava.enable = !config.${namespace}.theme.catppuccin.enable; - fish.enable = !config.${namespace}.theme.catppuccin.enable; - foot.enable = !config.${namespace}.theme.catppuccin.enable; - fzf.enable = !config.${namespace}.theme.catppuccin.enable; - ghostty.enable = !config.${namespace}.theme.catppuccin.enable; - gitui.enable = !config.${namespace}.theme.catppuccin.enable; - helix.enable = !config.${namespace}.theme.catppuccin.enable; - k9s.enable = !config.${namespace}.theme.catppuccin.enable; - kitty.enable = !config.${namespace}.theme.catppuccin.enable; - lazygit.enable = !config.${namespace}.theme.catppuccin.enable; - ncspot.enable = !config.${namespace}.theme.catppuccin.enable; - neovim.enable = !config.${namespace}.theme.catppuccin.enable; - tmux.enable = !config.${namespace}.theme.catppuccin.enable; - vesktop.enable = !config.${namespace}.theme.catppuccin.enable; - yazi.enable = !config.${namespace}.theme.catppuccin.enable; - zathura.enable = !config.${namespace}.theme.catppuccin.enable; - zellij.enable = !config.${namespace}.theme.catppuccin.enable; + alacritty.enable = !config.khanelinix.theme.catppuccin.enable; + bat.enable = !config.khanelinix.theme.catppuccin.enable; + btop.enable = !config.khanelinix.theme.catppuccin.enable; + cava.enable = !config.khanelinix.theme.catppuccin.enable; + fish.enable = !config.khanelinix.theme.catppuccin.enable; + foot.enable = !config.khanelinix.theme.catppuccin.enable; + fzf.enable = !config.khanelinix.theme.catppuccin.enable; + ghostty.enable = !config.khanelinix.theme.catppuccin.enable; + gitui.enable = !config.khanelinix.theme.catppuccin.enable; + helix.enable = !config.khanelinix.theme.catppuccin.enable; + k9s.enable = !config.khanelinix.theme.catppuccin.enable; + kitty.enable = !config.khanelinix.theme.catppuccin.enable; + lazygit.enable = !config.khanelinix.theme.catppuccin.enable; + ncspot.enable = !config.khanelinix.theme.catppuccin.enable; + neovim.enable = !config.khanelinix.theme.catppuccin.enable; + tmux.enable = !config.khanelinix.theme.catppuccin.enable; + vesktop.enable = !config.khanelinix.theme.catppuccin.enable; + yazi.enable = !config.khanelinix.theme.catppuccin.enable; + zathura.enable = !config.khanelinix.theme.catppuccin.enable; + zellij.enable = !config.khanelinix.theme.catppuccin.enable; } // lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux { - gnome.enable = !config.${namespace}.theme.catppuccin.enable; + gnome.enable = !config.khanelinix.theme.catppuccin.enable; # FIXME: not working gtk.enable = false; - hyprland.enable = !config.${namespace}.theme.catppuccin.enable; + hyprland.enable = !config.khanelinix.theme.catppuccin.enable; # FIXME:: upstream needs module fix hyprlock.useWallpaper = false; hyprlock.enable = false; - qt.enable = !config.${namespace}.theme.catppuccin.enable; - sway.enable = !config.${namespace}.theme.catppuccin.enable; + qt.enable = !config.khanelinix.theme.catppuccin.enable; + sway.enable = !config.khanelinix.theme.catppuccin.enable; # TODO: Very custom styling, integrate with their variables # Currently setup only for catppuccin/nix swaync.enable = false; - waybar.enable = !config.${namespace}.theme.catppuccin.enable; + waybar.enable = !config.khanelinix.theme.catppuccin.enable; }; }; } diff --git a/modules/home/user/default.nix b/modules/home/user/default.nix index 45a5153cf..9257971a9 100644 --- a/modules/home/user/default.nix +++ b/modules/home/user/default.nix @@ -2,7 +2,8 @@ config, lib, pkgs, - namespace, + username ? null, + ... }: let @@ -14,9 +15,9 @@ let getExe getExe' ; - inherit (lib.${namespace}) mkOpt enabled; + inherit (lib.khanelinix) mkOpt enabled; - cfg = config.${namespace}.user; + cfg = config.khanelinix.user; home-directory = if cfg.name == null then @@ -27,15 +28,15 @@ let "/home/${cfg.name}"; in { - options.${namespace}.user = { + options.khanelinix.user = { enable = mkOpt types.bool false "Whether to configure the user account."; email = mkOpt types.str "khaneliman12@gmail.com" "The email of the user."; fullName = mkOpt types.str "Austin Horstman" "The full name of the user."; home = mkOpt (types.nullOr types.str) home-directory "The user's home directory."; icon = - mkOpt (types.nullOr types.package) pkgs.${namespace}.user-icon + mkOpt (types.nullOr types.package) pkgs.khanelinix.user-icon "The profile picture to use for the user."; - name = mkOpt (types.nullOr types.str) config.snowfallorg.user.name "The user account."; + name = mkOpt (types.nullOr types.str) username "The user account."; }; config = mkIf cfg.enable (mkMerge [ @@ -43,11 +44,11 @@ in assertions = [ { assertion = cfg.name != null; - message = "${namespace}.user.name must be set"; + message = "khanelinix.user.name must be set"; } { assertion = cfg.home != null; - message = "${namespace}.user.home must be set"; + message = "khanelinix.user.home must be set"; } ]; @@ -67,7 +68,8 @@ in "Pictures/${cfg.icon.fileName or (builtins.baseNameOf cfg.icon)}".source = cfg.icon; }; - homeDirectory = mkDefault cfg.home; + # Only set homeDirectory if cfg.home is not null + homeDirectory = mkIf (cfg.home != null) (mkDefault cfg.home); shellAliases = { # nix specific aliases @@ -95,7 +97,7 @@ in flake = "nix flake"; nix = "nix -vL"; gsed = "${getExe pkgs.gnused}"; - hmvar-reload = ''__HM_ZSH_SESS_VARS_SOURCED=0 source "/etc/profiles/per-user/${config.${namespace}.user.name}/etc/profile.d/hm-session-vars.sh"''; + hmvar-reload = ''__HM_ZSH_SESS_VARS_SOURCED=0 source "/etc/profiles/per-user/${config.khanelinix.user.name}/etc/profile.d/hm-session-vars.sh"''; # File management rcp = "${getExe pkgs.rsync} -rahP --mkpath --modify-window=1"; # Rsync copy keeping all attributes,timestamps,permissions" diff --git a/modules/nixos/archetypes/gaming/default.nix b/modules/nixos/archetypes/gaming/default.nix index 641502d76..d157dd725 100644 --- a/modules/nixos/archetypes/gaming/default.nix +++ b/modules/nixos/archetypes/gaming/default.nix @@ -1,22 +1,22 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.gaming; + cfg = config.khanelinix.archetypes.gaming; in { - options.${namespace}.archetypes.gaming = { + options.khanelinix.archetypes.gaming = { enable = lib.mkEnableOption "the gaming archetype"; }; config = mkIf cfg.enable { - ${namespace}.suites = { + khanelinix.suites = { common = enabled; desktop = enabled; games = enabled; diff --git a/modules/nixos/archetypes/personal/default.nix b/modules/nixos/archetypes/personal/default.nix index 94906e717..709dc504e 100644 --- a/modules/nixos/archetypes/personal/default.nix +++ b/modules/nixos/archetypes/personal/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.personal; + cfg = config.khanelinix.archetypes.personal; in { - options.${namespace}.archetypes.personal = { + options.khanelinix.archetypes.personal = { enable = lib.mkEnableOption "the personal archetype"; }; diff --git a/modules/nixos/archetypes/server/default.nix b/modules/nixos/archetypes/server/default.nix index 4ae7e6863..bb1d54da4 100644 --- a/modules/nixos/archetypes/server/default.nix +++ b/modules/nixos/archetypes/server/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.server; + cfg = config.khanelinix.archetypes.server; in { - options.${namespace}.archetypes.server = { + options.khanelinix.archetypes.server = { enable = lib.mkEnableOption "the server archetype"; }; diff --git a/modules/nixos/archetypes/vm/default.nix b/modules/nixos/archetypes/vm/default.nix index 10276a247..bc8a1aa1e 100644 --- a/modules/nixos/archetypes/vm/default.nix +++ b/modules/nixos/archetypes/vm/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.vm; + cfg = config.khanelinix.archetypes.vm; in { - options.${namespace}.archetypes.vm = { + options.khanelinix.archetypes.vm = { enable = lib.mkEnableOption "the vm archetype"; }; diff --git a/modules/nixos/archetypes/workstation/default.nix b/modules/nixos/archetypes/workstation/default.nix index e40f20aa2..bcc640071 100644 --- a/modules/nixos/archetypes/workstation/default.nix +++ b/modules/nixos/archetypes/workstation/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.archetypes.workstation; + cfg = config.khanelinix.archetypes.workstation; in { - options.${namespace}.archetypes.workstation = { + options.khanelinix.archetypes.workstation = { enable = lib.mkEnableOption "the workstation archetype"; }; diff --git a/modules/nixos/archetypes/wsl/default.nix b/modules/nixos/archetypes/wsl/default.nix index fc04edd2d..e86f74ba6 100644 --- a/modules/nixos/archetypes/wsl/default.nix +++ b/modules/nixos/archetypes/wsl/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf mkForce; - cfg = config.${namespace}.archetypes.wsl; + cfg = config.khanelinix.archetypes.wsl; in { - options.${namespace}.archetypes.wsl = { + options.khanelinix.archetypes.wsl = { enable = lib.mkEnableOption "the wsl archetype"; }; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix new file mode 100644 index 000000000..b6d50a61b --- /dev/null +++ b/modules/nixos/default.nix @@ -0,0 +1,4 @@ +{ lib, ... }: +{ + imports = lib.importModulesRecursive ./.; +} diff --git a/modules/nixos/display-managers/gdm/default.nix b/modules/nixos/display-managers/gdm/default.nix index 5ab6c5481..2f140092b 100644 --- a/modules/nixos/display-managers/gdm/default.nix +++ b/modules/nixos/display-managers/gdm/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -12,13 +12,13 @@ let getExe' stringAfter ; - inherit (lib.${namespace}) mkBoolOpt mkOpt; + inherit (lib.khanelinix) mkBoolOpt mkOpt; - cfg = config.${namespace}.display-managers.gdm; + cfg = config.khanelinix.display-managers.gdm; gdmHome = config.users.users.gdm.home; in { - options.${namespace}.display-managers.gdm = with types; { + options.khanelinix.display-managers.gdm = with types; { enable = lib.mkEnableOption "gdm"; autoSuspend = mkBoolOpt true "Whether or not to suspend the machine after inactivity."; defaultSession = mkOpt (nullOr str) null "The default session to use."; @@ -52,8 +52,8 @@ in stringAfter [ "users" ] # bash '' echo "Setting gdm permissions for user icon" - ${getExe' pkgs.acl "setfacl"} -m u:gdm:x /home/${config.${namespace}.user.name} - ${getExe' pkgs.acl "setfacl"} -m u:gdm:r /home/${config.${namespace}.user.name}/.face.icon || true + ${getExe' pkgs.acl "setfacl"} -m u:gdm:x /home/${config.khanelinix.user.name} + ${getExe' pkgs.acl "setfacl"} -m u:gdm:r /home/${config.khanelinix.user.name}/.face.icon || true ''; }; } diff --git a/modules/nixos/display-managers/lightdm/default.nix b/modules/nixos/display-managers/lightdm/default.nix index fde087c18..24c6b94fc 100644 --- a/modules/nixos/display-managers/lightdm/default.nix +++ b/modules/nixos/display-managers/lightdm/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.display-managers.lightdm; + cfg = config.khanelinix.display-managers.lightdm; in { - options.${namespace}.display-managers.lightdm = { + options.khanelinix.display-managers.lightdm = { enable = lib.mkEnableOption "lightdm"; }; @@ -21,25 +21,25 @@ in displayManager.lightdm = { enable = true; - background = pkgs.${namespace}.wallpapers.flatppuccin_macchiato; + background = "${pkgs.khanelinix.wallpapers}/share/wallpapers/flatppuccin_macchiato.png"; greeters = { gtk = { enable = true; cursorTheme = { - inherit (config.${namespace}.desktop.addons.gtk.cursor) name; - package = config.${namespace}.desktop.addons.gtk.cursor.pkg; + inherit (config.khanelinix.desktop.addons.gtk.cursor) name; + package = config.khanelinix.desktop.addons.gtk.cursor.pkg; }; iconTheme = { - inherit (config.${namespace}.desktop.addons.gtk.icon) name; - package = config.${namespace}.desktop.addons.gtk.icon.pkg; + inherit (config.khanelinix.desktop.addons.gtk.icon) name; + package = config.khanelinix.desktop.addons.gtk.icon.pkg; }; theme = { - name = "${config.${namespace}.desktop.addons.gtk.theme.name}"; - package = config.${namespace}.desktop.addons.gtk.theme.pkg; + name = "${config.khanelinix.desktop.addons.gtk.theme.name}"; + package = config.khanelinix.desktop.addons.gtk.theme.pkg; }; }; }; diff --git a/modules/nixos/display-managers/regreet/default.nix b/modules/nixos/display-managers/regreet/default.nix index 5869657e1..a62f02a9c 100644 --- a/modules/nixos/display-managers/regreet/default.nix +++ b/modules/nixos/display-managers/regreet/default.nix @@ -4,7 +4,7 @@ lib, pkgs, system, - namespace, + ... }: let @@ -14,12 +14,12 @@ let getExe getExe' ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; inherit (inputs) hyprland; - cfg = config.${namespace}.display-managers.regreet; - themeCfg = config.${namespace}.theme; - gtkCfg = config.${namespace}.desktop.addons.gtk; + cfg = config.khanelinix.display-managers.regreet; + themeCfg = config.khanelinix.theme; + gtkCfg = config.khanelinix.desktop.addons.gtk; greetdHyprlandConfig = pkgs.writeText "greetd-hyprland-config" '' ${cfg.hyprlandOutput} @@ -41,7 +41,7 @@ let ''; in { - options.${namespace}.display-managers.regreet = with types; { + options.khanelinix.display-managers.regreet = with types; { enable = lib.mkEnableOption "greetd"; hyprlandOutput = mkOpt lines "" "Hyprlands Outputs config."; }; @@ -58,14 +58,14 @@ in settings = { background = { - path = pkgs.${namespace}.wallpapers.flatppuccin_macchiato; + path = "${pkgs.khanelinix.wallpapers}/share/wallpapers/flatppuccin_macchiato.png"; fit = "Cover"; }; GTK = { application_prefer_dark_theme = true; cursor_theme_name = "${themeCfg.cursor.name}"; - font_name = "${config.${namespace}.system.fonts.default} * 12"; + font_name = "${config.khanelinix.system.fonts.default} * 12"; icon_theme_name = "${themeCfg.icon.name}"; theme_name = "${gtkCfg.theme.name}"; }; diff --git a/modules/nixos/display-managers/sddm/default.nix b/modules/nixos/display-managers/sddm/default.nix index 9fe7c1277..9cd690154 100644 --- a/modules/nixos/display-managers/sddm/default.nix +++ b/modules/nixos/display-managers/sddm/default.nix @@ -2,19 +2,19 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf getExe' stringAfter; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.display-managers.sddm; + cfg = config.khanelinix.display-managers.sddm; - userName = config.${namespace}.user.name; + userName = config.khanelinix.user.name; in { - options.${namespace}.display-managers.sddm = { + options.khanelinix.display-managers.sddm = { enable = lib.mkEnableOption "sddm"; }; @@ -23,9 +23,9 @@ in catppuccin-sddm-corners ]; - ${namespace}.home.configFile = + khanelinix.home.configFile = let - inherit (config.home-manager.users.${userName}.${namespace}.user) icon; + inherit (config.home-manager.users.${userName}.khanelinix.user) icon; in lib.mkIf (icon != null) { "sddm/faces/.${userName}".source = icon; diff --git a/modules/nixos/display-managers/tuigreet/default.nix b/modules/nixos/display-managers/tuigreet/default.nix index 20b6eaa75..c8bc0622d 100644 --- a/modules/nixos/display-managers/tuigreet/default.nix +++ b/modules/nixos/display-managers/tuigreet/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf getExe; - cfg = config.${namespace}.display-managers.tuigreet; + cfg = config.khanelinix.display-managers.tuigreet; in { - options.${namespace}.display-managers.tuigreet = { + options.khanelinix.display-managers.tuigreet = { enable = lib.mkEnableOption "tuigreet"; }; diff --git a/modules/nixos/hardware/audio/default.nix b/modules/nixos/hardware/audio/default.nix index 75e7c5dc3..bbe0641b5 100644 --- a/modules/nixos/hardware/audio/default.nix +++ b/modules/nixos/hardware/audio/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf mkForce; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.hardware.audio; + cfg = config.khanelinix.hardware.audio; in { - options.${namespace}.hardware.audio = with types; { + options.khanelinix.hardware.audio = with types; { enable = lib.mkEnableOption "audio support"; alsa-monitor = mkOpt attrs { } "Alsa configuration."; extra-packages = mkOpt (listOf package) [ diff --git a/modules/nixos/hardware/bluetooth/default.nix b/modules/nixos/hardware/bluetooth/default.nix index 0c81ec504..b13ddbec2 100644 --- a/modules/nixos/hardware/bluetooth/default.nix +++ b/modules/nixos/hardware/bluetooth/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.hardware.bluetooth; + cfg = config.khanelinix.hardware.bluetooth; in { - options.${namespace}.hardware.bluetooth = { + options.khanelinix.hardware.bluetooth = { enable = lib.mkEnableOption "support for extra bluetooth devices"; autoConnect = lib.mkOption { type = lib.types.bool; diff --git a/modules/nixos/hardware/cpu/amd/default.nix b/modules/nixos/hardware/cpu/amd/default.nix index d84c8d1d0..02374b372 100644 --- a/modules/nixos/hardware/cpu/amd/default.nix +++ b/modules/nixos/hardware/cpu/amd/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.hardware.cpu.amd; + cfg = config.khanelinix.hardware.cpu.amd; in { - options.${namespace}.hardware.cpu.amd = { + options.khanelinix.hardware.cpu.amd = { enable = lib.mkEnableOption "support for amd cpu"; }; diff --git a/modules/nixos/hardware/cpu/default.nix b/modules/nixos/hardware/cpu/default.nix index 0d58af952..262306ff3 100644 --- a/modules/nixos/hardware/cpu/default.nix +++ b/modules/nixos/hardware/cpu/default.nix @@ -1,6 +1,6 @@ -{ lib, namespace, ... }: +{ lib, ... }: { - options.${namespace}.hardware.cpu = { + options.khanelinix.hardware.cpu = { enable = lib.mkEnableOption "No-op used for setting up hierarchy"; }; } diff --git a/modules/nixos/hardware/cpu/intel/default.nix b/modules/nixos/hardware/cpu/intel/default.nix index 8cfd0a732..460453b09 100644 --- a/modules/nixos/hardware/cpu/intel/default.nix +++ b/modules/nixos/hardware/cpu/intel/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.hardware.cpu.intel; + cfg = config.khanelinix.hardware.cpu.intel; in { - options.${namespace}.hardware.cpu.intel = { + options.khanelinix.hardware.cpu.intel = { enable = lib.mkEnableOption "support for intel cpu"; }; diff --git a/modules/nixos/hardware/fingerprint/default.nix b/modules/nixos/hardware/fingerprint/default.nix index ad7341a7c..79e363191 100644 --- a/modules/nixos/hardware/fingerprint/default.nix +++ b/modules/nixos/hardware/fingerprint/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.hardware.fingerprint; + cfg = config.khanelinix.hardware.fingerprint; in { - options.${namespace}.hardware.fingerprint = { + options.khanelinix.hardware.fingerprint = { enable = lib.mkEnableOption "fingerprint support"; }; diff --git a/modules/nixos/hardware/gpu/amd/default.nix b/modules/nixos/hardware/gpu/amd/default.nix index 138122f81..1f10fb559 100644 --- a/modules/nixos/hardware/gpu/amd/default.nix +++ b/modules/nixos/hardware/gpu/amd/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.hardware.gpu.amd; + cfg = config.khanelinix.hardware.gpu.amd; in { - options.${namespace}.hardware.gpu.amd = { + options.khanelinix.hardware.gpu.amd = { enable = lib.mkEnableOption "support for amdgpu"; enableRocmSupport = lib.mkEnableOption "support for rocm"; enableNvtop = lib.mkEnableOption "install nvtop for amd"; diff --git a/modules/nixos/hardware/gpu/default.nix b/modules/nixos/hardware/gpu/default.nix index bf2f7c2fc..48fa4b650 100644 --- a/modules/nixos/hardware/gpu/default.nix +++ b/modules/nixos/hardware/gpu/default.nix @@ -1,6 +1,6 @@ -{ lib, namespace, ... }: +{ lib, ... }: { - options.${namespace}.hardware.gpu = { + options.khanelinix.hardware.gpu = { enable = lib.mkEnableOption "No-op for setting up hierarchy"; }; } diff --git a/modules/nixos/hardware/gpu/nvidia/default.nix b/modules/nixos/hardware/gpu/nvidia/default.nix index 516567f6b..ef199cb77 100644 --- a/modules/nixos/hardware/gpu/nvidia/default.nix +++ b/modules/nixos/hardware/gpu/nvidia/default.nix @@ -2,12 +2,12 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkDefault mkIf versionOlder; - cfg = config.${namespace}.hardware.gpu.nvidia; + cfg = config.khanelinix.hardware.gpu.nvidia; # use the latest possible nvidia package nvStable = config.boot.kernelPackages.nvidiaPackages.stable.version; @@ -20,7 +20,7 @@ let config.boot.kernelPackages.nvidiaPackages.beta; in { - options.${namespace}.hardware.gpu.nvidia = { + options.khanelinix.hardware.gpu.nvidia = { enable = lib.mkEnableOption "support for nvidia"; enableCudaSupport = lib.mkEnableOption "support for cuda"; enableNvtop = lib.mkEnableOption "install nvtop for nvidia"; @@ -48,7 +48,7 @@ in ]; hardware = { - nvidia = mkIf (!config.${namespace}.hardware.gpu.amd.enable) { + nvidia = mkIf (!config.khanelinix.hardware.gpu.amd.enable) { package = mkDefault nvidiaPackage; modesetting.enable = mkDefault true; diff --git a/modules/nixos/hardware/opengl/default.nix b/modules/nixos/hardware/opengl/default.nix index c6057e7c4..eed34ef86 100644 --- a/modules/nixos/hardware/opengl/default.nix +++ b/modules/nixos/hardware/opengl/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.hardware.opengl; + cfg = config.khanelinix.hardware.opengl; in { - options.${namespace}.hardware.opengl = { + options.khanelinix.hardware.opengl = { enable = lib.mkEnableOption "support for opengl"; }; diff --git a/modules/nixos/hardware/power/default.nix b/modules/nixos/hardware/power/default.nix index 5d5ab83d1..7c6089b0f 100644 --- a/modules/nixos/hardware/power/default.nix +++ b/modules/nixos/hardware/power/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.hardware.power; + cfg = config.khanelinix.hardware.power; in { - options.${namespace}.hardware.power = { + options.khanelinix.hardware.power = { enable = lib.mkEnableOption "support for extra power devices"; }; diff --git a/modules/nixos/hardware/rgb/ckb-next/default.nix b/modules/nixos/hardware/rgb/ckb-next/default.nix index 387674cc0..b30d62c62 100644 --- a/modules/nixos/hardware/rgb/ckb-next/default.nix +++ b/modules/nixos/hardware/rgb/ckb-next/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.hardware.rgb.ckb-next; + cfg = config.khanelinix.hardware.rgb.ckb-next; in { - options.${namespace}.hardware.rgb.ckb-next = with types; { + options.khanelinix.hardware.rgb.ckb-next = with types; { enable = lib.mkEnableOption "support for rgb controls"; ckbNextConfig = mkOpt (nullOr path) null "The ckb-next.conf file to create."; }; @@ -19,7 +19,7 @@ in config = mkIf cfg.enable { hardware.ckb-next.enable = true; - ${namespace}.home.configFile = + khanelinix.home.configFile = { } // lib.optionalAttrs (cfg.ckbNextConfig != null) { "ckb-next/ckb-next.cfg".source = cfg.ckbNextConfig; diff --git a/modules/nixos/hardware/rgb/openrgb/default.nix b/modules/nixos/hardware/rgb/openrgb/default.nix index dd359cd88..f54f3f773 100644 --- a/modules/nixos/hardware/rgb/openrgb/default.nix +++ b/modules/nixos/hardware/rgb/openrgb/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf mkOption; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.hardware.rgb.openrgb; + cfg = config.khanelinix.hardware.rgb.openrgb; in { - options.${namespace}.hardware.rgb.openrgb = with types; { + options.khanelinix.hardware.rgb.openrgb = with types; { enable = lib.mkEnableOption "support for rgb controls"; motherboard = mkOption { type = types.nullOr ( @@ -32,7 +32,7 @@ in i2c-tools ]; - ${namespace}.home.configFile = + khanelinix.home.configFile = { } // lib.optionalAttrs (cfg.openRGBConfig != null) { "OpenRGB/sizes.ors".source = cfg.openRGBConfig + "/sizes.ors"; diff --git a/modules/nixos/hardware/storage/btrfs/default.nix b/modules/nixos/hardware/storage/btrfs/default.nix index d9b058775..db0f05af9 100644 --- a/modules/nixos/hardware/storage/btrfs/default.nix +++ b/modules/nixos/hardware/storage/btrfs/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -12,10 +12,10 @@ let genAttrs getExe ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; inherit (cfg) dedupeFilesystems; - cfg = config.${namespace}.hardware.storage.btrfs; + cfg = config.khanelinix.hardware.storage.btrfs; dedupeFilesystemsAttrSets = genAttrs dedupeFilesystems (name: { spec = "LABEL=${name}"; @@ -116,7 +116,7 @@ let }; in { - options.${namespace}.hardware.storage.btrfs = with types; { + options.khanelinix.hardware.storage.btrfs = with types; { enable = lib.mkEnableOption "support for btrfs devices"; autoScrub = lib.mkEnableOption "btrfs autoScrub;"; dedupe = lib.mkEnableOption "btrfs deduplication;"; diff --git a/modules/nixos/hardware/storage/default.nix b/modules/nixos/hardware/storage/default.nix index e300c63f0..28a8fb14a 100644 --- a/modules/nixos/hardware/storage/default.nix +++ b/modules/nixos/hardware/storage/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) mkBoolOpt; + inherit (lib.khanelinix) mkBoolOpt; - cfg = config.${namespace}.hardware.storage; + cfg = config.khanelinix.hardware.storage; in { - options.${namespace}.hardware.storage = { + options.khanelinix.hardware.storage = { enable = lib.mkEnableOption "support for extra storage devices"; ssdEnable = mkBoolOpt true "Whether or not to enable support for SSD storage devices."; }; diff --git a/modules/nixos/hardware/storage/zfs/default.nix b/modules/nixos/hardware/storage/zfs/default.nix index ba18d26f6..56f043063 100644 --- a/modules/nixos/hardware/storage/zfs/default.nix +++ b/modules/nixos/hardware/storage/zfs/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf mkDefault; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; inherit (lib.types) listOf str; - cfg = config.${namespace}.hardware.storage.zfs; + cfg = config.khanelinix.hardware.storage.zfs; in { - options.${namespace}.hardware.storage.zfs = { + options.khanelinix.hardware.storage.zfs = { enable = mkEnableOption "ZFS support"; auto-snapshot = { enable = mkEnableOption "ZFS auto snapshotting"; diff --git a/modules/nixos/hardware/tpm/default.nix b/modules/nixos/hardware/tpm/default.nix index 51f3b199c..505fd42b0 100644 --- a/modules/nixos/hardware/tpm/default.nix +++ b/modules/nixos/hardware/tpm/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkDefault mkIf; - cfg = config.${namespace}.hardware.tpm; + cfg = config.khanelinix.hardware.tpm; in { - options.${namespace}.hardware.tpm = { + options.khanelinix.hardware.tpm = { enable = lib.mkEnableOption "Trusted Platform Module 2 (TPM2)"; }; diff --git a/modules/nixos/hardware/yubikey/default.nix b/modules/nixos/hardware/yubikey/default.nix index e04799fc9..4f4706f59 100644 --- a/modules/nixos/hardware/yubikey/default.nix +++ b/modules/nixos/hardware/yubikey/default.nix @@ -2,13 +2,13 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf getExe'; - cfg = config.${namespace}.hardware.yubikey; + cfg = config.khanelinix.hardware.yubikey; reload-yubikey = pkgs.writeShellScriptBin "reload-yubikey" # bash @@ -17,7 +17,7 @@ let ''; in { - options.${namespace}.hardware.yubikey = { + options.khanelinix.hardware.yubikey = { enable = lib.mkEnableOption "Yubikey"; enableSSHSupport = lib.mkEnableOption "SSH support for Yubikey"; }; diff --git a/modules/nixos/home/default.nix b/modules/nixos/home/default.nix index 53ebb668e..4a5633219 100644 --- a/modules/nixos/home/default.nix +++ b/modules/nixos/home/default.nix @@ -2,16 +2,16 @@ config, lib, options, - namespace, + ... }: let inherit (lib) types mkAliasDefinitions; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; in { - options.${namespace}.home = with types; { + options.khanelinix.home = with types; { configFile = mkOpt attrs { } "A set of files to be managed by home-manager's ."; @@ -20,11 +20,11 @@ in }; config = { - ${namespace}.home.extraOptions = { - home.file = mkAliasDefinitions options.${namespace}.home.file; + khanelinix.home.extraOptions = { + home.file = mkAliasDefinitions options.khanelinix.home.file; home.stateVersion = lib.mkOptionDefault config.system.stateVersion; - xdg.configFile = mkAliasDefinitions options.${namespace}.home.configFile; - xdg.enable = lib.mkOptionDefault true; + xdg.configFile = mkAliasDefinitions options.khanelinix.home.configFile; + xdg.enable = lib.mkDefault true; }; home-manager = { @@ -34,7 +34,7 @@ in useGlobalPkgs = true; useUserPackages = true; - users.${config.${namespace}.user.name} = mkAliasDefinitions options.${namespace}.home.extraOptions; + users.${config.khanelinix.user.name} = mkAliasDefinitions options.khanelinix.home.extraOptions; verbose = true; }; diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix index 6bbff778d..d5dec183a 100644 --- a/modules/nixos/nix/default.nix +++ b/modules/nixos/nix/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkDefault mkIf; - cfg = config.${namespace}.nix; + cfg = config.khanelinix.nix; in { - imports = [ (lib.snowfall.fs.get-file "modules/shared/nix/default.nix") ]; + imports = [ (lib.getFile "modules/shared/nix/default.nix") ]; config = mkIf cfg.enable { documentation = { @@ -64,13 +64,6 @@ in "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" ]; }; - - # flake-utils-plus - generateNixPathFromInputs = true; - generateRegistryFromInputs = true; - linkInputs = true; }; - - system.rebuild.enableNg = true; }; } diff --git a/modules/nixos/programs/graphical/addons/gamemode/default.nix b/modules/nixos/programs/graphical/addons/gamemode/default.nix index 39b2169ce..c13d9691f 100644 --- a/modules/nixos/programs/graphical/addons/gamemode/default.nix +++ b/modules/nixos/programs/graphical/addons/gamemode/default.nix @@ -2,13 +2,13 @@ config, lib, pkgs, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.graphical.addons.gamemode; + cfg = config.khanelinix.programs.graphical.addons.gamemode; defaultStartScript = '' ${lib.getExe' pkgs.libnotify "notify-send"} 'GameMode started' @@ -19,7 +19,7 @@ let ''; in { - options.${namespace}.programs.graphical.addons.gamemode = { + options.khanelinix.programs.graphical.addons.gamemode = { enable = lib.mkEnableOption "gamemode"; endscript = mkOpt (with lib.types; nullOr str) null "The script to run when disabling gamemode."; startscript = mkOpt (with lib.types; nullOr str) null "The script to run when enabling gamemode."; diff --git a/modules/nixos/programs/graphical/addons/gamescope/default.nix b/modules/nixos/programs/graphical/addons/gamescope/default.nix index 83b9ffafd..a522fced0 100644 --- a/modules/nixos/programs/graphical/addons/gamescope/default.nix +++ b/modules/nixos/programs/graphical/addons/gamescope/default.nix @@ -2,14 +2,14 @@ config, lib, pkgs, - namespace, + ... }: let - cfg = config.${namespace}.programs.graphical.addons.gamescope; + cfg = config.khanelinix.programs.graphical.addons.gamescope; in { - options.${namespace}.programs.graphical.addons.gamescope = { + options.khanelinix.programs.graphical.addons.gamescope = { enable = lib.mkEnableOption "gamescope"; }; diff --git a/modules/nixos/programs/graphical/addons/keyring/default.nix b/modules/nixos/programs/graphical/addons/keyring/default.nix index 919e658d6..f2d3545a3 100644 --- a/modules/nixos/programs/graphical/addons/keyring/default.nix +++ b/modules/nixos/programs/graphical/addons/keyring/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.keyring; + cfg = config.khanelinix.programs.graphical.addons.keyring; in { - options.${namespace}.programs.graphical.addons.keyring = { + options.khanelinix.programs.graphical.addons.keyring = { enable = lib.mkEnableOption "the passwords application"; }; diff --git a/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix b/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix index e523eebd4..78c413d59 100644 --- a/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix +++ b/modules/nixos/programs/graphical/addons/looking-glass-client/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (config.${namespace}) user; + inherit (config.khanelinix) user; - cfg = config.${namespace}.programs.graphical.addons.looking-glass-client; + cfg = config.khanelinix.programs.graphical.addons.looking-glass-client; in { - options.${namespace}.programs.graphical.addons.looking-glass-client = { + options.khanelinix.programs.graphical.addons.looking-glass-client = { enable = lib.mkEnableOption "the Looking Glass client"; enableKvmfr = lib.mkEnableOption "ivshmem support"; }; diff --git a/modules/nixos/programs/graphical/addons/noisetorch/default.nix b/modules/nixos/programs/graphical/addons/noisetorch/default.nix index 98e73fa7a..d1d412ca3 100644 --- a/modules/nixos/programs/graphical/addons/noisetorch/default.nix +++ b/modules/nixos/programs/graphical/addons/noisetorch/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -14,10 +14,10 @@ let types ; - cfg = config.${namespace}.programs.graphical.addons.noisetorch; + cfg = config.khanelinix.programs.graphical.addons.noisetorch; in { - options.${namespace}.programs.graphical.addons.noisetorch = { + options.khanelinix.programs.graphical.addons.noisetorch = { enable = mkEnableOption "noisetorch service"; package = mkOption { type = types.package; diff --git a/modules/nixos/programs/graphical/addons/uwsm/default.nix b/modules/nixos/programs/graphical/addons/uwsm/default.nix index b704b42dc..e153bf041 100644 --- a/modules/nixos/programs/graphical/addons/uwsm/default.nix +++ b/modules/nixos/programs/graphical/addons/uwsm/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.addons.uwsm; + cfg = config.khanelinix.programs.graphical.addons.uwsm; in { - options.${namespace}.programs.graphical.addons.uwsm = { + options.khanelinix.programs.graphical.addons.uwsm = { enable = lib.mkEnableOption "uwsm"; }; diff --git a/modules/nixos/programs/graphical/apps/_1password/default.nix b/modules/nixos/programs/graphical/apps/_1password/default.nix index a8a29a2ef..ffd438213 100644 --- a/modules/nixos/programs/graphical/apps/_1password/default.nix +++ b/modules/nixos/programs/graphical/apps/_1password/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.programs.graphical.apps._1password; + cfg = config.khanelinix.programs.graphical.apps._1password; in { - options.${namespace}.programs.graphical.apps._1password = { + options.khanelinix.programs.graphical.apps._1password = { enable = lib.mkEnableOption "1password"; enableSshSocket = lib.mkEnableOption "ssh-agent socket"; }; @@ -24,7 +24,7 @@ in enable = true; package = pkgs._1password-gui; - polkitPolicyOwners = [ config.${namespace}.user.name ]; + polkitPolicyOwners = [ config.khanelinix.user.name ]; }; ssh.extraConfig = lib.optionalString cfg.enableSshSocket '' diff --git a/modules/nixos/programs/graphical/apps/gnome-disks/default.nix b/modules/nixos/programs/graphical/apps/gnome-disks/default.nix index c2a3685c5..e9d5d752a 100644 --- a/modules/nixos/programs/graphical/apps/gnome-disks/default.nix +++ b/modules/nixos/programs/graphical/apps/gnome-disks/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.apps.gnome-disks; + cfg = config.khanelinix.programs.graphical.apps.gnome-disks; in { - options.${namespace}.programs.graphical.apps.gnome-disks = { + options.khanelinix.programs.graphical.apps.gnome-disks = { enable = lib.mkEnableOption "gnome-disks"; }; diff --git a/modules/nixos/programs/graphical/apps/partitionmanager/default.nix b/modules/nixos/programs/graphical/apps/partitionmanager/default.nix index 5313d670b..2dd33fe6a 100644 --- a/modules/nixos/programs/graphical/apps/partitionmanager/default.nix +++ b/modules/nixos/programs/graphical/apps/partitionmanager/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.apps.partitionmanager; + cfg = config.khanelinix.programs.graphical.apps.partitionmanager; in { - options.${namespace}.programs.graphical.apps.partitionmanager = { + options.khanelinix.programs.graphical.apps.partitionmanager = { enable = lib.mkEnableOption "partitionmanager"; }; diff --git a/modules/nixos/programs/graphical/apps/steam/default.nix b/modules/nixos/programs/graphical/apps/steam/default.nix index 401880d1c..b6cb0beeb 100644 --- a/modules/nixos/programs/graphical/apps/steam/default.nix +++ b/modules/nixos/programs/graphical/apps/steam/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.apps.steam; + cfg = config.khanelinix.programs.graphical.apps.steam; in { - options.${namespace}.programs.graphical.apps.steam = { + options.khanelinix.programs.graphical.apps.steam = { enable = lib.mkEnableOption "support for Steam"; }; diff --git a/modules/nixos/programs/graphical/apps/virtualbox/default.nix b/modules/nixos/programs/graphical/apps/virtualbox/default.nix index 8ff01e8fb..3cf55d4ac 100644 --- a/modules/nixos/programs/graphical/apps/virtualbox/default.nix +++ b/modules/nixos/programs/graphical/apps/virtualbox/default.nix @@ -1,21 +1,21 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.apps.virtualbox; + cfg = config.khanelinix.programs.graphical.apps.virtualbox; in { - options.${namespace}.programs.graphical.apps.virtualbox = { + options.khanelinix.programs.graphical.apps.virtualbox = { enable = lib.mkEnableOption "Virtualbox"; }; config = mkIf cfg.enable { - ${namespace}.user.extraGroups = [ "vboxusers" ]; + khanelinix.user.extraGroups = [ "vboxusers" ]; virtualisation.virtualbox.host = { enable = true; diff --git a/modules/nixos/programs/graphical/desktop-environment/gnome/default.nix b/modules/nixos/programs/graphical/desktop-environment/gnome/default.nix index 8610b77d8..8566dc14c 100644 --- a/modules/nixos/programs/graphical/desktop-environment/gnome/default.nix +++ b/modules/nixos/programs/graphical/desktop-environment/gnome/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -10,17 +10,17 @@ let types mkIf ; - inherit (lib.${namespace}) + inherit (lib.khanelinix) enabled mkBoolOpt mkOpt ; - cfg = config.${namespace}.programs.graphical.desktop-environment.gnome; + cfg = config.khanelinix.programs.graphical.desktop-environment.gnome; gdmHome = config.users.users.gdm.home; in { - options.${namespace}.programs.graphical.desktop-environment.gnome = with types; { + options.khanelinix.programs.graphical.desktop-environment.gnome = with types; { enable = lib.mkEnableOption "using Gnome as the desktop environment"; color-scheme = mkOpt (enum [ "light" diff --git a/modules/nixos/programs/graphical/file-managers/dolphin/default.nix b/modules/nixos/programs/graphical/file-managers/dolphin/default.nix index b557a03cf..790b05f89 100644 --- a/modules/nixos/programs/graphical/file-managers/dolphin/default.nix +++ b/modules/nixos/programs/graphical/file-managers/dolphin/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.file-managers.dolphin; + cfg = config.khanelinix.programs.graphical.file-managers.dolphin; in { - options.${namespace}.programs.graphical.file-managers.dolphin = { + options.khanelinix.programs.graphical.file-managers.dolphin = { enable = lib.mkEnableOption "Dolphin"; }; diff --git a/modules/nixos/programs/graphical/file-managers/nautilus/default.nix b/modules/nixos/programs/graphical/file-managers/nautilus/default.nix index 2f14e47f5..4fd7cc69c 100644 --- a/modules/nixos/programs/graphical/file-managers/nautilus/default.nix +++ b/modules/nixos/programs/graphical/file-managers/nautilus/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.file-managers.nautilus; + cfg = config.khanelinix.programs.graphical.file-managers.nautilus; in { - options.${namespace}.programs.graphical.file-managers.nautilus = { + options.khanelinix.programs.graphical.file-managers.nautilus = { enable = lib.mkEnableOption "the gnome file manager"; }; diff --git a/modules/nixos/programs/graphical/file-managers/thunar/default.nix b/modules/nixos/programs/graphical/file-managers/thunar/default.nix index 708a1d474..6fb2237cd 100644 --- a/modules/nixos/programs/graphical/file-managers/thunar/default.nix +++ b/modules/nixos/programs/graphical/file-managers/thunar/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.graphical.file-managers.thunar; + cfg = config.khanelinix.programs.graphical.file-managers.thunar; in { - options.${namespace}.programs.graphical.file-managers.thunar = { + options.khanelinix.programs.graphical.file-managers.thunar = { enable = lib.mkEnableOption "the xfce file manager"; }; diff --git a/modules/nixos/programs/graphical/wms/hyprland/default.nix b/modules/nixos/programs/graphical/wms/hyprland/default.nix index 6fd9cd326..9c2268393 100644 --- a/modules/nixos/programs/graphical/wms/hyprland/default.nix +++ b/modules/nixos/programs/graphical/wms/hyprland/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -12,9 +12,9 @@ let mkIf types ; - inherit (lib.${namespace}) mkOpt enabled; + inherit (lib.khanelinix) mkOpt enabled; - cfg = config.${namespace}.programs.graphical.wms.hyprland; + cfg = config.khanelinix.programs.graphical.wms.hyprland; programs = makeBinPath ( with pkgs; @@ -28,7 +28,7 @@ let ); in { - options.${namespace}.programs.graphical.wms.hyprland = with types; { + options.khanelinix.programs.graphical.wms.hyprland = with types; { enable = lib.mkEnableOption "Hyprland"; enableDebug = lib.mkEnableOption "debug mode"; customConfigFiles = @@ -41,8 +41,8 @@ in config = mkIf cfg.enable { environment = { sessionVariables = lib.mkIf (!config.programs.uwsm.enable) { - HYPRCURSOR_THEME = config.${namespace}.theme.cursor.name; - HYPRCURSOR_SIZE = "${toString config.${namespace}.theme.cursor.size}"; + HYPRCURSOR_THEME = config.khanelinix.theme.cursor.name; + HYPRCURSOR_SIZE = "${toString config.khanelinix.theme.cursor.size}"; }; }; @@ -76,8 +76,8 @@ in export XDG_CURRENT_DESKTOP=Hyprland export XDG_SESSION_TYPE=wayland export XDG_SESSION_DESKTOP=Hyprland - export HYPRCURSOR_THEME=${config.${namespace}.theme.cursor.name}; - export HYPRCURSOR_SIZE=${toString config.${namespace}.theme.cursor.size}; + export HYPRCURSOR_THEME=${config.khanelinix.theme.cursor.name}; + export HYPRCURSOR_SIZE=${toString config.khanelinix.theme.cursor.size}; '' + lib.optionalString cfg.enableDebug '' export AQ_TRACE=1; diff --git a/modules/nixos/programs/graphical/wms/sway/default.nix b/modules/nixos/programs/graphical/wms/sway/default.nix index 1a79452cf..8166a0985 100644 --- a/modules/nixos/programs/graphical/wms/sway/default.nix +++ b/modules/nixos/programs/graphical/wms/sway/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt enabled; + inherit (lib.khanelinix) mkOpt enabled; - cfg = config.${namespace}.programs.graphical.wms.sway; + cfg = config.khanelinix.programs.graphical.wms.sway; in { - options.${namespace}.programs.graphical.wms.sway = with types; { + options.khanelinix.programs.graphical.wms.sway = with types; { enable = lib.mkEnableOption "Sway"; extraConfig = mkOpt str "" "Additional configuration for the Sway config file."; wallpaper = mkOpt (nullOr package) null "The wallpaper to display."; diff --git a/modules/nixos/programs/terminal/tools/bandwhich/default.nix b/modules/nixos/programs/terminal/tools/bandwhich/default.nix index 6523ae710..c36b22c63 100644 --- a/modules/nixos/programs/terminal/tools/bandwhich/default.nix +++ b/modules/nixos/programs/terminal/tools/bandwhich/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.bandwhich; + cfg = config.khanelinix.programs.terminal.tools.bandwhich; in { - options.${namespace}.programs.terminal.tools.bandwhich = { + options.khanelinix.programs.terminal.tools.bandwhich = { enable = lib.mkEnableOption "bandwhich"; }; diff --git a/modules/nixos/programs/terminal/tools/nix-ld/default.nix b/modules/nixos/programs/terminal/tools/nix-ld/default.nix index 8f2cf341d..ed13ac67f 100644 --- a/modules/nixos/programs/terminal/tools/nix-ld/default.nix +++ b/modules/nixos/programs/terminal/tools/nix-ld/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.programs.terminal.tools.nix-ld; + cfg = config.khanelinix.programs.terminal.tools.nix-ld; in { - options.${namespace}.programs.terminal.tools.nix-ld = { + options.khanelinix.programs.terminal.tools.nix-ld = { enable = lib.mkEnableOption "nix-ld"; }; diff --git a/modules/nixos/programs/terminal/tools/qmk/default.nix b/modules/nixos/programs/terminal/tools/qmk/default.nix index 1799d76e8..927ad2a71 100644 --- a/modules/nixos/programs/terminal/tools/qmk/default.nix +++ b/modules/nixos/programs/terminal/tools/qmk/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.tools.qmk; + cfg = config.khanelinix.tools.qmk; in { - options.${namespace}.tools.qmk = { + options.khanelinix.tools.qmk = { enable = lib.mkEnableOption "QMK"; }; diff --git a/modules/nixos/programs/terminal/tools/ssh/default.nix b/modules/nixos/programs/terminal/tools/ssh/default.nix index 0475d4404..47dfc9151 100644 --- a/modules/nixos/programs/terminal/tools/ssh/default.nix +++ b/modules/nixos/programs/terminal/tools/ssh/default.nix @@ -3,5 +3,7 @@ ... }: { - imports = [ (lib.snowfall.fs.get-file "modules/shared/programs/terminal/tools/ssh/default.nix") ]; + imports = [ + (lib.getFile "modules/shared/programs/terminal/tools/ssh/default.nix") + ]; } diff --git a/modules/nixos/security/acme/default.nix b/modules/nixos/security/acme/default.nix index d6c855bb4..49fdb8aaf 100644 --- a/modules/nixos/security/acme/default.nix +++ b/modules/nixos/security/acme/default.nix @@ -2,18 +2,18 @@ config, lib, virtual, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.security.acme; + cfg = config.khanelinix.security.acme; in { - options.${namespace}.security.acme = { + options.khanelinix.security.acme = { enable = lib.mkEnableOption "default ACME configuration"; - email = mkOpt lib.types.str config.${namespace}.user.email "The email to use."; + email = mkOpt lib.types.str config.khanelinix.user.email "The email to use."; staging = mkOpt lib.types.bool virtual "Whether to use the staging server or not."; }; diff --git a/modules/nixos/security/auditd/default.nix b/modules/nixos/security/auditd/default.nix index d60d6feb2..5f39fa6b0 100644 --- a/modules/nixos/security/auditd/default.nix +++ b/modules/nixos/security/auditd/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.security.auditd; + cfg = config.khanelinix.security.auditd; in { - options.${namespace}.security.auditd = { + options.khanelinix.security.auditd = { enable = lib.mkEnableOption "default auditd configuration"; }; diff --git a/modules/nixos/security/clamav/default.nix b/modules/nixos/security/clamav/default.nix index a1483c00d..5da69d5de 100644 --- a/modules/nixos/security/clamav/default.nix +++ b/modules/nixos/security/clamav/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.security.clamav; + cfg = config.khanelinix.security.clamav; in { - options.${namespace}.security.clamav = { + options.khanelinix.security.clamav = { enable = lib.mkEnableOption "default clamav configuration"; }; diff --git a/modules/nixos/security/doas/default.nix b/modules/nixos/security/doas/default.nix index 9d6706dc8..b7e4716ba 100644 --- a/modules/nixos/security/doas/default.nix +++ b/modules/nixos/security/doas/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.security.doas; + cfg = config.khanelinix.security.doas; in { - options.${namespace}.security.doas = { + options.khanelinix.security.doas = { enable = lib.mkEnableOption "replacing sudo with doas"; }; @@ -30,7 +30,7 @@ in { keepEnv = true; noPass = true; - users = [ config.${namespace}.user.name ]; + users = [ config.khanelinix.user.name ]; } ]; }; diff --git a/modules/nixos/security/gpg/default.nix b/modules/nixos/security/gpg/default.nix index 66e863b88..687f5902c 100644 --- a/modules/nixos/security/gpg/default.nix +++ b/modules/nixos/security/gpg/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -11,9 +11,9 @@ let mkIf getExe' ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.security.gpg; + cfg = config.khanelinix.security.gpg; gpgAgentConf = '' enable-ssh-support @@ -23,7 +23,7 @@ let ''; in { - options.${namespace}.security.gpg = with types; { + options.khanelinix.security.gpg = with types; { enable = lib.mkEnableOption "GPG"; agentTimeout = mkOpt int 5 "The amount of time to wait before continuing with shell init."; enableSSHSupport = lib.mkEnableOption "SSH support for GPG"; diff --git a/modules/nixos/security/keyring/default.nix b/modules/nixos/security/keyring/default.nix index 03146c0ff..e41a903a1 100644 --- a/modules/nixos/security/keyring/default.nix +++ b/modules/nixos/security/keyring/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.security.keyring; + cfg = config.khanelinix.security.keyring; in { - options.${namespace}.security.keyring = { + options.khanelinix.security.keyring = { enable = lib.mkEnableOption "gnome keyring"; }; diff --git a/modules/nixos/security/pam/default.nix b/modules/nixos/security/pam/default.nix index e9b8cbbf7..c13cf166d 100644 --- a/modules/nixos/security/pam/default.nix +++ b/modules/nixos/security/pam/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.security.pam; + cfg = config.khanelinix.security.pam; in { - options.${namespace}.security.pam = { + options.khanelinix.security.pam = { enable = lib.mkEnableOption "pam"; }; diff --git a/modules/nixos/security/polkit/default.nix b/modules/nixos/security/polkit/default.nix index b21c3e728..0b1ef98f8 100644 --- a/modules/nixos/security/polkit/default.nix +++ b/modules/nixos/security/polkit/default.nix @@ -2,21 +2,21 @@ config, lib, pkgs, - namespace, + ... }: let - cfg = config.${namespace}.security.polkit; + cfg = config.khanelinix.security.polkit; in { - options.${namespace}.security.polkit = { + options.khanelinix.security.polkit = { enable = lib.mkEnableOption "polkit"; }; config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; - lib.optionals (!config.${namespace}.programs.graphical.wms.hyprland.enable) [ + lib.optionals (!config.khanelinix.programs.graphical.wms.hyprland.enable) [ kdePackages.polkit-kde-agent ]; @@ -41,7 +41,7 @@ in systemd = { user.services = { polkit-kde-authentication-agent-1 = - lib.mkIf (!config.${namespace}.programs.graphical.wms.hyprland.enable) + lib.mkIf (!config.khanelinix.programs.graphical.wms.hyprland.enable) { after = [ "graphical-session.target" ]; description = "polkit-kde-authentication-agent-1"; diff --git a/modules/nixos/security/sops/default.nix b/modules/nixos/security/sops/default.nix index 016a29167..6c9facf2b 100644 --- a/modules/nixos/security/sops/default.nix +++ b/modules/nixos/security/sops/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.security.sops; + cfg = config.khanelinix.security.sops; in { - options.${namespace}.security.sops = { + options.khanelinix.security.sops = { enable = lib.mkEnableOption "sops"; defaultSopsFile = mkOpt lib.types.path null "Default sops file."; sshKeyPaths = mkOpt (with lib.types; listOf path) [ @@ -25,13 +25,13 @@ in age = { inherit (cfg) sshKeyPaths; - keyFile = "${config.users.users.${config.${namespace}.user.name}.home}/.config/sops/age/keys.txt"; + keyFile = "${config.users.users.${config.khanelinix.user.name}.home}/.config/sops/age/keys.txt"; }; }; sops.secrets = { "khanelinix_khaneliman_ssh_key" = { - sopsFile = lib.snowfall.fs.get-file "secrets/khanelinix/khaneliman/default.yaml"; + sopsFile = lib.getFile "secrets/khanelinix/khaneliman/default.yaml"; }; }; }; diff --git a/modules/nixos/security/sudo-rs/default.nix b/modules/nixos/security/sudo-rs/default.nix index e1d738ce2..d17fff92a 100644 --- a/modules/nixos/security/sudo-rs/default.nix +++ b/modules/nixos/security/sudo-rs/default.nix @@ -2,15 +2,15 @@ config, lib, pkgs, - namespace, + ... }: let - cfg = config.${namespace}.security.sudo-rs; + cfg = config.khanelinix.security.sudo-rs; in { - options.${namespace}.security.sudo-rs = { + options.khanelinix.security.sudo-rs = { enable = lib.mkEnableOption "replacing sudo with sudo-rs"; }; @@ -24,7 +24,7 @@ in # extraRules = [ # { # noPass = true; - # users = [ config.${namespace}.user.name ]; + # users = [ config.khanelinix.user.name ]; # } # ]; }; diff --git a/modules/nixos/security/sudo/default.nix b/modules/nixos/security/sudo/default.nix index 0c1766f15..0b45c200b 100644 --- a/modules/nixos/security/sudo/default.nix +++ b/modules/nixos/security/sudo/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + pkgs, ... }: let - cfg = config.${namespace}.security.sudo; + cfg = config.khanelinix.security.sudo; in { - options.${namespace}.security.sudo = { + options.khanelinix.security.sudo = { enable = lib.mkEnableOption "sudo"; }; config = lib.mkIf cfg.enable { diff --git a/modules/nixos/security/usbguard/default.nix b/modules/nixos/security/usbguard/default.nix index c408112cb..5afab4905 100644 --- a/modules/nixos/security/usbguard/default.nix +++ b/modules/nixos/security/usbguard/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.security.usbguard; + cfg = config.khanelinix.security.usbguard; in { - options.${namespace}.security.usbguard = { + options.khanelinix.security.usbguard = { enable = lib.mkEnableOption "default usbguard configuration"; }; @@ -16,7 +16,7 @@ in services.usbguard = { IPCAllowedUsers = [ "root" - "${config.snowfallorg.users.name}" + "${config.khanelinix.user.name}" ]; presentDevicePolicy = "allow"; rules = '' diff --git a/modules/nixos/services/avahi/default.nix b/modules/nixos/services/avahi/default.nix index 172d40a6c..ae853debf 100644 --- a/modules/nixos/services/avahi/default.nix +++ b/modules/nixos/services/avahi/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.avahi; + cfg = config.khanelinix.services.avahi; inherit (lib) mkEnableOption mkIf; in { - options.${namespace}.services.avahi = { + options.khanelinix.services.avahi = { enable = mkEnableOption "Avahi"; }; diff --git a/modules/nixos/services/cloudflared/default.nix b/modules/nixos/services/cloudflared/default.nix index 76e768ba1..6e1c7cfcb 100644 --- a/modules/nixos/services/cloudflared/default.nix +++ b/modules/nixos/services/cloudflared/default.nix @@ -2,16 +2,16 @@ lib, pkgs, config, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.cloudflared; + cfg = config.khanelinix.services.cloudflared; in { - options.${namespace}.services.cloudflared = { + options.khanelinix.services.cloudflared = { enable = lib.mkEnableOption "cloudflared"; }; @@ -20,7 +20,7 @@ in # assertions = [ # { # assertion = cfg.autoconnect.enable -> cfg.autoconnect.key != ""; - # message = "${namespace}.services.cloudflared.autoconnect.key must be set"; + # message = "khanelinix.services.cloudflared.autoconnect.key must be set"; # } # ]; diff --git a/modules/nixos/services/dbus/default.nix b/modules/nixos/services/dbus/default.nix index d8d86e901..87883dbc3 100644 --- a/modules/nixos/services/dbus/default.nix +++ b/modules/nixos/services/dbus/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) mkBoolOpt; + inherit (lib.khanelinix) mkBoolOpt; - cfg = config.${namespace}.services.dbus; + cfg = config.khanelinix.services.dbus; in { - options.${namespace}.services.dbus = { + options.khanelinix.services.dbus = { enable = mkBoolOpt true "Whether or not to enable dbus service."; }; diff --git a/modules/nixos/services/ddc/default.nix b/modules/nixos/services/ddc/default.nix index 6bc84a3ed..dcb5b950b 100644 --- a/modules/nixos/services/ddc/default.nix +++ b/modules/nixos/services/ddc/default.nix @@ -2,16 +2,16 @@ lib, pkgs, config, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.ddccontrol; + cfg = config.khanelinix.services.ddccontrol; in { - options.${namespace}.services.ddccontrol = { + options.khanelinix.services.ddccontrol = { enable = lib.mkEnableOption "ddccontrol"; }; diff --git a/modules/nixos/services/earlyoom/default.nix b/modules/nixos/services/earlyoom/default.nix index 9e00560f4..107162030 100644 --- a/modules/nixos/services/earlyoom/default.nix +++ b/modules/nixos/services/earlyoom/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) concatStringsSep mkIf; - cfg = config.${namespace}.services.earlyoom; + cfg = config.khanelinix.services.earlyoom; in { - options.${namespace}.services.earlyoom = { + options.khanelinix.services.earlyoom = { enable = lib.mkEnableOption "oomd"; }; diff --git a/modules/nixos/services/flatpak/default.nix b/modules/nixos/services/flatpak/default.nix index 4756180cd..a135a6a06 100644 --- a/modules/nixos/services/flatpak/default.nix +++ b/modules/nixos/services/flatpak/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.flatpak; + cfg = config.khanelinix.services.flatpak; in { - options.${namespace}.services.flatpak = { + options.khanelinix.services.flatpak = { enable = lib.mkEnableOption "flatpak support"; extraRepos = lib.mkOption { default = [ diff --git a/modules/nixos/services/geoclue/default.nix b/modules/nixos/services/geoclue/default.nix index b3b6d075b..092516ff3 100644 --- a/modules/nixos/services/geoclue/default.nix +++ b/modules/nixos/services/geoclue/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.geoclue; + cfg = config.khanelinix.services.geoclue; in { - options.${namespace}.services.geoclue = { + options.khanelinix.services.geoclue = { enable = lib.mkEnableOption "geoclue support"; }; diff --git a/modules/nixos/services/logind/default.nix b/modules/nixos/services/logind/default.nix index b96063563..fba835bc5 100644 --- a/modules/nixos/services/logind/default.nix +++ b/modules/nixos/services/logind/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkEnableOption; - cfg = config.${namespace}.services.logind; + cfg = config.khanelinix.services.logind; in { - options.${namespace}.services.logind = { + options.khanelinix.services.logind = { enable = mkEnableOption "logind"; }; diff --git a/modules/nixos/services/logrotate/default.nix b/modules/nixos/services/logrotate/default.nix index 8126999ba..bde958f25 100644 --- a/modules/nixos/services/logrotate/default.nix +++ b/modules/nixos/services/logrotate/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.logrotate; + cfg = config.khanelinix.services.logrotate; in { - options.${namespace}.services.logrotate = { + options.khanelinix.services.logrotate = { enable = lib.mkEnableOption "logrotate"; }; diff --git a/modules/nixos/services/ollama-ui/default.nix b/modules/nixos/services/ollama-ui/default.nix index b8d25c744..6a02e8fff 100644 --- a/modules/nixos/services/ollama-ui/default.nix +++ b/modules/nixos/services/ollama-ui/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.ollama-ui; + cfg = config.khanelinix.services.ollama-ui; in { - options.${namespace}.services.ollama-ui = { + options.khanelinix.services.ollama-ui = { enable = lib.mkEnableOption "ollama ui"; }; diff --git a/modules/nixos/services/ollama/default.nix b/modules/nixos/services/ollama/default.nix index a52dfc0af..a0282824a 100644 --- a/modules/nixos/services/ollama/default.nix +++ b/modules/nixos/services/ollama/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.ollama; + cfg = config.khanelinix.services.ollama; amdCfg = config.khanelinix.hardware.gpu.amd; in { - options.${namespace}.services.ollama = { + options.khanelinix.services.ollama = { enable = lib.mkEnableOption "ollama"; enableDebug = lib.mkEnableOption "debug"; }; diff --git a/modules/nixos/services/oomd/default.nix b/modules/nixos/services/oomd/default.nix index 246a27bcb..cb9eed2d5 100644 --- a/modules/nixos/services/oomd/default.nix +++ b/modules/nixos/services/oomd/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.oomd; + cfg = config.khanelinix.services.oomd; in { - options.${namespace}.services.oomd = { + options.khanelinix.services.oomd = { enable = lib.mkEnableOption "oomd"; }; diff --git a/modules/nixos/services/open-webui/default.nix b/modules/nixos/services/open-webui/default.nix index d78a2a223..ba181ac11 100644 --- a/modules/nixos/services/open-webui/default.nix +++ b/modules/nixos/services/open-webui/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.open-webui; + cfg = config.khanelinix.services.open-webui; in { - options.${namespace}.services.open-webui = { + options.khanelinix.services.open-webui = { enable = lib.mkEnableOption "ollama ui"; }; diff --git a/modules/nixos/services/openssh/default.nix b/modules/nixos/services/openssh/default.nix index 05a78f3ca..25a37ccad 100644 --- a/modules/nixos/services/openssh/default.nix +++ b/modules/nixos/services/openssh/default.nix @@ -2,7 +2,7 @@ config, format, lib, - namespace, + ... }: let @@ -11,9 +11,9 @@ let mkDefault mkIf ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.openssh; + cfg = config.khanelinix.services.openssh; authorizedKeys = [ # `khanelinix` @@ -28,7 +28,7 @@ let ]; in { - options.${namespace}.services.openssh = with types; { + options.khanelinix.services.openssh = with types; { enable = lib.mkEnableOption "OpenSSH support"; startAgent = lib.mkEnableOption "starting openssh agent"; authorizedKeys = mkOpt (listOf str) authorizedKeys "The public keys to apply."; diff --git a/modules/nixos/services/power/default.nix b/modules/nixos/services/power/default.nix index 850f479f1..f8ec0f090 100644 --- a/modules/nixos/services/power/default.nix +++ b/modules/nixos/services/power/default.nix @@ -1,16 +1,16 @@ { lib, config, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.power; + cfg = config.khanelinix.services.power; in { - options.${namespace}.services.power = { + options.khanelinix.services.power = { enable = lib.mkEnableOption "power profiles"; }; diff --git a/modules/nixos/services/printing/default.nix b/modules/nixos/services/printing/default.nix index 387247905..c438a6f40 100644 --- a/modules/nixos/services/printing/default.nix +++ b/modules/nixos/services/printing/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.services.printing; + cfg = config.khanelinix.services.printing; in { - options.${namespace}.services.printing = { + options.khanelinix.services.printing = { enable = lib.mkEnableOption "printing support"; }; diff --git a/modules/nixos/services/resources-limiter/default.nix b/modules/nixos/services/resources-limiter/default.nix index d6b8bc0d7..4cae259cb 100644 --- a/modules/nixos/services/resources-limiter/default.nix +++ b/modules/nixos/services/resources-limiter/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkEnableOption; - cfg = config.${namespace}.services.resources-limiter; + cfg = config.khanelinix.services.resources-limiter; in { - options.${namespace}.services.resources-limiter = { + options.khanelinix.services.resources-limiter = { enable = mkEnableOption "resources limiter slice"; }; diff --git a/modules/nixos/services/rustdesk-server/default.nix b/modules/nixos/services/rustdesk-server/default.nix index 6a7797b38..b57015dd8 100644 --- a/modules/nixos/services/rustdesk-server/default.nix +++ b/modules/nixos/services/rustdesk-server/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkEnableOption mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.rustdesk-server; + cfg = config.khanelinix.services.rustdesk-server; in { - options.${namespace}.services.rustdesk-server = { + options.khanelinix.services.rustdesk-server = { enable = mkEnableOption "rustdesk-server"; relayHosts = mkOpt (lib.types.listOf lib.types.str) [ ] "Groups for the user to be assigned."; }; diff --git a/modules/nixos/services/samba/default.nix b/modules/nixos/services/samba/default.nix index af55b206c..aac9d8884 100644 --- a/modules/nixos/services/samba/default.nix +++ b/modules/nixos/services/samba/default.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + ... }: let @@ -12,9 +12,9 @@ let optionalAttrs types ; - inherit (lib.${namespace}) mkBoolOpt mkOpt; + inherit (lib.khanelinix) mkBoolOpt mkOpt; - cfg = config.${namespace}.services.samba; + cfg = config.khanelinix.services.samba; bool-to-yes-no = value: if value then "yes" else "no"; @@ -29,7 +29,7 @@ let browseable = mkBoolOpt true "Whether the share is browseable."; comment = mkOpt str name "An optional comment."; read-only = mkBoolOpt false "Whether the share should be read only."; - only-owner-editable = mkBoolOpt false "Whether the share is only writable by the system owner (${namespace}.user.name)."; + only-owner-editable = mkBoolOpt false "Whether the share is only writable by the system owner (khanelinix.user.name)."; extra-config = mkOpt attrs { } "Extra configuration options for the share."; }; @@ -37,7 +37,7 @@ let ); in { - options.${namespace}.services.samba = with types; { + options.khanelinix.services.samba = with types; { enable = mkEnableOption "Samba"; browseable = mkBoolOpt true "Whether the shares are browseable."; workgroup = mkOpt str "WORKGROUP" "The workgroup to use."; @@ -76,7 +76,7 @@ in "read only" = bool-to-yes-no value.read-only; } // (optionalAttrs value.only-owner-editable { - "write list" = config.${namespace}.user.name; + "write list" = config.khanelinix.user.name; "read list" = "guest, nobody"; "create mask" = "0755"; "directory mask" = "0755"; @@ -90,7 +90,7 @@ in # sambaUserSetup = { # text = '' # PATH=$PATH:${lib.makeBinPath [ pkgs.samba ]} - # pdbedit -i smbpasswd:/home/${config.${namespace}.user.name}/smbpasswd -e tdbsam:/var/lib/samba/private/passdb.tdb + # pdbedit -i smbpasswd:/home/${config.khanelinix.user.name}/smbpasswd -e tdbsam:/var/lib/samba/private/passdb.tdb # ''; # deps = [ ]; # }; diff --git a/modules/nixos/services/seatd/default.nix b/modules/nixos/services/seatd/default.nix index 249a8f6d4..ca5460867 100644 --- a/modules/nixos/services/seatd/default.nix +++ b/modules/nixos/services/seatd/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkEnableOption; - cfg = config.${namespace}.services.seatd; + cfg = config.khanelinix.services.seatd; in { - options.${namespace}.services.seatd = { + options.khanelinix.services.seatd = { enable = mkEnableOption "seatd"; }; diff --git a/modules/nixos/services/snapper/default.nix b/modules/nixos/services/snapper/default.nix index f02aca6c6..eaad866ac 100644 --- a/modules/nixos/services/snapper/default.nix +++ b/modules/nixos/services/snapper/default.nix @@ -1,11 +1,11 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.services.snapper; + cfg = config.khanelinix.services.snapper; safeStr = types.strMatching "[^\n\"]*" // { description = "string without line breaks or quotes"; @@ -15,7 +15,7 @@ let inherit (lib) types mkEnableOption mkIf; in { - options.${namespace}.services.snapper = { + options.khanelinix.services.snapper = { enable = mkEnableOption "snapper"; configs = lib.mkOption { diff --git a/modules/nixos/services/spice-vdagentd/default.nix b/modules/nixos/services/spice-vdagentd/default.nix index e692539d7..795cbc005 100644 --- a/modules/nixos/services/spice-vdagentd/default.nix +++ b/modules/nixos/services/spice-vdagentd/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf getExe'; - cfg = config.${namespace}.services.spice-vdagentd; + cfg = config.khanelinix.services.spice-vdagentd; in { - options.${namespace}.services.spice-vdagentd = { + options.khanelinix.services.spice-vdagentd = { enable = lib.mkEnableOption "spice-vdagent support"; }; diff --git a/modules/nixos/services/spice-webdav/default.nix b/modules/nixos/services/spice-webdav/default.nix index 983a39da9..61d9aa6ed 100644 --- a/modules/nixos/services/spice-webdav/default.nix +++ b/modules/nixos/services/spice-webdav/default.nix @@ -2,7 +2,7 @@ config, pkgs, lib, - namespace, + ... }: let @@ -13,10 +13,10 @@ let getExe' ; - cfg = config.${namespace}.services.spice-webdav; + cfg = config.khanelinix.services.spice-webdav; in { - options.${namespace}.services.spice-webdav = with types; { + options.khanelinix.services.spice-webdav = with types; { enable = lib.mkEnableOption "spice-webdav proxy support"; package = mkOption { default = pkgs.phodav; diff --git a/modules/nixos/services/tailscale/default.nix b/modules/nixos/services/tailscale/default.nix index 3649149b5..ee1cce5ae 100644 --- a/modules/nixos/services/tailscale/default.nix +++ b/modules/nixos/services/tailscale/default.nix @@ -2,18 +2,18 @@ lib, pkgs, config, - namespace, + ... }: let inherit (lib) types mkIf; inherit (lib.modules) mkBefore; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.services.tailscale; + cfg = config.khanelinix.services.tailscale; in { - options.${namespace}.services.tailscale = with types; { + options.khanelinix.services.tailscale = with types; { enable = lib.mkEnableOption "Tailscale"; autoconnect = { enable = lib.mkEnableOption "automatic connection to Tailscale"; @@ -25,7 +25,7 @@ in assertions = [ { assertion = cfg.autoconnect.enable -> cfg.autoconnect.key != ""; - message = "${namespace}.services.tailscale.autoconnect.key must be set"; + message = "khanelinix.services.tailscale.autoconnect.key must be set"; } ]; diff --git a/modules/nixos/services/udisks2/default.nix b/modules/nixos/services/udisks2/default.nix index 8703aa38a..a43d81b1d 100644 --- a/modules/nixos/services/udisks2/default.nix +++ b/modules/nixos/services/udisks2/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) mkBoolOpt; + inherit (lib.khanelinix) mkBoolOpt; - cfg = config.${namespace}.services.udisks2; + cfg = config.khanelinix.services.udisks2; in { - options.${namespace}.services.udisks2 = { + options.khanelinix.services.udisks2 = { enable = mkBoolOpt true "Whether or not to enable udisks2 service."; }; diff --git a/modules/nixos/suites/common/default.nix b/modules/nixos/suites/common/default.nix index f248c3c8e..e87bf3eac 100644 --- a/modules/nixos/suites/common/default.nix +++ b/modules/nixos/suites/common/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.common; + cfg = config.khanelinix.suites.common; in { - imports = [ (lib.snowfall.fs.get-file "modules/shared/suites/common/default.nix") ]; + imports = [ (lib.getFile "modules/shared/suites/common/default.nix") ]; config = mkIf cfg.enable { environment = { @@ -27,9 +27,9 @@ in lolcat lshw pciutils - pkgs.${namespace}.trace-symlink - pkgs.${namespace}.trace-which - pkgs.${namespace}.why-depends + pkgs.khanelinix.trace-symlink + pkgs.khanelinix.trace-which + pkgs.khanelinix.why-depends rsync usbimager util-linux diff --git a/modules/nixos/suites/desktop/default.nix b/modules/nixos/suites/desktop/default.nix index 094da2aaf..fbc72a2d8 100644 --- a/modules/nixos/suites/desktop/default.nix +++ b/modules/nixos/suites/desktop/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.desktop; + cfg = config.khanelinix.suites.desktop; in { - options.${namespace}.suites.desktop = { + options.khanelinix.suites.desktop = { enable = lib.mkEnableOption "common desktop configuration"; }; diff --git a/modules/nixos/suites/development/default.nix b/modules/nixos/suites/development/default.nix index f5b50fffa..f454a528e 100644 --- a/modules/nixos/suites/development/default.nix +++ b/modules/nixos/suites/development/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.suites.development; + cfg = config.khanelinix.suites.development; in { - options.${namespace}.suites.development = { + options.khanelinix.suites.development = { enable = lib.mkEnableOption "common development configuration"; aiEnable = lib.mkEnableOption "ai development configuration"; dockerEnable = lib.mkEnableOption "docker development configuration"; diff --git a/modules/nixos/suites/games/default.nix b/modules/nixos/suites/games/default.nix index 83c4f4898..d73e7415e 100644 --- a/modules/nixos/suites/games/default.nix +++ b/modules/nixos/suites/games/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.games; + cfg = config.khanelinix.suites.games; in { - options.${namespace}.suites.games = { + options.khanelinix.suites.games = { enable = lib.mkEnableOption "common games configuration"; }; diff --git a/modules/nixos/suites/vm/default.nix b/modules/nixos/suites/vm/default.nix index 470873023..c96941934 100644 --- a/modules/nixos/suites/vm/default.nix +++ b/modules/nixos/suites/vm/default.nix @@ -1,17 +1,17 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.vm; + cfg = config.khanelinix.suites.vm; in { - options.${namespace}.suites.vm = { + options.khanelinix.suites.vm = { enable = lib.mkEnableOption "common vm configuration"; }; diff --git a/modules/nixos/suites/wlroots/default.nix b/modules/nixos/suites/wlroots/default.nix index 9a50641e1..2a990a6a2 100644 --- a/modules/nixos/suites/wlroots/default.nix +++ b/modules/nixos/suites/wlroots/default.nix @@ -1,18 +1,18 @@ { config, lib, - namespace, + pkgs, ... }: let inherit (lib) mkIf mkDefault; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.suites.wlroots; + cfg = config.khanelinix.suites.wlroots; in { - options.${namespace}.suites.wlroots = { + options.khanelinix.suites.wlroots = { enable = lib.mkEnableOption "common wlroots configuration"; }; diff --git a/modules/nixos/system/boot/default.nix b/modules/nixos/system/boot/default.nix index 75ed39bfb..21a8a55eb 100644 --- a/modules/nixos/system/boot/default.nix +++ b/modules/nixos/system/boot/default.nix @@ -2,18 +2,18 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) default-attrs; + inherit (lib.khanelinix) default-attrs; - cfg = config.${namespace}.system.boot; - themeCfg = config.${namespace}.theme; + cfg = config.khanelinix.system.boot; + themeCfg = config.khanelinix.theme; in { - options.${namespace}.system.boot = { + options.khanelinix.system.boot = { enable = lib.mkEnableOption "booting"; plymouth = lib.mkEnableOption "plymouth boot splash"; secureBoot = lib.mkEnableOption "secure boot"; diff --git a/modules/nixos/system/env/default.nix b/modules/nixos/system/env/default.nix index c1a8090cc..509bf6aa8 100644 --- a/modules/nixos/system/env/default.nix +++ b/modules/nixos/system/env/default.nix @@ -1,14 +1,14 @@ { config, lib, - namespace, + ... }: let - cfg = config.${namespace}.system.env; + cfg = config.khanelinix.system.env; in { - options.${namespace}.system.env = lib.mkOption { + options.khanelinix.system.env = lib.mkOption { apply = lib.mapAttrs ( _n: v: if lib.isList v then lib.concatMapStringsSep ":" toString v else (toString v) ); diff --git a/modules/nixos/system/fonts/default.nix b/modules/nixos/system/fonts/default.nix index 699b3b544..70596bb82 100644 --- a/modules/nixos/system/fonts/default.nix +++ b/modules/nixos/system/fonts/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf mapAttrs; - cfg = config.${namespace}.system.fonts; + cfg = config.khanelinix.system.fonts; in { - imports = [ (lib.snowfall.fs.get-file "modules/shared/system/fonts/default.nix") ]; + imports = [ (lib.getFile "modules/shared/system/fonts/default.nix") ]; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ diff --git a/modules/nixos/system/locale/default.nix b/modules/nixos/system/locale/default.nix index 257d34e7c..1ca67ea56 100644 --- a/modules/nixos/system/locale/default.nix +++ b/modules/nixos/system/locale/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkForce; - cfg = config.${namespace}.system.locale; + cfg = config.khanelinix.system.locale; in { - options.${namespace}.system.locale = { + options.khanelinix.system.locale = { enable = lib.mkEnableOption " manage locale settings"; }; diff --git a/modules/nixos/system/networking/connman/default.nix b/modules/nixos/system/networking/connman/default.nix index 3fa8e92d5..6cda1a4cc 100644 --- a/modules/nixos/system/networking/connman/default.nix +++ b/modules/nixos/system/networking/connman/default.nix @@ -1,13 +1,13 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.system.networking; + cfg = config.khanelinix.system.networking; in { config = mkIf (cfg.enable && cfg.manager == "connman") { @@ -22,8 +22,8 @@ in "ifb" "ve" ] - ++ lib.optionals config.${namespace}.services.tailscale.enable [ "tailscale*" ] - ++ lib.optionals config.${namespace}.virtualisation.podman.enable [ "docker*" ]; + ++ lib.optionals config.khanelinix.services.tailscale.enable [ "tailscale*" ] + ++ lib.optionals config.khanelinix.virtualisation.podman.enable [ "docker*" ]; }; }; } diff --git a/modules/nixos/system/networking/default.nix b/modules/nixos/system/networking/default.nix index 348eee9ed..581913012 100644 --- a/modules/nixos/system/networking/default.nix +++ b/modules/nixos/system/networking/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -11,12 +11,12 @@ let mkIf mkDefault ; - inherit (lib.${namespace}) mkBoolOpt mkOpt; + inherit (lib.khanelinix) mkBoolOpt mkOpt; - cfg = config.${namespace}.system.networking; + cfg = config.khanelinix.system.networking; in { - options.${namespace}.system.networking = with types; { + options.khanelinix.system.networking = with types; { enable = lib.mkEnableOption "networking support"; hosts = mkOpt attrs { } "An attribute set to merge with "; optimizeTcp = mkBoolOpt false "Optimize TCP connections"; diff --git a/modules/nixos/system/networking/dnsmasq/default.nix b/modules/nixos/system/networking/dnsmasq/default.nix index 39de2b206..c7a7b96a4 100644 --- a/modules/nixos/system/networking/dnsmasq/default.nix +++ b/modules/nixos/system/networking/dnsmasq/default.nix @@ -1,13 +1,13 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkForce; - cfg = config.${namespace}.system.networking; + cfg = config.khanelinix.system.networking; in { config = mkIf (cfg.enable && cfg.dns == "dnsmasq") { diff --git a/modules/nixos/system/networking/networkd/default.nix b/modules/nixos/system/networking/networkd/default.nix index ae722bc75..41b34cef0 100644 --- a/modules/nixos/system/networking/networkd/default.nix +++ b/modules/nixos/system/networking/networkd/default.nix @@ -1,13 +1,13 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkForce; - cfg = config.${namespace}.system.networking; + cfg = config.khanelinix.system.networking; in { config = mkIf (cfg.enable && cfg.manager == "systemd-networkd") { @@ -37,7 +37,7 @@ in }; # let me configure tailscale manually - "20-tailscale-ignore" = mkIf config.${namespace}.services.tailscale.enable { + "20-tailscale-ignore" = mkIf config.khanelinix.services.tailscale.enable { matchConfig.Name = "tailscale*"; linkConfig = { Unmanaged = "yes"; diff --git a/modules/nixos/system/networking/networkmanager/default.nix b/modules/nixos/system/networking/networkmanager/default.nix index a9b096149..1dfb9913d 100644 --- a/modules/nixos/system/networking/networkmanager/default.nix +++ b/modules/nixos/system/networking/networkmanager/default.nix @@ -2,13 +2,13 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.system.networking; + cfg = config.khanelinix.system.networking; in { config = mkIf (cfg.enable && cfg.manager == "networkmanager") { @@ -35,9 +35,9 @@ in "interface-name:br-*" "interface-name:rndis*" ] - ++ lib.optionals config.${namespace}.services.tailscale.enable [ "interface-name:tailscale*" ] - ++ lib.optionals config.${namespace}.virtualisation.podman.enable [ "interface-name:docker*" ] - ++ lib.optionals config.${namespace}.virtualisation.kvm.enable [ "interface-name:virbr*" ]; + ++ lib.optionals config.khanelinix.services.tailscale.enable [ "interface-name:tailscale*" ] + ++ lib.optionals config.khanelinix.virtualisation.podman.enable [ "interface-name:docker*" ] + ++ lib.optionals config.khanelinix.virtualisation.kvm.enable [ "interface-name:virbr*" ]; }; }; # Slows down rebuilds timing out for network. diff --git a/modules/nixos/system/networking/resolved/default.nix b/modules/nixos/system/networking/resolved/default.nix index 3996bd4e4..ce67320ab 100644 --- a/modules/nixos/system/networking/resolved/default.nix +++ b/modules/nixos/system/networking/resolved/default.nix @@ -1,13 +1,13 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf mkForce; - cfg = config.${namespace}.system.networking; + cfg = config.khanelinix.system.networking; in { config = mkIf (cfg.enable && cfg.dns == "systemd-resolved") { diff --git a/modules/nixos/system/realtime/default.nix b/modules/nixos/system/realtime/default.nix index 36f6ba9cd..fd659a9cc 100644 --- a/modules/nixos/system/realtime/default.nix +++ b/modules/nixos/system/realtime/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.system.realtime; + cfg = config.khanelinix.system.realtime; in { - options.${namespace}.system.realtime = { + options.khanelinix.system.realtime = { enable = lib.mkEnableOption "realtime"; }; @@ -20,7 +20,7 @@ in # tldr: realtime processes have higher priority than normal processes # and that's a good thing users = { - users."${config.${namespace}.user.name}".extraGroups = [ "realtime" ]; + users."${config.khanelinix.user.name}".extraGroups = [ "realtime" ]; groups.realtime = { }; }; diff --git a/modules/nixos/system/time/default.nix b/modules/nixos/system/time/default.nix index 2073afd82..192bf9a76 100644 --- a/modules/nixos/system/time/default.nix +++ b/modules/nixos/system/time/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.system.time; + cfg = config.khanelinix.system.time; in { - options.${namespace}.system.time = { + options.khanelinix.system.time = { enable = lib.mkEnableOption "time related settings"; }; diff --git a/modules/nixos/system/xkb/default.nix b/modules/nixos/system/xkb/default.nix index 1f1e5a6d9..37614ae47 100644 --- a/modules/nixos/system/xkb/default.nix +++ b/modules/nixos/system/xkb/default.nix @@ -1,16 +1,16 @@ { config, lib, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.system.xkb; + cfg = config.khanelinix.system.xkb; in { - options.${namespace}.system.xkb = { + options.khanelinix.system.xkb = { enable = lib.mkEnableOption "xkb"; }; diff --git a/modules/nixos/theme/default.nix b/modules/nixos/theme/default.nix index 411f96c1e..e483725c9 100644 --- a/modules/nixos/theme/default.nix +++ b/modules/nixos/theme/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -12,9 +12,9 @@ let mkOption types ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.theme; + cfg = config.khanelinix.theme; catppuccinAccents = [ "rosewater" @@ -41,7 +41,7 @@ let in { # TODO: consolidate home-manager and nixos module - options.${namespace}.theme = { + options.khanelinix.theme = { enable = mkEnableOption "custom theme use for applications"; cursor = { diff --git a/modules/nixos/theme/gtk/default.nix b/modules/nixos/theme/gtk/default.nix index db3ff9d40..f53ce24c1 100644 --- a/modules/nixos/theme/gtk/default.nix +++ b/modules/nixos/theme/gtk/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.theme.gtk; + cfg = config.khanelinix.theme.gtk; in { - options.${namespace}.theme.gtk = with types; { + options.khanelinix.theme.gtk = with types; { enable = lib.mkEnableOption "customizing GTK and apply themes"; theme = { diff --git a/modules/nixos/theme/qt/default.nix b/modules/nixos/theme/qt/default.nix index f6dba7f56..652a61cfa 100644 --- a/modules/nixos/theme/qt/default.nix +++ b/modules/nixos/theme/qt/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.theme.qt; + cfg = config.khanelinix.theme.qt; in { - options.${namespace}.theme.qt = with types; { + options.khanelinix.theme.qt = with types; { enable = lib.mkEnableOption "customizing qt and apply themes"; theme = { @@ -28,8 +28,7 @@ in environment = { systemPackages = with pkgs; - [ cfg.theme.package ] - ++ lib.optional config.${namespace}.suites.wlroots.enable kdePackages.qtwayland; + [ cfg.theme.package ] ++ lib.optional config.khanelinix.suites.wlroots.enable kdePackages.qtwayland; }; qt = { diff --git a/modules/nixos/theme/stylix/default.nix b/modules/nixos/theme/stylix/default.nix index 3e76afe0d..54d3e7207 100644 --- a/modules/nixos/theme/stylix/default.nix +++ b/modules/nixos/theme/stylix/default.nix @@ -1,7 +1,7 @@ { config, lib, - namespace, + pkgs, ... }: @@ -12,12 +12,12 @@ let types ; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.theme.stylix; + cfg = config.khanelinix.theme.stylix; in { - options.${namespace}.theme.stylix = { + options.khanelinix.theme.stylix = { enable = mkEnableOption "stylix theme for applications"; theme = mkOpt types.str "catppuccin-macchiato" "base16 theme file name"; @@ -47,8 +47,8 @@ in base16Scheme = "${pkgs.base16-schemes}/share/themes/${cfg.theme}.yaml"; targets = { - gtk.enable = !config.${namespace}.theme.gtk.enable; - qt.enable = !config.${namespace}.theme.qt.enable; + gtk.enable = !config.khanelinix.theme.gtk.enable; + qt.enable = !config.khanelinix.theme.qt.enable; }; }; }; diff --git a/modules/nixos/user/default.nix b/modules/nixos/user/default.nix index f25ac7ba5..ce6180cb4 100644 --- a/modules/nixos/user/default.nix +++ b/modules/nixos/user/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) types; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.user; + cfg = config.khanelinix.user; in { - options.${namespace}.user = with types; { + options.khanelinix.user = with types; { email = mkOpt str "khaneliman12@gmail.com" "The email of the user."; extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned."; extraOptions = mkOpt attrs { } "Extra options passed to ."; diff --git a/modules/nixos/virtualisation/kvm/default.nix b/modules/nixos/virtualisation/kvm/default.nix index d13e8e5e0..665cad3d9 100644 --- a/modules/nixos/virtualisation/kvm/default.nix +++ b/modules/nixos/virtualisation/kvm/default.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - namespace, + ... }: let @@ -14,13 +14,13 @@ let concatStringsSep getExe ; - inherit (lib.${namespace}) mkOpt enabled; - inherit (config.${namespace}) user; + inherit (lib.khanelinix) mkOpt enabled; + inherit (config.khanelinix) user; - cfg = config.${namespace}.virtualisation.kvm; + cfg = config.khanelinix.virtualisation.kvm; in { - options.${namespace}.virtualisation.kvm = with types; { + options.khanelinix.virtualisation.kvm = with types; { enable = lib.mkEnableOption "KVM virtualisation"; # Use `machinectl` and then `machinectl status ` to # get the unit "*.scope" of the virtual machine. @@ -79,7 +79,7 @@ in swtpm.enable = true; verbatimConfig = '' - namespaces = [] + s = [] user = "+${builtins.toString config.users.users.${user.name}.uid}" ''; }; diff --git a/modules/nixos/virtualisation/podman/default.nix b/modules/nixos/virtualisation/podman/default.nix index bd083aafa..c56ce116b 100644 --- a/modules/nixos/virtualisation/podman/default.nix +++ b/modules/nixos/virtualisation/podman/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.virtualisation.podman; + cfg = config.khanelinix.virtualisation.podman; in { - options.${namespace}.virtualisation.podman = { + options.khanelinix.virtualisation.podman = { enable = lib.mkEnableOption "podman"; }; diff --git a/modules/shared/nix/default.nix b/modules/shared/nix/default.nix index a0872bf34..3a00207ab 100644 --- a/modules/shared/nix/default.nix +++ b/modules/shared/nix/default.nix @@ -3,17 +3,17 @@ inputs, lib, pkgs, - namespace, + host, ... }: let - inherit (lib.${namespace}) mkBoolOpt mkOpt; + inherit (lib.khanelinix) mkBoolOpt mkOpt; - cfg = config.${namespace}.nix; + cfg = config.khanelinix.nix; in { - options.${namespace}.nix = { + options.khanelinix.nix = { enable = mkBoolOpt true "Whether or not to manage nix configuration."; package = mkOpt lib.types.package pkgs.nixVersions.latest "Which nix package to use."; }; @@ -55,25 +55,11 @@ in # Check corresponding nixos/nix-darwin imported module nix = let - mappedRegistry = lib.pipe inputs [ - (lib.filterAttrs (_: lib.isType "flake")) - (lib.mapAttrs (_: flake: { inherit flake; })) - ( - x: - x - // { - nixpkgs.flake = - if pkgs.stdenv.hostPlatform.isLinux then inputs.nixpkgs else inputs.nixpkgs-unstable; - } - ) - (x: if pkgs.stdenv.hostPlatform.isDarwin then lib.removeAttrs x [ "nixpkgs-unstable" ] else x) - ]; - users = [ "root" "@wheel" "nix-builder" - config.${namespace}.user.name + config.khanelinix.user.name ]; in { @@ -92,7 +78,7 @@ in ]; in # Linux builders - lib.optionals config.${namespace}.security.sops.enable [ + lib.optionals config.khanelinix.security.sops.enable [ ( lib.mkIf (host != "bruddynix" && host != "khanelinix") { inherit sshUser; @@ -229,7 +215,19 @@ in # pin the registry to avoid downloading and evaluating a new nixpkgs version every time # this will add each flake input as a registry to make nix3 commands consistent with your flake - registry = mappedRegistry; + registry = lib.pipe inputs [ + (lib.filterAttrs (_: lib.isType "flake")) + (lib.mapAttrs (_: flake: { inherit flake; })) + ( + x: + x + // { + nixpkgs.flake = + if pkgs.stdenv.hostPlatform.isLinux then inputs.nixpkgs else inputs.nixpkgs-unstable; + } + ) + (x: if pkgs.stdenv.hostPlatform.isDarwin then lib.removeAttrs x [ "nixpkgs-unstable" ] else x) + ]; settings = { allowed-users = users; diff --git a/modules/shared/programs/terminal/tools/ssh/default.nix b/modules/shared/programs/terminal/tools/ssh/default.nix index 96eba4a18..021776d2f 100644 --- a/modules/shared/programs/terminal/tools/ssh/default.nix +++ b/modules/shared/programs/terminal/tools/ssh/default.nix @@ -2,15 +2,15 @@ config, lib, inputs, - namespace, + ... }: let - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.programs.terminal.tools.ssh; + cfg = config.khanelinix.programs.terminal.tools.ssh; - user = config.users.users.${config.${namespace}.user.name}; + user = config.users.users.${config.khanelinix.user.name}; user-id = builtins.toString user.uid; nixosConfigurations = inputs.self.nixosConfigurations or { }; @@ -19,16 +19,14 @@ let ## NOTE This is the cause of evaluating all configurations per system ## TODO: Find a more elegant way that doesn't require bloating eval complications other-hosts = - lib.filterAttrs ( - _key: host: (host.config.${namespace}.user.name or null) != null - ) nixosConfigurations + lib.filterAttrs (_key: host: (host.config.khanelinix.user.name or null) != null) nixosConfigurations // darwinConfigurations; other-hosts-config = lib.concatMapStringsSep "\n" ( name: let remote = other-hosts.${name}; - remote-user-name = remote.config.${namespace}.user.name; + remote-user-name = remote.config.khanelinix.user.name; remote-user-id = builtins.toString remote.config.users.users.${remote-user-name}.uid; forward-gpg = @@ -54,7 +52,7 @@ let ) (builtins.attrNames other-hosts); in { - options.${namespace}.programs.terminal.tools.ssh = { + options.khanelinix.programs.terminal.tools.ssh = { enable = lib.mkEnableOption "ssh support"; extraConfig = mkOpt lib.types.str "" "Extra configuration to apply."; port = mkOpt lib.types.port 2222 "The port to listen on (in addition to 22)."; diff --git a/modules/shared/suites/common/default.nix b/modules/shared/suites/common/default.nix index b250f387c..ea7622790 100644 --- a/modules/shared/suites/common/default.nix +++ b/modules/shared/suites/common/default.nix @@ -2,16 +2,16 @@ config, lib, pkgs, - namespace, + ... }: let inherit (lib) mkIf; - cfg = config.${namespace}.suites.common; + cfg = config.khanelinix.suites.common; in { - options.${namespace}.suites.common = { + options.khanelinix.suites.common = { enable = lib.mkEnableOption "common configuration"; }; diff --git a/modules/shared/system/fonts/default.nix b/modules/shared/system/fonts/default.nix index 315695595..d1b0135a5 100644 --- a/modules/shared/system/fonts/default.nix +++ b/modules/shared/system/fonts/default.nix @@ -2,17 +2,17 @@ config, lib, pkgs, - namespace, + options, ... }: let inherit (lib) types mkIf; - inherit (lib.${namespace}) mkOpt; + inherit (lib.khanelinix) mkOpt; - cfg = config.${namespace}.system.fonts; + cfg = config.khanelinix.system.fonts; in { - options.${namespace}.system.fonts = with types; { + options.khanelinix.system.fonts = with types; { enable = lib.mkEnableOption "managing fonts"; fonts = with pkgs; diff --git a/overlays/nixpkgs-master/default.nix b/overlays/nixpkgs-master/default.nix index 86757aa13..49bc040a3 100644 --- a/overlays/nixpkgs-master/default.nix +++ b/overlays/nixpkgs-master/default.nix @@ -1,12 +1,12 @@ -{ channels, ... }: -_final: _prev: { - inherit (channels.nixpkgs-master) +{ inputs, mkPkgs, ... }: +final: _prev: +let + master = mkPkgs inputs.nixpkgs-master final.system final.config; +in +{ + inherit (master) # Fast updating / want latest always claude-code yaziPlugins - - # TODO: remove after channel update - # Somehow randomly broke on missing package error ?? - citrix_workspace ; } diff --git a/overlays/nixpkgs-unstable/default.nix b/overlays/nixpkgs-unstable/default.nix index 9ab79ba2b..1c108c96c 100644 --- a/overlays/nixpkgs-unstable/default.nix +++ b/overlays/nixpkgs-unstable/default.nix @@ -1,6 +1,10 @@ -{ channels, ... }: -_final: _prev: { - inherit (channels.nixpkgs-unstable) +{ inputs, mkPkgs, ... }: +final: _prev: +let + unstable = mkPkgs inputs.nixpkgs-unstable final.system final.config; +in +{ + inherit (unstable) # Core jankyborders nixVersions diff --git a/packages/artifacts-credprovider/default.nix b/packages/artifacts-credprovider/package.nix similarity index 100% rename from packages/artifacts-credprovider/default.nix rename to packages/artifacts-credprovider/package.nix diff --git a/packages/avrogen/default.nix b/packages/avrogen/package.nix similarity index 100% rename from packages/avrogen/default.nix rename to packages/avrogen/package.nix diff --git a/packages/build-by-path/default.nix b/packages/build-by-path/package.nix similarity index 100% rename from packages/build-by-path/default.nix rename to packages/build-by-path/package.nix diff --git a/packages/dep-graph/default.nix b/packages/dep-graph/package.nix similarity index 100% rename from packages/dep-graph/default.nix rename to packages/dep-graph/package.nix diff --git a/packages/dynamic-island-helper/default.nix b/packages/dynamic-island-helper/package.nix similarity index 98% rename from packages/dynamic-island-helper/default.nix rename to packages/dynamic-island-helper/package.nix index 5ad570154..8884040ad 100644 --- a/packages/dynamic-island-helper/default.nix +++ b/packages/dynamic-island-helper/package.nix @@ -2,6 +2,7 @@ lib, pkgs, stdenv, + ... }: stdenv.mkDerivation (_finalAttrs: { pname = "dynamic-island-helper"; diff --git a/packages/fix-git/default.nix b/packages/fix-git/package.nix similarity index 100% rename from packages/fix-git/default.nix rename to packages/fix-git/package.nix diff --git a/packages/git-cliff/default.nix b/packages/git-cliff/package.nix similarity index 100% rename from packages/git-cliff/default.nix rename to packages/git-cliff/package.nix diff --git a/packages/list-iommu/default.nix b/packages/list-iommu/package.nix similarity index 100% rename from packages/list-iommu/default.nix rename to packages/list-iommu/package.nix diff --git a/packages/record_screen/default.nix b/packages/record_screen/package.nix similarity index 100% rename from packages/record_screen/default.nix rename to packages/record_screen/package.nix diff --git a/packages/sketchyhelper/default.nix b/packages/sketchyhelper/package.nix similarity index 94% rename from packages/sketchyhelper/default.nix rename to packages/sketchyhelper/package.nix index 14284fb76..f412bf4a4 100644 --- a/packages/sketchyhelper/default.nix +++ b/packages/sketchyhelper/package.nix @@ -1,4 +1,4 @@ -{ lib, stdenv }: +{ lib, stdenv, ... }: stdenv.mkDerivation (_finalAttrs: { pname = "sketchybarhelper"; version = "unstable-2024-02-11"; diff --git a/packages/test-fonts/default.nix b/packages/test-fonts/package.nix similarity index 100% rename from packages/test-fonts/default.nix rename to packages/test-fonts/package.nix diff --git a/packages/trace-symlink/default.nix b/packages/trace-symlink/package.nix similarity index 100% rename from packages/trace-symlink/default.nix rename to packages/trace-symlink/package.nix diff --git a/packages/trace-which/default.nix b/packages/trace-which/package.nix similarity index 65% rename from packages/trace-which/default.nix rename to packages/trace-which/package.nix index ce61b9b09..705a9629b 100644 --- a/packages/trace-which/default.nix +++ b/packages/trace-which/package.nix @@ -1,8 +1,7 @@ { writeShellApplication, - pkgs, lib, - namespace, + trace-symlink, ... }: writeShellApplication { @@ -16,6 +15,6 @@ writeShellApplication { text = # bash '' - a=$(which "$1") && exec ${lib.getExe pkgs.${namespace}.trace-symlink} "$a" + a=$(which "$1") && exec ${lib.getExe trace-symlink} "$a" ''; } diff --git a/packages/user-icon/default.nix b/packages/user-icon/package.nix similarity index 90% rename from packages/user-icon/default.nix rename to packages/user-icon/package.nix index 378712142..8f2ca5793 100644 --- a/packages/user-icon/default.nix +++ b/packages/user-icon/package.nix @@ -1,4 +1,4 @@ -{ stdenvNoCC }: +{ stdenvNoCC, ... }: stdenvNoCC.mkDerivation { name = "default-icon"; src = ./profile.png; diff --git a/packages/wallpapers/wallpapers/buttons.png b/packages/wallpapers/assets/buttons.png similarity index 100% rename from packages/wallpapers/wallpapers/buttons.png rename to packages/wallpapers/assets/buttons.png diff --git a/packages/wallpapers/wallpapers/cat-sound.png b/packages/wallpapers/assets/cat-sound.png similarity index 100% rename from packages/wallpapers/wallpapers/cat-sound.png rename to packages/wallpapers/assets/cat-sound.png diff --git a/packages/wallpapers/wallpapers/cat_pacman.png b/packages/wallpapers/assets/cat_pacman.png similarity index 100% rename from packages/wallpapers/wallpapers/cat_pacman.png rename to packages/wallpapers/assets/cat_pacman.png diff --git a/packages/wallpapers/wallpapers/flatppuccin_macchiato.png b/packages/wallpapers/assets/flatppuccin_macchiato.png similarity index 100% rename from packages/wallpapers/wallpapers/flatppuccin_macchiato.png rename to packages/wallpapers/assets/flatppuccin_macchiato.png diff --git a/packages/wallpapers/wallpapers/hashtags-black.png b/packages/wallpapers/assets/hashtags-black.png similarity index 100% rename from packages/wallpapers/wallpapers/hashtags-black.png rename to packages/wallpapers/assets/hashtags-black.png diff --git a/packages/wallpapers/wallpapers/hashtags-new.png b/packages/wallpapers/assets/hashtags-new.png similarity index 100% rename from packages/wallpapers/wallpapers/hashtags-new.png rename to packages/wallpapers/assets/hashtags-new.png diff --git a/packages/wallpapers/wallpapers/hearts.png b/packages/wallpapers/assets/hearts.png similarity index 100% rename from packages/wallpapers/wallpapers/hearts.png rename to packages/wallpapers/assets/hearts.png diff --git a/packages/wallpapers/wallpapers/tetris.png b/packages/wallpapers/assets/tetris.png similarity index 100% rename from packages/wallpapers/wallpapers/tetris.png rename to packages/wallpapers/assets/tetris.png diff --git a/packages/wallpapers/default.nix b/packages/wallpapers/package.nix similarity index 54% rename from packages/wallpapers/default.nix rename to packages/wallpapers/package.nix index eba537744..c9fc26476 100644 --- a/packages/wallpapers/default.nix +++ b/packages/wallpapers/package.nix @@ -1,11 +1,10 @@ { lib, - namespace, stdenvNoCC, ... }: let - images = builtins.attrNames (builtins.readDir ./wallpapers); + images = builtins.attrNames (builtins.readDir ./assets); mkWallpaper = name: src: let @@ -26,23 +25,31 @@ let }; in pkg; - names = builtins.map lib.snowfall.path.get-file-name-without-extension images; + # Helper function to get filename without extension + getFileNameWithoutExtension = + path: + let + baseName = builtins.baseNameOf path; + splitName = lib.splitString "." baseName; + in + if lib.length splitName > 1 then lib.concatStringsSep "." (lib.init splitName) else baseName; + + names = builtins.map getFileNameWithoutExtension images; wallpapers = lib.foldl ( acc: image: let # fileName = builtins.baseNameOf image; - # lib.getFileName is a helper to get the basename of - # the file and then take the name before the file extension. + # Get the basename of the file and then take the name before the file extension. # eg. mywallpaper.png -> mywallpaper - name = lib.snowfall.path.get-file-name-without-extension image; + name = getFileNameWithoutExtension image; in - acc // { "${name}" = mkWallpaper name (./wallpapers + "/${image}"); } + acc // { "${name}" = mkWallpaper name (./assets + "/${image}"); } ) { } images; installTarget = "$out/share/wallpapers"; in stdenvNoCC.mkDerivation { - name = "${namespace}.wallpapers"; - src = ./wallpapers; + name = "khanelinix.wallpapers"; + src = ./assets; installPhase = # bash '' diff --git a/packages/why-depends/default.nix b/packages/why-depends/package.nix similarity index 100% rename from packages/why-depends/default.nix rename to packages/why-depends/package.nix diff --git a/packages/yabai-helper/default.nix b/packages/yabai-helper/package.nix similarity index 97% rename from packages/yabai-helper/default.nix rename to packages/yabai-helper/package.nix index 485d8e548..8efcd3350 100644 --- a/packages/yabai-helper/default.nix +++ b/packages/yabai-helper/package.nix @@ -2,7 +2,7 @@ writeShellApplication, pkgs, lib, - namespace, + wallpapers, ... }: let @@ -220,7 +220,7 @@ writeShellApplication { yabai -m window "$YABAI_WINDOW_ID" --space "$2" fi yabai -m space --focus "$2" - set_wallpaper ${pkgs.${namespace}.wallpapers}/share/wallpapers/$(ls ${pkgs.${namespace}.wallpapers}/share/wallpapers/ | shuf -n 1) + set_wallpaper ${wallpapers}/share/wallpapers/$(ls ${wallpapers}/share/wallpapers/ | shuf -n 1) return 0 fi @@ -233,7 +233,7 @@ writeShellApplication { echo "$i" yabai -m space --create yabai -m space --focus "$i" - set_wallpaper ${pkgs.${namespace}.wallpapers}/share/wallpapers/$(ls ${pkgs.${namespace}.wallpapers}/share/wallpapers/ | shuf -n 1) + set_wallpaper ${wallpapers}/share/wallpapers/$(ls ${wallpapers}/share/wallpapers/ | shuf -n 1) done yabai -m space "$CURRENT_SPACE" --focus @@ -245,7 +245,7 @@ writeShellApplication { set_wallpapers() { if [[ $(command -v yabai) ]]; then - LOCAL_WALLPAPERS="$(realpath ${pkgs.${namespace}.wallpapers}/share/wallpapers/)" + LOCAL_WALLPAPERS="$(realpath ${wallpapers}/share/wallpapers/)" yabai -m space --focus 1 diff --git a/systems/aarch64-darwin/khanelimac-m1/default.nix b/systems/aarch64-darwin/khanelimac-m1/default.nix index 0cd970055..d6c9c9d63 100644 --- a/systems/aarch64-darwin/khanelimac-m1/default.nix +++ b/systems/aarch64-darwin/khanelimac-m1/default.nix @@ -1,13 +1,13 @@ { lib, config, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.user; + cfg = config.khanelinix.user; in { khanelinix = { @@ -16,7 +16,7 @@ in sops = { enable = false; sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelimac/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelimac/default.yaml"; }; }; diff --git a/systems/aarch64-darwin/khanelimac/default.nix b/systems/aarch64-darwin/khanelimac/default.nix index 60abe00d3..1703f0e1e 100644 --- a/systems/aarch64-darwin/khanelimac/default.nix +++ b/systems/aarch64-darwin/khanelimac/default.nix @@ -1,13 +1,13 @@ { lib, config, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; - cfg = config.${namespace}.user; + cfg = config.khanelinix.user; in { khanelinix = { @@ -21,7 +21,7 @@ in sops = { enable = true; sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelimac/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelimac/default.yaml"; }; }; diff --git a/systems/aarch64-linux/nixos/default.nix b/systems/aarch64-linux/nixos/default.nix index 83f388924..2e7f9f3cf 100644 --- a/systems/aarch64-linux/nixos/default.nix +++ b/systems/aarch64-linux/nixos/default.nix @@ -1,6 +1,6 @@ -{ lib, namespace, ... }: +{ lib, ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { imports = [ ./hardware.nix ]; diff --git a/systems/x86_64-install-iso/graphical/default.nix b/systems/x86_64-install-iso/graphical/default.nix index 3ee45eb51..c772726c7 100644 --- a/systems/x86_64-install-iso/graphical/default.nix +++ b/systems/x86_64-install-iso/graphical/default.nix @@ -1,12 +1,12 @@ { pkgs, lib, - namespace, + ... }: let inherit (lib) mkForce; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { # `install-iso` adds wireless support that diff --git a/systems/x86_64-install-iso/minimal/default.nix b/systems/x86_64-install-iso/minimal/default.nix index 0851d4e6d..20b20deb5 100644 --- a/systems/x86_64-install-iso/minimal/default.nix +++ b/systems/x86_64-install-iso/minimal/default.nix @@ -1,12 +1,12 @@ { pkgs, lib, - namespace, + ... }: let inherit (lib) mkForce; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { # `install-iso` adds wireless support that diff --git a/systems/x86_64-iso/isolated/default.nix b/systems/x86_64-iso/isolated/default.nix index 15ec50810..cf55075ad 100644 --- a/systems/x86_64-iso/isolated/default.nix +++ b/systems/x86_64-iso/isolated/default.nix @@ -1,12 +1,12 @@ { lib, pkgs, - namespace, + ... }: let inherit (lib) mkForce getExe getExe'; - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; gpgConf = pkgs.fetchurl { url = "https://raw.githubusercontent.com/drduh/config/master/gpg.conf"; diff --git a/systems/x86_64-iso/rescue/default.nix b/systems/x86_64-iso/rescue/default.nix index 76277890c..3571c180c 100644 --- a/systems/x86_64-iso/rescue/default.nix +++ b/systems/x86_64-iso/rescue/default.nix @@ -1,11 +1,11 @@ { pkgs, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { environment.systemPackages = with pkgs; [ diff --git a/systems/x86_64-linux/CORE-PW0D2M1A/default.nix b/systems/x86_64-linux/CORE-PW0D2M1A/default.nix index f6627b430..a737641d9 100644 --- a/systems/x86_64-linux/CORE-PW0D2M1A/default.nix +++ b/systems/x86_64-linux/CORE-PW0D2M1A/default.nix @@ -1,7 +1,7 @@ -{ lib, namespace, ... }: +{ lib, ... }: let inherit (lib) mkForce; - inherit (lib.${namespace}) enabled disabled; + inherit (lib.khanelinix) enabled disabled; in { imports = [ ./hardware.nix ]; diff --git a/systems/x86_64-linux/VT0-IT-47-D443/default.nix b/systems/x86_64-linux/VT0-IT-47-D443/default.nix index e05b5622e..ff40352c8 100644 --- a/systems/x86_64-linux/VT0-IT-47-D443/default.nix +++ b/systems/x86_64-linux/VT0-IT-47-D443/default.nix @@ -1,11 +1,11 @@ { lib, - namespace, + ... }: let inherit (lib) mkForce; - inherit (lib.${namespace}) enabled disabled; + inherit (lib.khanelinix) enabled disabled; in { imports = [ ./hardware.nix ]; diff --git a/systems/x86_64-linux/bruddynix/default.nix b/systems/x86_64-linux/bruddynix/default.nix index 3f5f97e9f..4ed9628f6 100644 --- a/systems/x86_64-linux/bruddynix/default.nix +++ b/systems/x86_64-linux/bruddynix/default.nix @@ -1,11 +1,11 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { imports = [ @@ -71,7 +71,7 @@ in # TODO: make part of ssh config proper extraConfig = '' Host server - User ${config.${namespace}.user.name} + User ${config.khanelinix.user.name} Hostname austinserver.local ''; }; @@ -83,7 +83,7 @@ in # sops = { # enable = true; # sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - # defaultSopsFile = lib.snowfall.fs.get-file "secrets/bruddynix/default.yaml"; + # defaultSopsFile = lib.getFile "secrets/bruddynix/default.yaml"; # }; }; diff --git a/systems/x86_64-linux/khanelilab/default.nix b/systems/x86_64-linux/khanelilab/default.nix index b030c9e5c..12f58d44c 100644 --- a/systems/x86_64-linux/khanelilab/default.nix +++ b/systems/x86_64-linux/khanelilab/default.nix @@ -1,11 +1,11 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { imports = [ @@ -110,7 +110,7 @@ in sops = { enable = true; sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelilab/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelilab/default.yaml"; }; }; diff --git a/systems/x86_64-linux/khanelinix/default.nix b/systems/x86_64-linux/khanelinix/default.nix index dac08c7b5..bb46c78c3 100644 --- a/systems/x86_64-linux/khanelinix/default.nix +++ b/systems/x86_64-linux/khanelinix/default.nix @@ -1,15 +1,15 @@ { config, lib, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; inherit (lib) mkMerge; serverHostname = "austinserver.local"; - username = config.${namespace}.user.name; + username = config.khanelinix.user.name; in { imports = [ @@ -125,7 +125,7 @@ in sops = { enable = true; sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - defaultSopsFile = lib.snowfall.fs.get-file "secrets/khanelinix/default.yaml"; + defaultSopsFile = lib.getFile "secrets/khanelinix/default.yaml"; }; }; diff --git a/systems/x86_64-linux/khanelinix/disks.nix b/systems/x86_64-linux/khanelinix/disks.nix index 2722831bd..1c8d8ca7a 100644 --- a/systems/x86_64-linux/khanelinix/disks.nix +++ b/systems/x86_64-linux/khanelinix/disks.nix @@ -5,7 +5,7 @@ "/dev/nvme1n1" "/dev/sda" ], - namespace, + ... }: let @@ -133,23 +133,23 @@ in mountOptions = defaultBtrfsOpts; }; "@userdata/@documents" = { - mountpoint = "/home/${config.${namespace}.user.name}/Documents"; + mountpoint = "/home/${config.khanelinix.user.name}/Documents"; mountOptions = defaultBtrfsOpts; }; "@userdata/@downloads" = { - mountpoint = "/home/${config.${namespace}.user.name}/Downloads"; + mountpoint = "/home/${config.khanelinix.user.name}/Downloads"; mountOptions = defaultBtrfsOpts; }; "@userdata/@music" = { - mountpoint = "/home/${config.${namespace}.user.name}/Music"; + mountpoint = "/home/${config.khanelinix.user.name}/Music"; mountOptions = defaultBtrfsOpts; }; "@userdata/@pictures" = { - mountpoint = "/home/${config.${namespace}.user.name}/Pictures"; + mountpoint = "/home/${config.khanelinix.user.name}/Pictures"; mountOptions = defaultBtrfsOpts; }; "@userdata/@videos" = { - mountpoint = "/home/${config.${namespace}.user.name}/Videos"; + mountpoint = "/home/${config.khanelinix.user.name}/Videos"; mountOptions = defaultBtrfsOpts; }; }; diff --git a/systems/x86_64-linux/khanelinix/hardware.nix b/systems/x86_64-linux/khanelinix/hardware.nix index bcd651b69..2e2994e6a 100644 --- a/systems/x86_64-linux/khanelinix/hardware.nix +++ b/systems/x86_64-linux/khanelinix/hardware.nix @@ -2,11 +2,11 @@ lib, pkgs, modulesPath, - namespace, + ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; diff --git a/systems/x86_64-linux/nixos/default.nix b/systems/x86_64-linux/nixos/default.nix index 567f880cd..8fb9966c4 100644 --- a/systems/x86_64-linux/nixos/default.nix +++ b/systems/x86_64-linux/nixos/default.nix @@ -1,6 +1,6 @@ -{ lib, namespace, ... }: +{ lib, ... }: let - inherit (lib.${namespace}) enabled; + inherit (lib.khanelinix) enabled; in { imports = [ ./hardware.nix ]; diff --git a/treefmt.nix b/treefmt.nix deleted file mode 100644 index 684852c2a..000000000 --- a/treefmt.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ - projectRootFile = "flake.nix"; - - programs = { - actionlint.enable = true; - biome = { - enable = true; - settings.formatter.formatWithErrors = true; - }; - clang-format.enable = true; - deadnix = { - enable = true; - no-lambda-arg = true; - }; - deno = { - enable = true; - # Using biome for these - excludes = [ - "*.ts" - "*.js" - "*.json" - "*.jsonc" - ]; - }; - fantomas.enable = true; - fish_indent.enable = true; - gofmt.enable = true; - isort.enable = true; - nixfmt.enable = true; - nufmt.enable = true; - ruff-check.enable = true; - ruff-format.enable = true; - rustfmt.enable = true; - shfmt = { - enable = true; - indent_size = 4; - }; - statix.enable = true; - stylua.enable = true; - taplo.enable = true; - yamlfmt.enable = true; - }; - - settings = { - global.excludes = [ - "*.editorconfig" - "*.envrc" - "*.gitconfig" - "*.git-blame-ignore-revs" - "*.gitignore" - "*.gitattributes" - "*.luacheckrc" - "*CODEOWNERS" - "*LICENSE" - "*flake.lock" - "*.conf" - "*.gif" - "*.ico" - "*.ini" - "*.micro" - "*.png" - "*.svg" - "*.tmux" - "*/config" - # TODO: formatters? - "*.ac" - "*.css" # Exclude CSS files from formatting since we use Nix template variables - "*.csproj" - "*.fsproj" - "*.in" - "*.kdl" - "*.kvconfig" - "*.rasi" - "*.sln" - "*.xml" - "*.zsh" - "*Makefile" - "*makefile" - - # Unique files - "homes/x86_64-linux/nixos@CORE-PW0D2M1A/git/windows-compat-config" - "lib/base64/ascii" - "modules/darwin/desktop/wms/yabai/extraConfig" - "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/helper/islandhelper" - "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/scripts/islands/music/get_artwork.scpt" - "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/scripts/islands/volume/data/cache" - "modules/home/programs/graphical/bars/sketchybar/dynamic-island-sketchybar/sketchybarrc" - "systems/x86_64-linux/khanelinix/hyprlandOutput" - "systems/x86_64-linux/khanelinix/swayOutput" - ]; - - formatter.ruff-format.options = [ "--isolated" ]; - }; -} From b9325d6a51e59f25424160f0dbcf8d6db2972dc8 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 14 Jul 2025 10:56:35 -0500 Subject: [PATCH 04/25] nix: fix `/etc/nix/` symlinks not getting generated Not sure why... but the imported shared module isn't behaving properly. Just duplicating logic, for now. --- flake/templates.nix | 1 - lib/mk-darwin.nix | 2 +- lib/mk-system.nix | 4 ++-- modules/darwin/nix/default.nix | 27 +++++++++++++++++++++++++++ modules/nixos/nix/default.nix | 27 +++++++++++++++++++++++++++ modules/shared/nix/default.nix | 9 +++++---- 6 files changed, 62 insertions(+), 8 deletions(-) diff --git a/flake/templates.nix b/flake/templates.nix index d55ee2e46..8347fbbcc 100644 --- a/flake/templates.nix +++ b/flake/templates.nix @@ -20,4 +20,3 @@ in inherit (template) path description; }) allTemplates; } - diff --git a/lib/mk-darwin.nix b/lib/mk-darwin.nix index 28339c784..976237147 100644 --- a/lib/mk-darwin.nix +++ b/lib/mk-darwin.nix @@ -66,7 +66,7 @@ inputs.darwin.lib.darwinSystem { specialArgs = { inherit inputs hostname username; - inherit (flake) self; + inherit (inputs) self; lib = extendedLib; flake-parts-lib = inputs.flake-parts.lib; format = "system"; diff --git a/lib/mk-system.nix b/lib/mk-system.nix index 105de83d8..12926f968 100644 --- a/lib/mk-system.nix +++ b/lib/mk-system.nix @@ -32,7 +32,7 @@ let useUserPackages = true; extraSpecialArgs = { inherit inputs system; - inherit (flake) self; + inherit (inputs) self; lib = extendedLib; flake-parts-lib = inputs.flake-parts.lib; }; @@ -68,7 +68,7 @@ inputs.nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs hostname username; - inherit (flake) self; + inherit (inputs) self; lib = extendedLib; flake-parts-lib = inputs.flake-parts.lib; format = "system"; diff --git a/modules/darwin/nix/default.nix b/modules/darwin/nix/default.nix index 1878d2efe..fcf88604e 100644 --- a/modules/darwin/nix/default.nix +++ b/modules/darwin/nix/default.nix @@ -2,6 +2,9 @@ config, lib, + self, + inputs, + ... }: let @@ -11,6 +14,30 @@ in imports = [ (lib.getFile "modules/shared/nix/default.nix") ]; config = lib.mkIf cfg.enable { + # TODO: This configuration should be in the shared module but environment.etc + # from shared modules imported via lib.getFile doesn't work properly in flake-parts. + # The shared module's other configurations (nix.registry, nix.nixPath, etc.) work fine, + # but environment.etc gets ignored. This is likely due to how lib.getFile imports + # don't participate in the module system's attribute merging. + # Fix: Find a way to properly import shared modules so environment.etc works. + environment.etc = + { + # set channels (backwards compatibility) + "nix/flake-channels/system".source = self; + "nix/flake-channels/nixpkgs".source = inputs.nixpkgs; + "nix/flake-channels/home-manager".source = inputs.home-manager; + + # preserve current flake in /etc + "nix-darwin".source = self; + } + # Create /etc/nix/inputs symlinks for all flake inputs + // lib.mapAttrs' ( + name: input: + lib.nameValuePair "nix/inputs/${name}" { + source = input.outPath or input; + } + ) inputs; + # Nix-Darwin config options # Check corresponding shared imported module nix = { diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix index d5dec183a..b62ca1873 100644 --- a/modules/nixos/nix/default.nix +++ b/modules/nixos/nix/default.nix @@ -2,6 +2,9 @@ config, lib, + self, + inputs, + ... }: let @@ -26,6 +29,30 @@ in }; }; + # TODO: This configuration should be in the shared module but environment.etc + # from shared modules imported via lib.getFile doesn't work properly in flake-parts. + # The shared module's other configurations (nix.registry, nix.nixPath, etc.) work fine, + # but environment.etc gets ignored. This is likely due to how lib.getFile imports + # don't participate in the module system's attribute merging. + # Fix: Find a way to properly import shared modules so environment.etc works. + environment.etc = + { + # set channels (backwards compatibility) + "nix/flake-channels/system".source = self; + "nix/flake-channels/nixpkgs".source = inputs.nixpkgs; + "nix/flake-channels/home-manager".source = inputs.home-manager; + + # preserve current flake in /etc + "nixos".source = self; + } + # Create /etc/nix/inputs symlinks for all flake inputs + // lib.mapAttrs' ( + name: input: + lib.nameValuePair "nix/inputs/${name}" { + source = input.outPath or input; + } + ) inputs; + # NixOS config options # Check corresponding shared imported module nix = { diff --git a/modules/shared/nix/default.nix b/modules/shared/nix/default.nix index 3a00207ab..a5fb16c9d 100644 --- a/modules/shared/nix/default.nix +++ b/modules/shared/nix/default.nix @@ -3,6 +3,7 @@ inputs, lib, pkgs, + self, host, ... @@ -28,12 +29,11 @@ in environment = { etc = - with inputs; { # set channels (backwards compatibility) "nix/flake-channels/system".source = self; - "nix/flake-channels/nixpkgs".source = nixpkgs; - "nix/flake-channels/home-manager".source = home-manager; + "nix/flake-channels/nixpkgs".source = inputs.nixpkgs; + "nix/flake-channels/home-manager".source = inputs.home-manager; } # preserve current flake in /etc // lib.mkIf pkgs.stdenv.hostPlatform.isLinux { @@ -210,7 +210,8 @@ in # This will additionally add your inputs to the system's legacy channels # Making legacy nix commands consistent as well - nixPath = lib.mapAttrsToList (key: _: "${key}=flake:${key}") config.nix.registry; + # NOTE: We link inputs here + nixPath = [ "/etc/nix/inputs" ]; optimise.automatic = true; # pin the registry to avoid downloading and evaluating a new nixpkgs version every time From b65c3a7145adec9cd1f9acfc1f693ac0b9f18a69 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 14 Jul 2025 12:13:18 -0500 Subject: [PATCH 05/25] flake.nix: add flake-compat --- default.nix | 12 ++++++++++++ flake.lock | 15 +++++++++++++++ flake.nix | 1 + shell.nix | 12 ++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 default.nix create mode 100644 shell.nix diff --git a/default.nix b/default.nix new file mode 100644 index 000000000..c48b1fb8c --- /dev/null +++ b/default.nix @@ -0,0 +1,12 @@ +(import ( + let + lock = builtins.fromJSON (builtins.readFile ./flake.lock); + nodeName = lock.nodes.root.inputs.flake-compat; + in + fetchTarball { + url = + lock.nodes.${nodeName}.locked.url + or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.${nodeName}.locked.rev}.tar.gz"; + sha256 = lock.nodes.${nodeName}.locked.narHash; + } +) { src = ./.; }).defaultNix diff --git a/flake.lock b/flake.lock index ef1e111cc..ceabbeb36 100644 --- a/flake.lock +++ b/flake.lock @@ -200,6 +200,20 @@ "type": "github" } }, + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -854,6 +868,7 @@ "darwin": "darwin", "disko": "disko", "firefox-addons": "firefox-addons", + "flake-compat": "flake-compat", "flake-parts": "flake-parts_2", "home-manager": "home-manager", "hypr-socket-watch": "hypr-socket-watch", diff --git a/flake.nix b/flake.nix index 0274f11bb..01b7d0100 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-master.url = "github:NixOS/nixpkgs"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"; flake-parts = { url = "github:hercules-ci/flake-parts"; diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..459e1526e --- /dev/null +++ b/shell.nix @@ -0,0 +1,12 @@ +(import ( + let + lock = builtins.fromJSON (builtins.readFile ./flake.lock); + nodeName = lock.nodes.root.inputs.flake-compat; + in + fetchTarball { + url = + lock.nodes.${nodeName}.locked.url + or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.${nodeName}.locked.rev}.tar.gz"; + sha256 = lock.nodes.${nodeName}.locked.narHash; + } +) { src = ./.; }).shellNix From f3f02efa2b293c33f31f9c97860fea38109b91ce Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 14 Jul 2025 12:33:44 -0500 Subject: [PATCH 06/25] ci: lint fix --- .github/workflows/build-dev-shells.yml | 4 ++-- .github/workflows/update-flakes.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-dev-shells.yml b/.github/workflows/build-dev-shells.yml index 1f5370725..ae22ffc74 100644 --- a/.github/workflows/build-dev-shells.yml +++ b/.github/workflows/build-dev-shells.yml @@ -47,7 +47,7 @@ jobs: env: SYSTEM: ${{ matrix.system }} run: | - shells=$(nix flake show --json | jq -r '.devShells."'$SYSTEM'" | keys[]' | tr '\n' ' ') + shells=$(nix flake show --json | jq -r '.devShells."'"$SYSTEM"'" | keys[]' | tr '\n' ' ') echo "shells=$shells" >> "$GITHUB_OUTPUT" - name: Build and cache dev shells env: @@ -55,7 +55,7 @@ jobs: run: | for shell in $SHELLS; do echo "Building dev shell: $shell" - nix develop .#$shell --command echo "Dev shell $shell built successfully" + nix develop ".#$shell" --command echo "Dev shell $shell built successfully" done - name: Build default dev shell run: |- diff --git a/.github/workflows/update-flakes.yml b/.github/workflows/update-flakes.yml index 727590ea0..661f47a16 100644 --- a/.github/workflows/update-flakes.yml +++ b/.github/workflows/update-flakes.yml @@ -25,7 +25,7 @@ jobs: GH_TOKEN: ${{ steps.app-token.outputs.token }} SLUG: ${{ steps.app-token.outputs.app-slug }} run: | - name="$SLUG[bot]" + name="${SLUG}[bot]" id=$(gh api "/users/$name" --jq .id) { echo "id=$id" From c6116f639857918dc3460ff09a6a806d51727482 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Tue, 15 Jul 2025 19:55:54 -0500 Subject: [PATCH 07/25] flake.lock: update --- flake.lock | 79 +++++++++++-------- .../bars/waybar/modules/default-modules.nix | 3 +- modules/home/suites/business/default.nix | 3 +- modules/nixos/suites/common/default.nix | 3 +- overlays/electron/default.nix | 4 + overlays/nixpkgs-master/default.nix | 3 + overlays/nixpkgs-unstable/default.nix | 3 +- 7 files changed, 63 insertions(+), 35 deletions(-) create mode 100644 overlays/electron/default.nix diff --git a/flake.lock b/flake.lock index ceabbeb36..72a78c3a8 100644 --- a/flake.lock +++ b/flake.lock @@ -170,11 +170,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1752379414, - "narHash": "sha256-0R3slhrjrnzyxR/fAYy5UliZvSgaVS38YCESBdH5RJw=", + "lastModified": 1752552209, + "narHash": "sha256-qOU0Ntz0rczB8mtAXgrYywkeMGNOUZ7K1llhkXZ5IRE=", "owner": "rycee", "repo": "nur-expressions", - "rev": "51e77bb95540b7dd6c60f8fd65a0c472a2c9c3b7", + "rev": "a8e97c23cc97670e4ec9ab9fa43faf2585678de2", "type": "gitlab" }, "original": { @@ -395,11 +395,11 @@ ] }, "locked": { - "lastModified": 1752467539, - "narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=", + "lastModified": 1752603129, + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e54837569e0b80797c47be4720fab19e0db1616", + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", "type": "github" }, "original": { @@ -480,11 +480,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1751375534, - "narHash": "sha256-9z1W64dDVtVxqgPzUbjIQqRfygg1hdivUOZ6d/H+yFg=", + "lastModified": 1752626856, + "narHash": "sha256-oJbmtdUwq98bHPCekdCSJZCEj1nUoj38eMFm72pXSd4=", "owner": "nix-community", "repo": "nh", - "rev": "d0abb8eebe32f79ce4659e68dd777cf497a5d3d2", + "rev": "84b5be56366c8356e62d28ef638424c1655fe74d", "type": "github" }, "original": { @@ -657,11 +657,11 @@ }, "nixpkgs-master_2": { "locked": { - "lastModified": 1752501828, - "narHash": "sha256-VNKL1zVLGH4QQ13mgUUEsUYtehazO7Ojkw3dfBkvq40=", + "lastModified": 1752626266, + "narHash": "sha256-PaXPwfiU8Sp2KiavIXLCRd75Dz+hANDhvPvw5OlSFVA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc1db7b2dfb8e7a685072696251ddecbd37d6cac", + "rev": "f23e0d855a4f6f055724f539a57dd95f57147778", "type": "github" }, "original": { @@ -670,13 +670,29 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1752077645, - "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", + "lastModified": 1752446735, + "narHash": "sha256-Nz2vtUEaRB/UjvPfuhHpez060P/4mvGpXW4JCDIboA4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "be9e214982e20b8310878ac2baa063a961c1bdf6", + "rev": "a421ac6595024edcfbb1ef950a3712b89161c359", "type": "github" }, "original": { @@ -736,11 +752,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1751211869, - "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", + "lastModified": 1752436162, + "narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", + "rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8", "type": "github" }, "original": { @@ -752,11 +768,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1752480373, + "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", "type": "github" }, "original": { @@ -845,14 +861,15 @@ "nixpkgs": [ "lanzaboote", "nixpkgs" - ] + ], + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", "type": "github" }, "original": { @@ -935,11 +952,11 @@ ] }, "locked": { - "lastModified": 1751606940, - "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=", + "lastModified": 1752544651, + "narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d", + "rev": "2c8def626f54708a9c38a5861866660395bb3461", "type": "github" }, "original": { @@ -969,11 +986,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752449117, - "narHash": "sha256-Cn24ySH/LN/Q/SsDhpOX4cTMYZa1JMOLNeNsoYqcZpY=", + "lastModified": 1752598315, + "narHash": "sha256-pSm1BqcA6wido27VeNAi86SjpurpL84+ciAXQmrtSzk=", "owner": "danth", "repo": "stylix", - "rev": "d683e35fa5ec8bbfd45d52e4b53c7b91f7b38d06", + "rev": "45749a791efd692c04dee4702b86a31535ed30d2", "type": "github" }, "original": { diff --git a/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix b/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix index deae54073..e9879994e 100644 --- a/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix +++ b/modules/home/programs/graphical/bars/waybar/modules/default-modules.nix @@ -255,7 +255,8 @@ in format-ok = "✓"; system = true; user = false; - on-click = "${lib.getExe pkgs.kitty} ${lib.getExe pkgs.isd}"; + # FIXME: textual broken + # on-click = "${lib.getExe pkgs.kitty} ${lib.getExe pkgs.isd}"; }; temperature = { diff --git a/modules/home/suites/business/default.nix b/modules/home/suites/business/default.nix index 1352516b0..472ab7f38 100644 --- a/modules/home/suites/business/default.nix +++ b/modules/home/suites/business/default.nix @@ -23,7 +23,8 @@ in with pkgs; [ calcurse - dooit + # FIXME broken dependency on textual + # dooit jrnl np ] diff --git a/modules/nixos/suites/common/default.nix b/modules/nixos/suites/common/default.nix index e87bf3eac..6ff059fad 100644 --- a/modules/nixos/suites/common/default.nix +++ b/modules/nixos/suites/common/default.nix @@ -22,7 +22,8 @@ in curl dnsutils fortune - isd + # FIXME: broken textual + # isd lazyjournal lolcat lshw diff --git a/overlays/electron/default.nix b/overlays/electron/default.nix new file mode 100644 index 000000000..00414813f --- /dev/null +++ b/overlays/electron/default.nix @@ -0,0 +1,4 @@ +_: _final: prev: { + # TODO: remove after upstream changes + electron = prev.electron_37; +} diff --git a/overlays/nixpkgs-master/default.nix b/overlays/nixpkgs-master/default.nix index 49bc040a3..3a8234d00 100644 --- a/overlays/nixpkgs-master/default.nix +++ b/overlays/nixpkgs-master/default.nix @@ -8,5 +8,8 @@ in # Fast updating / want latest always claude-code yaziPlugins + + # TODO: remove when hits unstable + teams-for-linux ; } diff --git a/overlays/nixpkgs-unstable/default.nix b/overlays/nixpkgs-unstable/default.nix index 1c108c96c..fcb81333e 100644 --- a/overlays/nixpkgs-unstable/default.nix +++ b/overlays/nixpkgs-unstable/default.nix @@ -30,7 +30,8 @@ in element-desktop firefox-devedition firefox-devedition-unwrapped - teams-for-linux + # TODO: enable when hits unstable + # teams-for-linux telegram-desktop ; } From d8d6ee214c3838db58d8fb6832e5954f05c8dc12 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 13:03:23 -0500 Subject: [PATCH 08/25] flake.lock: update --- flake.lock | 96 +++++++++++++-------------- modules/home/suites/photo/default.nix | 3 +- modules/home/theme/stylix/default.nix | 2 +- 3 files changed, 51 insertions(+), 50 deletions(-) diff --git a/flake.lock b/flake.lock index 72a78c3a8..c12641b8a 100644 --- a/flake.lock +++ b/flake.lock @@ -93,11 +93,11 @@ ] }, "locked": { - "lastModified": 1752490162, - "narHash": "sha256-CFOuAHbc9PTt9HhjGQFf07bUCZKOahQ+vLt30J6u5fw=", + "lastModified": 1752828704, + "narHash": "sha256-I8cCVFZIFcIy+7KBnjCuS/ISTJYeR8mkah1oxA6qBVk=", "owner": "catppuccin", "repo": "nix", - "rev": "7dc907c010e1612729c5d76cf614b5f7811bfe23", + "rev": "f5d22072074b0bc3c47a3a96a00e4fad263014ff", "type": "github" }, "original": { @@ -170,11 +170,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1752552209, - "narHash": "sha256-qOU0Ntz0rczB8mtAXgrYywkeMGNOUZ7K1llhkXZ5IRE=", + "lastModified": 1753070653, + "narHash": "sha256-vp4Svdpb90eEYkUKxjVROgcJ92u/2sVF8hnpsiKJEhI=", "owner": "rycee", "repo": "nur-expressions", - "rev": "a8e97c23cc97670e4ec9ab9fa43faf2585678de2", + "rev": "87f5912350a5bac28eacc1b89bb1767ca1a77e7e", "type": "gitlab" }, "original": { @@ -239,11 +239,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1753121425, + "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", "type": "github" }, "original": { @@ -395,11 +395,11 @@ ] }, "locked": { - "lastModified": 1752603129, - "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", + "lastModified": 1753056897, + "narHash": "sha256-AVVMBFcuOXqIgmShvRv9TED3fkiZhQ0ZvlhsPoFfkNE=", "owner": "nix-community", "repo": "home-manager", - "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", + "rev": "13a83d1b6545b7f0e8f7689bad62e7a3b1d63771", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "pkgs-by-name-for-flake-parts": "pkgs-by-name-for-flake-parts" }, "locked": { - "lastModified": 1752376152, - "narHash": "sha256-l8W20YXDCxhawLDn+YNOyFBGktBeKXHB/1l3eCj0vfw=", + "lastModified": 1753057416, + "narHash": "sha256-cEMxdtwk27wBcmM3njpKv95BjhvAr3VAi+nTO86/VGc=", "owner": "khaneliman", "repo": "khanelivim", - "rev": "c0d150d3f9a178dbf0f29797d8b4e57b033d0736", + "rev": "8251898b6769361f3eaf0f328cb70eae9bd202b3", "type": "github" }, "original": { @@ -480,11 +480,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1752626856, - "narHash": "sha256-oJbmtdUwq98bHPCekdCSJZCEj1nUoj38eMFm72pXSd4=", + "lastModified": 1752935256, + "narHash": "sha256-KKaUEg1/ntHVsG61CkKFr2mfdsoK9Nj5FM/W1PBhe5o=", "owner": "nix-community", "repo": "nh", - "rev": "84b5be56366c8356e62d28ef638424c1655fe74d", + "rev": "a90e3124111d9c3eb64e97a5334db09a8e2a4bae", "type": "github" }, "original": { @@ -516,11 +516,11 @@ ] }, "locked": { - "lastModified": 1752441837, - "narHash": "sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU=", + "lastModified": 1752985182, + "narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "839e02dece5845be3a322e507a79712b73a96ba2", + "rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c", "type": "github" }, "original": { @@ -596,11 +596,11 @@ ] }, "locked": { - "lastModified": 1752199438, - "narHash": "sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y=", + "lastModified": 1752682362, + "narHash": "sha256-ZNIpqCG/CfhmV+TgIeyO/XbhDjSWpwWokHM44j0Mn0w=", "owner": "nix-community", "repo": "nixos-wsl", - "rev": "d34d9412556d3a896e294534ccd25f53b6822e80", + "rev": "20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14", "type": "github" }, "original": { @@ -642,11 +642,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1752373047, - "narHash": "sha256-f+DjsnqGT28PwIrDLbmih/6Wq2tppLeOJtd+dktYOuQ=", + "lastModified": 1753055106, + "narHash": "sha256-UfLYJQryJUSkWxZ1xCx6RqDmefLdQd7C+PalEyZOUVU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b0b6c2231296e37830e016380a764c91ff3d1e18", + "rev": "76ad8f2d0d56f00dd5ed33d9939999eadaa4a5ea", "type": "github" }, "original": { @@ -657,11 +657,11 @@ }, "nixpkgs-master_2": { "locked": { - "lastModified": 1752626266, - "narHash": "sha256-PaXPwfiU8Sp2KiavIXLCRd75Dz+hANDhvPvw5OlSFVA=", + "lastModified": 1753129997, + "narHash": "sha256-DyocqHXFUdmSYkkdIZneNNvjr9AOBrNsU/hV45Kywo8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f23e0d855a4f6f055724f539a57dd95f57147778", + "rev": "48f409320e13f9e35fa78ed3733d8bdcb5f16b4f", "type": "github" }, "original": { @@ -688,11 +688,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1752446735, - "narHash": "sha256-Nz2vtUEaRB/UjvPfuhHpez060P/4mvGpXW4JCDIboA4=", + "lastModified": 1752997324, + "narHash": "sha256-vtTM4oDke3SeDj+1ey6DjmzXdq8ZZSCLWSaApADDvIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a421ac6595024edcfbb1ef950a3712b89161c359", + "rev": "7c688a0875df5a8c28a53fb55ae45e94eae0dddb", "type": "github" }, "original": { @@ -736,11 +736,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1752012998, - "narHash": "sha256-Q82Ms+FQmgOBkdoSVm+FBpuFoeUAffNerR5yVV7SgT8=", + "lastModified": 1752900028, + "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2a2130494ad647f953593c4e84ea4df839fbd68c", + "rev": "6b4955211758ba47fac850c040a27f23b9b4008f", "type": "github" }, "original": { @@ -768,11 +768,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1752480373, - "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", + "lastModified": 1752950548, + "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", + "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", "type": "github" }, "original": { @@ -798,11 +798,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1752358818, - "narHash": "sha256-Txnm5vJqZgaHpEM/9OANg1Ux4e9xHQ7iXfQ8EqtqM9s=", + "lastModified": 1752976861, + "narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=", "owner": "nix-community", "repo": "nixvim", - "rev": "4b068551d85cb4984fc60268a95097cf7af1ae48", + "rev": "0c50ed9349199219583cb1ed1a972d71e06039ec", "type": "github" }, "original": { @@ -986,11 +986,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752598315, - "narHash": "sha256-pSm1BqcA6wido27VeNAi86SjpurpL84+ciAXQmrtSzk=", + "lastModified": 1753117651, + "narHash": "sha256-7gWBlUOe2c0nYGyoVDa9hw15pI3DXDR0KK+nYh9KOpU=", "owner": "danth", "repo": "stylix", - "rev": "45749a791efd692c04dee4702b86a31535ed30d2", + "rev": "ea60526c8c2a1c5df2743a9495814dc0b319ef3b", "type": "github" }, "original": { @@ -1133,11 +1133,11 @@ ] }, "locked": { - "lastModified": 1752390446, - "narHash": "sha256-OcVcNM7Jt1E1/5HfPEXAodeJ4z8rvsR+1eY5OUYCt1I=", + "lastModified": 1753075618, + "narHash": "sha256-vP6t4dwiV3R+HRBLlsRr9kU5OtAJvQ9oTVbMsYqwxnc=", "owner": "Alexays", "repo": "Waybar", - "rev": "94777921d96c2657c37c7d83a18f13968df486de", + "rev": "39d6d80f6419b05e3358d950d9ee8601b152b8f9", "type": "github" }, "original": { diff --git a/modules/home/suites/photo/default.nix b/modules/home/suites/photo/default.nix index 698e79a59..cffb78bc5 100644 --- a/modules/home/suites/photo/default.nix +++ b/modules/home/suites/photo/default.nix @@ -19,7 +19,8 @@ in home.packages = with pkgs; lib.optionals stdenv.hostPlatform.isLinux [ - darktable + # FIXME: broken nixpkgs + # darktable digikam exiftool shotwell diff --git a/modules/home/theme/stylix/default.nix b/modules/home/theme/stylix/default.nix index 629329873..69724fee1 100644 --- a/modules/home/theme/stylix/default.nix +++ b/modules/home/theme/stylix/default.nix @@ -80,7 +80,7 @@ in }; }; - iconTheme = lib.mkIf pkgs.stdenv.hostPlatform.isLinux { + icons = lib.mkIf pkgs.stdenv.hostPlatform.isLinux { enable = lib.mkDefault true; inherit (cfg.icon) package; dark = cfg.icon.name; From 495afefd2ab7055711f1607b40593c6275356f13 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Tue, 15 Jul 2025 20:33:13 -0500 Subject: [PATCH 09/25] flake/overlays: consolidate channel overlays --- flake/overlays.nix | 15 ++------------- .../default.nix | 19 ++++++++++++++++--- overlays/nixpkgs-master/default.nix | 15 --------------- 3 files changed, 18 insertions(+), 31 deletions(-) rename overlays/{nixpkgs-unstable => channel-packages}/default.nix (59%) delete mode 100644 overlays/nixpkgs-master/default.nix diff --git a/flake/overlays.nix b/flake/overlays.nix index 9656ae0d7..5ec22bce8 100644 --- a/flake/overlays.nix +++ b/flake/overlays.nix @@ -16,18 +16,7 @@ let overlayPath = overlaysPath + "/${name}"; overlayFn = import overlayPath; in - if lib.isFunction overlayFn then - overlayFn { - inherit inputs; - # Helper function to import nixpkgs with proper config - mkPkgs = - input: system: config: - import input { - inherit system config; - }; - } - else - overlayFn + if lib.isFunction overlayFn then overlayFn { inherit inputs; } else overlayFn ) else { }; @@ -57,7 +46,7 @@ in flake = { overlays = dynamicOverlaysSet // { default = khanelinixPackagesOverlay; - khanelinix = khanelinixPackagesOverlay; # Alias for clarity + khanelinix = khanelinixPackagesOverlay; }; perSystem = diff --git a/overlays/nixpkgs-unstable/default.nix b/overlays/channel-packages/default.nix similarity index 59% rename from overlays/nixpkgs-unstable/default.nix rename to overlays/channel-packages/default.nix index fcb81333e..2cc43f737 100644 --- a/overlays/nixpkgs-unstable/default.nix +++ b/overlays/channel-packages/default.nix @@ -1,9 +1,22 @@ -{ inputs, mkPkgs, ... }: +{ inputs }: final: _prev: let - unstable = mkPkgs inputs.nixpkgs-unstable final.system final.config; + master = import inputs.nixpkgs-master { + inherit (final) system config; + }; + unstable = import inputs.nixpkgs-unstable { + inherit (final) system config; + }; in { + # From nixpkgs-master (fast updating / want latest always) + inherit (master) + claude-code + yaziPlugins + teams-for-linux # TODO: remove when hits unstable + ; + + # From nixpkgs-unstable inherit (unstable) # Core jankyborders @@ -34,4 +47,4 @@ in # teams-for-linux telegram-desktop ; -} +} \ No newline at end of file diff --git a/overlays/nixpkgs-master/default.nix b/overlays/nixpkgs-master/default.nix deleted file mode 100644 index 3a8234d00..000000000 --- a/overlays/nixpkgs-master/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ inputs, mkPkgs, ... }: -final: _prev: -let - master = mkPkgs inputs.nixpkgs-master final.system final.config; -in -{ - inherit (master) - # Fast updating / want latest always - claude-code - yaziPlugins - - # TODO: remove when hits unstable - teams-for-linux - ; -} From e02ae4fe368b90ac139699e3d06b3fc366d1ad91 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Tue, 15 Jul 2025 20:39:50 -0500 Subject: [PATCH 10/25] lib: consolidate common functions between helpers --- lib/common.nix | 121 ++++++++++++++++++++++++++ lib/default.nix | 13 +-- lib/file/default.nix | 2 +- lib/mk-darwin.nix | 99 ++++++--------------- lib/mk-home.nix | 35 ++------ lib/mk-system.nix | 104 ++++++---------------- lib/overlay.nix | 5 +- lib/theme/default.nix | 3 - overlays/channel-packages/default.nix | 2 +- 9 files changed, 184 insertions(+), 200 deletions(-) create mode 100644 lib/common.nix diff --git a/lib/common.nix b/lib/common.nix new file mode 100644 index 000000000..531c446a5 --- /dev/null +++ b/lib/common.nix @@ -0,0 +1,121 @@ +{ inputs }: +let + inherit (inputs.nixpkgs.lib) filterAttrs mapAttrs'; +in +{ + mkExtendedLib = flake: nixpkgs: nixpkgs.lib.extend flake.lib.overlay; + + mkNixpkgsConfig = flake: { + overlays = builtins.attrValues flake.overlays; + config = { + allowUnfree = true; + permittedInsecurePackages = [ + # NOTE: citrix + "libxml2-2.13.8" + # NOTE: needed by emulationstation + "freeimage-3.18.0-unstable-2024-04-18" + # dev shells + "aspnetcore-runtime-6.0.36" + "aspnetcore-runtime-7.0.20" + "aspnetcore-runtime-wrapped-7.0.20" + "aspnetcore-runtime-wrapped-6.0.36" + "dotnet-combined" + ]; + }; + }; + + mkHomeConfigs = + { + flake, + system, + hostname, + }: + let + inherit (flake.lib.file) scanHomes; + homesPath = ../homes; + allHomes = scanHomes homesPath; + in + filterAttrs ( + _name: homeConfig: homeConfig.system == system && homeConfig.hostname == hostname + ) allHomes; + + mkHomeManagerConfig = + { + extendedLib, + inputs, + system, + matchingHomes, + isNixOS ? true, + }: + if matchingHomes != { } then + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { + inherit inputs system; + inherit (inputs) self; + lib = extendedLib; + flake-parts-lib = inputs.flake-parts.lib; + }; + sharedModules = + [ + { _module.args.lib = extendedLib; } + ] + ++ ( + if isNixOS then + [ + inputs.home-manager.flakeModules.home-manager + ] + else + [ ] + ) + ++ [ + inputs.catppuccin.homeModules.catppuccin + inputs.hypr-socket-watch.homeManagerModules.default + inputs.nix-index-database.homeModules.nix-index + inputs.sops-nix.homeManagerModules.sops + ../modules/home + ]; + users = mapAttrs' (_name: homeConfig: { + name = homeConfig.username; + value = + { + imports = [ homeConfig.path ]; + home = { + inherit (homeConfig) username; + homeDirectory = inputs.nixpkgs.lib.mkDefault ( + if isNixOS then "/home/${homeConfig.username}" else "/Users/${homeConfig.username}" + ); + }; + } + // ( + if isNixOS then + { + _module.args.username = homeConfig.username; + } + else + { } + ); + }) matchingHomes; + }; + } + else + { }; + + mkSpecialArgs = + { + inputs, + hostname, + username, + extendedLib, + }: + { + inherit inputs hostname username; + inherit (inputs) self; + lib = extendedLib; + flake-parts-lib = inputs.flake-parts.lib; + format = "system"; + host = hostname; + }; +} diff --git a/lib/default.nix b/lib/default.nix index 37565887a..ea1e1f07d 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,28 +1,17 @@ { inputs, ... }: { - # Extended library functions flake.lib = { - # Utility functions for the flake mkSystem = import ./mk-system.nix { inherit inputs; }; mkHome = import ./mk-home.nix { inherit inputs; }; mkDarwin = import ./mk-darwin.nix { inherit inputs; }; - - # File utilities + common = import ./common.nix { inherit inputs; }; file = import ./file { inherit inputs; self = ../.; }; - - # Module utilities module = import ./module { inherit inputs; }; - - # Theme utilities theme = import ./theme { inherit inputs; }; - - # Base64 utilities base64 = import ./base64 { inherit inputs; }; - - # Library overlay for extending nixpkgs lib overlay = import ./overlay.nix { inherit inputs; }; }; } diff --git a/lib/file/default.nix b/lib/file/default.nix index f77080a57..62dd7a8ab 100644 --- a/lib/file/default.nix +++ b/lib/file/default.nix @@ -10,7 +10,7 @@ let foldl' ; in -rec { +{ # Read a file and return its contents readFile = path: builtins.readFile path; diff --git a/lib/mk-darwin.nix b/lib/mk-darwin.nix index 976237147..3a23a7ad8 100644 --- a/lib/mk-darwin.nix +++ b/lib/mk-darwin.nix @@ -7,89 +7,47 @@ ... }: let - # Import the khaneliparts flake to access the overlay flake = inputs.self or (throw "mkDarwin requires 'inputs.self' to be passed"); + common = import ./common.nix { inherit inputs; }; - # Extend nixpkgs lib with khanelinix functions - extendedLib = inputs.nixpkgs-unstable.lib.extend flake.lib.overlay; - - # Auto-discover home configurations for this system+hostname - inherit (flake.lib.file) scanHomes; - homesPath = ../homes; - allHomes = scanHomes homesPath; - - # Filter for matching system and hostname - matchingHomes = extendedLib.filterAttrs ( - _name: homeConfig: homeConfig.system == system && homeConfig.hostname == hostname - ) allHomes; - - # Generate home-manager configuration for matching users - homeManagerConfig = - if matchingHomes != { } then - { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - extraSpecialArgs = { - inherit inputs system; - inherit (flake) self; - lib = extendedLib; - flake-parts-lib = inputs.flake-parts.lib; - }; - sharedModules = [ - # Provide extended lib to all modules - { _module.args.lib = extendedLib; } - - inputs.catppuccin.homeModules.catppuccin - inputs.hypr-socket-watch.homeManagerModules.default - inputs.nix-index-database.homeModules.nix-index - inputs.sops-nix.homeManagerModules.sops - ../modules/home - ]; - users = extendedLib.mapAttrs' (_name: homeConfig: { - name = homeConfig.username; - value = { - imports = [ homeConfig.path ]; - home = { - inherit (homeConfig) username; - homeDirectory = inputs.nixpkgs-unstable.lib.mkDefault "/Users/${homeConfig.username}"; - }; - }; - }) matchingHomes; - }; - } - else - { }; + extendedLib = common.mkExtendedLib flake inputs.nixpkgs; + matchingHomes = common.mkHomeConfigs { + inherit + flake + system + hostname + ; + }; + homeManagerConfig = common.mkHomeManagerConfig { + inherit + extendedLib + inputs + system + matchingHomes + ; + isNixOS = false; + }; in inputs.darwin.lib.darwinSystem { inherit system; - specialArgs = { - inherit inputs hostname username; - inherit (inputs) self; - lib = extendedLib; - flake-parts-lib = inputs.flake-parts.lib; - format = "system"; - host = hostname; + specialArgs = common.mkSpecialArgs { + inherit + inputs + hostname + username + extendedLib + ; }; modules = [ - # Provide extended lib to all modules { _module.args.lib = extendedLib; } # Configure nixpkgs with overlays { nixpkgs = { inherit system; - overlays = builtins.attrValues flake.overlays; - config = { - allowUnfree = true; - permittedInsecurePackages = [ - # NOTE: citrix - "libxml2-2.13.8" - ]; - }; - }; + } // common.mkNixpkgsConfig flake; } inputs.home-manager.darwinModules.home-manager @@ -100,12 +58,7 @@ inputs.darwin.lib.darwinSystem { # Auto-inject home configurations for this system+hostname homeManagerConfig - # Base Darwin modules ../modules/darwin - - # Host-specific configuration ../systems/${system}/${hostname} - - # Additional modules passed as arguments ] ++ modules; } diff --git a/lib/mk-home.nix b/lib/mk-home.nix index f20554d72..bb8bdb7ce 100644 --- a/lib/mk-home.nix +++ b/lib/mk-home.nix @@ -7,33 +7,17 @@ ... }: let - # Import the khaneliparts flake to access the overlay flake = inputs.self or (throw "mkHome requires 'inputs.self' to be passed"); + common = import ./common.nix { inherit inputs; }; - # Extend nixpkgs lib with khanelinix functions - extendedLib = inputs.nixpkgs-unstable.lib.extend flake.lib.overlay; + extendedLib = common.mkExtendedLib flake inputs.nixpkgs; in inputs.home-manager.lib.homeManagerConfiguration { - pkgs = import inputs.nixpkgs-unstable { - inherit system; - overlays = builtins.attrValues flake.overlays; - config = { - allowUnfree = true; - # TODO: cleanup when available - permittedInsecurePackages = [ - # NOTE: citrix - "libxml2-2.13.8" - # NOTE: needed by emulationstation - "freeimage-3.18.0-unstable-2024-04-18" - # dev shells - "aspnetcore-runtime-6.0.36" - "aspnetcore-runtime-7.0.20" - "aspnetcore-runtime-wrapped-7.0.20" - "aspnetcore-runtime-wrapped-6.0.36" - "dotnet-combined" - ]; - }; - }; + pkgs = + import inputs.nixpkgs { + inherit system; + } + // common.mkNixpkgsConfig flake; extraSpecialArgs = { inherit @@ -48,18 +32,13 @@ inputs.home-manager.lib.homeManagerConfiguration { }; modules = [ - # Provide extended lib to all modules { _module.args.lib = extendedLib; } - # Third-party home modules inputs.catppuccin.homeModules.catppuccin inputs.hypr-socket-watch.homeManagerModules.default inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops - # Base home modules ../modules/home - - # Additional modules passed as arguments ] ++ modules; } diff --git a/lib/mk-system.nix b/lib/mk-system.nix index 12926f968..4a829349d 100644 --- a/lib/mk-system.nix +++ b/lib/mk-system.nix @@ -7,97 +7,50 @@ ... }: let - # Import the khaneliparts flake to access the overlay flake = inputs.self or (throw "mkSystem requires 'inputs.self' to be passed"); + common = import ./common.nix { inherit inputs; }; - # Extend nixpkgs lib with khanelinix functions - extendedLib = inputs.nixpkgs.lib.extend flake.lib.overlay; - - # Auto-discover home configurations for this system+hostname - inherit (flake.lib.file) scanHomes; - homesPath = ../homes; - allHomes = scanHomes homesPath; - - # Filter for matching system and hostname - matchingHomes = extendedLib.filterAttrs ( - _name: homeConfig: homeConfig.system == system && homeConfig.hostname == hostname - ) allHomes; - - # Generate home-manager configuration for matching users - homeManagerConfig = - if matchingHomes != { } then - { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - extraSpecialArgs = { - inherit inputs system; - inherit (inputs) self; - lib = extendedLib; - flake-parts-lib = inputs.flake-parts.lib; - }; - sharedModules = [ - # Provide extended lib to all modules - { _module.args.lib = extendedLib; } - - inputs.home-manager.flakeModules.home-manager - inputs.catppuccin.homeModules.catppuccin - inputs.hypr-socket-watch.homeManagerModules.default - inputs.nix-index-database.homeModules.nix-index - inputs.sops-nix.homeManagerModules.sops - ../modules/home - ]; - users = extendedLib.mapAttrs' (_name: homeConfig: { - name = homeConfig.username; - value = { - imports = [ homeConfig.path ]; - home = { - inherit (homeConfig) username; - homeDirectory = inputs.nixpkgs.lib.mkDefault "/home/${homeConfig.username}"; - }; - _module.args.username = homeConfig.username; - }; - }) matchingHomes; - }; - } - else - { }; + extendedLib = common.mkExtendedLib flake inputs.nixpkgs; + matchingHomes = common.mkHomeConfigs { + inherit + flake + system + hostname + ; + }; + homeManagerConfig = common.mkHomeManagerConfig { + inherit + extendedLib + inputs + system + matchingHomes + ; + isNixOS = true; + }; in inputs.nixpkgs.lib.nixosSystem { inherit system; - specialArgs = { - inherit inputs hostname username; - inherit (inputs) self; - lib = extendedLib; - flake-parts-lib = inputs.flake-parts.lib; - format = "system"; - host = hostname; + specialArgs = common.mkSpecialArgs { + inherit + inputs + hostname + username + extendedLib + ; }; modules = [ - # Provide extended lib to all modules { _module.args.lib = extendedLib; } # Configure nixpkgs with overlays { nixpkgs = { inherit system; - overlays = builtins.attrValues flake.overlays; - config = { - allowUnfree = true; - permittedInsecurePackages = [ - # NOTE: citrix - "libxml2-2.13.8" - ]; - }; - }; + } // common.mkNixpkgsConfig flake; } - # Home Manager NixOS module inputs.home-manager.nixosModules.home-manager - - # System modules inputs.lanzaboote.nixosModules.lanzaboote inputs.sops-nix.nixosModules.sops inputs.disko.nixosModules.disko @@ -109,12 +62,7 @@ inputs.nixpkgs.lib.nixosSystem { # Auto-inject home configurations for this system+hostname homeManagerConfig - # Base system modules ../modules/nixos - - # Host-specific configuration ../systems/${system}/${hostname} - - # Additional modules passed as arguments ] ++ modules; } diff --git a/lib/overlay.nix b/lib/overlay.nix index 58a269981..e5ad8f5d5 100644 --- a/lib/overlay.nix +++ b/lib/overlay.nix @@ -3,11 +3,11 @@ final: _prev: { # Add our extended khanelinix functions to lib khanelinix = import ./module { inherit inputs; }; - # Add file utilities file = import ./file { inherit inputs; self = ../.; }; + inherit (final.file) getFile importModulesRecursive; # Also add individual namespaces for convenience inherit (final.khanelinix) @@ -27,9 +27,6 @@ final: _prev: { decode ; - # Add file utilities to root lib for easy access - inherit (final.file) getFile importModulesRecursive; - # Add home-manager lib functions inherit (inputs.home-manager.lib) hm; } diff --git a/lib/theme/default.nix b/lib/theme/default.nix index 9d15c2b9d..8f21dbdc5 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -3,16 +3,13 @@ let inherit (inputs.nixpkgs.lib) getExe; in { - # Common theme utilities mkColorScheme = name: colors: { inherit name colors; type = "colorScheme"; }; - # Extract colors from a scheme getColors = scheme: scheme.colors or { }; - # Theme variants variants = { light = "light"; dark = "dark"; diff --git a/overlays/channel-packages/default.nix b/overlays/channel-packages/default.nix index 2cc43f737..d6d9c3f31 100644 --- a/overlays/channel-packages/default.nix +++ b/overlays/channel-packages/default.nix @@ -47,4 +47,4 @@ in # teams-for-linux telegram-desktop ; -} \ No newline at end of file +} From 510c0483565a93e272f927df3ab31c95bcec6b8c Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 19 Jul 2025 10:11:56 -0500 Subject: [PATCH 11/25] lib: move recursive imports into lib from modules Remove unnecessary files that were only for recursive imports. --- lib/common.nix | 4 ++-- lib/mk-darwin.nix | 39 +++++++++++++++++-------------- lib/mk-home.nix | 19 ++++++++------- lib/mk-system.nix | 47 +++++++++++++++++++++----------------- modules/darwin/default.nix | 4 ---- modules/home/default.nix | 4 ---- modules/nixos/default.nix | 4 ---- 7 files changed, 61 insertions(+), 60 deletions(-) delete mode 100644 modules/darwin/default.nix delete mode 100644 modules/home/default.nix delete mode 100644 modules/nixos/default.nix diff --git a/lib/common.nix b/lib/common.nix index 531c446a5..fb7c51c58 100644 --- a/lib/common.nix +++ b/lib/common.nix @@ -75,8 +75,8 @@ in inputs.hypr-socket-watch.homeManagerModules.default inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops - ../modules/home - ]; + ] + ++ (extendedLib.importModulesRecursive ../modules/home); users = mapAttrs' (_name: homeConfig: { name = homeConfig.username; value = diff --git a/lib/mk-darwin.nix b/lib/mk-darwin.nix index 3a23a7ad8..9eb7a8b6c 100644 --- a/lib/mk-darwin.nix +++ b/lib/mk-darwin.nix @@ -40,25 +40,30 @@ inputs.darwin.lib.darwinSystem { ; }; - modules = [ - { _module.args.lib = extendedLib; } + modules = + [ + { _module.args.lib = extendedLib; } - # Configure nixpkgs with overlays - { - nixpkgs = { - inherit system; - } // common.mkNixpkgsConfig flake; - } + # Configure nixpkgs with overlays + { + nixpkgs = { + inherit system; + } // common.mkNixpkgsConfig flake; + } - inputs.home-manager.darwinModules.home-manager - inputs.sops-nix.darwinModules.sops - inputs.stylix.darwinModules.stylix - inputs.nix-rosetta-builder.darwinModules.default + inputs.home-manager.darwinModules.home-manager + inputs.sops-nix.darwinModules.sops + inputs.stylix.darwinModules.stylix + inputs.nix-rosetta-builder.darwinModules.default - # Auto-inject home configurations for this system+hostname - homeManagerConfig + # Auto-inject home configurations for this system+hostname + homeManagerConfig - ../modules/darwin - ../systems/${system}/${hostname} - ] ++ modules; + # Import all darwin modules recursively + ] + ++ (extendedLib.importModulesRecursive ../modules/darwin) + ++ [ + ../systems/${system}/${hostname} + ] + ++ modules; } diff --git a/lib/mk-home.nix b/lib/mk-home.nix index bb8bdb7ce..c038a0a53 100644 --- a/lib/mk-home.nix +++ b/lib/mk-home.nix @@ -31,14 +31,17 @@ inputs.home-manager.lib.homeManagerConfiguration { flake-parts-lib = inputs.flake-parts.lib; }; - modules = [ - { _module.args.lib = extendedLib; } + modules = + [ + { _module.args.lib = extendedLib; } - inputs.catppuccin.homeModules.catppuccin - inputs.hypr-socket-watch.homeManagerModules.default - inputs.nix-index-database.homeModules.nix-index - inputs.sops-nix.homeManagerModules.sops + inputs.catppuccin.homeModules.catppuccin + inputs.hypr-socket-watch.homeManagerModules.default + inputs.nix-index-database.homeModules.nix-index + inputs.sops-nix.homeManagerModules.sops - ../modules/home - ] ++ modules; + # Import all home modules recursively + ] + ++ (extendedLib.importModulesRecursive ../modules/home) + ++ modules; } diff --git a/lib/mk-system.nix b/lib/mk-system.nix index 4a829349d..8ff9a615c 100644 --- a/lib/mk-system.nix +++ b/lib/mk-system.nix @@ -40,29 +40,34 @@ inputs.nixpkgs.lib.nixosSystem { ; }; - modules = [ - { _module.args.lib = extendedLib; } + modules = + [ + { _module.args.lib = extendedLib; } - # Configure nixpkgs with overlays - { - nixpkgs = { - inherit system; - } // common.mkNixpkgsConfig flake; - } + # Configure nixpkgs with overlays + { + nixpkgs = { + inherit system; + } // common.mkNixpkgsConfig flake; + } - inputs.home-manager.nixosModules.home-manager - inputs.lanzaboote.nixosModules.lanzaboote - inputs.sops-nix.nixosModules.sops - inputs.disko.nixosModules.disko - inputs.stylix.nixosModules.stylix - inputs.catppuccin.nixosModules.catppuccin - inputs.nix-index-database.nixosModules.nix-index - inputs.nix-flatpak.nixosModules.nix-flatpak + inputs.home-manager.nixosModules.home-manager + inputs.lanzaboote.nixosModules.lanzaboote + inputs.sops-nix.nixosModules.sops + inputs.disko.nixosModules.disko + inputs.stylix.nixosModules.stylix + inputs.catppuccin.nixosModules.catppuccin + inputs.nix-index-database.nixosModules.nix-index + inputs.nix-flatpak.nixosModules.nix-flatpak - # Auto-inject home configurations for this system+hostname - homeManagerConfig + # Auto-inject home configurations for this system+hostname + homeManagerConfig - ../modules/nixos - ../systems/${system}/${hostname} - ] ++ modules; + # Import all nixos modules recursively + ] + ++ (extendedLib.importModulesRecursive ../modules/nixos) + ++ [ + ../systems/${system}/${hostname} + ] + ++ modules; } diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix deleted file mode 100644 index b6d50a61b..000000000 --- a/modules/darwin/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ lib, ... }: -{ - imports = lib.importModulesRecursive ./.; -} diff --git a/modules/home/default.nix b/modules/home/default.nix deleted file mode 100644 index b6d50a61b..000000000 --- a/modules/home/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ lib, ... }: -{ - imports = lib.importModulesRecursive ./.; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix deleted file mode 100644 index b6d50a61b..000000000 --- a/modules/nixos/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ lib, ... }: -{ - imports = lib.importModulesRecursive ./.; -} From 97632313815e6b6fb70e644ff04566b029310b23 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 19 Jul 2025 10:24:48 -0500 Subject: [PATCH 12/25] lib: move mkX into system namespace --- flake/configs.nix | 4 ++-- flake/home.nix | 2 +- lib/default.nix | 11 +++++------ lib/overlay.nix | 3 +++ lib/{ => system}/common.nix | 4 ++-- lib/system/default.nix | 10 ++++++++++ lib/{ => system}/mk-darwin.nix | 4 ++-- lib/{ => system}/mk-home.nix | 2 +- lib/{ => system}/mk-system.nix | 4 ++-- 9 files changed, 28 insertions(+), 16 deletions(-) rename lib/{ => system}/common.nix (96%) create mode 100644 lib/system/default.nix rename lib/{ => system}/mk-darwin.nix (92%) rename lib/{ => system}/mk-home.nix (93%) rename lib/{ => system}/mk-system.nix (93%) diff --git a/flake/configs.nix b/flake/configs.nix index 74353e0b8..117172120 100644 --- a/flake/configs.nix +++ b/flake/configs.nix @@ -17,7 +17,7 @@ in { system, hostname, ... }: { name = hostname; - value = self.lib.mkSystem { + value = self.lib.system.mkSystem { inherit inputs system hostname; username = "khaneliman"; }; @@ -29,7 +29,7 @@ in { system, hostname, ... }: { name = hostname; - value = self.lib.mkDarwin { + value = self.lib.system.mkDarwin { inherit inputs system hostname; username = "khaneliman"; }; diff --git a/flake/home.nix b/flake/home.nix index baf36b78a..dd904d00b 100644 --- a/flake/home.nix +++ b/flake/home.nix @@ -22,7 +22,7 @@ let }: { name = userAtHost; # Use the full "username@hostname" as key - value = self.lib.mkHome { + value = self.lib.system.mkHome { inherit inputs system diff --git a/lib/default.nix b/lib/default.nix index ea1e1f07d..2c54db40d 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,17 +1,16 @@ { inputs, ... }: { flake.lib = { - mkSystem = import ./mk-system.nix { inherit inputs; }; - mkHome = import ./mk-home.nix { inherit inputs; }; - mkDarwin = import ./mk-darwin.nix { inherit inputs; }; - common = import ./common.nix { inherit inputs; }; + # keep-sorted start block=yes newline_separated=yes + base64 = import ./base64 { inherit inputs; }; file = import ./file { inherit inputs; self = ../.; }; module = import ./module { inherit inputs; }; - theme = import ./theme { inherit inputs; }; - base64 = import ./base64 { inherit inputs; }; overlay = import ./overlay.nix { inherit inputs; }; + system = import ./system { inherit inputs; }; + theme = import ./theme { inherit inputs; }; + # keep-sorted end }; } diff --git a/lib/overlay.nix b/lib/overlay.nix index e5ad8f5d5..b28738b3b 100644 --- a/lib/overlay.nix +++ b/lib/overlay.nix @@ -9,6 +9,9 @@ final: _prev: { }; inherit (final.file) getFile importModulesRecursive; + # System configuration builders + system = import ./system { inherit inputs; }; + # Also add individual namespaces for convenience inherit (final.khanelinix) mkOpt diff --git a/lib/common.nix b/lib/system/common.nix similarity index 96% rename from lib/common.nix rename to lib/system/common.nix index fb7c51c58..0959cfb04 100644 --- a/lib/common.nix +++ b/lib/system/common.nix @@ -32,7 +32,7 @@ in }: let inherit (flake.lib.file) scanHomes; - homesPath = ../homes; + homesPath = ../../homes; allHomes = scanHomes homesPath; in filterAttrs ( @@ -76,7 +76,7 @@ in inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops ] - ++ (extendedLib.importModulesRecursive ../modules/home); + ++ (extendedLib.importModulesRecursive ../../modules/home); users = mapAttrs' (_name: homeConfig: { name = homeConfig.username; value = diff --git a/lib/system/default.nix b/lib/system/default.nix new file mode 100644 index 000000000..3e2902e3a --- /dev/null +++ b/lib/system/default.nix @@ -0,0 +1,10 @@ +{ inputs }: +{ + # System configuration builders + mkDarwin = import ./mk-darwin.nix { inherit inputs; }; + mkSystem = import ./mk-system.nix { inherit inputs; }; + mkHome = import ./mk-home.nix { inherit inputs; }; + + # Common utilities used by system builders + common = import ./common.nix { inherit inputs; }; +} diff --git a/lib/mk-darwin.nix b/lib/system/mk-darwin.nix similarity index 92% rename from lib/mk-darwin.nix rename to lib/system/mk-darwin.nix index 9eb7a8b6c..d78e7529d 100644 --- a/lib/mk-darwin.nix +++ b/lib/system/mk-darwin.nix @@ -61,9 +61,9 @@ inputs.darwin.lib.darwinSystem { # Import all darwin modules recursively ] - ++ (extendedLib.importModulesRecursive ../modules/darwin) + ++ (extendedLib.importModulesRecursive ../../modules/darwin) ++ [ - ../systems/${system}/${hostname} + ../../systems/${system}/${hostname} ] ++ modules; } diff --git a/lib/mk-home.nix b/lib/system/mk-home.nix similarity index 93% rename from lib/mk-home.nix rename to lib/system/mk-home.nix index c038a0a53..78b04a09b 100644 --- a/lib/mk-home.nix +++ b/lib/system/mk-home.nix @@ -42,6 +42,6 @@ inputs.home-manager.lib.homeManagerConfiguration { # Import all home modules recursively ] - ++ (extendedLib.importModulesRecursive ../modules/home) + ++ (extendedLib.importModulesRecursive ../../modules/home) ++ modules; } diff --git a/lib/mk-system.nix b/lib/system/mk-system.nix similarity index 93% rename from lib/mk-system.nix rename to lib/system/mk-system.nix index 8ff9a615c..bcae064ed 100644 --- a/lib/mk-system.nix +++ b/lib/system/mk-system.nix @@ -65,9 +65,9 @@ inputs.nixpkgs.lib.nixosSystem { # Import all nixos modules recursively ] - ++ (extendedLib.importModulesRecursive ../modules/nixos) + ++ (extendedLib.importModulesRecursive ../../modules/nixos) ++ [ - ../systems/${system}/${hostname} + ../../systems/${system}/${hostname} ] ++ modules; } From ea45972bb068e79d42a930b15da9657d4b68c048 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 19 Jul 2025 10:33:40 -0500 Subject: [PATCH 13/25] lib/overlay: refactor to reduce imports --- lib/overlay.nix | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/lib/overlay.nix b/lib/overlay.nix index b28738b3b..58ad34ea5 100644 --- a/lib/overlay.nix +++ b/lib/overlay.nix @@ -1,28 +1,31 @@ { inputs }: -final: _prev: { - # Add our extended khanelinix functions to lib - khanelinix = import ./module { inherit inputs; }; +_final: _prev: +let + khanelinixLib = import ./default.nix { inherit inputs; }; +in +{ + # Expose khanelinix module functions directly + khanelinix = khanelinixLib.flake.lib.module; - file = import ./file { - inherit inputs; - self = ../.; - }; - inherit (final.file) getFile importModulesRecursive; + # Expose all khanelinix lib namespaces + inherit (khanelinixLib.flake.lib) + file + system + theme + base64 + ; - # System configuration builders - system = import ./system { inherit inputs; }; + inherit (khanelinixLib.flake.lib.file) getFile importModulesRecursive; - # Also add individual namespaces for convenience - inherit (final.khanelinix) + inherit (khanelinixLib.flake.lib.module) mkOpt mkOpt' mkBoolOpt mkBoolOpt' enabled disabled - ; - inherit (final.khanelinix) capitalize boolToNum; - inherit (final.khanelinix) + capitalize + boolToNum default-attrs force-attrs nested-default-attrs From a5af362573d003b0dfae6beeb8389a46e2993225 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 19 Jul 2025 10:36:56 -0500 Subject: [PATCH 14/25] modules: shared -> common Use common nomenclature to align better with other code bases --- docs/module-enablement-matrix.md | 2 +- modules/{shared => common}/nix/default.nix | 0 .../{shared => common}/programs/terminal/tools/ssh/default.nix | 0 modules/{shared => common}/suites/common/default.nix | 0 modules/{shared => common}/system/fonts/default.nix | 0 modules/darwin/nix/default.nix | 2 +- modules/darwin/programs/terminal/tools/ssh/default.nix | 2 +- modules/darwin/suites/common/default.nix | 2 +- modules/darwin/system/fonts/default.nix | 2 +- modules/nixos/nix/default.nix | 2 +- modules/nixos/programs/terminal/tools/ssh/default.nix | 2 +- modules/nixos/suites/common/default.nix | 2 +- modules/nixos/system/fonts/default.nix | 2 +- templates/snowfall/modules/darwin/system/fonts/default.nix | 2 +- 14 files changed, 10 insertions(+), 10 deletions(-) rename modules/{shared => common}/nix/default.nix (100%) rename modules/{shared => common}/programs/terminal/tools/ssh/default.nix (100%) rename modules/{shared => common}/suites/common/default.nix (100%) rename modules/{shared => common}/system/fonts/default.nix (100%) diff --git a/docs/module-enablement-matrix.md b/docs/module-enablement-matrix.md index e99b9e530..1db2f3be6 100644 --- a/docs/module-enablement-matrix.md +++ b/docs/module-enablement-matrix.md @@ -30,7 +30,7 @@ configuration. ### Shared Suites (Cross-Platform)
-Common Suite (modules/shared/suites/common/) +Common Suite (modules/common/suites/common/) | Category | Items | | ------------------ | ------------------------------------------- | diff --git a/modules/shared/nix/default.nix b/modules/common/nix/default.nix similarity index 100% rename from modules/shared/nix/default.nix rename to modules/common/nix/default.nix diff --git a/modules/shared/programs/terminal/tools/ssh/default.nix b/modules/common/programs/terminal/tools/ssh/default.nix similarity index 100% rename from modules/shared/programs/terminal/tools/ssh/default.nix rename to modules/common/programs/terminal/tools/ssh/default.nix diff --git a/modules/shared/suites/common/default.nix b/modules/common/suites/common/default.nix similarity index 100% rename from modules/shared/suites/common/default.nix rename to modules/common/suites/common/default.nix diff --git a/modules/shared/system/fonts/default.nix b/modules/common/system/fonts/default.nix similarity index 100% rename from modules/shared/system/fonts/default.nix rename to modules/common/system/fonts/default.nix diff --git a/modules/darwin/nix/default.nix b/modules/darwin/nix/default.nix index fcf88604e..6a9b62853 100644 --- a/modules/darwin/nix/default.nix +++ b/modules/darwin/nix/default.nix @@ -11,7 +11,7 @@ let cfg = config.khanelinix.nix; in { - imports = [ (lib.getFile "modules/shared/nix/default.nix") ]; + imports = [ (lib.getFile "modules/common/nix/default.nix") ]; config = lib.mkIf cfg.enable { # TODO: This configuration should be in the shared module but environment.etc diff --git a/modules/darwin/programs/terminal/tools/ssh/default.nix b/modules/darwin/programs/terminal/tools/ssh/default.nix index 19cd4f6d2..9a6c38012 100644 --- a/modules/darwin/programs/terminal/tools/ssh/default.nix +++ b/modules/darwin/programs/terminal/tools/ssh/default.nix @@ -3,5 +3,5 @@ ... }: { - imports = [ (lib.getFile "modules/shared/programs/terminal/tools/ssh/default.nix") ]; + imports = [ (lib.getFile "modules/common/programs/terminal/tools/ssh/default.nix") ]; } diff --git a/modules/darwin/suites/common/default.nix b/modules/darwin/suites/common/default.nix index 5927b2d9c..4715030b6 100644 --- a/modules/darwin/suites/common/default.nix +++ b/modules/darwin/suites/common/default.nix @@ -12,7 +12,7 @@ let cfg = config.khanelinix.suites.common; in { - imports = [ (lib.getFile "modules/shared/suites/common/default.nix") ]; + imports = [ (lib.getFile "modules/common/suites/common/default.nix") ]; config = mkIf cfg.enable { programs.zsh.enable = mkDefault true; diff --git a/modules/darwin/system/fonts/default.nix b/modules/darwin/system/fonts/default.nix index 62d1378a7..19d05bc0a 100644 --- a/modules/darwin/system/fonts/default.nix +++ b/modules/darwin/system/fonts/default.nix @@ -11,7 +11,7 @@ let cfg = config.khanelinix.system.fonts; in { - imports = [ (lib.getFile "modules/shared/system/fonts/default.nix") ]; + imports = [ (lib.getFile "modules/common/system/fonts/default.nix") ]; config = mkIf cfg.enable { fonts = { diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix index b62ca1873..bb94ccf3d 100644 --- a/modules/nixos/nix/default.nix +++ b/modules/nixos/nix/default.nix @@ -13,7 +13,7 @@ let cfg = config.khanelinix.nix; in { - imports = [ (lib.getFile "modules/shared/nix/default.nix") ]; + imports = [ (lib.getFile "modules/common/nix/default.nix") ]; config = mkIf cfg.enable { documentation = { diff --git a/modules/nixos/programs/terminal/tools/ssh/default.nix b/modules/nixos/programs/terminal/tools/ssh/default.nix index 47dfc9151..e1cdd145e 100644 --- a/modules/nixos/programs/terminal/tools/ssh/default.nix +++ b/modules/nixos/programs/terminal/tools/ssh/default.nix @@ -4,6 +4,6 @@ }: { imports = [ - (lib.getFile "modules/shared/programs/terminal/tools/ssh/default.nix") + (lib.getFile "modules/common/programs/terminal/tools/ssh/default.nix") ]; } diff --git a/modules/nixos/suites/common/default.nix b/modules/nixos/suites/common/default.nix index 6ff059fad..aae719750 100644 --- a/modules/nixos/suites/common/default.nix +++ b/modules/nixos/suites/common/default.nix @@ -12,7 +12,7 @@ let cfg = config.khanelinix.suites.common; in { - imports = [ (lib.getFile "modules/shared/suites/common/default.nix") ]; + imports = [ (lib.getFile "modules/common/suites/common/default.nix") ]; config = mkIf cfg.enable { environment = { diff --git a/modules/nixos/system/fonts/default.nix b/modules/nixos/system/fonts/default.nix index 70596bb82..ff75588dc 100644 --- a/modules/nixos/system/fonts/default.nix +++ b/modules/nixos/system/fonts/default.nix @@ -11,7 +11,7 @@ let cfg = config.khanelinix.system.fonts; in { - imports = [ (lib.getFile "modules/shared/system/fonts/default.nix") ]; + imports = [ (lib.getFile "modules/common/system/fonts/default.nix") ]; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ diff --git a/templates/snowfall/modules/darwin/system/fonts/default.nix b/templates/snowfall/modules/darwin/system/fonts/default.nix index adcbc4406..7779e83b1 100644 --- a/templates/snowfall/modules/darwin/system/fonts/default.nix +++ b/templates/snowfall/modules/darwin/system/fonts/default.nix @@ -11,7 +11,7 @@ let cfg = config.${namespace}.system.fonts; in { - imports = [ (lib.snowfall.fs.get-file "modules/shared/system/fonts/default.nix") ]; + imports = [ (lib.snowfall.fs.get-file "modules/common/system/fonts/default.nix") ]; config = mkIf cfg.enable { fonts = { From f1e7b167a63c5a7201ca6baedd0755111dbbf73b Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 19 Jul 2025 10:47:44 -0500 Subject: [PATCH 15/25] suites/common: cleanup shared packages --- modules/common/suites/common/default.nix | 3 +++ modules/darwin/suites/common/default.nix | 3 --- modules/nixos/suites/common/default.nix | 4 ---- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/modules/common/suites/common/default.nix b/modules/common/suites/common/default.nix index ea7622790..0a2be8076 100644 --- a/modules/common/suites/common/default.nix +++ b/modules/common/suites/common/default.nix @@ -25,6 +25,9 @@ in killall lsof pciutils + pkgs.khanelinix.trace-symlink + pkgs.khanelinix.trace-which + pkgs.khanelinix.why-depends tldr unzip wget diff --git a/modules/darwin/suites/common/default.nix b/modules/darwin/suites/common/default.nix index 4715030b6..82fcca51e 100644 --- a/modules/darwin/suites/common/default.nix +++ b/modules/darwin/suites/common/default.nix @@ -33,9 +33,6 @@ in gnupg gnused gnutls - pkgs.khanelinix.trace-symlink - pkgs.khanelinix.trace-which - pkgs.khanelinix.why-depends terminal-notifier trash-cli wtfutil diff --git a/modules/nixos/suites/common/default.nix b/modules/nixos/suites/common/default.nix index aae719750..c14f4fa39 100644 --- a/modules/nixos/suites/common/default.nix +++ b/modules/nixos/suites/common/default.nix @@ -19,7 +19,6 @@ in defaultPackages = lib.mkForce [ ]; systemPackages = with pkgs; [ - curl dnsutils fortune # FIXME: broken textual @@ -28,9 +27,6 @@ in lolcat lshw pciutils - pkgs.khanelinix.trace-symlink - pkgs.khanelinix.trace-which - pkgs.khanelinix.why-depends rsync usbimager util-linux From eca604fe3cb05a19989e2599f430cb68a17c3ab1 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 15:06:56 -0500 Subject: [PATCH 16/25] networking: fix not setting hostname --- modules/nixos/system/networking/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/nixos/system/networking/default.nix b/modules/nixos/system/networking/default.nix index 581913012..17269b49a 100644 --- a/modules/nixos/system/networking/default.nix +++ b/modules/nixos/system/networking/default.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + hostname, ... }: @@ -127,6 +128,8 @@ in ]; networking = { + hostName = hostname; + hosts = { "127.0.0.1" = cfg.hosts."127.0.0.1" or [ ]; } // cfg.hosts; From 88db00c90d274c05af541408fa4e4b44346fa771 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 20:11:36 -0500 Subject: [PATCH 17/25] overlays/hyprland: try git flake again... Current 50.0 and 50.1 crash on start... --- flake.lock | 444 +++++++++++++++++++++++++++++++++- flake.nix | 3 + overlays/hyprland/default.nix | 7 + 3 files changed, 445 insertions(+), 9 deletions(-) create mode 100644 overlays/hyprland/default.nix diff --git a/flake.lock b/flake.lock index c12641b8a..6d782691e 100644 --- a/flake.lock +++ b/flake.lock @@ -19,6 +19,39 @@ "type": "github" } }, + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1752743471, + "narHash": "sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "e31b575d19e7cf8a8f4398e2f9cffe27a1332506", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -214,6 +247,22 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -350,6 +399,28 @@ } }, "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { "inputs": { "nixpkgs": [ "lanzaboote", @@ -427,10 +498,269 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1749155331, + "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1752149140, + "narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "340494a38b5ec453dfc542c6226481f736cc8a9a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-protocols": "hyprland-protocols", + "hyprland-qtutils": "hyprland-qtutils", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs_4", + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems_2", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1753124747, + "narHash": "sha256-HVlkh9LSFWXSagGGpb8wWaV4VdHEvtb8jUcgpB732mA=", + "owner": "hyprwm", + "repo": "hyprland", + "rev": "50758505d5c784052437a371a707fc2dc60bb34a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland-qt-support": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1749154592, + "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, + "hyprland-qtutils": { + "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-qtutils", + "hyprlang", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371812, + "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1750371198, + "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1752252310, + "narHash": "sha256-06i1pIh6wb+sDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "bcabcbada90ed2aacb435dc09b91001819a6dc82", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1751897909, + "narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "fcca0c61f988a9d092cbb33e906775014c61579d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "khanelivim": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixpkgs-master": "nixpkgs-master", "nixvim": "nixvim", "pkgs-by-name-for-flake-parts": "pkgs-by-name-for-flake-parts" @@ -477,7 +807,7 @@ }, "nh": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1752935256, @@ -735,6 +1065,22 @@ } }, "nixpkgs_4": { + "locked": { + "lastModified": 1752687322, + "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1752900028, "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", @@ -750,7 +1096,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1752436162, "narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=", @@ -766,7 +1112,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1752950548, "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", @@ -795,7 +1141,7 @@ "nuschtosSearch": [ "khanelivim" ], - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1752976861, @@ -851,13 +1197,36 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ "lanzaboote", "flake-compat" ], - "gitignore": "gitignore", + "gitignore": "gitignore_2", "nixpkgs": [ "lanzaboote", "nixpkgs" @@ -889,6 +1258,7 @@ "flake-parts": "flake-parts_2", "home-manager": "home-manager", "hypr-socket-watch": "hypr-socket-watch", + "hyprland": "hyprland", "khanelivim": "khanelivim", "lanzaboote": "lanzaboote", "nh": "nh", @@ -896,7 +1266,7 @@ "nix-index-database": "nix-index-database", "nix-rosetta-builder": "nix-rosetta-builder", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "nixpkgs-master": "nixpkgs-master_2", "nixpkgs-unstable": "nixpkgs-unstable", "sops-nix": "sops-nix", @@ -978,7 +1348,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_3", + "systems": "systems_4", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -1015,6 +1385,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1029,7 +1414,7 @@ "type": "github" } }, - "systems_3": { + "systems_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1146,6 +1531,47 @@ "type": "github" } }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1751300244, + "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, "yazi-flavors": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 01b7d0100..c4a26928b 100644 --- a/flake.nix +++ b/flake.nix @@ -58,6 +58,9 @@ inputs.nixpkgs.follows = "nixpkgs"; }; hypr-socket-watch.url = "github:khaneliman/hypr-socket-watch"; + hyprland = { + url = "github:hyprwm/hyprland"; + }; khanelivim.url = "github:khaneliman/khanelivim"; nh.url = "github:nix-community/nh"; nix-flatpak.url = "github:gmodena/nix-flatpak/latest"; diff --git a/overlays/hyprland/default.nix b/overlays/hyprland/default.nix new file mode 100644 index 000000000..5f0a6fc2e --- /dev/null +++ b/overlays/hyprland/default.nix @@ -0,0 +1,7 @@ +{ inputs, ... }: +_final: prev: { + inherit (inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}) + hyprland + xdg-desktop-portal-hyprland + ; +} From 2388223fee4bc09ec698f7807be24dadbd0739dd Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 20:28:39 -0500 Subject: [PATCH 18/25] hyprland: minor package cleanup --- modules/home/programs/graphical/wms/hyprland/default.nix | 3 +++ modules/nixos/programs/graphical/wms/hyprland/default.nix | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/home/programs/graphical/wms/hyprland/default.nix b/modules/home/programs/graphical/wms/hyprland/default.nix index 670ac7756..294ced1c3 100644 --- a/modules/home/programs/graphical/wms/hyprland/default.nix +++ b/modules/home/programs/graphical/wms/hyprland/default.nix @@ -152,6 +152,9 @@ in ''; package = lib.mkIf (osConfig ? programs.hyprland.package) osConfig.programs.hyprland.package; + portalPackage = lib.mkIf ( + osConfig ? programs.hyprland.portalPackage + ) osConfig.programs.hyprland.portalPackage; # ehhhhh # plugins = with pkgs.hyprlandPlugins; [ diff --git a/modules/nixos/programs/graphical/wms/hyprland/default.nix b/modules/nixos/programs/graphical/wms/hyprland/default.nix index 9c2268393..9fbd9dbb2 100644 --- a/modules/nixos/programs/graphical/wms/hyprland/default.nix +++ b/modules/nixos/programs/graphical/wms/hyprland/default.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - ... }: let @@ -51,8 +50,6 @@ in enable = true; withUWSM = true; - # package = pkgs.hyprland.override { debug = cfg.enableDebug; }; - # TODO: remove after next release package = pkgs.hyprland.override { debug = cfg.enableDebug; }; }; }; From 6b490be2c3ddb07687e4a006a8aeb1af28df4b1c Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 20:32:27 -0500 Subject: [PATCH 19/25] ci: fix fmt check Use the in flake formatter --- .github/workflows/fmt.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fmt.yml b/.github/workflows/fmt.yml index 757a90dff..227a79a18 100644 --- a/.github/workflows/fmt.yml +++ b/.github/workflows/fmt.yml @@ -9,4 +9,4 @@ jobs: - uses: cachix/install-nix-action@v31 with: install_url: https://nixos.org/nix/install - - run: nix run nixpkgs#nixfmt-rfc-style -- --check . + - run: nix build .#checks.x86_64-linux.treefmt From fbf2e3d234f11cb483a5000e9e602c1b17cfae5f Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 21:11:22 -0500 Subject: [PATCH 20/25] ssh: refactor to reduce evaluations of other hosts Right now we eval each other configuration to generate a ssh config. We will just maintain the host information manually to avoid the eval cost. --- .../programs/terminal/tools/ssh/default.nix | 187 ++++++++---------- .../programs/terminal/tools/ssh/hosts.nix | 48 +++++ 2 files changed, 125 insertions(+), 110 deletions(-) create mode 100644 modules/common/programs/terminal/tools/ssh/hosts.nix diff --git a/modules/common/programs/terminal/tools/ssh/default.nix b/modules/common/programs/terminal/tools/ssh/default.nix index 021776d2f..e77491c96 100644 --- a/modules/common/programs/terminal/tools/ssh/default.nix +++ b/modules/common/programs/terminal/tools/ssh/default.nix @@ -1,7 +1,6 @@ { config, lib, - inputs, ... }: @@ -13,37 +12,28 @@ let user = config.users.users.${config.khanelinix.user.name}; user-id = builtins.toString user.uid; - nixosConfigurations = inputs.self.nixosConfigurations or { }; - darwinConfigurations = inputs.self.darwinConfigurations or { }; + hosts = import ./hosts.nix; - ## NOTE This is the cause of evaluating all configurations per system - ## TODO: Find a more elegant way that doesn't require bloating eval complications - other-hosts = - lib.filterAttrs (_key: host: (host.config.khanelinix.user.name or null) != null) nixosConfigurations - // darwinConfigurations; + # Filter out the current host from the SSH configuration + other-hosts = lib.filterAttrs (name: _: name != config.networking.hostName) hosts; other-hosts-config = lib.concatMapStringsSep "\n" ( name: let remote = other-hosts.${name}; - remote-user-name = remote.config.khanelinix.user.name; - remote-user-id = builtins.toString remote.config.users.users.${remote-user-name}.uid; - - forward-gpg = - lib.optionalString (config.programs.gnupg.agent.enable && remote.config.programs.gnupg.agent.enable) - '' - RemoteForward /run/user/${remote-user-id}/gnupg/S.gpg-agent /run/user/${user-id}/gnupg/S.gpg-agent.extra - RemoteForward /run/user/${remote-user-id}/gnupg/S.gpg-agent.ssh /run/user/${user-id}/gnupg/S.gpg-agent.ssh - ''; - port-expr = - if builtins.hasAttr name inputs.self.nixosConfigurations then - "Port ${builtins.toString cfg.port}" - else - ""; + remote-user-name = remote.username; + # Assume standard UID 1000 for primary users, or use a default + remote-user-id = "1000"; + + forward-gpg = lib.optionalString (config.programs.gnupg.agent.enable && remote.gpgAgent) '' + RemoteForward /run/user/${remote-user-id}/gnupg/S.gpg-agent /run/user/${user-id}/gnupg/S.gpg-agent.extra + RemoteForward /run/user/${remote-user-id}/gnupg/S.gpg-agent.ssh /run/user/${user-id}/gnupg/S.gpg-agent.ssh + ''; + port-expr = if remote.system == "nixos" then "Port ${builtins.toString cfg.port}" else ""; in '' Host ${name} - Hostname ${name}.local + Hostname ${remote.hostname} User ${remote-user-name} ForwardAgent yes ${port-expr} @@ -66,93 +56,70 @@ in ${cfg.extraConfig} ''; - knownHosts = lib.mapAttrs (_: lib.mkForce) { - # Ship GitHub/GitLab/SourceHut host keys to avoid “man in the middle” attacks - github-rsa = { - hostNames = [ "github.com" ]; - publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=="; - }; - - github-ed25519 = { - hostNames = [ "github.com" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl"; - }; - - gitlab-rsa = { - hostNames = [ "gitlab.com" ]; - publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9"; - }; - - gitlab-ed25519 = { - hostNames = [ "gitlab.com" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf"; - }; - - sourcehut-rsa = { - hostNames = [ "git.sr.ht" ]; - publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ+l/lvYmaeOAPeijHL8d4794Am0MOvmXPyvHTtrqvgmvCJB8pen/qkQX2S1fgl9VkMGSNxbp7NF7HmKgs5ajTGV9mB5A5zq+161lcp5+f1qmn3Dp1MWKp/AzejWXKW+dwPBd3kkudDBA1fa3uK6g1gK5nLw3qcuv/V4emX9zv3P2ZNlq9XRvBxGY2KzaCyCXVkL48RVTTJJnYbVdRuq8/jQkDRA8lHvGvKI+jqnljmZi2aIrK9OGT2gkCtfyTw2GvNDV6aZ0bEza7nDLU/I+xmByAOO79R1Uk4EYCvSc1WXDZqhiuO2sZRmVxa0pQSBDn1DB3rpvqPYW+UvKB3SOz"; - }; - - sourcehut-ed25519 = { - hostNames = [ "git.sr.ht" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60"; - }; - - # Community builders - "aarch64-build-box.nix-community.org" = { - hostNames = [ "aarch64-build-box.nix-community.org" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG9uyfhyli+BRtk64y+niqtb+sKquRGGZ87f4YRc8EE1"; - }; - "darwin-build-box.nix-community.org" = { - hostNames = [ "darwin-build-box.nix-community.org" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKMHhlcn7fUpUuiOFeIhDqBzBNFsbNqq+NpzuGX3e6zv"; - }; - "build-box.nix-community.org" = { - hostNames = [ "build-box.nix-community.org" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIElIQ54qAy7Dh63rBudYKdbzJHrrbrrMXLYl7Pkmk88H"; - }; - - # Local Hosts - bruddynix = { - hostNames = [ "bruddynix.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeLt5cnRnKeil39Ds+CimMJQq/5dln32YqQ+EfYSCvc"; - }; - - "bruddynix@bruddynix.local" = { - hostNames = [ "bruddynix.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEqCiZgjOmhsBTAFD0LbuwpfeuCnwXwMl2wByxC1UiRt"; - }; - - khanelimac = { - hostNames = [ "khanelimac.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAZIwy7nkz8CZYR/ZTSNr+7lRBW2AYy1jw06b44zaID"; - }; - - "khaneliman@khanelimac" = { - hostNames = [ "khanelimac.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBG8l3jQ2EPLU+BlgtaQZpr4xr97n2buTLAZTxKHSsD"; - }; - - "khanelimac-m1" = { - hostNames = [ "khanelimac-m1.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAJX6b2buv6PO/J8fWuMpUEM/snSuJd7FtWLTUHiWgna"; - }; - - "khaneliman@khanelimac-m1" = { - hostNames = [ "khanelimac-m1.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGFA599aGAr1pFCo3SjDx4NlFh4o468CTrUwFDs9VPX2"; - }; - - "khaneliman@khanelinix" = { - hostNames = [ "khanelinix.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFuMXeT21L3wnxnuzl0rKuE5+8inPSi8ca/Y3ll4s9pC"; - }; - - khanelinix = { - hostNames = [ "khanelinix.local" ]; - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKEilFPAgSUwW3N7PTvdTqjaV2MD3cY2oZGKdaS7ndKB"; - }; - }; + knownHosts = lib.mapAttrs (_: lib.mkForce) ( + { + # Ship GitHub/GitLab/SourceHut host keys to avoid “man in the middle” attacks + github-rsa = { + hostNames = [ "github.com" ]; + publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=="; + }; + + github-ed25519 = { + hostNames = [ "github.com" ]; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl"; + }; + + gitlab-rsa = { + hostNames = [ "gitlab.com" ]; + publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9"; + }; + + gitlab-ed25519 = { + hostNames = [ "gitlab.com" ]; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf"; + }; + + sourcehut-rsa = { + hostNames = [ "git.sr.ht" ]; + publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ+l/lvYmaeOAPeijHL8d4794Am0MOvmXPyvHTtrqvgmvCJB8pen/qkQX2S1fgl9VkMGSNxbp7NF7HmKgs5ajTGV9mB5A5zq+161lcp5+f1qmn3Dp1MWKp/AzejWXKW+dwPBd3kkudDBA1fa3uK6g1gK5nLw3qcuv/V4emX9zv3P2ZNlq9XRvBxGY2KzaCyCXVkL48RVTTJJnYbVdRuq8/jQkDRA8lHvGvKI+jqnljmZi2aIrK9OGT2gkCtfyTw2GvNDV6aZ0bEza7nDLU/I+xmByAOO79R1Uk4EYCvSc1WXDZqhiuO2sZRmVxa0pQSBDn1DB3rpvqPYW+UvKB3SOz"; + }; + + sourcehut-ed25519 = { + hostNames = [ "git.sr.ht" ]; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60"; + }; + + # Community builders + "aarch64-build-box.nix-community.org" = { + hostNames = [ "aarch64-build-box.nix-community.org" ]; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG9uyfhyli+BRtk64y+niqtb+sKquRGGZ87f4YRc8EE1"; + }; + "darwin-build-box.nix-community.org" = { + hostNames = [ "darwin-build-box.nix-community.org" ]; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKMHhlcn7fUpUuiOFeIhDqBzBNFsbNqq+NpzuGX3e6zv"; + }; + "build-box.nix-community.org" = { + hostNames = [ "build-box.nix-community.org" ]; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIElIQ54qAy7Dh63rBudYKdbzJHrrbrrMXLYl7Pkmk88H"; + }; + } + // lib.mapAttrs (_: host: { + hostNames = [ host.hostname ]; + inherit (host) publicKey; + }) (lib.filterAttrs (_: host: host ? publicKey) hosts) + // + lib.mapAttrs + (_name: host: { + hostNames = [ host.hostname ]; + publicKey = host.userPublicKey; + }) + ( + lib.mapAttrs' (name: host: { + name = "${host.username}@${name}"; + value = host; + }) (lib.filterAttrs (_: host: host ? userPublicKey) hosts) + ) + ); }; khanelinix = { diff --git a/modules/common/programs/terminal/tools/ssh/hosts.nix b/modules/common/programs/terminal/tools/ssh/hosts.nix new file mode 100644 index 000000000..76501546f --- /dev/null +++ b/modules/common/programs/terminal/tools/ssh/hosts.nix @@ -0,0 +1,48 @@ +# Static host metadata for SSH configuration +# This replaces the dynamic cross-configuration evaluation that caused multiple evaluations +{ + # NixOS hosts + bruddynix = { + hostname = "bruddynix.local"; + username = "bruddy"; + system = "nixos"; + gpgAgent = true; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeLt5cnRnKeil39Ds+CimMJQq/5dln32YqQ+EfYSCvc"; + userPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEqCiZgjOmhsBTAFD0LbuwpfeuCnwXwMl2wByxC1UiRt"; + }; + + khanelinix = { + hostname = "khanelinix.local"; + username = "khaneliman"; + system = "nixos"; + gpgAgent = true; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKEilFPAgSUwW3N7PTvdTqjaV2MD3cY2oZGKdaS7ndKB"; + userPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFuMXeT21L3wnxnuzl0rKuE5+8inPSi8ca/Y3ll4s9pC"; + }; + + khanelilab = { + hostname = "khanelilab.local"; + username = "khaneliman"; + system = "nixos"; + gpgAgent = true; + }; + + # Darwin hosts + khanelimac = { + hostname = "khanelimac.local"; + username = "khaneliman"; + system = "darwin"; + gpgAgent = true; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAZIwy7nkz8CZYR/ZTSNr+7lRBW2AYy1jw06b44zaID"; + userPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBG8l3jQ2EPLU+BlgtaQZpr4xr97n2buTLAZTxKHSsD"; + }; + + "khanelimac-m1" = { + hostname = "khanelimac-m1.local"; + username = "khaneliman"; + system = "darwin"; + gpgAgent = true; + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAJX6b2buv6PO/J8fWuMpUEM/snSuJd7FtWLTUHiWgna"; + userPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGFA599aGAr1pFCo3SjDx4NlFh4o468CTrUwFDs9VPX2"; + }; +} From 369b34656dc06fda6b52b4c84371a1677c8d6a11 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 21:16:17 -0500 Subject: [PATCH 21/25] vscode: disable python for now incorrect hash --- modules/home/programs/graphical/editors/vscode/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/home/programs/graphical/editors/vscode/default.nix b/modules/home/programs/graphical/editors/vscode/default.nix index 91c4812df..6a118014b 100644 --- a/modules/home/programs/graphical/editors/vscode/default.nix +++ b/modules/home/programs/graphical/editors/vscode/default.nix @@ -274,7 +274,11 @@ in with pkgs.vscode-extensions; commonExtensions ++ [ - ms-python.python + # FIXME: incorrect hash + # error: hash mismatch in fixed-output derivation '/nix/store/fasa6wib6pa5vviq04a9v2vacap94jiv-ms-python-python.zip.drv': + # ┃specified: sha256-8dc1uM/6iUNF+9y4yKH7w4/FsrzgVoOJlIFfQOvY8YM= + # ┃got: sha256-uD6NWGD5GyYwd7SeoGsgYEH26NI+hDxCx3f2EhqoOXk= + # ms-python.python ms-python.debugpy njpwerner.autodocstring ]; From 6ea4be17479e087dac81e8936932448d7efdceda Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 22:05:57 -0500 Subject: [PATCH 22/25] lib/system: mk-darwin and mk-home use nixpkgs-unstable Try to make sure we are using the right package set for darwin/home manager --- lib/system/mk-darwin.nix | 2 +- lib/system/mk-home.nix | 11 +++++------ overlays/channel-packages/default.nix | 22 +--------------------- 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/lib/system/mk-darwin.nix b/lib/system/mk-darwin.nix index d78e7529d..4677f1c30 100644 --- a/lib/system/mk-darwin.nix +++ b/lib/system/mk-darwin.nix @@ -10,7 +10,7 @@ let flake = inputs.self or (throw "mkDarwin requires 'inputs.self' to be passed"); common = import ./common.nix { inherit inputs; }; - extendedLib = common.mkExtendedLib flake inputs.nixpkgs; + extendedLib = common.mkExtendedLib flake inputs.nixpkgs-unstable; matchingHomes = common.mkHomeConfigs { inherit flake diff --git a/lib/system/mk-home.nix b/lib/system/mk-home.nix index 78b04a09b..f8321c6f7 100644 --- a/lib/system/mk-home.nix +++ b/lib/system/mk-home.nix @@ -10,14 +10,13 @@ let flake = inputs.self or (throw "mkHome requires 'inputs.self' to be passed"); common = import ./common.nix { inherit inputs; }; - extendedLib = common.mkExtendedLib flake inputs.nixpkgs; + extendedLib = common.mkExtendedLib flake inputs.nixpkgs-unstable; in inputs.home-manager.lib.homeManagerConfiguration { - pkgs = - import inputs.nixpkgs { - inherit system; - } - // common.mkNixpkgsConfig flake; + pkgs = import inputs.nixpkgs-unstable { + inherit system; + inherit ((common.mkNixpkgsConfig flake)) config overlays; + }; extraSpecialArgs = { inherit diff --git a/overlays/channel-packages/default.nix b/overlays/channel-packages/default.nix index d6d9c3f31..3df678a01 100644 --- a/overlays/channel-packages/default.nix +++ b/overlays/channel-packages/default.nix @@ -13,38 +13,18 @@ in inherit (master) claude-code yaziPlugins - teams-for-linux # TODO: remove when hits unstable ; # From nixpkgs-unstable inherit (unstable) - # Core - jankyborders - nixVersions - raycast - # NOTE: Conflicts with sketchybar version overlay - # sketchybar - skhd - yabai - # Misc _1password-gui - alt-tab-macos - appcleaner - bartender - blueutil - duti - mas - monitorcontrol - stats - switchaudio-osx # Online services to keep up to date element-desktop firefox-devedition firefox-devedition-unwrapped - # TODO: enable when hits unstable - # teams-for-linux + teams-for-linux telegram-desktop ; } From 68b0d0e3bf2de368aef1093e995fc6011efe6f0f Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 22:43:36 -0500 Subject: [PATCH 23/25] flake/dev: refactor devshell --- flake/dev/devshells.nix | 26 ++++---------------------- flake/dev/shells/default.nix | 16 +++++++++------- 2 files changed, 13 insertions(+), 29 deletions(-) diff --git a/flake/dev/devshells.nix b/flake/dev/devshells.nix index ae8fc8e41..17344af23 100644 --- a/flake/dev/devshells.nix +++ b/flake/dev/devshells.nix @@ -5,6 +5,8 @@ lib, inputs, self, + self', + system, ... }: let @@ -51,33 +53,13 @@ buildShell = name: { ${name} = import (shellsPath + "/${name}.nix") { - inherit lib; + inherit system self'; inherit (devPkgs) mkShell; pkgs = devPkgs; }; }; - - dynamicShells = lib.foldl' (acc: name: acc // buildShell name) { } shellNames; in { - devShells = dynamicShells // { - default = pkgs.mkShell { - name = "khanelidev"; - packages = with pkgs; [ - nixpkgs-fmt - statix - deadnix - nil - ]; - shellHook = '' - echo "🚀 Khanelinix development environment" - echo "Available commands:" - echo " nix flake check - Run all checks" - echo " nix fmt -- --no-cache - Format without cache" - echo " statix check - Check for anti-patterns" - echo " deadnix - Find unused code" - ''; - }; - }; + devShells = lib.foldl' (acc: name: acc // buildShell name) { } shellNames; }; } diff --git a/flake/dev/shells/default.nix b/flake/dev/shells/default.nix index 723f3f392..19fa5a335 100644 --- a/flake/dev/shells/default.nix +++ b/flake/dev/shells/default.nix @@ -1,8 +1,7 @@ { - inputs, mkShell, pkgs, - system, + self', ... }: mkShell { @@ -12,13 +11,16 @@ mkShell { nh statix sops - (inputs.treefmt-nix.lib.mkWrapper pkgs ../../treefmt.nix) + self'.formatter ]; shellHook = '' - ${inputs.self.checks.${system}.pre-commit-hooks.shellHook} - echo 🔨 Welcome to Khanelinix! - - + ${self'.checks.pre-commit-hooks.shellHook or ""} + echo "🚀 Khanelinix development environment" + echo "Available commands:" + echo " nix flake check - Run all checks" + echo " nix fmt -- --no-cache - Format without cache" + echo " statix check - Check for anti-patterns" + echo " deadnix - Find unused code" ''; } From 49c8a91812ef4dd63d4960801fa5e66da98ef1fc Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 23:34:50 -0500 Subject: [PATCH 24/25] regreet: remove explicit hyprland input --- modules/nixos/display-managers/regreet/default.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/modules/nixos/display-managers/regreet/default.nix b/modules/nixos/display-managers/regreet/default.nix index a62f02a9c..8a3362c1e 100644 --- a/modules/nixos/display-managers/regreet/default.nix +++ b/modules/nixos/display-managers/regreet/default.nix @@ -1,10 +1,7 @@ { config, - inputs, lib, pkgs, - system, - ... }: let @@ -15,7 +12,6 @@ let getExe' ; inherit (lib.khanelinix) mkOpt; - inherit (inputs) hyprland; cfg = config.khanelinix.display-managers.regreet; themeCfg = config.khanelinix.theme; @@ -35,9 +31,7 @@ let exec-once = ${lib.getExe' pkgs.dbus "dbus-update-activation-environment"} --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE - exec-once = ${getExe pkgs.greetd.regreet} -l debug && ${ - getExe' hyprland.packages.${system}.hyprland-unwrapped "hyprctl" - } exit + exec-once = ${getExe pkgs.greetd.regreet} -l debug && ${getExe' pkgs.hyprland-unwrapped "hyprctl"} exit ''; in { @@ -75,9 +69,7 @@ in services.greetd = { settings = { default_session = { - command = "${ - getExe hyprland.packages.${system}.hyprland-unwrapped - } --config ${greetdHyprlandConfig} > /tmp/hyprland-log-out.txt 2>&1"; + command = "${getExe pkgs.hyprland-unwrapped} --config ${greetdHyprlandConfig} > /tmp/hyprland-log-out.txt 2>&1"; }; }; From 54bc176bb8ee754744081c60e2df8634a1282aee Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 21 Jul 2025 23:35:00 -0500 Subject: [PATCH 25/25] overlays/hyprland: add hyprland-unwrapped --- overlays/hyprland/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/overlays/hyprland/default.nix b/overlays/hyprland/default.nix index 5f0a6fc2e..a045b4b63 100644 --- a/overlays/hyprland/default.nix +++ b/overlays/hyprland/default.nix @@ -2,6 +2,7 @@ _final: prev: { inherit (inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}) hyprland + hyprland-unwrapped xdg-desktop-portal-hyprland ; }