From 9ac817272665c3fd3909e436a532b2f73e1fb16a Mon Sep 17 00:00:00 2001 From: Christoph Schmatzler Date: Wed, 6 Aug 2025 16:43:10 +0200 Subject: [PATCH] foo fmt --- alejandra.toml | 0 flake.lock | 17 -- flake.nix | 185 ++++++++++-------- profiles/base/home-manager/neovim/autocmd.nix | 6 + profiles/base/home-manager/neovim/default.nix | 1 + .../base/home-manager/neovim/mappings.nix | 28 +++ profiles/base/home-manager/neovim/options.nix | 2 + .../base/home-manager/neovim/plugins/mini.nix | 131 ++++++++++--- .../base/home-manager/neovim/plugins/oil.nix | 9 - profiles/base/packages.nix | 1 - 10 files changed, 247 insertions(+), 133 deletions(-) create mode 100644 alejandra.toml create mode 100644 profiles/base/home-manager/neovim/mappings.nix diff --git a/alejandra.toml b/alejandra.toml new file mode 100644 index 0000000..e69de29 diff --git a/flake.lock b/flake.lock index 0bf4026..d95a18a 100644 --- a/flake.lock +++ b/flake.lock @@ -197,22 +197,6 @@ "type": "github" } }, - "homebrew-bundle": { - "flake": false, - "locked": { - "lastModified": 1745335228, - "narHash": "sha256-TIKR2UgtyUmHLNZp255/vLs+1I10hXe+sciMEbAGFwE=", - "owner": "homebrew", - "repo": "homebrew-bundle", - "rev": "a3265c84b232e13048ecbf6fc18a2eedfadbeb08", - "type": "github" - }, - "original": { - "owner": "homebrew", - "repo": "homebrew-bundle", - "type": "github" - } - }, "homebrew-cask": { "flake": false, "locked": { @@ -421,7 +405,6 @@ "disko": "disko", "flake-parts": "flake-parts", "home-manager": "home-manager_2", - "homebrew-bundle": "homebrew-bundle", "homebrew-cask": "homebrew-cask", "homebrew-core": "homebrew-core", "nix-homebrew": "nix-homebrew", diff --git a/flake.nix b/flake.nix index a806569..ebbbb63 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew"; - homebrew-bundle.url = "github:homebrew/homebrew-bundle"; homebrew-core.url = "github:homebrew/homebrew-core"; homebrew-cask.url = "github:homebrew/homebrew-cask"; disko = { @@ -26,89 +25,107 @@ }; outputs = inputs @ {flake-parts, ...}: - flake-parts.lib.mkFlake {inherit inputs;} (let - user = "cschmatzler"; - darwinHosts = builtins.attrNames (builtins.readDir ./hosts/darwin); - nixosHosts = builtins.attrNames (builtins.readDir ./hosts/nixos); - in { - systems = ["x86_64-linux" "aarch64-darwin"]; - - flake.darwinConfigurations = inputs.nixpkgs.lib.genAttrs darwinHosts (hostname: - inputs.darwin.lib.darwinSystem { - system = "aarch64-darwin"; - specialArgs = inputs // {inherit user hostname;}; - modules = [ - inputs.home-manager.darwinModules.home-manager - inputs.nix-homebrew.darwinModules.nix-homebrew - - { - nix-homebrew = { - inherit user; - enable = true; - taps = { - "homebrew/homebrew-core" = inputs.homebrew-core; - "homebrew/homebrew-cask" = inputs.homebrew-cask; - "homebrew/homebrew-bundle" = inputs.homebrew-bundle; - }; - mutableTaps = false; - autoMigrate = true; - }; - } - ./hosts/darwin/${hostname} - ]; - }); - - flake.nixosConfigurations = inputs.nixpkgs.lib.genAttrs nixosHosts (hostname: - inputs.nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = inputs // {inherit user hostname;}; - modules = [ - inputs.disko.nixosModules.disko - inputs.home-manager.nixosModules.home-manager - ./hosts/nixos/${hostname} - ]; - }); - - perSystem = { - pkgs, - system, - inputs', - ... - }: let - mkApp = name: { - type = "app"; - program = "${(pkgs.writeShellScriptBin name '' - PATH=${pkgs.git}/bin:$PATH - echo "Running ${name} for ${system}" - exec ${inputs.self}/apps/${system}/${name} "$@" - '')}/bin/${name}"; - }; - - appNames = [ - "apply" - "build" - "build-switch" - "copy-keys" - "create-keys" - "check-keys" - "rollback" - ]; + flake-parts.lib.mkFlake {inherit inputs;} ( + let + user = "cschmatzler"; + darwinHosts = builtins.attrNames (builtins.readDir ./hosts/darwin); + nixosHosts = builtins.attrNames (builtins.readDir ./hosts/nixos); in { - devShells.default = pkgs.mkShell { - nativeBuildInputs = with pkgs; [ - bashInteractive - git - age - age-plugin-yubikey - ]; - shellHook = ''export EDITOR=nvim''; - }; + systems = [ + "x86_64-linux" + "aarch64-darwin" + ]; - apps = builtins.listToAttrs (map (n: { - name = n; - value = mkApp n; - }) - appNames); - }; - }); + flake.darwinConfigurations = inputs.nixpkgs.lib.genAttrs darwinHosts ( + hostname: + inputs.darwin.lib.darwinSystem { + system = "aarch64-darwin"; + specialArgs = + inputs + // { + inherit user hostname; + }; + modules = [ + inputs.home-manager.darwinModules.home-manager + inputs.nix-homebrew.darwinModules.nix-homebrew + + { + nix-homebrew = { + inherit user; + enable = true; + taps = { + "homebrew/homebrew-core" = inputs.homebrew-core; + "homebrew/homebrew-cask" = inputs.homebrew-cask; + }; + mutableTaps = false; + autoMigrate = true; + }; + } + ./hosts/darwin/${hostname} + ]; + } + ); + + flake.nixosConfigurations = inputs.nixpkgs.lib.genAttrs nixosHosts ( + hostname: + inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = + inputs + // { + inherit user hostname; + }; + modules = [ + inputs.disko.nixosModules.disko + inputs.home-manager.nixosModules.home-manager + ./hosts/nixos/${hostname} + ]; + } + ); + + perSystem = { + pkgs, + system, + inputs', + ... + }: let + mkApp = name: { + type = "app"; + program = "${(pkgs.writeShellScriptBin name '' + PATH=${pkgs.git}/bin:$PATH + echo "Running ${name} for ${system}" + exec ${inputs.self}/apps/${system}/${name} "$@" + '')}/bin/${name}"; + }; + + appNames = [ + "apply" + "build" + "build-switch" + "copy-keys" + "create-keys" + "check-keys" + "rollback" + ]; + in { + devShells.default = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + bashInteractive + git + age + age-plugin-yubikey + ]; + shellHook = ''export EDITOR=nvim''; + }; + + apps = builtins.listToAttrs ( + map (n: { + name = n; + value = mkApp n; + }) + appNames + ); + }; + } + ); } diff --git a/profiles/base/home-manager/neovim/autocmd.nix b/profiles/base/home-manager/neovim/autocmd.nix index de69f51..9e95c47 100644 --- a/profiles/base/home-manager/neovim/autocmd.nix +++ b/profiles/base/home-manager/neovim/autocmd.nix @@ -11,6 +11,12 @@ pattern = "*"; command = "%s/\\s\\+$//e"; } + { + event = "BufReadPost"; + group = "Christoph"; + pattern = "*"; + command = "normal zR"; + } { event = "LspAttach"; group = "Christoph"; diff --git a/profiles/base/home-manager/neovim/default.nix b/profiles/base/home-manager/neovim/default.nix index 8a07d5c..3cdf422 100644 --- a/profiles/base/home-manager/neovim/default.nix +++ b/profiles/base/home-manager/neovim/default.nix @@ -2,6 +2,7 @@ imports = [ ./options.nix ./autocmd.nix + ./mappings.nix ./plugins/conform.nix ./plugins/mini.nix ./plugins/oil.nix diff --git a/profiles/base/home-manager/neovim/mappings.nix b/profiles/base/home-manager/neovim/mappings.nix new file mode 100644 index 0000000..babd804 --- /dev/null +++ b/profiles/base/home-manager/neovim/mappings.nix @@ -0,0 +1,28 @@ +{ + programs.nixvim.keymaps = [ + { + mode = "n"; + key = "lf"; + action = ":lua require('conform').format({ lsp_fallback = true })"; + options.desc = "Format"; + } + { + mode = "n"; + key = "ff"; + action = ":Pick files"; + options.desc = "Search files"; + } + { + mode = "n"; + key = "/"; + action = ":Pick grep_live"; + options.desc = "Grep"; + } + { + mode = "n"; + key = "e"; + action = ":Oil"; + options.desc = "File browser"; + } + ]; +} diff --git a/profiles/base/home-manager/neovim/options.nix b/profiles/base/home-manager/neovim/options.nix index 929d544..bfe80b7 100644 --- a/profiles/base/home-manager/neovim/options.nix +++ b/profiles/base/home-manager/neovim/options.nix @@ -2,5 +2,7 @@ programs.nixvim.globalOpts = { expandtab = true; shiftwidth = 2; + foldmethod = "expr"; + foldexpr = "nvim_treesitter#foldexpr()"; }; } diff --git a/profiles/base/home-manager/neovim/plugins/mini.nix b/profiles/base/home-manager/neovim/plugins/mini.nix index 10d5a17..1245946 100644 --- a/profiles/base/home-manager/neovim/plugins/mini.nix +++ b/profiles/base/home-manager/neovim/plugins/mini.nix @@ -6,20 +6,15 @@ options = { basic = true; extra_ui = true; - win_ui_borders = "dot"; }; mappings = { - basic = true; - windows = true; - move_with_alt = true; + basic = false; }; autocommands = { basic = true; }; }; icons = {}; - notify = {}; - sessions = {}; statusline = {}; extra = {}; ai = { @@ -30,7 +25,6 @@ }; align = {}; bracketed = {}; - bufremove = {}; comment = {}; completion = { lsp_completion = { @@ -44,21 +38,114 @@ visits = {}; pick = {}; surround = {}; + clue = { + clues.__raw = '' + { + { mode = 'n', keys = 'b', desc = '+Buffer' }, + { mode = 'n', keys = 'e', desc = '+Explore' }, + { mode = 'n', keys = 'f', desc = '+Find' }, + { mode = 'n', keys = 'g', desc = '+Git' }, + { mode = 'n', keys = 'l', desc = '+LSP' }, + { mode = 'n', keys = 'L', desc = '+Lua/Log' }, + { mode = 'n', keys = 'o', desc = '+Other' }, + { mode = 'n', keys = 'r', desc = '+R' }, + { mode = 'n', keys = 't', desc = '+Terminal/Minitest' }, + { mode = 'n', keys = 'T', desc = '+Test' }, + { mode = 'n', keys = 'v', desc = '+Visits' }, + { mode = 'x', keys = 'l', desc = '+LSP' }, + { mode = 'x', keys = 'r', desc = '+R' }, + require("mini.clue").gen_clues.builtin_completion(), + require("mini.clue").gen_clues.g(), + require("mini.clue").gen_clues.marks(), + require("mini.clue").gen_clues.registers(), + require("mini.clue").gen_clues.windows({ submode_resize = true }), + require("mini.clue").gen_clues.z(), + } + ''; + triggers = [ + { + mode = "n"; + keys = ""; + } + { + mode = "x"; + keys = ""; + } + { + mode = "n"; + keys = "["; + } + { + mode = "n"; + keys = "]"; + } + { + mode = "x"; + keys = "["; + } + { + mode = "x"; + keys = "]"; + } + { + mode = "i"; + keys = ""; + } + { + mode = "n"; + keys = "g"; + } + { + mode = "x"; + keys = "g"; + } + + { + mode = "n"; + keys = "\""; + } + { + mode = "x"; + keys = "\""; + } + { + mode = "i"; + keys = ""; + } + { + mode = "c"; + keys = ""; + } + { + mode = "n"; + keys = ""; + } + { + mode = "n"; + keys = "z"; + } + { + mode = "x"; + keys = "z"; + } + { + mode = "n"; + keys = "'"; + } + { + mode = "n"; + keys = "`"; + } + { + mode = "x"; + keys = "'"; + } + { + mode = "x"; + keys = "`"; + } + ]; + }; }; }; - - programs.nixvim.keymaps = [ - { - mode = "n"; - key = "ff"; - action = ":Pick files"; - options.desc = "Search files"; - } - { - mode = "n"; - key = "/"; - action = ":Pick grep_live"; - options.desc = "Grep"; - } - ]; } diff --git a/profiles/base/home-manager/neovim/plugins/oil.nix b/profiles/base/home-manager/neovim/plugins/oil.nix index 2fd4a4d..82f910d 100644 --- a/profiles/base/home-manager/neovim/plugins/oil.nix +++ b/profiles/base/home-manager/neovim/plugins/oil.nix @@ -27,13 +27,4 @@ }; }; }; - - programs.nixvim.keymaps = [ - { - mode = "n"; - key = "e"; - action = ":Oil"; - options.desc = "File browser"; - } - ]; } diff --git a/profiles/base/packages.nix b/profiles/base/packages.nix index a4d11bb..04fd8d3 100644 --- a/profiles/base/packages.nix +++ b/profiles/base/packages.nix @@ -13,7 +13,6 @@ with pkgs; [ killall libfido2 nerd-fonts.iosevka - nixfmt nodejs_24 nurl opencode