summary refs log tree commit diff stats
path: root/user/settings/development
diff options
context:
space:
mode:
Diffstat (limited to 'user/settings/development')
-rw-r--r--user/settings/development/base.nix69
-rw-r--r--user/settings/development/golang.nix9
-rw-r--r--user/settings/development/javascript.nix67
-rw-r--r--user/settings/development/lisp.nix2
-rw-r--r--user/settings/development/rust.nix3
-rw-r--r--user/settings/development/web.nix25
-rw-r--r--user/settings/development/zig.nix3
7 files changed, 93 insertions, 85 deletions
diff --git a/user/settings/development/base.nix b/user/settings/development/base.nix
index dcbf370f..669b4786 100644
--- a/user/settings/development/base.nix
+++ b/user/settings/development/base.nix
@@ -1,5 +1,4 @@
 { config
-, lib
 , pkgs
 , ...
 }:
@@ -9,19 +8,18 @@
     [
       shellcheck
       shfmt
-      python3Packages.yamllint
       nodePackages.dockerfile-language-server-nodejs
       nodePackages.vscode-json-languageserver
       nodePackages.yaml-language-server
       lua-language-server
-      rubyPackages.solargraph
-      multimarkdown
+      taplo # toml
 
       license-cli
       just
 
       mosh
 
+      curlHTTP3
       xh
       htmlq
       jq
@@ -46,29 +44,72 @@
 
   home.sessionVariables = {
     FLY_NO_UPDATE_CHECK = "1";
+    MOSH_TITLE_NOPREFIX = "1";
     LIMA_INSTANCE = "nixos";
   };
 
+  editorconfig = {
+    enable = true;
+    settings = {
+      "*" = {
+        charset = "utf-8";
+        end_of_line = "lf";
+        trim_trailing_whitespace = true;
+        insert_final_newline = true;
+        indent_style = "space";
+        indent_size = 2;
+        tab_width = 2;
+      };
+      "*.fish" = {
+        indent_size = 4;
+      };
+      justfile = {
+        indent_style = "tab";
+        tab_width = 4;
+      };
+      Makefile = {
+        indent_style = "tab";
+        tab_width = 4;
+      };
+    };
+  };
+
   home.shellAliases = {
     er = "direnv reload";
     ea = "direnv allow";
     ex = "direnv exec";
     es = "direnv status";
+    curl3 = "${pkgs.curlHTTP3}/bin/curl --http3";
   };
   programs.direnv = {
     enable = true;
     nix-direnv = {
       enable = true;
     };
+    config = {
+      global = {
+        disable_stdin = true;
+        strict_env = true;
+        hide_env_diff = true;
+      };
+      whitelist = {
+        prefix = with config.home; [
+          "${homeDirectory}/projects/alanpearce.eu"
+        ];
+      };
+    };
+    stdlib = ''
+      declare -A direnv_layout_dirs
+      direnv_layout_dir() {
+        echo "''${direnv_layout_dirs[$PWD]:=$(
+          local hash="$(${pkgs.coreutils}/bin/sha256sum - <<<"''${PWD}" | cut -c-7)"
+      		local path="''${PWD//[^a-zA-Z0-9]/-}"
+          echo "${config.xdg.cacheHome}/direnv/layouts/''${hash}''${path}"
+        )}"
+      }
+    '';
+  };
+  services.lorri = {
+    enable = pkgs.stdenv.isLinux;
   };
-  xdg.configFile."direnv/direnvrc".text = ''
-    declare -A direnv_layout_dirs
-    direnv_layout_dir() {
-      echo "''${direnv_layout_dirs[$PWD]:=$(
-        local hash="$(${pkgs.coreutils}/bin/sha256sum - <<<"''${PWD}" | cut -c-7)"
-    		local path="''${PWD//[^a-zA-Z0-9]/-}"
-        echo "${config.xdg.cacheHome}/direnv/layouts/''${hash}''${path}"
-      )}"
-    }
-  '';
 }
