vscode stuff and try to make treefmt not suck

This commit is contained in:
cy 2025-03-26 10:43:56 -04:00
parent 8c921fc1ab
commit b5d3358f52
Signed by: cy
SSH key fingerprint: SHA256:o/geVWV4om1QhUSkKvDQeW/eAihwnjyXkqMwrVdbuts
4 changed files with 70 additions and 9 deletions

View file

@ -3,6 +3,7 @@ on:
workflow_dispatch:
push:
pull_request:
env:
ATTIC_TOKEN: ${{ secrets.ATTIC_TOKEN }}
NIX_CONFIG: |
@ -13,6 +14,7 @@ env:
accept-flake-config = true
system-features = nixos-test benchmark big-parallel kvm
TERM: ansi
jobs:
build-machines:
strategy:
@ -36,16 +38,20 @@ jobs:
remove-codeql: 'true'
remove-docker-images: 'true'
build-mount-path: /nix
- name: Install Nix
uses: cachix/install-nix-action@v30
- name: Sync repository
uses: actions/checkout@v4
with:
persist-credentials: false
- name: setup attic
run: |
nix profile install github:zhaofengli/attic
attic login cy7 https://cache.cy7.sh "$ATTIC_TOKEN"
- name: build
run: |
package=".#nixosConfigurations."${{ matrix.machine }}".config.system.build.toplevel"

View file

@ -134,7 +134,6 @@
imports = [
inputs.treefmt.flakeModule
];
debug = true;
systems = [
"x86_64-linux"
];
@ -147,11 +146,14 @@
treefmt = {
projectRootFile = "flake.nix";
programs.nixfmt.enable = true;
programs.stylua.enable = true;
programs.yamlfmt.enable = true;
programs.typos.enable = true;
programs.shellcheck.enable = true;
programs.yamlfmt = {
enable = true;
settings.retain_line_breaks = true;
};
settings.global.excludes = [
"secrets/*"
"**/*.png" # tries to format a png file

View file

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, lib, ... }:
{
programs.vscode = {
enable = true;
@ -23,10 +23,12 @@
tamasfe.even-better-toml
golang.go
ms-python.python
christian-kohler.path-intellisense
];
userSettings =
let
vimCommonKeyBindings = [
# nice emacs bindings
{
"before" = [ "C-a" ];
"commands" = [ "cursorHome" ];
@ -35,6 +37,19 @@
"before" = [ "C-e" ];
"commands" = [ "cursorEnd" ];
}
{
"before" = [ "C-b" ];
"commands" = [ "cursorLeft" ];
}
{
"before" = [ "C-f" ];
"commands" = [ "cursorRight" ];
}
# ctrl+h to turn off search highlighting
{
"before" = [ "C-h" ];
"commands" = [ ":nohl" ];
}
];
in
{
@ -74,7 +89,7 @@
"markdown-preview-enhanced.previewTheme" = "github-dark.css";
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
"nix.serverPath" = "${lib.getExe pkgs.nil}";
"bookmarks.saveBookmarksInProject" = true;
"cSpell.enabledFileTypes" = {
@ -84,6 +99,15 @@
# vim stuff
"vim.leader" = ",";
"extensions.experimental.affinity" = {
"vscodevim.vim" = 1;
};
"vim.sneak" = true;
"vim.sneakUseIgnorecaseAndSmartcase" = true;
"vim.enableNeovim" = true;
"vim.hlsearch" = true;
"vim.easymotion" = true;
"editor.lineNumbers" = "relative";
"vim.normalModeKeyBindings" = vimCommonKeyBindings ++ [
{
"before" = [ ";" ];
@ -118,6 +142,13 @@
];
"commands" = [ "workbench.action.toggleSidebarVisibility" ];
}
{
"before" = [
"<space>"
"s"
];
"commands" = [ "workbench.action.toggleSidebarVisibility" ];
}
{
"before" = [
"<leader>"
@ -191,10 +222,33 @@
"commands" = [ "editor.action.outdentLines" ];
}
];
"extensions.experimental.affinity" = {
"vscodevim.vim" = 1;
};
};
keybindings = [
# repeat these vim bindings here cause otherwise they get overridden by vscode
{
"key" = "ctrl+b";
"when" = "inputFocus";
"command" = "cursorLeft";
}
{
"key" = "ctrl+f";
"when" = "inputFocus";
"command" = "cursorRight";
}
# clear default bindings that conflict
{
"key" = "ctrl+f";
"command" = "-actions.find";
}
{
"key" = "ctrl+b";
"command" = "-workbench.action.toggleSidebarVisibility";
}
{
"key" = "ctrl+w";
"command" = "-workbench.action.closeActiveEditor";
}
];
};
};
}

View file

@ -76,7 +76,6 @@
))
p7zip
qbittorrent
nil
android-tools
frida-tools
mitmproxy