summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2023-10-08 23:22:22 +0200
committerMike Vink <mike1994vink@gmail.com>2023-10-08 23:22:22 +0200
commit770a0226a6eb363337a72354da9ce14fcda52203 (patch)
tree8734fd9f8fe9385510cbec9091545a2a78c8fa20
parent77ad911a2c758f03c3a3e34b998cedf126f1ce9c (diff)
fixup
-rw-r--r--.sops.yaml7
-rw-r--r--mut/neovim/fnl/conf/init.fnl20
-rw-r--r--mut/neovim/fnl/conf/pkgs.fnl15
-rw-r--r--mut/neovim/fnl/conf/pkgs/cmp.fnl40
-rw-r--r--profiles/core/configuration.nix89
-rw-r--r--profiles/core/secrets.nix9
-rw-r--r--secrets/new17
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