From e0b9bbcfbab38afba639ad7781f0137378ca1903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Geoffrey=20=E2=80=9CFrogeye=E2=80=9D=20Preud=27homme?= Date: Tue, 24 Oct 2023 21:44:40 +0200 Subject: [PATCH] nix: Add last packages (dev ones) --- config/automatrop/playbooks/default.yml | 2 - .../automatrop/roles/software/tasks/main.yml | 34 ---------- .../software/templates/package_manager.j2 | 14 ---- .../templates/snippets/pm_dev_ansible.j2 | 4 -- .../software/templates/snippets/pm_dev_c.j2 | 10 --- .../templates/snippets/pm_dev_common.j2 | 18 ----- .../templates/snippets/pm_dev_docker.j2 | 3 - .../templates/snippets/pm_dev_fpga.j2 | 6 -- .../templates/snippets/pm_dev_network.j2 | 14 ---- .../software/templates/snippets/pm_dev_nix.j2 | 3 - .../templates/snippets/pm_dev_perl.j2 | 5 -- .../software/templates/snippets/pm_dev_php.j2 | 1 - .../templates/snippets/pm_dev_python.j2 | 12 ---- .../templates/snippets/pm_dev_shell.j2 | 2 - .../software/templates/snippets/pm_dev_sql.j2 | 1 - config/nix/configuration.nix | 3 +- config/nix/modules/dev.nix | 66 +++++++++++++++++++ 17 files changed, 68 insertions(+), 130 deletions(-) delete mode 100644 config/automatrop/roles/software/tasks/main.yml delete mode 100644 config/automatrop/roles/software/templates/package_manager.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_ansible.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_c.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_common.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_docker.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_fpga.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_network.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_nix.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_perl.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_php.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_python.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_shell.j2 delete mode 100644 config/automatrop/roles/software/templates/snippets/pm_dev_sql.j2 create mode 100644 config/nix/modules/dev.nix diff --git a/config/automatrop/playbooks/default.yml b/config/automatrop/playbooks/default.yml index 227b4a4..4a68ab7 100644 --- a/config/automatrop/playbooks/default.yml +++ b/config/automatrop/playbooks/default.yml @@ -6,8 +6,6 @@ - role: access tags: access when: root_access - - role: software - tags: software - role: system tags: system when: root_access diff --git a/config/automatrop/roles/software/tasks/main.yml b/config/automatrop/roles/software/tasks/main.yml deleted file mode 100644 index 61403e9..0000000 --- a/config/automatrop/roles/software/tasks/main.yml +++ /dev/null @@ -1,34 +0,0 @@ - -- name: Generate list of packages for package manager - set_fact: - packages: "{{ query('template', 'package_manager.j2')[0].split('\n')[:-1]|sort|unique }}" - tags: softwarelist - -- name: Install packages (Arch-based) - aur: - name: "{{ packages }}" - extra_args: "--asdeps --needed" - # Nothing is set as installed manually so it can - # be removed by dependency check. - # Current packages will be kept by the meta package - use: yay - notify: "software changed" - tags: softwarelist - when: arch_based - -- name: Check if list of packages changed - copy: - content: "{% for package in packages %}{{ package }}\n{% endfor %}" - dest: "{{ ansible_user_dir }}/.cache/automatrop/package_manager" - notify: "software changed" - tags: softwarelist - -# translate-shell -# $ curl -L git.io/trans > ~/.local/bin/trans -# $ chmod +x ~/.local/bin/trans - -# sct -# $ TMP=$(mktemp /tmp/XXXXXXXXXX.c) -# $ wget https://gist.githubusercontent.com/ajnirp/208c03d3aa7f02c743d2/raw/55bf3eed25739173d8be57b5179ed5542cf40ed6/sct.c -O $TMP -# $ cc $TMP --std=c99 -lX11 -lXrandr -o $HOME/.local/bin/sct -# $ rm $TMP diff --git a/config/automatrop/roles/software/templates/package_manager.j2 b/config/automatrop/roles/software/templates/package_manager.j2 deleted file mode 100644 index c79ebde..0000000 --- a/config/automatrop/roles/software/templates/package_manager.j2 +++ /dev/null @@ -1,14 +0,0 @@ -{# Include rules-determined snippets #} -{# Inclde dev snippets #} -{% if dev_stuffs %} -{% include 'snippets/pm_dev_common.j2' %} -{% for dev_stuff in dev_stuffs %} -{% include 'snippets/pm_dev_' + dev_stuff + '.j2' %} -{% endfor %} -{% endif %} -{# Include custom snippets #} -{% for software_snippet in software_snippets %} -{% if software_snippet.startswith('pm_') %} -{% include 'snippets/' + software_snippet + '.j2' %} -{% endif %} -{% endfor %} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_ansible.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_ansible.j2 deleted file mode 100644 index 373384a..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_ansible.j2 +++ /dev/null @@ -1,4 +0,0 @@ -ansible -ansible-lint -ansible-language-server -{# EOF #} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_c.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_c.j2 deleted file mode 100644 index 7353cb9..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_c.j2 +++ /dev/null @@ -1,10 +0,0 @@ -{% if termux %} -{# Otherwise installed by base-devel or equivalent #} -make -gcc -{% endif %} -cmake -clang -ccache -gdb -{# EOF #} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_common.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_common.j2 deleted file mode 100644 index 5c0c0ce..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_common.j2 +++ /dev/null @@ -1,18 +0,0 @@ -perf -git -jq -{% if arch_based %} -ctags -{% elif debian_based %} -universal-ctags -{% endif %} -{% if not termux %} -highlight -{% endif %} -{# For nvim's :Telescope live_grep #} -ripgrep -{# Offline documentation #} -{# Relies on qt5-webkit which is a pain to compile -zeal -#} -{# EOF #} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_docker.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_docker.j2 deleted file mode 100644 index 012121f..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_docker.j2 +++ /dev/null @@ -1,3 +0,0 @@ -docker -docker-compose -{# EOF #} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_fpga.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_fpga.j2 deleted file mode 100644 index 67dcb76..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_fpga.j2 +++ /dev/null @@ -1,6 +0,0 @@ -yosys -iverilog -ghdl -{% if display_server %} -gtkwave -{% endif %} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_network.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_network.j2 deleted file mode 100644 index 2b882d6..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_network.j2 +++ /dev/null @@ -1,14 +0,0 @@ -wget -curl -socat -{% if arch_based %} -bind -{% else %} -dnsutils -{% endif %} -whois -nmap -tcpdump -{% if display_server %} -wireshark-qt -{% endif %} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_nix.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_nix.j2 deleted file mode 100644 index 71a9e74..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_nix.j2 +++ /dev/null @@ -1,3 +0,0 @@ -nix -rnix-lsp - diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_perl.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_perl.j2 deleted file mode 100644 index 693399c..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_perl.j2 +++ /dev/null @@ -1,5 +0,0 @@ -{% if arch_based %} -{# TODO Disabled because it currently doesn't build -perl-perl-languageserver -#} -{% endif %} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_php.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_php.j2 deleted file mode 100644 index dd1fee4..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_php.j2 +++ /dev/null @@ -1 +0,0 @@ -{# EOF #} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_python.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_python.j2 deleted file mode 100644 index 5f457a8..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_python.j2 +++ /dev/null @@ -1,12 +0,0 @@ -mypy -{% if not arch_based %} -black -{# On arch it's installed as a dependency, also it's called python-black #} -{% endif %} -{% if arch_based %} -python-lsp-server -python-mypy-ls -python-lsp-black -{% endif %} -ipython -{# EOF #} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_shell.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_shell.j2 deleted file mode 100644 index 7cd054e..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_shell.j2 +++ /dev/null @@ -1,2 +0,0 @@ -bash-language-server -{# EOF #} diff --git a/config/automatrop/roles/software/templates/snippets/pm_dev_sql.j2 b/config/automatrop/roles/software/templates/snippets/pm_dev_sql.j2 deleted file mode 100644 index e961816..0000000 --- a/config/automatrop/roles/software/templates/snippets/pm_dev_sql.j2 +++ /dev/null @@ -1 +0,0 @@ -sql-language-server diff --git a/config/nix/configuration.nix b/config/nix/configuration.nix index 2881092..43a9174 100644 --- a/config/nix/configuration.nix +++ b/config/nix/configuration.nix @@ -5,6 +5,7 @@ ./modules/desktop.nix ./modules/battery.nix ./modules/wireless.nix - # ./modules/extra.nix + ./modules/extra.nix + ./modules/dev.nix ]; } diff --git a/config/nix/modules/dev.nix b/config/nix/modules/dev.nix new file mode 100644 index 0000000..fdde56e --- /dev/null +++ b/config/nix/modules/dev.nix @@ -0,0 +1,66 @@ +{ pkgs, ... }: +{ + # TODO Separate in diffrent packages once the structure is finalized... + # or connvert into per-directory requirements + users.users.geoffrey. packages = with pkgs; [ + # Ansible + ansible + ansible-lint + ansible-language-server + + # C/C++ + cmake + clang + ccache + gdb + + # Common + perf-tools + git + jq + universal-ctags + highlight + ripgrep # For nvim's :Telescope live_grep + zeal-qt6 # Offline documentation + + # Docker + docker + docker-compose + + # FPGA + yosys + verilog + ghdl + gtkwave # TODO Display server only + + # Network + socat + dig + whois + nmap + tcpdump + wireshark-qt # TODO Display server only + + # nix + nix + rnix-lsp + + # Perl + perl536Packages.PLS + + # Python + mypy + python3Packages.black + python3Packages.python-lsp-server + python3Packages.pylsp-mypy + python3Packages.pyls-isort + python3Packages.python-lsp-black + # TODO Are all those for the same language server? + python3Packages.ipython + + # Bash + nodePackages.bash-language-server + sqls + ]; + +}