diff --git a/user/settings/development/golang.nix b/user/settings/development/golang.nix
index b554bd5c..a9293a31 100644
--- a/user/settings/development/golang.nix
+++ b/user/settings/development/golang.nix
@@ -2,11 +2,20 @@
   home.packages = with pkgs; [
     go
     gopls
+    godef
+    gogetdoc
     gotools
     golines
+    impl
+    gomodifytags
+    golangci-lint
+    golangci-lint-langserver
+    personal.prettier-plugin-go-template
   ];
   programs.emacs.extraPackages = epkgs: (with epkgs; [
     go-eldoc
+    go-tag
+    templ-ts-mode
   ]);
   programs.neovim.plugins = with pkgs.vimPlugins; [
     coc-go
diff --git a/user/settings/development/javascript.nix b/user/settings/development/javascript.nix
index bea1f02c..4d196cb4 100644
--- a/user/settings/development/javascript.nix
+++ b/user/settings/development/javascript.nix
@@ -3,21 +3,11 @@
 , ...
 }:
 {
-  home.packages =
-    (with pkgs; [
-      pnpm-shell-completion
-      bunyan-rs
-    ])
-    ++ (with pkgs.nodePackages; [
-      node2nix
-      nodemon
-      javascript-typescript-langserver
-      typescript-language-server
-      eslint_d
-      typescript
-      pnpm
-      npm-merge-driver
-    ]);
+  home.packages = with pkgs.nodePackages; [
+    node2nix
+    javascript-typescript-langserver
+    typescript-language-server
+  ];
 
   home.sessionVariables = {
     NO_UPDATE_NOTIFIER = "1"; # stop npm update-notifier
@@ -35,55 +25,9 @@
 
   programs.emacs.extraPackages = epkgs: (with epkgs; [
     add-node-modules-path
-    js2-mode
-    rjsx-mode
-    tide
-    typescript-mode
   ]);
 
   home.shellAliases = {
-    ava = "bunx ava";
-    avt = "bunx ava --tap";
-    avat = "bunx ava --tap";
-    avaw = "bunx ava --watch";
-    avaf = "bunx ava --fail-fast";
-    avafw = "bunx ava --fail-fast --watch";
-    avawf = "bunx ava --fail-fast --watch";
-    pino = "bunyan";
-    mocha = "bunx mocha";
-    standard = "bunx standard";
-    tsc = "bunx tsc";
-    tslint = "bunx tslint";
-    tsnode = "bunx ts-node";
-
-    p = "pnpm";
-    pi = "pnpm install --filter=.";
-    pit = "pnpm install-test --filter=.";
-    pl = "pnpm ls";
-    pr = "pnpm run";
-    pb = "pnpm run build";
-    prb = "pnpm run build";
-    pbd = "pnpm multi run build --filter={.}...";
-    pmi = "pnpm multi install";
-    pmx = "pnpm multi exec "; # expand command aliases
-    pmr = "pnpm multi run";
-    pa = "pnpm add";
-    pad = "pnpm add --save-dev";
-    pd = "pnpm uninstall";
-    pou = "pnpm outdated";
-    pt = "pnpm test";
-    pmt = "pnpm multi test";
-    pmd = "pnpm multi uninstall";
-    pmit = "pnpm multi install-test";
-    pup = "pnpm update";
-    pupl = "pnpm update --latest";
-    ppr = "pnpm prune";
-    pprp = "pnpm prune --production";
-    pli = "pnpm link";
-    pdi = "pnpm dislink";
-    pul = "pnpm unlink";
-    px = "pnpx";
-
     bn = "bun";
     bni = "bun install";
     bna = "bun add";
@@ -130,7 +74,6 @@
   xdg.configFile."npm/config".text = ''
     prefix=''${HOME}/.local
     cache=${config.xdg.cacheHome}/npm/
-    store-dir=${config.xdg.cacheHome}/pnpm/
     always-auth=true
     sign-git-tag=true
     rebuild-bundle=false
diff --git a/user/settings/development/lisp.nix b/user/settings/development/lisp.nix
index 757a77ef..ddf0803a 100644
--- a/user/settings/development/lisp.nix
+++ b/user/settings/development/lisp.nix
@@ -3,8 +3,8 @@
 , ...
 }: {
   home.packages = with pkgs; [
+    clisp
     sbcl
-    lispPackages.quicklisp
     asdf
     cl-launch
   ] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
diff --git a/user/settings/development/rust.nix b/user/settings/development/rust.nix
index 46f3f4f1..c1b1a9df 100644
--- a/user/settings/development/rust.nix
+++ b/user/settings/development/rust.nix
@@ -10,7 +10,4 @@
     rust-analyzer
     clippy
   ];
-  programs.emacs.extraPackages = epkgs: (with epkgs; [
-    rustic
-  ]);
 }
diff --git a/user/settings/development/web.nix b/user/settings/development/web.nix
index 7570cadb..e5c5ebb7 100644
--- a/user/settings/development/web.nix
+++ b/user/settings/development/web.nix
@@ -1,5 +1,6 @@
 { config
 , pkgs
+, lib
 , ...
 }: {
   home.packages = with pkgs.nodePackages; [
@@ -7,22 +8,36 @@
     vscode-html-languageserver-bin
     csslint
     stylelint
-    prettier
   ] ++ (with pkgs; [
     flyctl
-    self.htmlformat
+    prettierd
+    personal.htmlformat
+    nodePackages.vercel
   ]);
   home.shellAliases = {
     # 0.2.25 current completion command only affects `flyctl`, although `fly` is a link to `flyctl`
     fly = "flyctl";
   };
+  programs.chromium = lib.mkIf pkgs.stdenv.isLinux {
+    enable = true;
+    package = pkgs.ungoogled-chromium;
+    extensions = [
+      # # uBlock origin
+      { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; }
+      {
+        id = "ocaahdebbfolfmndjeplogmgcagdmblk";
+        updateUrl = "https://raw.githubusercontent.com/NeverDecaf/chromium-web-store/master/updates.xml";
+      }
+    ];
+    dictionaries = with pkgs.hunspellDictsChromium; [
+      en-gb
+      de-de
+    ];
+  };
   programs.emacs.extraPackages = epkgs: (with epkgs; [
     caddyfile-mode
-    company-web
     emmet-mode
     nginx-mode
-    restclient
-    scss-mode
     web-mode
   ]);
   programs.neovim.plugins = with pkgs.vimPlugins; [
diff --git a/user/settings/development/zig.nix b/user/settings/development/zig.nix
index e5fab030..ac21267f 100644
--- a/user/settings/development/zig.nix
+++ b/user/settings/development/zig.nix
@@ -2,6 +2,9 @@
 , pkgs
 , ...
 }: {
+  home.packages = with pkgs; [
+    zls
+  ];
   programs.emacs.extraPackages = epkgs: (with epkgs; [
     zig-mode
   ]);