diff --git a/home/breakerbox.nix b/home/breakerbox.nix new file mode 100644 index 0000000..61d89af --- /dev/null +++ b/home/breakerbox.nix @@ -0,0 +1,136 @@ +{ config, lib, machineVars, ... }: +let + inherit (lib) mkForce mkIf optionals; + graphics = !machineVars.headless; +in +{ + imports = [ + ./programs/nix.nix + + ./programs/aria2.nix + ./programs/atuin.nix + ./programs/bash.nix + ./programs/bat.nix + ./programs/beets.nix + ./programs/bottom.nix + ./programs/cargo.nix + # ./programs/comma.nix + ./programs/direnv + ./programs/eza.nix + ./programs/fzf.nix + ./programs/gdb.nix + ./programs/gh-dash.nix + ./programs/gh.nix + ./programs/git + ./programs/gpg.nix + ./programs/home-manager.nix + ./programs/jq.nix + ./programs/less.nix + ./programs/man.nix + ./programs/neovim + ./programs/nix-index + ./programs/nushell.nix + ./programs/pandoc.nix + ./programs/python.nix + ./programs/ripgrep.nix + ./programs/skim.nix + ./programs/sqlite.nix + ./programs/ssh + ./programs/tealdeer + ./programs/texlive.nix + ./programs/thunderbird.nix + ./programs/tmux + ./programs/uv.nix + ./programs/yazi.nix + ./programs/yt-dlp.nix + ./programs/zoxide.nix + ./programs/zsh + + ./services/nix-channel-update.nix + ./services/pueue.nix + ] ++ (optionals graphics [ + ./config/gtk.nix + + ./programs/alacritty.nix + ./programs/emacs + ./programs/feh.nix + ./programs/firefox.nix + ./programs/mpv.nix + ./programs/ncmpcpp.nix + ./programs/newsboat + ./programs/obs-studio.nix + ./programs/prism-launcher.nix + ./programs/qutebrowser.nix + ./programs/rofi + ./programs/taskwarrior.nix + ./programs/vscode + ./programs/zathura.nix + ./programs/zed + + ./services/copyq.nix + ./services/dunst.nix + ./services/fcitx5.nix + ./services/gnome-keyring.nix + ./services/keybase.nix + ./services/mpd.nix + ./services/mpris-proxy.nix + ./services/network-manager.nix + ./services/psd.nix + ./services/tumblerd.nix + ]) ++ (optionals machineVars.wayland [ + ./programs/hyprland + ./programs/waybar.nix + ./programs/anyrun + ]) ++ (optionals (!machineVars.wayland) [ + ./programs/xmonad + # ./programs/xmobar + + ./services/picom.nix + ./services/polybar.nix + ./services/screen-locker.nix + # ./services/stalonetray.nix + ./services/sxhkd.nix + ]); + + programs.aria2.enable = true; + programs.atuin.enable = true; + programs.bash.enable = true; + programs.bat.enable = true; + programs.beets.enable = true; + programs.bottom.enable = true; + programs.cargo.enable = true; + # programs.comma.enable = true; + programs.direnv.enable = true; + programs.eza.enable = true; + programs.fzf.enable = true; + programs.gdb.enable = true; + programs.gh-dash.enable = true; + programs.gh.enable = true; + programs.git.enable = true; + programs.gpg.enable = true; + programs.home-manager.enable = true; + programs.jq.enable = true; + programs.less.enable = true; + programs.man.enable = true; + programs.neovim.enable = true; + programs.nix-index.enable = true; + programs.nushell.enable = true; + programs.pandoc.enable = true; + programs.python.enable = true; + programs.ripgrep.enable = true; + programs.skim.enable = true; + programs.sqlite.enable = true; + programs.ssh.enable = true; + programs.tealdeer.enable = true; + programs.texlive.enable = true; + programs.tmux.enable = true; + programs.uv.enable = true; + programs.yazi.enable = true; + programs.yt-dlp.enable = true; + programs.zoxide.enable = true; + programs.zsh.enable = true; + + services.pueue.enable = true; + + programs.thunderbird.enable = graphics; +} diff --git a/home/home.nix b/home/home.nix index aa56f2f..b8ba87e 100644 --- a/home/home.nix +++ b/home/home.nix @@ -5,96 +5,12 @@ in { imports = [ ./shell.nix ./packages.nix + ./breakerbox.nix ./config/xdg ./config/ensure-homedir-structure.nix ./config/downloads-sorter.nix - - ./programs/aria2.nix - ./programs/atuin.nix - ./programs/bash.nix - ./programs/bat.nix - ./programs/beets.nix - ./programs/bottom.nix - ./programs/cargo.nix - ./programs/comma.nix - ./programs/direnv - ./programs/eza.nix - ./programs/fzf.nix - ./programs/gdb.nix - ./programs/gh-dash.nix - ./programs/gh.nix - ./programs/git - ./programs/gpg.nix - ./programs/home-manager.nix - ./programs/jq.nix - ./programs/less.nix - ./programs/man.nix - ./programs/neovim - ./programs/nix-index - ./programs/nix.nix - ./programs/nushell.nix - ./programs/pandoc.nix - ./programs/python.nix - ./programs/ripgrep.nix - ./programs/skim.nix - ./programs/sqlite.nix - ./programs/ssh - ./programs/tealdeer - ./programs/texlive.nix - ./programs/thunderbird.nix - ./programs/tmux - ./programs/uv.nix - ./programs/yazi.nix - ./programs/yt-dlp.nix - ./programs/zoxide.nix - ./programs/zsh - - ./services/nix-channel-update.nix - ./services/pueue.nix - ] ++ (optionals graphics [ - ./config/gtk.nix - - ./programs/alacritty.nix - ./programs/emacs - ./programs/feh.nix - ./programs/firefox.nix - ./programs/mpv.nix - ./programs/ncmpcpp.nix - ./programs/newsboat - ./programs/obs-studio.nix - ./programs/prism-launcher.nix - ./programs/qutebrowser.nix - ./programs/rofi - ./programs/taskwarrior.nix - ./programs/vscode - ./programs/zathura.nix - ./programs/zed - - ./services/copyq.nix - ./services/dunst.nix - ./services/fcitx5.nix - ./services/gnome-keyring.nix - ./services/keybase.nix - ./services/mpd.nix - ./services/mpris-proxy.nix - ./services/network-manager.nix - ./services/psd.nix - ./services/tumblerd.nix - ]) ++ (optionals machineVars.wayland [ - ./programs/hyprland - ./programs/waybar.nix - ./programs/anyrun - ]) ++ (optionals (!machineVars.wayland) [ - ./programs/xmonad - # ./programs/xmobar - - ./services/picom.nix - ./services/polybar.nix - ./services/screen-locker.nix - # ./services/stalonetray.nix - ./services/sxhkd.nix - ]); + ]; sops.defaultSopsFile = ../secrets/home.yaml; sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519_home_sops" ]; diff --git a/home/programs/aria2.nix b/home/programs/aria2.nix index 755f998..d8bafcf 100644 --- a/home/programs/aria2.nix +++ b/home/programs/aria2.nix @@ -1,4 +1,4 @@ { ... }: { - programs.aria2.enable = true; -} \ No newline at end of file + programs.aria2 = { }; +} diff --git a/home/programs/atuin.nix b/home/programs/atuin.nix index 7d7c06a..32def9d 100644 --- a/home/programs/atuin.nix +++ b/home/programs/atuin.nix @@ -1,11 +1,10 @@ -{ config, ... }: +{ config, lib, ... }: let cfg = config.programs.atuin; xdg_runtime_dir = "/run/user/${toString config.home.uid}"; in -{ +lib.mkIf cfg.enable { programs.atuin = { - enable = true; enableBashIntegration = true; enableZshIntegration = true; enableNushellIntegration = config.programs.nushell.enable; diff --git a/home/programs/bash.nix b/home/programs/bash.nix index 108d887..aac0c3d 100644 --- a/home/programs/bash.nix +++ b/home/programs/bash.nix @@ -1,7 +1,9 @@ -{ config, ... }: +{ config, lib, ... }: +let + cfg = config.programs.bash; +in { programs.bash = { - enable = true; historyFile = "${config.xdg.dataHome}/bash_history"; historySize = 100000; bashrcExtra = '' diff --git a/home/programs/bat.nix b/home/programs/bat.nix index 7a4a3d7..dec7f0e 100644 --- a/home/programs/bat.nix +++ b/home/programs/bat.nix @@ -1,4 +1,4 @@ { ... }: { - programs.bat.enable = true; -} \ No newline at end of file + programs.bat = { }; +} diff --git a/home/programs/beets.nix b/home/programs/beets.nix index fb6a83a..36ac004 100644 --- a/home/programs/beets.nix +++ b/home/programs/beets.nix @@ -1,4 +1,4 @@ { ... }: { - programs.beets.enable = true; + programs.beets = { }; } diff --git a/home/programs/bottom.nix b/home/programs/bottom.nix index f7d46d7..8d2813f 100644 --- a/home/programs/bottom.nix +++ b/home/programs/bottom.nix @@ -1,7 +1,9 @@ -{ ... }: +{ config, lib, ... }: +let + cfg = config.programs.bottom; +in { programs.bottom = { - enable = true; settings = { flags.enable_gpu = true; diff --git a/home/programs/cargo.nix b/home/programs/cargo.nix index a1bca95..d9f8dba 100644 --- a/home/programs/cargo.nix +++ b/home/programs/cargo.nix @@ -1,7 +1,9 @@ -{ ... }: -{ +{ config, lib, ... }: +let + cfg = config.programs.cargo; +in +lib.mkIf cfg.enable { programs.cargo = { - enable = true; settings = { cargo-new.vcs = "git"; }; diff --git a/home/programs/direnv/default.nix b/home/programs/direnv/default.nix index 2a13ceb..9fe6004 100644 --- a/home/programs/direnv/default.nix +++ b/home/programs/direnv/default.nix @@ -1,7 +1,9 @@ -{ config, ... }: +{ config, lib, ... }: +let + cfg = config.programs.direnv; +in { programs.direnv = { - enable = true; silent = true; nix-direnv.enable = true; diff --git a/home/programs/eza.nix b/home/programs/eza.nix index 4424f15..1f7663a 100644 --- a/home/programs/eza.nix +++ b/home/programs/eza.nix @@ -1,7 +1,9 @@ -{ config, ... }: +{ config, lib, ... }: +let + cfg = config.programs.eza; +in { programs.eza = { - enable = true; icons = "auto"; enableNushellIntegration = config.programs.nushell.enable; }; diff --git a/home/programs/fzf.nix b/home/programs/fzf.nix index 7af1d37..871b441 100644 --- a/home/programs/fzf.nix +++ b/home/programs/fzf.nix @@ -1,7 +1,9 @@ -{ ... }: +{ config, lib, ... }: +let + cfg = config.programs.fzf; +in { programs.fzf = { - enable = true; defaultCommand = "fd --type f"; }; -} \ No newline at end of file +} diff --git a/home/programs/gdb.nix b/home/programs/gdb.nix index debbf0c..e8eb3ec 100644 --- a/home/programs/gdb.nix +++ b/home/programs/gdb.nix @@ -1,25 +1,32 @@ -{ pkgs, ... }: +{ config, lib, pkgs, ... }: +let + cfg = config.programs.gdb; +in { - xdg.configFile."gdb/gdbinit".text = '' - # C++ related beautifiers - set print pretty on - set print object on - set print static-members on - set print vtbl on - set print demangle on - set print sevenbit-strings off - set print asm-demangle on - set print elements 0 + options.programs.gdb.enable = lib.mkEnableOption "gdb"; - # Assembly - set disassembly-flavor intel + config = lib.mkIf cfg.enable { + xdg.configFile."gdb/gdbinit".text = '' + # C++ related beautifiers + set print pretty on + set print object on + set print static-members on + set print vtbl on + set print demangle on + set print sevenbit-strings off + set print asm-demangle on + set print elements 0 - # Save command history between sessions: - set history save + # Assembly + set disassembly-flavor intel - # Print a beautifully colored prompt: - set prompt \001\033[1;36m\002(gdb) \001\033[0m\002 - ''; + # Save command history between sessions: + set history save - # local.shell.aliases."System Tool Replacements".gdb = "${pkgs.pwndbg}/bin/pwndbg"; + # Print a beautifully colored prompt: + set prompt \001\033[1;36m\002(gdb) \001\033[0m\002 + ''; + + # local.shell.aliases."System Tool Replacements".gdb = "${pkgs.pwndbg}/bin/pwndbg"; + }; } diff --git a/home/programs/gh-dash.nix b/home/programs/gh-dash.nix index 1bf6fbe..65f8fe4 100644 --- a/home/programs/gh-dash.nix +++ b/home/programs/gh-dash.nix @@ -1,4 +1,4 @@ { ... }: { - programs.gh-dash.enable = true; + programs.gh-dash = { }; } diff --git a/home/programs/gh.nix b/home/programs/gh.nix index 46e0666..0f8c3ff 100644 --- a/home/programs/gh.nix +++ b/home/programs/gh.nix @@ -1,7 +1,6 @@ { pkgs, ... }: { programs.gh = { - enable = true; settings = { gitProtocol = "ssh"; pager = "${pkgs.bat}/bin/bat"; diff --git a/home/programs/git/default.nix b/home/programs/git/default.nix index fc23f64..03cda5f 100644 --- a/home/programs/git/default.nix +++ b/home/programs/git/default.nix @@ -13,13 +13,12 @@ let "github.com:" ]; in -{ +lib.mkIf cfg.enable { # TODO: convert to template once nix-sops supports it in hm module sops.secrets."git/nordicsemi-config" = { }; programs.git = lib.mkMerge [ { - enable = true; package = pkgs.gitFull; userName = "h7x4"; diff --git a/home/programs/gpg.nix b/home/programs/gpg.nix index 985269b..a5454bd 100644 --- a/home/programs/gpg.nix +++ b/home/programs/gpg.nix @@ -1,7 +1,9 @@ -{ config, pkgs, ... }: -{ +{ config, lib, pkgs, ... }: +let + cfg = config.programs.gpg; +in +lib.mkIf cfg.enable { programs.gpg = { - enable = true; homedir = "${config.xdg.configHome}/gnupg"; auto-refresh-keys.enable = true; diff --git a/home/programs/home-manager.nix b/home/programs/home-manager.nix index 6e8134e..b11e61b 100644 --- a/home/programs/home-manager.nix +++ b/home/programs/home-manager.nix @@ -1,4 +1,4 @@ { ... }: { - programs.home-manager.enable = true; -} \ No newline at end of file + programs.home-manager = { }; +} diff --git a/home/programs/jq.nix b/home/programs/jq.nix index 0cabcba..a0bcd78 100644 --- a/home/programs/jq.nix +++ b/home/programs/jq.nix @@ -1,4 +1,4 @@ { ... }: { - programs.jq.enable = true; + programs.jq = { }; } diff --git a/home/programs/less.nix b/home/programs/less.nix index f893aeb..b095116 100644 --- a/home/programs/less.nix +++ b/home/programs/less.nix @@ -1,7 +1,6 @@ { config, ... }: { programs.less = { - enable = true; keys = '' #env LESS = -i -R diff --git a/home/programs/man.nix b/home/programs/man.nix index 0bbd7f2..2f05673 100644 --- a/home/programs/man.nix +++ b/home/programs/man.nix @@ -1,7 +1,6 @@ { ... }: { programs.man = { - enable = true; generateCaches = true; }; -} \ No newline at end of file +} diff --git a/home/programs/neovim/default.nix b/home/programs/neovim/default.nix index 9cfa9c9..f107184 100644 --- a/home/programs/neovim/default.nix +++ b/home/programs/neovim/default.nix @@ -1,8 +1,9 @@ -{ pkgs, lib, machineVars, ... }: -{ +{ config, pkgs, lib, machineVars, ... }: +let + cfg = config.programs.neovim; +in +lib.mkIf cfg.enable { programs.neovim = { - enable = true; - auto-clean-swapfiles.enable = true; viAlias = true; diff --git a/home/programs/nix-index/default.nix b/home/programs/nix-index/default.nix index 892ab5f..ae8a573 100644 --- a/home/programs/nix-index/default.nix +++ b/home/programs/nix-index/default.nix @@ -1,7 +1,6 @@ { ... }: { programs.nix-index = { - enable = true; autoUpdateDatabase.enable = true; }; } diff --git a/home/programs/nushell.nix b/home/programs/nushell.nix index fec2ab8..6365d2f 100644 --- a/home/programs/nushell.nix +++ b/home/programs/nushell.nix @@ -1,6 +1,4 @@ { ... }: { - programs.nushell = { - enable = true; - }; + programs.nushell = { }; } diff --git a/home/programs/pandoc.nix b/home/programs/pandoc.nix index 6a296e1..9adcc48 100644 --- a/home/programs/pandoc.nix +++ b/home/programs/pandoc.nix @@ -1,4 +1,4 @@ { ... }: { - programs.pandoc.enable = true; + programs.pandoc = { }; } diff --git a/home/programs/python.nix b/home/programs/python.nix index 7671d47..558863e 100644 --- a/home/programs/python.nix +++ b/home/programs/python.nix @@ -1,24 +1,31 @@ -{ config, pkgs, extendedLib, ... }: +{ config, lib, pkgs, extendedLib, ... }: +let + cfg = config.programs.python; +in { - # Python for interactive use - home.packages = [ - (pkgs.python3.withPackages (pypkgs: with pypkgs; [ - requests - ])) - ]; + options.programs.python.enable = lib.mkEnableOption "python"; - xdg.configFile."python/pyrc".text = '' - #!/usr/bin/env python3 - import sys + config = lib.mkIf cfg.enable { + # Python for interactive use + home.packages = [ + (pkgs.python3.withPackages (pypkgs: with pypkgs; [ + requests + ])) + ]; - # You also need \x01 and \x02 to separate escape sequence, due to: - # https://stackoverflow.com/a/9468954/1147688 - sys.ps1='\x01\x1b${extendedLib.termColors.front.blue "[Python]> "}\x02>>>\x01\x1b[0m\x02 ' # bright yellow - sys.ps2='\x01\x1b[1;49;31m\x02...\x01\x1b[0m\x02 ' # bright red - ''; + xdg.configFile."python/pyrc".text = '' + #!/usr/bin/env python3 + import sys - home.sessionVariables = { - PYTHONSTARTUP = "${config.xdg.configHome}/python/pyrc"; - PYTHON_HISTORY = "${config.xdg.dataHome}/python_history"; + # You also need \x01 and \x02 to separate escape sequence, due to: + # https://stackoverflow.com/a/9468954/1147688 + sys.ps1='\x01\x1b${extendedLib.termColors.front.blue "[Python]> "}\x02>>>\x01\x1b[0m\x02 ' # bright yellow + sys.ps2='\x01\x1b[1;49;31m\x02...\x01\x1b[0m\x02 ' # bright red + ''; + + home.sessionVariables = { + PYTHONSTARTUP = "${config.xdg.configHome}/python/pyrc"; + PYTHON_HISTORY = "${config.xdg.dataHome}/python_history"; + }; }; } diff --git a/home/programs/ripgrep.nix b/home/programs/ripgrep.nix index 65b1ca6..755f66a 100644 --- a/home/programs/ripgrep.nix +++ b/home/programs/ripgrep.nix @@ -1,4 +1,4 @@ { ... }: { - programs.ripgrep.enable = true; + programs.ripgrep = { }; } diff --git a/home/programs/skim.nix b/home/programs/skim.nix index 5dc72cf..d583525 100644 --- a/home/programs/skim.nix +++ b/home/programs/skim.nix @@ -1,7 +1,6 @@ { ... }: { programs.skim = { - enable = true; defaultCommand = "fd --type f"; }; } diff --git a/home/programs/sqlite.nix b/home/programs/sqlite.nix index 9974b36..622e7c3 100644 --- a/home/programs/sqlite.nix +++ b/home/programs/sqlite.nix @@ -1,17 +1,24 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: +let + cfg = config.programs.sqlite; +in { - xdg.configFile."sqlite3/sqliterc".text = '' - .bail on - .changes on - .headers on - .mode box - .nullvalue '' - .timer on - ''; + options.programs.sqlite.enable = lib.mkEnableOption "sqlite"; - home.packages = [ - pkgs.sqlite-interactive - ]; + config = lib.mkIf cfg.enable { + xdg.configFile."sqlite3/sqliterc".text = '' + .bail on + .changes on + .headers on + .mode box + .nullvalue '' + .timer on + ''; - home.sessionVariables.SQLITE_HISTORY= "${config.xdg.dataHome}/sqlite_history"; + home.packages = [ + pkgs.sqlite-interactive + ]; + + home.sessionVariables.SQLITE_HISTORY= "${config.xdg.dataHome}/sqlite_history"; + }; } diff --git a/home/programs/ssh/default.nix b/home/programs/ssh/default.nix index aedf03c..1a41318 100644 --- a/home/programs/ssh/default.nix +++ b/home/programs/ssh/default.nix @@ -1,5 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let + cfg = config.programs.ssh; runtimeDir = "/run/user/${toString config.home.uid}"; controlMastersDir = "${runtimeDir}/ssh"; in @@ -9,31 +10,32 @@ in ./other.nix ./pvv.nix ]; + config = lib.mkIf cfg.enable { - sops.secrets."ssh/secret-config" = { - mode = "0444"; - }; - - programs.ssh = { - enable = true; - includes = [ - config.sops.secrets."ssh/secret-config".path - "${config.home.homeDirectory}/.ssh/mutable_config" - ]; - - controlMaster = "auto"; - controlPersist = "10m"; - controlPath = "${controlMastersDir}/%n%C"; - }; - - systemd.user.tmpfiles.settings."10-ssh" = { - ${controlMastersDir}.d = { - user = config.home.username; - mode = "0700"; + sops.secrets."ssh/secret-config" = { + mode = "0444"; }; - "${config.home.homeDirectory}/.ssh/mutable_config".f = { - user = config.home.username; - mode = "0600"; + + programs.ssh = { + includes = [ + config.sops.secrets."ssh/secret-config".path + "${config.home.homeDirectory}/.ssh/mutable_config" + ]; + + controlMaster = "auto"; + controlPersist = "10m"; + controlPath = "${controlMastersDir}/%n%C"; + }; + + systemd.user.tmpfiles.settings."10-ssh" = { + ${controlMastersDir}.d = { + user = config.home.username; + mode = "0700"; + }; + "${config.home.homeDirectory}/.ssh/mutable_config".f = { + user = config.home.username; + mode = "0600"; + }; }; }; } diff --git a/home/programs/tealdeer/auto-update-tldr-db.nix b/home/programs/tealdeer/auto-update-tldr-db.nix index 2882c82..a8f4c39 100644 --- a/home/programs/tealdeer/auto-update-tldr-db.nix +++ b/home/programs/tealdeer/auto-update-tldr-db.nix @@ -1,5 +1,8 @@ -{ pkgs, lib, ... }: -{ +{ config, pkgs, lib, ... }: +let + cfg = config.programs.tealdeer; +in +lib.mkIf cfg.enable { systemd.user.services.update-tldr-db = { Unit = { Description = "Update tealdeer database"; diff --git a/home/programs/tealdeer/default.nix b/home/programs/tealdeer/default.nix index e0b0314..63dfdc9 100644 --- a/home/programs/tealdeer/default.nix +++ b/home/programs/tealdeer/default.nix @@ -4,5 +4,5 @@ ./auto-update-tldr-db.nix ]; - programs.tealdeer.enable = true; + programs.tealdeer = { }; } diff --git a/home/programs/texlive.nix b/home/programs/texlive.nix index bc461b8..960f074 100644 --- a/home/programs/texlive.nix +++ b/home/programs/texlive.nix @@ -1,7 +1,6 @@ { ... }: { programs.texlive = { - enable = true; # packageSet = pkgs.texlive.combined.scheme-medium; }; -} \ No newline at end of file +} diff --git a/home/programs/thunderbird.nix b/home/programs/thunderbird.nix index 719fbb9..80fb3d7 100644 --- a/home/programs/thunderbird.nix +++ b/home/programs/thunderbird.nix @@ -2,17 +2,15 @@ let cfg = config.programs.thunderbird; in -{ +lib.mkIf cfg.enable { programs.thunderbird = { - enable = !machineVars.headless; profiles.h7x4 = { isDefault = true; withExternalGnupg = true; }; }; - - home.packages = lib.mkIf cfg.enable (with pkgs; [ + home.packages = with pkgs; [ birdtray - ]); + ]; } diff --git a/home/programs/tmux/default.nix b/home/programs/tmux/default.nix index 2a9f035..46f4968 100644 --- a/home/programs/tmux/default.nix +++ b/home/programs/tmux/default.nix @@ -1,7 +1,6 @@ { pkgs, lib, ... }: { programs.tmux = { - enable = true; baseIndex = 1; clock24 = true; escapeTime = 0; diff --git a/home/programs/uv.nix b/home/programs/uv.nix index 6e1618c..d805de8 100644 --- a/home/programs/uv.nix +++ b/home/programs/uv.nix @@ -1,14 +1,12 @@ -{ pkgs, ... }: +{ ... }: { - home.packages = [ - pkgs.uv - ]; - - # https://docs.astral.sh/uv/configuration/files/ - # https://docs.astral.sh/uv/reference/settings/ - xdg.configFile."uv/uv.toml".source = (pkgs.formats.toml { }).generate "uv-config" { - python-downloads = "never"; - python-preference = "only-system"; - pip.index-url = "https://test.pypi.org/simple"; + programs.uv = { + # https://docs.astral.sh/uv/configuration/files/ + # https://docs.astral.sh/uv/reference/settings/ + settings = { + python-downloads = "never"; + python-preference = "only-system"; + pip.index-url = "https://test.pypi.org/simple"; + }; }; } diff --git a/home/programs/yazi.nix b/home/programs/yazi.nix index 61af9c1..034091c 100644 --- a/home/programs/yazi.nix +++ b/home/programs/yazi.nix @@ -1,7 +1,6 @@ { ... }: { programs.yazi = { - enable = true; keymap = { manager.prepend_keymap = [ { diff --git a/home/programs/yt-dlp.nix b/home/programs/yt-dlp.nix index 540fa1d..f9e8694 100644 --- a/home/programs/yt-dlp.nix +++ b/home/programs/yt-dlp.nix @@ -1,4 +1,4 @@ { ... }: { - programs.yt-dlp.enable = true; + programs.yt-dlp = { }; } diff --git a/home/programs/zoxide.nix b/home/programs/zoxide.nix index f4ca276..3cb4c20 100644 --- a/home/programs/zoxide.nix +++ b/home/programs/zoxide.nix @@ -1,7 +1,6 @@ { config, ... }: { programs.zoxide = { - enable = true; enableNushellIntegration = config.programs.nushell.enable; }; } diff --git a/home/programs/zsh/default.nix b/home/programs/zsh/default.nix index 411ed5d..806e417 100644 --- a/home/programs/zsh/default.nix +++ b/home/programs/zsh/default.nix @@ -1,8 +1,8 @@ -{ config, pkgs, lib, ... }: +{ config, lib, pkgs, ... }: let cfg = config.programs.zsh; in -{ +lib.mkIf cfg.enable { home.file."${cfg.dotDir}/.zshrc".onChange = '' ${lib.getExe (pkgs.writeTextFile { name = "zsh-compinit-oneshot.zsh"; @@ -22,7 +22,6 @@ in }; programs.zsh = { - enable = true; dotDir = ".config/zsh"; # enableSyntaxHighlighting = true; defaultKeymap = "viins"; diff --git a/home/services/pueue.nix b/home/services/pueue.nix index 5caabf9..fc755c2 100644 --- a/home/services/pueue.nix +++ b/home/services/pueue.nix @@ -1,6 +1,4 @@ { ... }: { - services.pueue = { - enable = true; - }; + services.pueue = { }; }