nix: Dev stuff & misc behind options
This commit is contained in:
parent
eb2f12b6c5
commit
37a8134c23
|
@ -8,4 +8,5 @@
|
|||
networking.hostName = "curacao";
|
||||
frogeye.extra = true;
|
||||
frogeye.desktop.xorg = true;
|
||||
frogeye.dev.docker = true;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 <silent><expr> <C-f> compe#scroll({ 'delta': +4 })
|
||||
inoremap <silent><expr> <C-d> 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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue