From a9d14ae3d24990b2810c4341ce3b5d90eab38828 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Tue, 18 Oct 2022 15:52:13 +0200 Subject: [PATCH] [WIP] Several things - Doom emacs `tree-sitter` - CI for `beebox` - PGtk Emacs --- .github/workflows/build.yaml | 20 ++++++++++++++++++++ doom.d/config.el | 5 +++++ doom.d/init.el | 4 ++-- doom.d/packages.el | 1 + hmModules/emacs/default.nix | 12 ++++++++++-- hmModules/nix-index/default.nix | 32 ++++++++++++++++++++++++++++++++ hmModules/shell/default.nix | 29 +---------------------------- hosts/pbp/default.nix | 1 + modules/ccr/default.nix | 2 +- modules/nix/default.nix | 2 ++ 10 files changed, 75 insertions(+), 33 deletions(-) create mode 100644 hmModules/nix-index/default.nix diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 568a49e..06fa21c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -65,6 +65,26 @@ jobs: - run: nix --print-build-logs --verbose build --allow-import-from-derivation .#nixosConfigurations.hs.config.system.build.toplevel + build-beebox: + if: ${{ always() }} + needs: check + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - uses: cachix/install-nix-action@v17 + with: + extra_nix_config: | + max-jobs = 10 + + - uses: cachix/cachix-action@v10 + with: + name: aciceri-fleet + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + + - run: nix --print-build-logs --verbose build --allow-import-from-derivation .#nixosConfigurations.beebox.config.system.build.toplevel + build-pbp: if: ${{ always() }} needs: check diff --git a/doom.d/config.el b/doom.d/config.el index 26d2411..64a0c89 100644 --- a/doom.d/config.el +++ b/doom.d/config.el @@ -86,3 +86,8 @@ (setq +format-on-save-enabled-modes '(not latex-mode)) + +(setq org-roam-directory (file-truename "~/roam")) +(org-roam-db-autosync-mode) + +(setq +tree-sitter-hl-enabled-modes t) diff --git a/doom.d/init.el b/doom.d/init.el index 914160c..d7ce763 100644 --- a/doom.d/init.el +++ b/doom.d/init.el @@ -152,9 +152,9 @@ ;;lua ; one-based indices? one-based indices markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c - nix ; I hereby declare "nix geht mehr!" + (nix +tree-sitter) ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - org ; organize your plain life in plain text + (org +roam2) ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional diff --git a/doom.d/packages.el b/doom.d/packages.el index 1220203..836db11 100644 --- a/doom.d/packages.el +++ b/doom.d/packages.el @@ -51,3 +51,4 @@ (package! dirvish) +(package! git-auto-commit-mode) diff --git a/hmModules/emacs/default.nix b/hmModules/emacs/default.nix index b86a644..b76525a 100644 --- a/hmModules/emacs/default.nix +++ b/hmModules/emacs/default.nix @@ -1,13 +1,21 @@ { pkgs, config, + lib, ... }: { - programs.emacs.enable = true; + programs.emacs = { + enable = true; + package = lib.mkForce (pkgs.emacs28NativeComp.override { + # FIXME `mkForce` shouldn't be needed + nativeComp = true; + withSQLite3 = true; + withGTK3 = true; + }); + }; programs.doom-emacs = { enable = true; - package = pkgs.emacs28NativeComp; doomPrivateDir = ../../doom.d; }; diff --git a/hmModules/nix-index/default.nix b/hmModules/nix-index/default.nix new file mode 100644 index 0000000..993abe0 --- /dev/null +++ b/hmModules/nix-index/default.nix @@ -0,0 +1,32 @@ +{ + config, + pkgs, + ... +}: { + programs.nix-index = { + enable = true; + enableZshIntegration = true; + }; + + systemd.user.services.nix-index-update = { + Unit = {Description = "Update nix-index";}; + + Service = { + CPUSchedulingPolicy = "idle"; + IOSchedulingClass = "idle"; + ExecStart = "${pkgs.nix-index}/bin/nix-index --path ${config.programs.password-store.settings.PASSWORD_STORE_DIR}"; + }; + }; + + systemd.user.timers.nix-index-update = { + Unit = {Description = "Update nix-index";}; + + Timer = { + Unit = "nix-index-update.service"; + OnCalendar = "OnCalendar=monday *-*-* 10:00:00"; + Persistent = true; + }; + + Install = {WantedBy = ["timers.target"];}; + }; +} diff --git a/hmModules/shell/default.nix b/hmModules/shell/default.nix index e554dec..0c238fc 100644 --- a/hmModules/shell/default.nix +++ b/hmModules/shell/default.nix @@ -80,32 +80,5 @@ ''; }; - programs.nix-index = { - enable = true; - enableZshIntegration = true; - }; - - systemd.user.services.nix-index-update = { - Unit = {Description = "Update nix-index";}; - - Service = { - CPUSchedulingPolicy = "idle"; - IOSchedulingClass = "idle"; - ExecStart = "${pkgs.nix-index}/bin/nix-index --path ${config.programs.password-store.settings.PASSWORD_STORE_DIR}"; - }; - }; - - systemd.user.timers.nix-index-update = { - Unit = {Description = "Update nix-index";}; - - Timer = { - Unit = "nix-index-update.service"; - OnCalendar = "OnCalendar=monday *-*-* 10:00:00"; - Persistent = true; - }; - - Install = {WantedBy = ["timers.target"];}; - }; - - home.packages = with pkgs; [thefuck]; + home.packages = with pkgs; [thefuck htop-vim dig.dnsutils]; } diff --git a/hosts/pbp/default.nix b/hosts/pbp/default.nix index a49f821..e27b10f 100644 --- a/hosts/pbp/default.nix +++ b/hosts/pbp/default.nix @@ -16,6 +16,7 @@ "xfce" "battery" "printing" + "tree-sitter-grammars" ]; ccr.enable = true; diff --git a/modules/ccr/default.nix b/modules/ccr/default.nix index 2edcb54..d5bd0c8 100644 --- a/modules/ccr/default.nix +++ b/modules/ccr/default.nix @@ -13,7 +13,7 @@ modules = lib.mkOption { type = with lib.types; listOf str; - default = ["shell" "git"]; + default = ["shell" "git" "nix-index"]; }; packages = lib.mkOption { diff --git a/modules/nix/default.nix b/modules/nix/default.nix index aebd401..e0408f1 100644 --- a/modules/nix/default.nix +++ b/modules/nix/default.nix @@ -16,11 +16,13 @@ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" "mlabs.cachix.org-1:gStKdEqNKcrlSQw5iMW6wFCj3+b+1ASpBVY2SYuNV2M=" "aciceri-fleet.cachix.org-1:e1AodrwmzRWy0eQi3lUY71M41fp9Sq+UpuKKv705xsI=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; substituters = [ "https://cache.iog.io" "https://mlabs.cachix.org" "https://aciceri-fleet.cachix.org" + "https://nix-community.cachix.org" ]; };