From 69e1dc2eb40218bba74ced08aa6c58ae50cb52c8 Mon Sep 17 00:00:00 2001 From: marc Date: Fri, 25 Nov 2022 20:16:46 +0100 Subject: [PATCH] Added devenv and moved config files --- config/{.config => }/alacritty/alacritty.yml | 0 config/doom/config.el | 1 - config/doom/init.el | 4 +- config/doom/packages.el | 1 - config/{.config => }/polybar/bars/bars.ini | 0 config/{.config => }/polybar/bars/colours.ini | 0 .../polybar/bars/modules/battery.ini | 0 .../polybar/bars/modules/bluetooth.ini | 0 .../polybar/bars/modules/date.ini | 0 .../polybar/bars/modules/i3-mode.ini | 0 .../polybar/bars/modules/spotify.ini | 0 .../polybar/bars/modules/volume.ini | 0 .../polybar/bars/modules/wireless.ini | 0 .../polybar/bars/modules/workspaces.ini | 0 config/{.config => }/polybar/config.ini | 0 .../{.config => }/polybar/scripts/spotify.sh | 0 .../rofi/menus/bluetooth/bluetooth.rasi | 0 .../rofi/menus/bluetooth/bluetooth.sh | 0 .../rofi/menus/launcher/launcher.rasi | 0 .../rofi/menus/launcher/launcher.sh | 0 .../rofi/menus/powermenu/powermenu.rasi | 0 .../rofi/menus/powermenu/powermenu.sh | 0 .../{.config => }/rofi/menus/wifi/wifi.rasi | 0 config/{.config => }/rofi/menus/wifi/wifi.sh | 0 .../shell/sh/001-system-exports.sh | 0 config/{.config => }/shell/sh/002-aliases.sh | 0 .../shell/zsh/001-zsh-settings.zsh | 0 config/{.config => }/zsh/.p10k.zsh | 0 data/devenv/devenv.sh | 88 +++++++++++++++++++ data/devenv/templates/python/flake.nix | 27 ++++++ data/devenv/templates/rust/flake.nix | 32 +++++++ hosts/reykjavik/default.nix | 2 +- modules/app/alacritty.nix | 2 +- modules/desktop/polybar.nix | 6 +- modules/desktop/rofi.nix | 2 +- modules/dev/devenv.nix | 26 ++++++ modules/shell/utils.nix | 2 +- modules/shell/zsh.nix | 2 +- 38 files changed, 184 insertions(+), 11 deletions(-) rename config/{.config => }/alacritty/alacritty.yml (100%) rename config/{.config => }/polybar/bars/bars.ini (100%) rename config/{.config => }/polybar/bars/colours.ini (100%) rename config/{.config => }/polybar/bars/modules/battery.ini (100%) rename config/{.config => }/polybar/bars/modules/bluetooth.ini (100%) rename config/{.config => }/polybar/bars/modules/date.ini (100%) rename config/{.config => }/polybar/bars/modules/i3-mode.ini (100%) rename config/{.config => }/polybar/bars/modules/spotify.ini (100%) rename config/{.config => }/polybar/bars/modules/volume.ini (100%) rename config/{.config => }/polybar/bars/modules/wireless.ini (100%) rename config/{.config => }/polybar/bars/modules/workspaces.ini (100%) rename config/{.config => }/polybar/config.ini (100%) rename config/{.config => }/polybar/scripts/spotify.sh (100%) rename config/{.config => }/rofi/menus/bluetooth/bluetooth.rasi (100%) rename config/{.config => }/rofi/menus/bluetooth/bluetooth.sh (100%) rename config/{.config => }/rofi/menus/launcher/launcher.rasi (100%) rename config/{.config => }/rofi/menus/launcher/launcher.sh (100%) rename config/{.config => }/rofi/menus/powermenu/powermenu.rasi (100%) rename config/{.config => }/rofi/menus/powermenu/powermenu.sh (100%) rename config/{.config => }/rofi/menus/wifi/wifi.rasi (100%) rename config/{.config => }/rofi/menus/wifi/wifi.sh (100%) rename config/{.config => }/shell/sh/001-system-exports.sh (100%) rename config/{.config => }/shell/sh/002-aliases.sh (100%) rename config/{.config => }/shell/zsh/001-zsh-settings.zsh (100%) rename config/{.config => }/zsh/.p10k.zsh (100%) create mode 100644 data/devenv/devenv.sh create mode 100644 data/devenv/templates/python/flake.nix create mode 100644 data/devenv/templates/rust/flake.nix create mode 100644 modules/dev/devenv.nix diff --git a/config/.config/alacritty/alacritty.yml b/config/alacritty/alacritty.yml similarity index 100% rename from config/.config/alacritty/alacritty.yml rename to config/alacritty/alacritty.yml diff --git a/config/doom/config.el b/config/doom/config.el index 48861da..50a8196 100644 --- a/config/doom/config.el +++ b/config/doom/config.el @@ -18,7 +18,6 @@ (setq doom-unicode-font (font-spec :family "Iosevka Nerd Font" :size 15)) ;; Themeing -;; (load! "themes/base16-samfelag.el") (use-package base16-theme :init (add-to-list 'custom-theme-load-path "~/.config/doom/themes") :ensure t diff --git a/config/doom/init.el b/config/doom/init.el index d5a31b5..39f0118 100644 --- a/config/doom/init.el +++ b/config/doom/init.el @@ -153,7 +153,9 @@ php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - python ; beautiful is better than ugly + (python + +lsp + +pyright) ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 diff --git a/config/doom/packages.el b/config/doom/packages.el index 07112d2..3a5da3d 100644 --- a/config/doom/packages.el +++ b/config/doom/packages.el @@ -50,7 +50,6 @@ ;(unpin! t) (package! base16-theme) - (package! parinfer) ;; Editor diff --git a/config/.config/polybar/bars/bars.ini b/config/polybar/bars/bars.ini similarity index 100% rename from config/.config/polybar/bars/bars.ini rename to config/polybar/bars/bars.ini diff --git a/config/.config/polybar/bars/colours.ini b/config/polybar/bars/colours.ini similarity index 100% rename from config/.config/polybar/bars/colours.ini rename to config/polybar/bars/colours.ini diff --git a/config/.config/polybar/bars/modules/battery.ini b/config/polybar/bars/modules/battery.ini similarity index 100% rename from config/.config/polybar/bars/modules/battery.ini rename to config/polybar/bars/modules/battery.ini diff --git a/config/.config/polybar/bars/modules/bluetooth.ini b/config/polybar/bars/modules/bluetooth.ini similarity index 100% rename from config/.config/polybar/bars/modules/bluetooth.ini rename to config/polybar/bars/modules/bluetooth.ini diff --git a/config/.config/polybar/bars/modules/date.ini b/config/polybar/bars/modules/date.ini similarity index 100% rename from config/.config/polybar/bars/modules/date.ini rename to config/polybar/bars/modules/date.ini diff --git a/config/.config/polybar/bars/modules/i3-mode.ini b/config/polybar/bars/modules/i3-mode.ini similarity index 100% rename from config/.config/polybar/bars/modules/i3-mode.ini rename to config/polybar/bars/modules/i3-mode.ini diff --git a/config/.config/polybar/bars/modules/spotify.ini b/config/polybar/bars/modules/spotify.ini similarity index 100% rename from config/.config/polybar/bars/modules/spotify.ini rename to config/polybar/bars/modules/spotify.ini diff --git a/config/.config/polybar/bars/modules/volume.ini b/config/polybar/bars/modules/volume.ini similarity index 100% rename from config/.config/polybar/bars/modules/volume.ini rename to config/polybar/bars/modules/volume.ini diff --git a/config/.config/polybar/bars/modules/wireless.ini b/config/polybar/bars/modules/wireless.ini similarity index 100% rename from config/.config/polybar/bars/modules/wireless.ini rename to config/polybar/bars/modules/wireless.ini diff --git a/config/.config/polybar/bars/modules/workspaces.ini b/config/polybar/bars/modules/workspaces.ini similarity index 100% rename from config/.config/polybar/bars/modules/workspaces.ini rename to config/polybar/bars/modules/workspaces.ini diff --git a/config/.config/polybar/config.ini b/config/polybar/config.ini similarity index 100% rename from config/.config/polybar/config.ini rename to config/polybar/config.ini diff --git a/config/.config/polybar/scripts/spotify.sh b/config/polybar/scripts/spotify.sh similarity index 100% rename from config/.config/polybar/scripts/spotify.sh rename to config/polybar/scripts/spotify.sh diff --git a/config/.config/rofi/menus/bluetooth/bluetooth.rasi b/config/rofi/menus/bluetooth/bluetooth.rasi similarity index 100% rename from config/.config/rofi/menus/bluetooth/bluetooth.rasi rename to config/rofi/menus/bluetooth/bluetooth.rasi diff --git a/config/.config/rofi/menus/bluetooth/bluetooth.sh b/config/rofi/menus/bluetooth/bluetooth.sh similarity index 100% rename from config/.config/rofi/menus/bluetooth/bluetooth.sh rename to config/rofi/menus/bluetooth/bluetooth.sh diff --git a/config/.config/rofi/menus/launcher/launcher.rasi b/config/rofi/menus/launcher/launcher.rasi similarity index 100% rename from config/.config/rofi/menus/launcher/launcher.rasi rename to config/rofi/menus/launcher/launcher.rasi diff --git a/config/.config/rofi/menus/launcher/launcher.sh b/config/rofi/menus/launcher/launcher.sh similarity index 100% rename from config/.config/rofi/menus/launcher/launcher.sh rename to config/rofi/menus/launcher/launcher.sh diff --git a/config/.config/rofi/menus/powermenu/powermenu.rasi b/config/rofi/menus/powermenu/powermenu.rasi similarity index 100% rename from config/.config/rofi/menus/powermenu/powermenu.rasi rename to config/rofi/menus/powermenu/powermenu.rasi diff --git a/config/.config/rofi/menus/powermenu/powermenu.sh b/config/rofi/menus/powermenu/powermenu.sh similarity index 100% rename from config/.config/rofi/menus/powermenu/powermenu.sh rename to config/rofi/menus/powermenu/powermenu.sh diff --git a/config/.config/rofi/menus/wifi/wifi.rasi b/config/rofi/menus/wifi/wifi.rasi similarity index 100% rename from config/.config/rofi/menus/wifi/wifi.rasi rename to config/rofi/menus/wifi/wifi.rasi diff --git a/config/.config/rofi/menus/wifi/wifi.sh b/config/rofi/menus/wifi/wifi.sh similarity index 100% rename from config/.config/rofi/menus/wifi/wifi.sh rename to config/rofi/menus/wifi/wifi.sh diff --git a/config/.config/shell/sh/001-system-exports.sh b/config/shell/sh/001-system-exports.sh similarity index 100% rename from config/.config/shell/sh/001-system-exports.sh rename to config/shell/sh/001-system-exports.sh diff --git a/config/.config/shell/sh/002-aliases.sh b/config/shell/sh/002-aliases.sh similarity index 100% rename from config/.config/shell/sh/002-aliases.sh rename to config/shell/sh/002-aliases.sh diff --git a/config/.config/shell/zsh/001-zsh-settings.zsh b/config/shell/zsh/001-zsh-settings.zsh similarity index 100% rename from config/.config/shell/zsh/001-zsh-settings.zsh rename to config/shell/zsh/001-zsh-settings.zsh diff --git a/config/.config/zsh/.p10k.zsh b/config/zsh/.p10k.zsh similarity index 100% rename from config/.config/zsh/.p10k.zsh rename to config/zsh/.p10k.zsh diff --git a/data/devenv/devenv.sh b/data/devenv/devenv.sh new file mode 100644 index 0000000..556d71b --- /dev/null +++ b/data/devenv/devenv.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env sh + +SANDBOXES_DIR=$HOME/sandbox +TEMPLATES_DIR=$XDG_DATA_HOME/devenv/templates + +list_templates() { + echo "The available templates are:" + ls $TEMPLATES_DIR +} + +check_template () { + TEMPLATE=$1 + if [ -z "$TEMPLATE" ]; then + echo "No template given" + list_templates + exit 1 + elif [ ! -e "$TEMPLATES_DIR/$TEMPLATE" ]; then + echo "The given template '$TEMPLATE' doesn't exist!" + list_templates + exit 1 + fi +} + +devenv_install() { + install -m 644 $TEMPLATES_DIR/$TEMPLATE/* ./ + echo "use flake . --impure" > .envrc + direnv allow +} + +devenv_init() { + TEMPLATE=$1 + check_template $TEMPLATE + devenv_install +} + +devenv_sandbox() { + DIRECTORY=$1 + if [ -z "$DIRECTORY" ]; then + show_help_sandbox + exit 1 + fi + SANDBOX_DIR="$SANDBOXES_DIR/$DIRECTORY" + TEMPLATE=$2 + if [ -z "$TEMPLATE" ]; then + TEMPLATE=$DIRECTORY + fi + check_template $TEMPLATE + if [ ! -e $SANDBOX_DIR ]; then + echo "Creating sandbox at $SANDBOX_DIR with template $TEMPLATE" + mkdir -p $SANDBOX_DIR + cd $SANDBOX_DIR + devenv_init $TEMPLATE + else + cd $SANDBOX_DIR + fi +} + +show_help_sandbox() { + echo "Usage: devenv sandbox [