diff --git a/.github/workflows/build-machines-and-homes.yml b/.github/workflows/build-machines-and-homes.yml index 1900b0e..43ea5bf 100644 --- a/.github/workflows/build-machines-and-homes.yml +++ b/.github/workflows/build-machines-and-homes.yml @@ -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" diff --git a/flake.lock b/flake.lock index ddda4b4..a6ee1bb 100644 --- a/flake.lock +++ b/flake.lock @@ -945,22 +945,6 @@ "type": "github" } }, - "pixelflasher": { - "locked": { - "lastModified": 1741302870, - "narHash": "sha256-7AywZ1b3PaqolAZ0vQmddD6Br4o0a7ucdtE0/W3rnaM=", - "owner": "cything", - "repo": "nixpkgs", - "rev": "5ef8b274bb7f939104295a22cec3382268ed73cc", - "type": "github" - }, - "original": { - "owner": "cything", - "ref": "pixelflasher", - "repo": "nixpkgs", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -1024,7 +1008,6 @@ "nixpkgs-stable": "nixpkgs-stable_2", "nixvim": "nixvim", "nvim-github-theme": "nvim-github-theme", - "pixelflasher": "pixelflasher", "rust-overlay": "rust-overlay", "sops-nix": "sops-nix", "treefmt": "treefmt", diff --git a/flake.nix b/flake.nix index 54a1b90..b5fccc8 100644 --- a/flake.nix +++ b/flake.nix @@ -71,7 +71,6 @@ url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; - pixelflasher.url = "github:cything/nixpkgs/pixelflasher"; attic = { url = "github:zhaofengli/attic"; inputs = { @@ -134,7 +133,6 @@ imports = [ inputs.treefmt.flakeModule ]; - debug = true; systems = [ "x86_64-linux" ]; @@ -147,11 +145,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 diff --git a/home/codium.nix b/home/codium.nix index 28c3a6e..00724b6 100644 --- a/home/codium.nix +++ b/home/codium.nix @@ -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" = [ + "" + "s" + ]; + "commands" = [ "workbench.action.toggleSidebarVisibility" ]; + } { "before" = [ "" @@ -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"; + } + ]; }; }; } diff --git a/home/yt/ytnix.nix b/home/yt/ytnix.nix index 6ce06ec..4e431b2 100644 --- a/home/yt/ytnix.nix +++ b/home/yt/ytnix.nix @@ -76,7 +76,6 @@ )) p7zip qbittorrent - nil android-tools frida-tools mitmproxy diff --git a/overlay/attic/prefetch-8-chunks.patch b/overlay/attic/prefetch-8-chunks.patch index eafc514..3d6134f 100644 --- a/overlay/attic/prefetch-8-chunks.patch +++ b/overlay/attic/prefetch-8-chunks.patch @@ -11,13 +11,4 @@ index 02e4857..b522154 100644 Download::Url(url) => Ok(Redirect::temporary(&url).into_response()), Download::AsyncRead(stream) => { let stream = ReaderStream::new(stream).map_err(|e| { -@@ -262,7 +262,7 @@ async fn get_nar( - - // TODO: Make num_prefetch configurable - // The ideal size depends on the average chunk size -- let merged = merge_chunks(chunks, streamer, storage, 2).map_err(|e| { -+ let merged = merge_chunks(chunks, streamer, storage, 8).map_err(|e| { - tracing::error!(%e, "Stream error"); - e - }); diff --git a/overlay/default.nix b/overlay/default.nix index d8780e2..71bee1e 100644 --- a/overlay/default.nix +++ b/overlay/default.nix @@ -16,7 +16,6 @@ in in { conduwuit = pkgFrom inputs.conduwuit "default"; - pixelflasher = nixpkgsFrom inputs.pixelflasher "pixelflasher"; attic-server = pkgFrom inputs.attic "attic-server"; attic = pkgFrom inputs.attic "attic"; garage = (