diff options
Diffstat (limited to 'user/settings/development')
-rw-r--r-- | user/settings/development/base.nix | 69 | ||||
-rw-r--r-- | user/settings/development/golang.nix | 9 | ||||
-rw-r--r-- | user/settings/development/javascript.nix | 67 | ||||
-rw-r--r-- | user/settings/development/lisp.nix | 2 | ||||
-rw-r--r-- | user/settings/development/rust.nix | 3 | ||||
-rw-r--r-- | user/settings/development/web.nix | 25 | ||||
-rw-r--r-- | user/settings/development/zig.nix | 3 |
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 ]); |