diff --git a/config/nix/curacao.nix b/config/nix/curacao.nix index 9b389a1..9285531 100644 --- a/config/nix/curacao.nix +++ b/config/nix/curacao.nix @@ -8,4 +8,5 @@ networking.hostName = "curacao"; frogeye.extra = true; frogeye.desktop.xorg = true; + frogeye.dev.docker = true; } diff --git a/config/nix/curacao_test.nix b/config/nix/curacao_test.nix index 815e13d..10293e7 100644 --- a/config/nix/curacao_test.nix +++ b/config/nix/curacao_test.nix @@ -10,4 +10,9 @@ frogeye.extra = true; frogeye.desktop.xorg = true; frogeye.desktop.nixGLIntel = true; + frogeye.dev.ansible.enable = true; + frogeye.dev.c.enable = true; + frogeye.dev.docker.enable = true; + frogeye.dev.fpga.enable = true; + frogeye.dev.python.enable = true; } diff --git a/config/nix/hm/common.nix b/config/nix/hm/common.nix index e839ae9..a355330 100644 --- a/config/nix/hm/common.nix +++ b/config/nix/hm/common.nix @@ -394,19 +394,16 @@ in wget curl python3Packages.pip - ansible # TODO Reevaluate # shell zsh-completions nix-zsh-completions zsh-history-substring-search - antigen # TODO Reevaluate powerline-go # terminal essentials moreutils man - visidata # nodePackages.insect # FIXME Don't install on aarch64 # TODO Use whatever replaces insect translate-shell @@ -438,7 +435,6 @@ in speedtest-cli # multimedia toolbox - ffmpeg sox imagemagick diff --git a/config/nix/hm/dev.nix b/config/nix/hm/dev.nix index a7c5287..f98bcf9 100644 --- a/config/nix/hm/dev.nix +++ b/config/nix/hm/dev.nix @@ -1,17 +1,9 @@ { pkgs, config, ... }: { - # TODO Separate in diffrent packages once the structure is finalized... - # or connvert into per-directory requirements + # TODO Maybe should be per-directory dotenv + # Or not, for neovim + + # Always on home.packages = with pkgs; [ - # Ansible - ansible - ansible-lint - - # C/C++ - cmake - clang - ccache - gdb - # Common perf-tools git @@ -20,14 +12,6 @@ universal-ctags highlight - # Docker - docker - docker-compose - - # FPGA - verilog - # ghdl # TODO Not on aarch64 - # Network socat dig @@ -38,18 +22,45 @@ # nix nix - # Python - python3Packages.ipython + # Always on (graphical) ] ++ lib.optionals config.frogeye.desktop.xorg [ # Common zeal-qt6 # Offline documentation + # Network + wireshark-qt + + # Ansible + ] ++ lib.optionals config.frogeye.dev.ansible [ + ansible + ansible-lint + + # C/C++ + ] ++ lib.optionals config.frogeye.dev.c [ + cmake + clang + ccache + gdb + + # Docker + ] ++ lib.optionals config.frogeye.dev.docker [ + docker + docker-compose + # FPGA + ] ++ lib.optionals config.frogeye.dev.fpga [ + verilog + # ghdl # TODO Not on aarch64 + + # FPGA (graphical) + ] ++ lib.optionals (config.frogeye.desktop.xorg && config.frogeye.dev.fpga) [ yosys gtkwave - # Network - wireshark-qt + # Python + ] ++ lib.optionals config.frogeye.dev.python [ + python3Packages.ipython + ]; } diff --git a/config/nix/hm/extra.nix b/config/nix/hm/extra.nix index efd2b78..2a7fa0d 100644 --- a/config/nix/hm/extra.nix +++ b/config/nix/hm/extra.nix @@ -1,50 +1,57 @@ { pkgs, lib, config, ... }: { - home.packages = with pkgs; lib.mkIf config.frogeye.extra ([ - # android tools - android-tools + config = lib.mkIf config.frogeye.extra { + programs = { + pandoc.enable = true; + }; + home.packages = with pkgs; ([ + # android tools + android-tools - # downloading - yt-dlp - megatools - # transmission TODO Collision if both transmissions are active? + # downloading + yt-dlp + megatools + # transmission TODO Collision if both transmissions are active? + # Multimedia toolbox + ffmpeg - # documents - pandoc - texlive.combined.scheme-full - pdftk - hunspell - hunspellDicts.en_GB-ize - hunspellDicts.en_US - hunspellDicts.fr-moderne - hunspellDicts.nl_NL - # TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr + # documents + visidata + texlive.combined.scheme-full + pdftk + hunspell + hunspellDicts.en_GB-ize + hunspellDicts.en_US + hunspellDicts.fr-moderne + hunspellDicts.nl_NL + # TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr - ] ++ lib.optionals config.frogeye.desktop.xorg [ + ] ++ lib.optionals config.frogeye.desktop.xorg [ - # multimedia editors - gimp - inkscape - darktable - blender - puddletag - musescore - audacity + # multimedia editors + gimp + inkscape + darktable + blender + puddletag + musescore + audacity - # downloading - transmission-qt + # downloading + transmission-qt - # wine - wine - # TODO wine-gecko wine-mono lib32-libpulse (?) + # FIXME Below not on aarch64 + # wine + wine + # TODO wine-gecko wine-mono lib32-libpulse (?) - # gaming - steam - yuzu-mainline - minecraft - # TODO factorio - - ]); + # gaming + steam + yuzu-mainline + minecraft + # TODO factorio + ]); + }; } diff --git a/config/nix/hm/vim.nix b/config/nix/hm/vim.nix index 22a4c94..fee2740 100644 --- a/config/nix/hm/vim.nix +++ b/config/nix/hm/vim.nix @@ -167,7 +167,7 @@ in jsonls.enable = true; # JSON lua-ls.enable = true; # Lua (for Neovim debugging) # FIXME perlls - pylsp = { + pylsp = lib.mkIf config.frogeye.dev.python { # Python enable = true; settings.plugins = { @@ -288,10 +288,14 @@ in # Language-specific tcomment_vim # Language-aware (un)commenting + ] ++ lib.optionals config.frogeye.extra [ vim-LanguageTool # Check grammar for human languages + ] ++ lib.optionals config.programs.pandoc.enable [ vim-pandoc # Pandoc-specific stuff because there's no LSP for it vim-pandoc-syntax + ] ++ lib.optionals config.frogeye.dev.c [ nvim-dap # Debug Adapter Protocol client + ] ++ lib.optionals config.frogeye.dev.ansible [ ansible-vim # FIXME See if it doesn't require to do ./UltiSnips/generate.sh ]; extraConfigLua = lib.strings.concatMapStringsSep "\n" (f: builtins.readFile f) [ @@ -323,10 +327,12 @@ in inoremap compe#scroll({ 'delta': +4 }) inoremap compe#scroll({ 'delta': -4 }) + '' + lib.optionalString config.frogeye.extra '' " languagetool let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline" " TODO Doesn't work + '' + lib.optionalString config.programs.pandoc.enable '' " vim-pandox let g:pandoc#modules#disabled = ["folding"] let g:pandoc#spell#enabled = 0 diff --git a/config/nix/options.nix b/config/nix/options.nix index 5162440..baa7a76 100644 --- a/config/nix/options.nix +++ b/config/nix/options.nix @@ -6,5 +6,21 @@ xorg = lib.mkEnableOption "Enable X11 support"; nixGLIntel = lib.mkEnableOption "Enable nixGLIntel/nixVulkanIntel for windows manager"; }; + dev = { + ansible = lib.mkEnableOption "Ansible dev stuff"; + c = lib.mkEnableOption "C/C++ dev stuff"; + docker = lib.mkEnableOption "Docker dev stuff"; + fpga = lib.mkEnableOption "FPGA dev stuff"; + python = lib.mkEnableOption "Python dev stuff"; + }; + }; + + config = { + frogeye = { + dev = { + ansible = lib.mkDefault true; + python = lib.mkDefault true; + }; + }; }; } diff --git a/config/nix/pindakaas.nix b/config/nix/pindakaas.nix index 576b163..fd4f437 100644 --- a/config/nix/pindakaas.nix +++ b/config/nix/pindakaas.nix @@ -10,5 +10,8 @@ boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; networking.hostName = "pindakaas"; + + frogeye.extra = false; # FIXME Not working yet frogeye.desktop.xorg = true; + frogeye.dev.docker = true; }