diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2023-10-08 23:22:22 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2023-10-08 23:22:22 +0200 |
| commit | 770a0226a6eb363337a72354da9ce14fcda52203 (patch) | |
| tree | 8734fd9f8fe9385510cbec9091545a2a78c8fa20 | |
| parent | 77ad911a2c758f03c3a3e34b998cedf126f1ce9c (diff) | |
fixup
| -rw-r--r-- | .sops.yaml | 7 | ||||
| -rw-r--r-- | mut/neovim/fnl/conf/init.fnl | 20 | ||||
| -rw-r--r-- | mut/neovim/fnl/conf/pkgs.fnl | 15 | ||||
| -rw-r--r-- | mut/neovim/fnl/conf/pkgs/cmp.fnl | 40 | ||||
| -rw-r--r-- | profiles/core/configuration.nix | 89 | ||||
| -rw-r--r-- | profiles/core/secrets.nix | 9 | ||||
| -rw-r--r-- | secrets/new | 17 |
7 files changed, 68 insertions, 129 deletions
diff --git a/.sops.yaml b/.sops.yaml new file mode 100644 index 0000000..d0c19a9 --- /dev/null +++ b/.sops.yaml @@ -0,0 +1,7 @@ +keys: + - &ivi age10q9wse8dh0749ffj576q775q496pycucxlla9rjdq5rd7f4csyhqqrmkk0 +creation_rules: + - path_regex: secrets/[^/]+\.?(yaml|json|env|ini)?$ + key_groups: + - age: + - *ivi diff --git a/mut/neovim/fnl/conf/init.fnl b/mut/neovim/fnl/conf/init.fnl index a475013..1ee3b7f 100644 --- a/mut/neovim/fnl/conf/init.fnl +++ b/mut/neovim/fnl/conf/init.fnl @@ -7,13 +7,11 @@ (require :conf.settings) (require :conf.pkgs) -;; (require :conf.lsp) -;; (require :conf.events) -;; (require :conf.filetype) -;; (require :conf.newtab) -(require :conf.nix-develop) - -;; (require :conf.diagnostic) +(tset _G :P (lambda [...] + (let [inspected (icollect [_ v (ipairs [...])] + (vim.inspect v))] + (each [_ printer (ipairs inspected)] + (print printer))))) (local tel (require :telescope)) (local themes (require :telescope.themes)) @@ -83,6 +81,7 @@ :on_exit (fn [id rc] (if (= rc 0) (vim.cmd ":cope")))}))) + (var last_job nil) (vim.api.nvim_create_user_command :Compile (fn [cmd] (set last_job cmd.fargs) @@ -93,10 +92,3 @@ (job last_job) (vim.notify "nothing to recompile"))) {:bang true}) - - -(tset _G :P (lambda [...] - (let [inspected (icollect [_ v (ipairs [...])] - (vim.inspect v))] - (each [_ printer (ipairs inspected)] - (print printer))))) diff --git a/mut/neovim/fnl/conf/pkgs.fnl b/mut/neovim/fnl/conf/pkgs.fnl index 283edb8..f47ee8e 100644 --- a/mut/neovim/fnl/conf/pkgs.fnl +++ b/mut/neovim/fnl/conf/pkgs.fnl @@ -1,14 +1,9 @@ (require :conf.pkgs.cmp) - -;; (require :conf.pkgs.null-ls) -;; (require :conf.pkgs.lspconfig) +(require :conf.pkgs.lspconfig) (require :conf.pkgs.treesitter) (require :conf.pkgs.tree-sitter-context) -;; (require :conf.pkgs.conjure) -;; (require :conf.pkgs.test) +(require :conf.pkgs.dap) +(require :conf.pkgs.venn) +(require :conf.pkgs.gitsigns) ;; (require :conf.pkgs.lsp_lines) -;; (require :conf.pkgs.dap) -;; (require :conf.pkgs.heirline) -;; (require :conf.pkgs.gitsigns) -;; (require :conf.pkgs.harpoon) -;; (require :conf.pkgs.venn) +;; (require :conf.pkgs.null-ls) diff --git a/mut/neovim/fnl/conf/pkgs/cmp.fnl b/mut/neovim/fnl/conf/pkgs/cmp.fnl index 1edce94..0a22f23 100644 --- a/mut/neovim/fnl/conf/pkgs/cmp.fnl +++ b/mut/neovim/fnl/conf/pkgs/cmp.fnl @@ -10,6 +10,15 @@ (fn edit? [line] (not= nil (line:match "^ed?i?t? .*$"))) +(fn endswith? [line char] + (not= nil (line:match (.. ".*" char "$")))) + +(fn replace-tail [line] + (let [(result n) (line:gsub "(.*/)[^/]*/$" "%1")] + (if (not= nil n) + result + line))) + (fn enum [types key] (. (. cmp types) key)) @@ -56,7 +65,29 @@ (cmp.close)) val) :completion {:completeopt "menu,menuone,noinsert"} - :mapping {:<CR> (cmp.mapping + :mapping {:<C-n> (cmp.mapping + (fn [fallback] + (if (cmp.visible) + (cmp.select_next_item) + (fallback))) + [:i :c]) + :<C-p> (cmp.mapping + (fn [fallback] + (if (cmp.visible) + (cmp.select_prev_item) + (fallback))) + [:i :c]) + :<BS> (cmp.mapping + (fn [fallback] + (local line (vim.fn.getcmdline)) + (if (not (endswith? line "/")) + (fallback) + (do + (vim.fn.setcmdline (replace-tail line)) + (vim.fn.feedkeys (vim.api.nvim_replace_termcodes "<C-g><BS>" true false true) false) + (vim.schedule cmp.complete)))) + [:i :c]) + :<CR> (cmp.mapping (fn [fallback] (local entry (cmp.get_selected_entry)) (local line (vim.fn.getcmdline)) @@ -72,7 +103,7 @@ (vim.schedule fallback)))))) [:i :c])} :sources (cmp.config.sources - [{:name :cmdline} {:name :path}])} + [{:name :cmdline :trigger_characters []} {:name :path}])} @@ -82,7 +113,10 @@ (let [map vim.keymap.set] (map :n :<leader>xf (fn [] - (vim.api.nvim_feedkeys (.. ":e " (vim.fn.getcwd)) :c false) + (local fname (vim.fn.fnamemodify + (vim.fn.bufname (vim.api.nvim_get_current_buf)) + ::p:h)) + (vim.api.nvim_feedkeys (.. ":e " fname) :c false) (vim.defer_fn #(vim.api.nvim_feedkeys "/" :c false) 10)))) (cmp-setup (require :cmp) true) diff --git a/profiles/core/configuration.nix b/profiles/core/configuration.nix index e677306..dd1cca6 100644 --- a/profiles/core/configuration.nix +++ b/profiles/core/configuration.nix @@ -12,92 +12,11 @@ hardware.keyboard.qmk.enable = true; services.udev.extraRules = '' - # Atmel DFU - ### ATmega16U2 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess" - ### ATmega32U2 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess" - ### ATmega16U4 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess" - ### ATmega32U4 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess" - ### AT90USB64 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess" - ### AT90USB162 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", TAG+="uaccess" - ### AT90USB128 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess" + # Yubico Yubikey II + ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010|0110|0111|0114|0116|0401|0403|0405|0407|0410", \ + ENV{ID_SECURITY_TOKEN}="1" - # Input Club - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess" - - # STM32duino - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess" - # STM32 DFU - SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess" - - # BootloadHID - SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess" - - # USBAspLoader - SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess" - - # USBtinyISP - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1782", ATTRS{idProduct}=="0c9f", TAG+="uaccess" - - # ModemManager should ignore the following devices - # Atmel SAM-BA (Massdrop) - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - - # Caterina (Pro Micro) - ## pid.codes shared PID - ### Keyboardio Atreus 2 Bootloader - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2302", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ## Spark Fun Electronics - ### Pro Micro 3V3/8MHz - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ### Pro Micro 5V/16MHz - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ### LilyPad 3V3/8MHz (and some Pro Micro clones) - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ## Pololu Electronics - ### A-Star 32U4 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ## Arduino SA - ### Leonardo - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ### Micro - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ## Adafruit Industries LLC - ### Feather 32U4 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ### ItsyBitsy 32U4 3V3/8MHz - SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ### ItsyBitsy 32U4 5V/16MHz - SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ## dog hunter AG - ### Leonardo - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - ### Micro - SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - - # hid_listen - KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl" - - # hid bootloaders - ## QMK HID - SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2067", TAG+="uaccess" - ## PJRC's HalfKay - SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", TAG+="uaccess" - - # APM32 DFU - SUBSYSTEMS=="usb", ATTRS{idVendor}=="314b", ATTRS{idProduct}=="0106", TAG+="uaccess" - - # GD32V DFU - SUBSYSTEMS=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", TAG+="uaccess" - - # WB32 DFU - SUBSYSTEMS=="usb", ATTRS{idVendor}=="342d", ATTRS{idProduct}=="dfa0", TAG+="uaccess" + KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0200|0402|0403|0406|0407|0410", TAG+="uaccess" ''; boot.loader.systemd-boot.enable = true; diff --git a/profiles/core/secrets.nix b/profiles/core/secrets.nix index e09a1fb..5c44676 100644 --- a/profiles/core/secrets.nix +++ b/profiles/core/secrets.nix @@ -5,16 +5,10 @@ ]; sops = { gnupg = { - home = config.hm.programs.gpg.homedir; sshKeyPaths = []; }; age.sshKeyPaths = []; - - # Taken from: https://github.com/ncfavier/config/blob/main/modules/secrets.nix - # GPG running as root can't find my socket dir (https://github.com/NixOS/nixpkgs/issues/57779) - environment.SOPS_GPG_EXEC = pkgs.writeShellScript "gpg-mike" '' - exec ${pkgs.util-linux}/bin/runuser -u mike -- ${pkgs.gnupg}/bin/gpg "$@" - ''; + age.keyFile = "${config.hm.xdg.configHome}/sops/age/keys.txt"; secrets = mapAttrs' (name: _: let parts = splitString "." name; @@ -33,7 +27,6 @@ environment = { systemPackages = [ pkgs.sops ]; - sessionVariables.SOPS_PGP_FP = "95B594256E6684F46B337254CE5CD59ACAB73E44"; }; hm = { diff --git a/secrets/new b/secrets/new index d9ea1b6..f8bd2c4 100644 --- a/secrets/new +++ b/secrets/new @@ -1,21 +1,20 @@ { - "data": "ENC[AES256_GCM,data:/sGitSow+1GAVLO0Dg==,iv:DWE4NsZcVB1/Teye/fx3jU6j6Px/Ok5isLYPVCN4Qm0=,tag:40cfCDeMJwa1sgEhE3hUaA==,type:str]", + "data": "ENC[AES256_GCM,data:/2Q8kuOsEwmvqbDCzMSlfA==,iv:m8rEQaFQvRdPv/49jlkREEURhRSdEyCCimzsBe0I0+Y=,tag:bVyBW5Ish7yLCelx8s13Bw==,type:str]", "sops": { "kms": null, "gcp_kms": null, "azure_kv": null, "hc_vault": null, - "age": null, - "lastmodified": "2023-10-08T01:28:33Z", - "mac": "ENC[AES256_GCM,data:M2MNGzm+lSoflaj4AvKCcpo8kskagkJN9ObWfszlCwSziKVAiGvVXxCXdR7WG74qQoMrmnxSSs9QpYleZI6eNl/GuTKlBA9xxPdfeNc2r3suxwGCwHmKI5hy6pzndKAzz+kn6Z1NeySGUEBv78de7eJDU/8ddHfx5HxFUlTUae0=,iv:5iHn+sVkH7imZm9wydPUlMZeWlXMILZlwvaEbDPFBws=,tag:6azXE6jQDer+QT1ldZtMXg==,type:str]", - "pgp": [ + "age": [ { - "created_at": "2023-10-08T00:42:28Z", - "enc": "-----BEGIN PGP MESSAGE-----\n\nhQIMAwAAAAAAAAAAARAAoDnYbjDQN0415ghWjWTYFq+7C9nQpUCcNUteADrYOAsm\nJXKv5d543lFEixcZaldJ1D3Xh2y3qJO4EStQy3Vjj/FmkdUeicD10AG9Op51ASjb\nX6yrXGVCykdV5/CSLXkdw1OpIZGYs/BkGX8sZjsSwYzqO0Z4Qy6o5cmeNgMzgCIR\n+SfqLaeDIVPueOYkmwA84+cJgQkMRlevUk2rvYdDJgg4LozSQSxWQUZE//PGPA3j\nD2VxOjWDu2LXhbNV4/dleRxUusGUSNC56TGKzbm/n+ryHKOrB8Wnu84ShSbRj2GC\nNXu8xyBWYdBNrCZay7/wauDl/gkZHJjdo71Ex7ADCXQgF/AvFXDmNGxasob8mpq/\npdCtE98IfIQDmZT4AkU19GNvGhyZEvyJKopCto4oTyJ81d4sKuu5oAOt8VG+KEAO\nNSr1hFKnk7jOuFOFPXYU5al09kP2Ug135Yze2rUPHjT4lHWGkI/AI5zn2z28tthz\nrASSIlVH1bIW8oQ31rmDyUsfMbrBl/IaaefpAukzcvGLaAw1OZBVomIgbY99hE1u\n7BDDS2Fz6gzVyrwDmNMh/SJKPS5l1/Ey2/VzLe/fEs2Enob350SpUo1qB8j3WpnK\n75gn2mfGNS1lceV1AE/9uR4H+9nGGMxc6NQZK6ExYKmhktxX2pVD7S5xWlne6y3S\nXAFdCKj2RHhlesihZcucTNl9Ano/xfnNxjBnFuTHnmvR7TKHoNyAweaNWUR/B8mJ\nfvjU17vRthrEc7OZYCb+cucqzPTNyxHvoURl5629JyD2che5xXM5qU2+V8lp\n=Iyee\n-----END PGP MESSAGE-----\n", - "fp": "95B594256E6684F46B337254CE5CD59ACAB73E44" + "recipient": "age10q9wse8dh0749ffj576q775q496pycucxlla9rjdq5rd7f4csyhqqrmkk0", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4akNhZnJXWlFlekpDUlp5\ndjQ0Q0RIWUV4aTRocFIrMlZOcFRTZzBKMVVFCm5TMlErRnVYZHkrang0TkJnN1Z6\nQUhCRmF3RjNuYnRXQXlYWlUvV3VsTUEKLS0tIE8xMllXSENnSnBsdU9qdndaYm1P\nR3Q0bEVCVXFkMmhTL1JXRkxqWTczS0EKqJoH5jXbZxU83bEF2LFsuGEksx56Sztq\n8J658rzZPMbVu2TeOQkqqNy7x0qbC28LL4iZ6FmoJJi1eI+yXUX3iw==\n-----END AGE ENCRYPTED FILE-----\n" } ], + "lastmodified": "2023-10-08T20:33:55Z", + "mac": "ENC[AES256_GCM,data:+1iQPIAlOv45Wz8rdpqR9rFVfKk07a6WpQrJWZFY+MEENymey5wugB+m03ZS1Y4r+iHyj4AMCM09X68xSRGTmX9WantQedFj/9F1wOcYY+Fvm/jAhbJIcYFVOchn849T8bJaIqsGOZic0IeexilaJofm8HdQr4Ki7M5aHBH0fOw=,iv:JVwUzdpaTt6NlpeyWob9u/HR6VMebfmEYCKOs17rDqk=,tag:D0vu4ciENvKoFBMtWtJsUQ==,type:str]", + "pgp": null, "unencrypted_suffix": "_unencrypted", - "version": "3.7.3" + "version": "3.8.0" } }
\ No newline at end of file |
