From b744693f0e8c28d67aeb98a974490d021eee1dd9 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 1 Mar 2022 23:53:11 +0100 Subject: [PATCH 001/525] initial(ish) commit --- darwin-common.nix | 25 ++ data/monitoring.toml | 31 ++ data/pubkeys.nix | 26 ++ flake.lock | 417 +++++++++++++++++ flake.nix | 132 ++++++ hm-imports/cli.nix | 118 +++++ hm-imports/files.nix | 12 + hm-imports/nvim/config/coc-settings.json | 51 +++ hm-imports/nvim/config/coc.vim | 145 ++++++ hm-imports/nvim/config/init.lua | 47 ++ hm-imports/nvim/config/lua/filetypes.lua | 3 + hm-imports/nvim/config/lua/keybindings.lua | 45 ++ hm-imports/nvim/config/lua/plugin/lualine.lua | 28 ++ hm-imports/nvim/config/lua/plugin/nnn.lua | 11 + hm-imports/nvim/config/lua/plugin/rainbow.lua | 1 + .../nvim/config/lua/plugin/terminal.lua | 22 + hm-imports/nvim/config/lua/utils.lua | 21 + hm-imports/nvim/config/snippets/all.snippets | 121 +++++ hm-imports/nvim/config/snippets/go.snippets | 115 +++++ hm-imports/nvim/config/snippets/java.snippets | 399 +++++++++++++++++ .../nvim/config/snippets/pandoc.snippets | 172 +++++++ .../nvim/config/snippets/python.snippets | 3 + .../nvim/config/snippets/snippets.snippets | 5 + hm-imports/nvim/config/terminal.vim | 9 + hm-imports/nvim/default.nix | 84 ++++ hm-imports/tmux/default.nix | 16 + hm-imports/zsh/default.nix | 34 ++ hm-imports/zsh/zshrc | 62 +++ hosts/daedalus/default.nix | 62 +++ hosts/ds9/default.nix | 213 +++++++++ hosts/ds9/hardware-configuration.nix | 52 +++ hosts/picard/default.nix | 63 +++ hosts/picard/hardware-configuration.nix | 42 ++ hosts/wormhole/default.nix | 92 ++++ hosts/wormhole/router.nix | 422 ++++++++++++++++++ lib/attrs.nix | 26 ++ lib/default.nix | 18 + lib/modules.nix | 54 +++ lib/options.nix | 18 + nixos-common.nix | 64 +++ nixos-modules/cli/default.nix | 62 +++ nixos-modules/cli/zsh/zsh.nix | 53 +++ nixos-modules/cli/zsh/zshrc | 46 ++ nixos-modules/hardware/bluetooth.nix | 24 + nixos-modules/hardware/laptop.nix | 23 + nixos-modules/hardware/nvidia.nix | 12 + nixos-modules/hardware/rpi3.nix | 36 ++ nixos-modules/networking/tailscale.nix | 45 ++ nixos-modules/services/bitwarden.nix | 49 ++ nixos-modules/services/ddns.nix | 60 +++ nixos-modules/services/docker.nix | 16 + nixos-modules/services/gitlab.nix | 49 ++ nixos-modules/services/grafana.nix | 32 ++ nixos-modules/services/hedgedoc.nix | 55 +++ nixos-modules/services/jellyfin.nix | 68 +++ nixos-modules/services/libvirt.nix | 17 + nixos-modules/services/monitoring.nix | 162 +++++++ nixos-modules/services/nginx.nix | 38 ++ nixos-modules/services/paperless.nix | 39 ++ nixos-modules/services/samba.nix | 28 ++ nixos-modules/services/ssh.nix | 12 + nixos-modules/services/synapse.nix | 130 ++++++ nixos-modules/services/ts3.nix | 22 + nixos-modules/services/unifi.nix | 26 ++ nixos-modules/system/agenix.nix | 39 ++ nixos-modules/system/fs.nix | 92 ++++ nixos-modules/system/persist.nix | 34 ++ nixos-modules/system/security.nix | 27 ++ nixos-modules/user/default.nix | 65 +++ secrets/cloudflareAcme.age | 23 + secrets/ds9rcloneConfig.age | Bin 0 -> 1279 bytes secrets/ds9resticPassword.age | 16 + secrets/gitlabDBFile.age | Bin 0 -> 748 bytes secrets/gitlabInitialRootPassword.age | 16 + secrets/gitlabJWSFile.age | Bin 0 -> 2410 bytes secrets/gitlabOTPFile.age | 16 + secrets/gitlabSecretFile.age | Bin 0 -> 788 bytes secrets/hedgedocSecret.age | 16 + secrets/nextcloudAdminPass.age | 15 + secrets/nextshot.age | 21 + secrets/paperlessAdminPW.age | 16 + secrets/pulseLaunch.age | Bin 0 -> 1330 bytes secrets/ragonPasswd.age | 30 ++ secrets/rootPasswd.age | 30 ++ secrets/secrets.nix | 23 + secrets/tailscaleKey.age | 29 ++ secrets/wireguardvoyager.age | 15 + secrets/wireguardwormhole.age | 17 + 88 files changed, 4925 insertions(+) create mode 100644 darwin-common.nix create mode 100644 data/monitoring.toml create mode 100644 data/pubkeys.nix create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 hm-imports/cli.nix create mode 100644 hm-imports/files.nix create mode 100644 hm-imports/nvim/config/coc-settings.json create mode 100644 hm-imports/nvim/config/coc.vim create mode 100644 hm-imports/nvim/config/init.lua create mode 100644 hm-imports/nvim/config/lua/filetypes.lua create mode 100644 hm-imports/nvim/config/lua/keybindings.lua create mode 100644 hm-imports/nvim/config/lua/plugin/lualine.lua create mode 100644 hm-imports/nvim/config/lua/plugin/nnn.lua create mode 100644 hm-imports/nvim/config/lua/plugin/rainbow.lua create mode 100644 hm-imports/nvim/config/lua/plugin/terminal.lua create mode 100644 hm-imports/nvim/config/lua/utils.lua create mode 100644 hm-imports/nvim/config/snippets/all.snippets create mode 100644 hm-imports/nvim/config/snippets/go.snippets create mode 100644 hm-imports/nvim/config/snippets/java.snippets create mode 100644 hm-imports/nvim/config/snippets/pandoc.snippets create mode 100644 hm-imports/nvim/config/snippets/python.snippets create mode 100644 hm-imports/nvim/config/snippets/snippets.snippets create mode 100644 hm-imports/nvim/config/terminal.vim create mode 100644 hm-imports/nvim/default.nix create mode 100644 hm-imports/tmux/default.nix create mode 100644 hm-imports/zsh/default.nix create mode 100644 hm-imports/zsh/zshrc create mode 100644 hosts/daedalus/default.nix create mode 100644 hosts/ds9/default.nix create mode 100644 hosts/ds9/hardware-configuration.nix create mode 100644 hosts/picard/default.nix create mode 100644 hosts/picard/hardware-configuration.nix create mode 100644 hosts/wormhole/default.nix create mode 100644 hosts/wormhole/router.nix create mode 100644 lib/attrs.nix create mode 100644 lib/default.nix create mode 100644 lib/modules.nix create mode 100644 lib/options.nix create mode 100644 nixos-common.nix create mode 100644 nixos-modules/cli/default.nix create mode 100644 nixos-modules/cli/zsh/zsh.nix create mode 100644 nixos-modules/cli/zsh/zshrc create mode 100644 nixos-modules/hardware/bluetooth.nix create mode 100644 nixos-modules/hardware/laptop.nix create mode 100644 nixos-modules/hardware/nvidia.nix create mode 100644 nixos-modules/hardware/rpi3.nix create mode 100644 nixos-modules/networking/tailscale.nix create mode 100644 nixos-modules/services/bitwarden.nix create mode 100644 nixos-modules/services/ddns.nix create mode 100644 nixos-modules/services/docker.nix create mode 100644 nixos-modules/services/gitlab.nix create mode 100644 nixos-modules/services/grafana.nix create mode 100644 nixos-modules/services/hedgedoc.nix create mode 100644 nixos-modules/services/jellyfin.nix create mode 100644 nixos-modules/services/libvirt.nix create mode 100644 nixos-modules/services/monitoring.nix create mode 100644 nixos-modules/services/nginx.nix create mode 100644 nixos-modules/services/paperless.nix create mode 100644 nixos-modules/services/samba.nix create mode 100644 nixos-modules/services/ssh.nix create mode 100644 nixos-modules/services/synapse.nix create mode 100644 nixos-modules/services/ts3.nix create mode 100644 nixos-modules/services/unifi.nix create mode 100644 nixos-modules/system/agenix.nix create mode 100644 nixos-modules/system/fs.nix create mode 100644 nixos-modules/system/persist.nix create mode 100644 nixos-modules/system/security.nix create mode 100644 nixos-modules/user/default.nix create mode 100644 secrets/cloudflareAcme.age create mode 100644 secrets/ds9rcloneConfig.age create mode 100644 secrets/ds9resticPassword.age create mode 100644 secrets/gitlabDBFile.age create mode 100644 secrets/gitlabInitialRootPassword.age create mode 100644 secrets/gitlabJWSFile.age create mode 100644 secrets/gitlabOTPFile.age create mode 100644 secrets/gitlabSecretFile.age create mode 100644 secrets/hedgedocSecret.age create mode 100644 secrets/nextcloudAdminPass.age create mode 100644 secrets/nextshot.age create mode 100644 secrets/paperlessAdminPW.age create mode 100644 secrets/pulseLaunch.age create mode 100644 secrets/ragonPasswd.age create mode 100644 secrets/rootPasswd.age create mode 100644 secrets/secrets.nix create mode 100644 secrets/tailscaleKey.age create mode 100644 secrets/wireguardvoyager.age create mode 100644 secrets/wireguardwormhole.age diff --git a/darwin-common.nix b/darwin-common.nix new file mode 100644 index 00000000..29619aa8 --- /dev/null +++ b/darwin-common.nix @@ -0,0 +1,25 @@ +{config, pkgs, ...}: { + programs.gnupg.agent.enable = true; + services.nix-daemon.enable = true; + nix.package = pkgs.nixFlakes; + nix.buildCores = 0; # use all cores + nix.maxJobs = 10; # use all cores + + system.defaults = { + NSGlobalDomain.AppleShowAllExtensions = true; + NSGlobalDomain.InitialKeyRepeat = 25; + NSGlobalDomain.KeyRepeat = 4; + NSGlobalDomain.NSNavPanelExpandedStateForSaveMode = true; + NSGlobalDomain.PMPrintingExpandedStateForPrint = true; + NSGlobalDomain."com.apple.mouse.tapBehavior" = 1; + NSGlobalDomain."com.apple.trackpad.trackpadCornerClickBehavior" = 1; + dock.autohide = true; + dock.mru-spaces = false; + dock.show-recents = false; + dock.static-only = true; + finder.AppleShowAllExtensions = true; + finder.FXEnableExtensionChangeWarning = false; + loginwindow.GuestEnabled = false; + }; +} + diff --git a/data/monitoring.toml b/data/monitoring.toml new file mode 100644 index 00000000..3582a369 --- /dev/null +++ b/data/monitoring.toml @@ -0,0 +1,31 @@ +[master] +hostname = "ds9" +ip = "10.0.0.2" + +[hostOverrides] +wormhole = "10.0.0.1" +picard = "ragon.xyz" + +[exporters.nginx] +hosts = [ + "ds9", + "wormhole" +] + +[exporters.node] +hosts = [ "ds9", "wormhole" ] + +[exporters.smartctl] +hosts = [ "ds9" ] + +[exporters.dnsmasq] +hosts = [ "wormhole" ] + +[exporters.wireguard] +hosts = [ "wormhole"] + +[exporters.smokeping] +hosts = [ "wormhole"] + +[promtail] +hosts = [ "wormhole", "ds9" ] diff --git a/data/pubkeys.nix b/data/pubkeys.nix new file mode 100644 index 00000000..f63ce2a7 --- /dev/null +++ b/data/pubkeys.nix @@ -0,0 +1,26 @@ +let + ragon = + let + user = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJwOH1b6xWmEr1VZh48kBIYhW11vtPFR3my8stAHlSi" # saurier + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIuwQJY0H/fdu1UmGXAut7VfcvAk2Dm78tJpkyyv2in2" # daedalus + ]; + server = user ++ hosts.ds9 ++ hosts.wormhole ++ hosts.picard ++ hosts.octopi; + client = user ++ hosts.enterprise ++ hosts.voyager; + hosts = { + wormhole = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINzR5dq/2UosH3nLrc9PvJi3rzX917K2wICeOUAiDnl6" ]; + daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9gTeFNEO+Puf8j0rxq0qyR+OgH0eSqDYBR20aACkpP" ]; + ds9 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+BBXufXAJhyUHVfhqlk8Y4zEKJbKXgJQvsdE482lpV" ]; + picard = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAm3UXZaN95WBUaS9SiHLNEuI1tP1x1w07qnYxPe+vdr" ]; + }; + in + { + inherit user server client; + computers = user ++ (builtins.foldl' (a: b: a ++ b) [ ] (builtins.attrValues hosts)); # everything + host = hn: (hosts.${hn} ++ user); + hosts = hn: ((map (x: hosts.${x}) hn) ++ user); + }; +in +{ + inherit ragon; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..f178bfeb --- /dev/null +++ b/flake.lock @@ -0,0 +1,417 @@ +{ + "nodes": { + "agenix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1646105662, + "narHash": "sha256-jdXCZbGZL0SWWi29GnAOFHUh/QvvP0IyaVLv1ZTDkBI=", + "owner": "ryantm", + "repo": "agenix", + "rev": "297cd58b418249240b9f1f155d52b1b17f292884", + "type": "github" + }, + "original": { + "owner": "ryantm", + "ref": "main", + "repo": "agenix", + "type": "github" + } + }, + "agkozak-zsh-prompt": { + "flake": false, + "locked": { + "lastModified": 1636940431, + "narHash": "sha256-II7+pwMpXPB3MhYScALZcs/28CPQltEt1FCwen7CxSE=", + "owner": "agkozak", + "repo": "agkozak-zsh-prompt", + "rev": "87ea6db9375032a6a26496a7f4a6266804f6929a", + "type": "github" + }, + "original": { + "owner": "agkozak", + "repo": "agkozak-zsh-prompt", + "type": "github" + } + }, + "coc-nvim": { + "flake": false, + "locked": { + "lastModified": 1646003439, + "narHash": "sha256-9YYILWjYyEaNJPePkqEhBGlTPZ79zFb/p94TPlbq3pQ=", + "owner": "neoclide", + "repo": "coc.nvim", + "rev": "f1a027298cb58b8ddf12ff1193b9e2706b4909a2", + "type": "github" + }, + "original": { + "owner": "neoclide", + "ref": "release", + "repo": "coc.nvim", + "type": "github" + } + }, + "dart-vim": { + "flake": false, + "locked": { + "lastModified": 1643154552, + "narHash": "sha256-f4h4nWbAm6wL7c6gCVRvyXvzGwj0I4PAij579RoFitI=", + "owner": "dart-lang", + "repo": "dart-vim-plugin", + "rev": "42e6f57f2404b882cb7e491d50e525f8a8eb7f1f", + "type": "github" + }, + "original": { + "owner": "dart-lang", + "ref": "master", + "repo": "dart-vim-plugin", + "type": "github" + } + }, + "darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1645293039, + "narHash": "sha256-PwdDu+SkX8dreeuJ/4av1sEluNZdrpdXv8JsRKKg1Yc=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "1df878b6f8351795a3bebfbe4fd2d02e1e8b29d6", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1641205782, + "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1629481132, + "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "997f7efcb746a9c140ce1f13c72263189225f482", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1645970334, + "narHash": "sha256-6nn4YF9bPtkxkB7bM6yJO3m//p3sGilxNQFjm1epLEM=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "ea85f4b1fdf3f25cf97dc49f4a9ec4eafda2ea25", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "impermanence": { + "locked": { + "lastModified": 1644791231, + "narHash": "sha256-iDihsF1fUMK4xXiUudPnDM3veH1LXbbxfP9Lzekw9iU=", + "owner": "nix-community", + "repo": "impermanence", + "rev": "635bcd2d88739197a0b584aa9fadaa53c717a853", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "impermanence", + "type": "github" + } + }, + "naersk": { + "inputs": { + "nixpkgs": [ + "rnix-lsp", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1639947939, + "narHash": "sha256-pGsM8haJadVP80GFq4xhnSpNitYNQpaXk4cnA796Cso=", + "owner": "nix-community", + "repo": "naersk", + "rev": "2fc8ce9d3c025d59fee349c1f80be9785049d653", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "naersk", + "type": "github" + } + }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1646012280, + "narHash": "sha256-rgx3+Xkqm6E9oR1hXKmipyTmMQb8kyXEklDuHHplD/I=", + "owner": "neovim", + "repo": "neovim", + "rev": "e383543342db8e9dcf40f7d5237edeab29638880", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "neovim-flake": "neovim-flake", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1646036082, + "narHash": "sha256-dRTzOZszaNupxRUkEX11K4hzRCzcB2apNsyGx0WsmbU=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "c5d3b328cfe9c7414363f70d583dce6584a72251", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "nixos-hardware": { + "locked": { + "lastModified": 1645855197, + "narHash": "sha256-0FvBpX/9n69vg+XgcMow0RIRYbTHav1uCbL9Xt9HvcA=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "c3c66f6db4ac74a59eb83d83e40c10046ebc0b8c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixos-hardware", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1645433236, + "narHash": "sha256-4va4MvJ076XyPp5h8sm5eMQvCrJ6yZAbBmyw95dGyw4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7f9b6e2babf232412682c09e57ed666d8f84ac2d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-master": { + "locked": { + "lastModified": 1646109749, + "narHash": "sha256-09nJZGDSoy+1LWX3AqjjQUJPpx9pYYhwOOI32sx7+Fg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "13e74fc7ff2f691da0791db67fe65930403b391d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, + "nnn-vim": { + "flake": false, + "locked": { + "lastModified": 1641252513, + "narHash": "sha256-ZWvTTioLoA+/HXTghp1EH2PH4A0mLDLtqzPKGsGB+ZY=", + "owner": "mcchrish", + "repo": "nnn.vim", + "rev": "169951733371abd152d76d1ce65e2dd867156e2d", + "type": "github" + }, + "original": { + "owner": "mcchrish", + "repo": "nnn.vim", + "type": "github" + } + }, + "rnix-lsp": { + "inputs": { + "naersk": "naersk", + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1643586450, + "narHash": "sha256-BRIAc3+zavSlJPYSbov2n1W9/a4Iuh2swFPYRWjCm1g=", + "owner": "nix-community", + "repo": "rnix-lsp", + "rev": "41eb2f3366e3f351bf2563c2a7c46fd17e78dfe0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "rnix-lsp", + "type": "github" + } + }, + "root": { + "inputs": { + "agenix": "agenix", + "agkozak-zsh-prompt": "agkozak-zsh-prompt", + "coc-nvim": "coc-nvim", + "dart-vim": "dart-vim", + "darwin": "darwin", + "home-manager": "home-manager", + "impermanence": "impermanence", + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs", + "nixpkgs-master": "nixpkgs-master", + "nnn-vim": "nnn-vim", + "rnix-lsp": "rnix-lsp", + "utils": "utils_2", + "zsh-completions": "zsh-completions", + "zsh-syntax-highlighting": "zsh-syntax-highlighting", + "zsh-vim-mode": "zsh-vim-mode" + } + }, + "utils": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_2": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "zsh-completions": { + "flake": false, + "locked": { + "lastModified": 1645684485, + "narHash": "sha256-4ny89Dlop6ZekKGcMHTSu9ltR2FP1Ymb8rhDS1cc1+M=", + "owner": "zsh-users", + "repo": "zsh-completions", + "rev": "6fbf5fc9a7033bc47d4c61b2d6b97fe0c74d9c45", + "type": "github" + }, + "original": { + "owner": "zsh-users", + "repo": "zsh-completions", + "type": "github" + } + }, + "zsh-syntax-highlighting": { + "flake": false, + "locked": { + "lastModified": 1645642093, + "narHash": "sha256-UqeK+xFcKMwdM62syL2xkV8jwkf/NWfubxOTtczWEwA=", + "owner": "zsh-users", + "repo": "zsh-syntax-highlighting", + "rev": "c5ce0014677a0f69a10b676b6038ad127f40c6b1", + "type": "github" + }, + "original": { + "owner": "zsh-users", + "ref": "master", + "repo": "zsh-syntax-highlighting", + "type": "github" + } + }, + "zsh-vim-mode": { + "flake": false, + "locked": { + "lastModified": 1616290526, + "narHash": "sha256-a+6EWMRY1c1HQpNtJf5InCzU7/RphZjimLdXIXbO6cQ=", + "owner": "softmoth", + "repo": "zsh-vim-mode", + "rev": "1f9953b7d6f2f0a8d2cb8e8977baa48278a31eab", + "type": "github" + }, + "original": { + "owner": "softmoth", + "repo": "zsh-vim-mode", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..5d2e4ba9 --- /dev/null +++ b/flake.nix @@ -0,0 +1,132 @@ +{ + description = "ragons nix/nixos configs"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs-master.url = "github:NixOS/nixpkgs/master"; + agenix.url = "github:ryantm/agenix/main"; + agenix.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + impermanence.url = "github:nix-community/impermanence"; + impermanence.inputs.nixpkgs.follows = "nixpkgs"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + darwin.url = "github:lnl7/nix-darwin/master"; + darwin.inputs.nixpkgs.follows = "nixpkgs"; + utils.url = "github:numtide/flake-utils"; + ## vim + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; + coc-nvim.url = "github:neoclide/coc.nvim/release"; + coc-nvim.flake = false; + nnn-vim.url = "github:mcchrish/nnn.vim"; + nnn-vim.flake = false; + dart-vim.url = "github:dart-lang/dart-vim-plugin/master"; + dart-vim.flake = false; + rnix-lsp.url = "github:nix-community/rnix-lsp"; + rnix-lsp.inputs.nixpkgs.follows = "nixpkgs"; + ## zsh + zsh-completions.url = "github:zsh-users/zsh-completions"; + zsh-completions.flake = false; + zsh-syntax-highlighting.url = "github:zsh-users/zsh-syntax-highlighting/master"; + zsh-syntax-highlighting.flake = false; + zsh-vim-mode.url = "github:softmoth/zsh-vim-mode"; + zsh-vim-mode.flake = false; + agkozak-zsh-prompt.url = "github:agkozak/agkozak-zsh-prompt"; + agkozak-zsh-prompt.flake = false; + }; + + outputs = inputs @ { self, nixpkgs, nixpkgs-master, agenix, home-manager, impermanence, darwin, utils, neovim-nightly-overlay, ... }: + let + extraSystems = [ ]; + lib = nixpkgs.lib.extend (self: super: { + my = import ./lib { inherit inputs; lib = self; }; + }); + + genPkgs = system: import nixpkgs { + inherit system; + config.allowUnfree = true; + overlays = [ + self.overlay + neovim-nightly-overlay.overlay + ]; + }; + + hmConfig = { pkgs, inputs, config, ...}: { + imports = lib.my.mapModulesRec' ./hm-imports (x: x); + }; + + nixosSystem = system: extraModules: let + pkgs = genPkgs system; + in nixpkgs.lib.nixosSystem + rec { + inherit system; + specialArgs = { inherit lib inputs pkgs system; }; + modules = [ + agenix.nixosModules.age + impermanence.nixosModules.impermanence + home-manager.nixosModules.home-manager + ({ config, ...}: lib.mkMerge [{ + system.configurationRevision = self.sourceInfo.rev; + services.getty.greetingLine = + "<<< Welcome to NixOS ${config.system.nixos.label} @ ${self.sourceInfo.rev} - \\l >>>"; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + + (lib.mkIf (config.users.extraUsers.ragon != null) { # import hm stuff if enabled + home-manager.users.ragon = hmConfig; + }) + ]) + ./nixos-common.nix + ] ++ self.nixosModules ++ extraModules; + }; + darwinSystem = system: extraModules: + let + pkgs = genPkgs system; + in darwin.lib.darwinSystem + { + inherit system; + specialArgs = { inherit darwin lib pkgs inputs self; }; + modules = [ + home-manager.darwinModules.home-manager + ({ config, inputs, self, ...}: lib.mkMerge [{ + system.configurationRevision = (lib.traceVal (self.sourceInfo)).rev; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + (lib.mkIf (config.users.extraUsers.ragon != null) { # import hm stuff if enabled + home-manager.users.ragon = hmConfig; + }) + ]) + ./darwin-common.nix + ] ++ extraModules; + }; + + + in + { + lib = lib.my; + overlay = final: prev: { + unstable = import nixpkgs-master { + system = prev.system; + config.allowUnfree = true; + }; + my = self.packages."${prev.system}"; + }; + packages = []; + nixosModules = lib.my.mapModulesRec ./nixos-modules import; + darwinModules = []; + #darwinModules = lib.my.mapModulesRec ./darwin-modules import; + nixosConfigurations = { + picard = nixosSystem "x86-64-linux" [ ./hosts/picard/default.nix ]; # TODO + wormhole = nixosSystem "aarch64-linux" [ ./hosts/wormhole/default.nix ]; # TODO + ds9 = nixosSystem "x86-64-linux" [ ./hosts/ds9/default.nix ]; # TODO + }; + darwinConfigurations = { + daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; # TODO + }; + + }; +} diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix new file mode 100644 index 00000000..a6ab7774 --- /dev/null +++ b/hm-imports/cli.nix @@ -0,0 +1,118 @@ +{ inputs, config, lib, pkgs, ... }: +{ + home.packages = with pkgs; [ + + nnn + bat + htop + exa + curl + fd + file + lorri + fzf + git + neofetch + ripgrep + direnv # needed for lorri + unzip + pv + killall + lefthook + yt-dlp + aria2 + libqalculate + ] + home.shellAliases = { + v = "nvim"; + vim = "nvim"; + gpl = "git pull"; + gp = "git push"; + lg = "lazygit"; + gc = "git commit -v"; + kb = "git commit -m \"\$(curl -s http://whatthecommit.com/index.txt)\""; + gs = "git status -v"; + gfc = "git fetch && git checkout"; + gl = "git log --graph"; + l = "exa -la --git"; + la = "exa -la --git"; + ls = "exa"; + ll = "exa -l --git"; + cat = "bat"; + }; + + programs = { + gpg = { + enable = true; + settings = { + cert-digest-algo = "SHA512"; + charset = "utf-8"; + default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; + fixed-list-mode = true; + keyserver = "hkps://keyserver.ubuntu.com:443"; + list-options = [ "show-uid-validity" "show-unusable-subkeys" ]; + no-comments = true; + no-emit-version = true; + no-greeting = true; + no-symkey-cache = true; + personal-cipher-preferences = "AES256 AES192 AES"; + personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; + personal-digest-preferences = "SHA512 SHA384 SHA256"; + require-cross-certification = true; + s2k-cipher-algo = "AES256"; + s2k-digest-algo = "SHA512"; + throw-keyids = true; + use-agent = true; + verbose = true; + verify-options = "show-uid-validity"; + with-fingerprint = true; + with-key-origin = true; + }; + }; + bat = { + enable = true; + config.theme = "gruvbox-dark"; + }; + fzf = { + enable = true; + enableZshIntegration = true; + defaultOptions = [ + "--height 40%" + "--layout=reverse" + "--border" + "--inline-info" + ]; + }; + git = { + enable = true; + lfs.enable = true; + + # Default configs + extraConfig = { + commit.gpgSign = true; + + user.name = "Philipp Hochkamp"; + user.email = "git@phochkamp.de"; + user.signingKey = "DA5D9235BD5BD4BD6F4C2EA868066BFF4EA525F1"; + + # Set default "git pull" behaviour so it doesn't try to default to + # either "git fetch; git merge" (default) or "git fetch; git rebase". + pull.ff = "only"; + }; + }; + # Htop configurations + htop = { + enable = true; + settings = { + hide_userland_threads = true; + highlight_base_name = true; + shadow_other_users = true; + show_program_path = false; + tree_view = false; + }; + }; + + + }; +} + diff --git a/hm-imports/files.nix b/hm-imports/files.nix new file mode 100644 index 00000000..4df62c69 --- /dev/null +++ b/hm-imports/files.nix @@ -0,0 +1,12 @@ +{ inputs, config, lib, pkgs, ... }: +{ + home.file = { + # Home nix config. + ".config/nixpkgs/config.nix".text = "{ allowUnfree = true; }"; + ".local/share/pandoc/templates/default.latex".source = "${inputs.pandoc-latex-template}/eisvogel.tex"; + + # empty zshrc to stop zsh-newuser-install from running + ".zshrc".text = ""; + + }; +} diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json new file mode 100644 index 00000000..c7c6083f --- /dev/null +++ b/hm-imports/nvim/config/coc-settings.json @@ -0,0 +1,51 @@ +{ + "suggest.triggerCompletionWait": 50, + "suggest.enablePreview": true, + "html.enable": true, + "python.linting.enabled": true, + "html.format.enable": true, + "html.suggest.html5": true, + "html.suggest.ionic": true, + "html.validate.html": true, + "html.validate.styles": true, + "diagnostic-languageserver.mergeConfig": true, + "diagnostic-languageserver.filetypes": { + "vim": "vint", + "sh": "shellcheck", + "markdown": "write-good" + }, + "diagnostic-languageserver.formatFiletypes": { + "sh": "shfmt" + }, + "tabnine.disable_filetypes": ["pandoc"], + "flutter.provider.hot-reload": true, + "flutter.provider.enableSnippet": true, + "snippets.ultisnips.direcories": ["snippets"], + "rust-analyzer.procMacro.enable": true, + "rust-analyzer.cargo.allFeatures": true, + "rust-analyzer.inlayHints.refreshOnInsertMode": true, + "rust-analyzer.updates.channel": "nightly", + "html.validate.scripts": true, + "git.gitlab.hosts": [ + "gitlab.com" + ], + "git.addGBlameToVirtualText": true, + "languageserver": { + "nix": { + "command": "rnix-lsp", + "filetypes": [ + "nix" + ] + }, + "terraform": { + "command": "terraform-ls", + "args": ["serve"], + "filetypes": [ + "terraform", + "tf" + ], + "initializationOptions": {}, + "settings": {} + } + } +} diff --git a/hm-imports/nvim/config/coc.vim b/hm-imports/nvim/config/coc.vim new file mode 100644 index 00000000..8998139f --- /dev/null +++ b/hm-imports/nvim/config/coc.vim @@ -0,0 +1,145 @@ +if system('id -u') > 500 + let g:coc_global_extensions = [ 'coc-markdownlint', 'coc-diagnostic', 'coc-angular', 'coc-css', 'coc-docker', 'coc-flutter-tools', 'coc-git', 'coc-homeassistant', 'coc-html', 'coc-json', 'coc-marketplace', 'coc-prettier', 'coc-pyright', 'coc-rls', 'coc-rust-analyzer', 'coc-scssmodules', 'coc-sh', 'coc-snippets', 'coc-stylelintplus', 'coc-swagger', 'coc-tabnine', 'coc-eslint', 'coc-tsserver', 'coc-webpack', 'coc-yaml' ] +endif +" \coc Some servers have issues with backup files, see #649. +set nobackup +set nowritebackup +" \coc Don't pass messages to |ins-completion-menu|. +set shortmess+=c +" \coc Always show the signcolumn, otherwise it would shift the text each time +" diagnostics appear/become resolved. +set signcolumn=number +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +" c-space to trigger completion +inoremap coc#refresh() +" Make auto-select the first completion item and notify coc.nvim to +" format on enter, could be remapped by other vim plugin +inoremap pumvisible() ? coc#_select_confirm() + \: "\u\\=coc#on_enter()\" + +" Use `[g` and `]g` to navigate diagnostics +" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. +nmap [g (coc-diagnostic-prev) +nmap ]g (coc-diagnostic-next) + +inoremap pumvisible() ? "\" : "\" +inoremap pumvisible() ? "\" : "\" + +" GoTo code navigation. +nmap gd (coc-definition) +nmap gy (coc-type-definition) +nmap gi (coc-implementation) +nmap gr (coc-references) +" Use K to show documentation in preview window. +nnoremap K :call show_documentation() +function! s:show_documentation() + if (index(['vim','help'], &filetype) >= 0) + execute 'h '.expand('') + elseif (coc#rpc#ready()) + call CocActionAsync('doHover') + else + execute '!' . &keywordprg . " " . expand('') + endif +endfunction +" Highlight the symbol and its references when holding the cursor. +autocmd CursorHold * silent call CocActionAsync('highlight') +" Symbol renaming. +nmap rn (coc-rename) + +" coc snippets +" Use for trigger snippet expand. +imap (coc-snippets-expand) + +" Use for select text for visual placeholder of snippet. +vmap (coc-snippets-select) + +" Use for jump to next placeholder, it's default of coc.nvim +let g:coc_snippet_next = '' + +" Use for jump to previous placeholder, it's default of coc.nvim +let g:coc_snippet_prev = '' + +" Use for both expand and jump (make expand higher priority.) +imap (coc-snippets-expand-jump) + +" Use x for convert visual selected code to snippet +xmap x (coc-convert-snippet) + + + +" Formatting selected code. +xmap f (coc-format-selected) +nmap f (coc-format-selected) +augroup mygroup + autocmd! + " Setup formatexpr specified filetype(s). + autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') + " Update signature help on jump placeholder. + autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') +augroup end + +" Applying codeAction to the selected region. +" Example: `aap` for current paragraph +xmap a (coc-codeaction-selected) +nmap a (coc-codeaction-selected) + +" Remap keys for applying codeAction to the current buffer. +nmap ac (coc-codeaction) +" Apply AutoFix to problem on the current line. +nmap qf (coc-fix-current) +nmap f :CocFix + +" Map function and class text objects +" NOTE: Requires 'textDocument.documentSymbol' support from the language server. +xmap if (coc-funcobj-i) +omap if (coc-funcobj-i) +xmap af (coc-funcobj-a) +omap af (coc-funcobj-a) +xmap ic (coc-classobj-i) +omap ic (coc-classobj-i) +xmap ac (coc-classobj-a) +omap ac (coc-classobj-a) + +" Remap and for scroll float windows/popups. +nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" +nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" +inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" +inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" +vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" +vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" + +" Use CTRL-S for selections ranges. +" Requires 'textDocument/selectionRange' support of language server. +nmap (coc-range-select) +xmap (coc-range-select) + +" Add `:Format` command to format current buffer. +command! -nargs=0 Format :call CocAction('format') + +" Add `:Fold` command to fold current buffer. +command! -nargs=? Fold :call CocAction('fold', ) + +" Add `:OR` command for organize imports of the current buffer. +command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') + +" Mappings for CoCList +" Show all diagnostics. +nnoremap a :CocList diagnostics +" Manage extensions. +nnoremap e :CocList extensions +" Show commands. +nnoremap c :CocList commands +" Find symbol of current document. +nnoremap o :CocList outline +" Search workspace symbols. +nnoremap s :CocList -I symbols +" Do default action for next item. +nnoremap j :CocNext +" Do default action for previous item. +nnoremap k :CocPrev +" Resume latest coc list. +nnoremap p :CocListResume diff --git a/hm-imports/nvim/config/init.lua b/hm-imports/nvim/config/init.lua new file mode 100644 index 00000000..e70c07db --- /dev/null +++ b/hm-imports/nvim/config/init.lua @@ -0,0 +1,47 @@ +require('utils') +require('keybindings') +require('filetypes') +local opt = vim.opt + +-- load plugin luas (idk how to do that autmagically) +require('plugin.nnn') +require('plugin.rainbow') +require('plugin.terminal') + +-- plugins - coc +vim.cmd 'source /etc/nvim/coc.vim' -- too lazy to convert all the shit to lua +-- terminal +vim.cmd 'source /etc/nvim/terminal.vim' -- too lazy to convert all the shit to lua + +-- color stuff +vim.g.gruvbox_italic = 1 +vim.cmd ':colorscheme gruvbox' +opt.termguicolors = true -- 24bit color +opt.background = 'dark' -- dark gruvbox + +-- general settings +vim.cmd [[ + filetype plugin on + filetype indent plugin on + filetype plugin indent on + syntax on +]] +opt.encoding = 'utf-8' +opt.number = true +opt.relativenumber = true +opt.undofile = true -- save undo chages even after computer restart +opt.showcmd = true -- show (partial) command in status line +opt.showmatch = true -- show match brackets +opt.wildmenu = true -- visual autocomplete for command menu +-- Splits open at the bottom and right, which is non-retarded, unlike vim defaults. +opt.splitbelow = true +opt.splitright = true +-- indents +opt.expandtab = true +opt.shiftwidth = 2 +opt.softtabstop = 2 +-- buffers don't get unloaded when hidden +opt.hidden = true +-- low updatetime so it isnt as slow +opt.updatetime = 200 +require('plugin.lualine') diff --git a/hm-imports/nvim/config/lua/filetypes.lua b/hm-imports/nvim/config/lua/filetypes.lua new file mode 100644 index 00000000..d4a414f2 --- /dev/null +++ b/hm-imports/nvim/config/lua/filetypes.lua @@ -0,0 +1,3 @@ +vim.cmd [[ + autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab +]] diff --git a/hm-imports/nvim/config/lua/keybindings.lua b/hm-imports/nvim/config/lua/keybindings.lua new file mode 100644 index 00000000..f511f272 --- /dev/null +++ b/hm-imports/nvim/config/lua/keybindings.lua @@ -0,0 +1,45 @@ +local map = require('utils').map + +-- split binds +map { 'n', '', ':vertical resize -5', noremap = true, silent = true} +map { 'n', '', ':vertical resize +5', noremap = true, silent = true} +map { 'n', '', ':resize -5', noremap = true, silent = true} +map { 'n', '', ':resize +5', noremap = true, silent = true} +map { 'n', '', ' =', noremap = true, silent = true} + +map { 'n', '', ':vsp', noremap = true, silent = true} +map { 'n', '', ':split', noremap = true, silent = true} + +map { 'n', '', 'h', noremap = true, silent = true} +map { 'n', '', 'j', noremap = true, silent = true} +map { 'n', '', 'k', noremap = true, silent = true} +map { 'n', '', 'l', noremap = true, silent = true} + +-- buffer binds +map { 'n', ',q', ':bd', noremap = false, silent = true} +map { 'n', ',b', ':Buffers', noremap = false, silent = true} +-- tab binds +map { 'n', '', ':tabnew', noremap = false, silent = true} + +-- copy paste +map { 'v', '', '"+y', noremap = true, silent = true} +map { 'n', '', '"+P', noremap = false, silent = true} +map { 'n', '', ':registers', noremap = true, silent = true} + +-- sudo :w +map { 'c', 'w!!', 'w !sudo tee > /dev/null %', noremap = false, silent = false} + + +-- terminal +map { 'n', 't', ':term', noremap = false, silent = true} +map { 't', '', '', noremap = true, silent = true} + +-- plugins - commentary +map { 'n', 'c', ':Commentary', noremap = false, silent = true} +-- plugins - vista +map { 'n', 'v', ':Vista!!', noremap = false, silent = true} +-- plugins - nnn +map { 'n', '', '::NnnPicker %:p:h', noremap = true, silent = true} + +-- plugins - terminal +map {"n", "l", "lua _lazygit_toggle()", {noremap = true, silent = true}} diff --git a/hm-imports/nvim/config/lua/plugin/lualine.lua b/hm-imports/nvim/config/lua/plugin/lualine.lua new file mode 100644 index 00000000..6baeafcf --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/lualine.lua @@ -0,0 +1,28 @@ +require('lualine').setup { + options = { + icons_enabled = true, + theme = 'gruvbox', + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, + disabled_filetypes = {}, + always_divide_middle = true, + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = {'filename'}, + lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {'location'}, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + extensions = {} +} diff --git a/hm-imports/nvim/config/lua/plugin/nnn.lua b/hm-imports/nvim/config/lua/plugin/nnn.lua new file mode 100644 index 00000000..7afdc7dc --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/nnn.lua @@ -0,0 +1,11 @@ +require('nnn').setup({ + set_default_mappings = 0, + replace_netrw = 1, + layout = { + window = { + width = 0.9, + height = 0.6, + highlight = 'Debug' + } + } +}) diff --git a/hm-imports/nvim/config/lua/plugin/rainbow.lua b/hm-imports/nvim/config/lua/plugin/rainbow.lua new file mode 100644 index 00000000..3a0549cf --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/rainbow.lua @@ -0,0 +1 @@ +vim.g.rainbow_active = 1 diff --git a/hm-imports/nvim/config/lua/plugin/terminal.lua b/hm-imports/nvim/config/lua/plugin/terminal.lua new file mode 100644 index 00000000..3df9dd92 --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/terminal.lua @@ -0,0 +1,22 @@ +require('toggleterm').setup { + direction = 'window', + open_mapping = [[]], +} +local Terminal = require('toggleterm.terminal').Terminal + +local lazygit = Terminal:new { + cmd = "lazygit", + hidden = true, + direction = 'float' +} + +function _lazygit_toggle() + lazygit:toggle() +end + +-- local pipeline = Terminal:new { +-- cmd = "glab ci view", +-- hidden = true, +-- direction = 'float' +-- } + diff --git a/hm-imports/nvim/config/lua/utils.lua b/hm-imports/nvim/config/lua/utils.lua new file mode 100644 index 00000000..238e6a5e --- /dev/null +++ b/hm-imports/nvim/config/lua/utils.lua @@ -0,0 +1,21 @@ +-- cool map funciton from https://vonheikemen.github.io/devlog/tools/configuring-neovim-using-lua/ +utils = {} +utils.map = function(key) + -- get the extra options + local opts = {noremap = false} + for i, v in pairs(key) do + if (i) == 'string' then opts[i] = v end + end + + -- basic support for buffer-scoped keybindings + local buffer = opts.buffer + opts.buffer = nil + + if buffer then + vim.api.nvim_buf_set_keymap(0, key[1], key[2], key[3], opts) + else + vim.api.nvim_set_keymap(key[1], key[2], key[3], opts) + end +end + +return utils diff --git a/hm-imports/nvim/config/snippets/all.snippets b/hm-imports/nvim/config/snippets/all.snippets new file mode 100644 index 00000000..97e237f4 --- /dev/null +++ b/hm-imports/nvim/config/snippets/all.snippets @@ -0,0 +1,121 @@ +# This file contains snippets that are always defined. I personally +# have snippets for signatures and often needed texts + +# sligthly lower priority than everything else since specialized versions +# should overwrite. The user needs to adjust her priority in her snippets to +# ~-55 so that other filetypes will still overwrite. +priority -60 + +global !p +def _parse_comments(s): + """ Parses vim's comments option to extract comment format """ + i = iter(s.split(",")) + + rv = [] + try: + while True: + # get the flags and text of a comment part + flags, text = next(i).split(':', 1) + + if len(flags) == 0: + rv.append(('OTHER', text, text, text, "")) + # parse 3-part comment, but ignore those with O flag + elif 's' in flags and 'O' not in flags: + ctriple = ["TRIPLE"] + indent = "" + + if flags[-1] in string.digits: + indent = " " * int(flags[-1]) + ctriple.append(text) + + flags, text = next(i).split(':', 1) + assert flags[0] == 'm' + ctriple.append(text) + + flags, text = next(i).split(':', 1) + assert flags[0] == 'e' + ctriple.append(text) + ctriple.append(indent) + + rv.append(ctriple) + elif 'b' in flags: + if len(text) == 1: + rv.insert(0, ("SINGLE_CHAR", text, text, text, "")) + except StopIteration: + return rv + +def get_comment_format(): + """ Returns a 4-element tuple (first_line, middle_lines, end_line, indent) + representing the comment format for the current file. + It first looks at the 'commentstring', if that ends with %s, it uses that. + Otherwise it parses '&comments' and prefers single character comment + markers if there are any. + """ + commentstring = vim.eval("&commentstring") + if commentstring.endswith("%s"): + c = commentstring[:-2] + return (c, c, c, "") + comments = _parse_comments(vim.eval("&comments")) + for c in comments: + if c[0] == "SINGLE_CHAR": + return c[1:] + return comments[0][1:] +endglobal + +########################## +# LOREM IPSUM GENERATORS # +########################## +snippet lorem "Lorem Ipsum - 50 Words" b +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod +tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At +vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, +no sea takimata sanctus est Lorem ipsum dolor sit amet. +endsnippet + +########################## +# VIM MODELINE GENERATOR # +########################## +# See advice on `:help 'tabstop'` for why these values are set. Uses second +# modeline form ('set') to work in languages with comment terminators +# (/* like C */). +snippet modeline "Vim modeline" +vim`!v ':set '. (&expandtab ? printf('et sw=%i ts=%i', &sw, &ts) : printf('noet sts=%i sw=%i ts=%i', &sts, &sw, &ts)) . (&tw ? ' tw='. &tw : '') . ':'` +endsnippet + + +######### +# DATES # +######### +snippet date "YYYY-MM-DD" w +`!v strftime("%Y-%m-%d")` +endsnippet + +snippet ddate "DD.MM.YYYY" w +`!v strftime("%d.%m.%Y")` +endsnippet + +snippet diso "ISO format datetime" w +`!v strftime("%Y-%m-%d %H:%M:%S%z")` +endsnippet + +snippet time "hh:mm" w +`!v strftime("%H:%M")` +endsnippet + +snippet datetime "YYYY-MM-DD hh:mm" w +`!v strftime("%Y-%m-%d %H:%M")` +endsnippet + +snippet todo "TODO comment" bw +`!p snip.rv=get_comment_format()[0]` ${2:TODO}: $1 ${3: <${4:`!v strftime('%d.%m.%y %H:%M')`}${5:, `git config --get user.name`}>} `!p snip.rv=get_comment_format()[2]` +endsnippet + + +########## +# Misc # +########## +snippet uuid "Random UUID" w +`!p if not snip.c: import uuid; snip.rv = uuid.uuid4()` +endsnippet + +# vim:ft=snippets: diff --git a/hm-imports/nvim/config/snippets/go.snippets b/hm-imports/nvim/config/snippets/go.snippets new file mode 100644 index 00000000..35cf9091 --- /dev/null +++ b/hm-imports/nvim/config/snippets/go.snippets @@ -0,0 +1,115 @@ +# Snippets for Go + +priority -50 + +# when to abbriviate and when not? +# b doesn't work here, because it ignores whitespace +# optional local name? +snippet /^import/ "Import declaration" r +import ( + "${1:package}" +) +endsnippet + +snippet /^package/ "Package declaration" r +// Package $1 provides ... +package ${1:main} +endsnippet + +# Mostly converted from: https://github.com/AlanQuatermain/go-tmbundle +snippet /^cons/ "Constants declaration" r +const ( + ${1:constant}${2/(.+)/ /}${2:type} = ${0:value} +) +endsnippet + +snippet /^con/ "Constant declaration" r +const ${1:name}${2/(.+)/ /}${2:type} = ${0:value} +endsnippet + +snippet iota "Iota constant generator" b +const ( + ${1:constant}${2/(.+)/ /}${2:type} = iota +) +endsnippet + +snippet struct "Struct declaration" b +type ${1:Struct} struct { + ${0:${VISUAL}} +} +endsnippet + +snippet interface "Interface declaration" b +type ${1:Interface} interface { + ${0:${VISUAL}} +} +endsnippet + +snippet if "If statement" b +if ${1:condition}${1/(.+)/ /}{ + ${0:${VISUAL}} +} +endsnippet + +snippet switch "Switch statement" b +switch ${1:expression}${1/(.+)/ /}{ +case$0 +} +endsnippet + +# functions +snippet /^main/ "Main function" r +func main() { + ${0:${VISUAL}} +} +endsnippet + +snippet /^meth/ "Method" r +func (${1:receiver} ${2:type}) ${3:name}(${4:params})${5/(.+)/ /}${5:type} { + ${0:${VISUAL}} +} +endsnippet + +snippet func "Function" b +func ${1:name}(${2:params})${3/(.+)/ /}${3:type} { + ${0:${VISUAL}} +} +endsnippet + +snippet funch "HTTP handler" b +func ${1:handler}(${2:w} http.ResponseWriter, ${3:r} *http.Request) { + ${0:${VISUAL}} +} +endsnippet + +# types and variables +snippet map "Map type" b +map[${1:keytype}]${2:valtype} +endsnippet + +snippet : "Variable declaration :=" b +${1:name} := ${0:value} +endsnippet + +snippet var "Variable declaration" b +var ${1:name}${2/(.+)/ /}${2:type}${3: = ${0:value}} +endsnippet + +snippet vars "Variables declaration" b +var ( + ${1:name}${2/(.+)/ /}${2:type}${3: = ${0:value} } +) +endsnippet + +snippet json "JSON field" +\`json:"${1:displayName}"\` +endsnippet + +# vim:ft=snippets: + +# error handling +snippet err "Basic error handling" b +if err != nil { + log.${1:Fatal}(err) +} +endsnippet diff --git a/hm-imports/nvim/config/snippets/java.snippets b/hm-imports/nvim/config/snippets/java.snippets new file mode 100644 index 00000000..0860d796 --- /dev/null +++ b/hm-imports/nvim/config/snippets/java.snippets @@ -0,0 +1,399 @@ +########################################################################### +# TEXTMATE SNIPPETS # +########################################################################### + +# Many of the snippets here use a global option called +# "g:ultisnips_java_brace_style" which, if set to "nl" will put a newline +# before '{' braces. + +global !p +def junit(snip): + if snip.opt("g:ultisnips_java_junit", "") == "3": + snip += "" + else: + snip.rv += "@Test\n\t" + +def nl(snip): + if snip.opt("g:ultisnips_java_brace_style", "") == "nl": + snip += "" + else: + snip.rv += " " +def getArgs(group): + import re + word = re.compile('[a-zA-Z><.]+ \w+') + return [i.split(" ") for i in word.findall(group) ] + +def camel(word): + return word[0].upper() + word[1:] + +endglobal + +snippet sleep "try sleep catch" !b +try { + Thread.sleep(${1:1000}); +} catch (InterruptedException e){ + e.printStackTrace(); +} +endsnippet + +snippet /i|n/ "new primitive or int" !br +${1:int} ${2:i} = ${3:1}; +$0 +endsnippet + +snippet /o|v/ "new Object or variable" !br +${1:Object} ${2:var} = new $1(${3}); +endsnippet + +snippet f "field" !b +${1:private} ${2:String} ${3:`!p snip.rv = t[2].lower()`}; +endsnippet + +snippet ab "abstract" b +abstract +endsnippet + +snippet as "assert" b +assert ${1:test}${2/(.+)/(?1: \: ")/}${2:Failure message}${2/(.+)/(?1:")/};$0 +endsnippet + +snippet at "assert true" !b +assertTrue(${1:actual}); +endsnippet + +snippet af "assert false" !b +assertFalse(${1:actual});$0 +endsnippet + +snippet ae "assert equals" !b +assertEquals(${1:expected}, ${2:actual}); +endsnippet + +snippet br "break" +break; + +endsnippet + +snippet cs "case" b +case $1: + $2 +$0 +endsnippet + +snippet ca "catch" b +catch (${1:Exception} ${2:e})`!p nl(snip)`{ + $0 +} +endsnippet + +snippet cle "class extends" b +public class ${1:`!p +snip.rv = snip.basename or "untitled"`} ${2:extends ${3:Parent} }${4:implements ${5:Interface} }{ + $0 +} +endsnippet + +snippet clc "class with constructor, fields, setter and getters" +public class `!p +snip.rv = snip.basename or "untitled"` { +`!p +import re +args = getArgs(t[1]) +if len(args) == 0: snip.rv = "" +for i in args: + snip.rv += "\n\tprivate " + i[0] + " " + i[1]+ ";" +if len(args) > 0: + snip.rv += "\n"` + public `!p snip.rv = snip.basename or "unknown"`($1) { `!p +args = getArgs(t[1]) +for i in args: + snip.rv += "\n\t\tthis." + i[1] + " = " + i[1] + ";" +if len(args) == 0: + snip.rv += "\n"` + }$0 +`!p +args = getArgs(t[1]) +if len(args) == 0: snip.rv = "" +for i in args: + snip.rv += "\n\tpublic void set" + camel(i[1]) + "(" + i[0] + " " + i[1] + ") {\n" + "\ + \tthis." + i[1] + " = " + i[1] + ";\n\t}\n" + + snip.rv += "\n\tpublic " + i[0] + " get" + camel(i[1]) + "() {\ + \n\t\treturn " + i[1] + ";\n\t}\n" +` +} +endsnippet + +snippet cl "class" b +public class ${1:`!p +snip.rv = snip.basename or "untitled"`} { + $0 +} +endsnippet + +snippet cos "constant string" b +public static final String ${1:var} = "$2";$0 +endsnippet + +snippet co "constant" b +public static final ${1:String} ${2:var} = $3;$0 +endsnippet + +snippet de "default" b +default: + $0 +endsnippet + +snippet elif "else if" b +else if ($1)`!p nl(snip)`{ + $0 +} +endsnippet + +snippet else "else" b +else`!p nl(snip)`{ + $0 +} +endsnippet + +snippet fi "final" b +final +endsnippet + +snippet fore "for (each)" b +for ($1 : $2)`!p nl(snip)`{ + $0 +} +endsnippet + +snippet fori "for with int i" b +for (int ${1:i} = 0; $1 < ${2:10}; $1++)`!p nl(snip)`{ + $0 +} +endsnippet + +snippet for "for" b +for ($1; $2; $3)`!p nl(snip)`{ + $0 +} +endsnippet + +snippet if "if" b +if ($1)`!p nl(snip)`{ + $0 +} +endsnippet + +snippet imt "import junit_framework_TestCase;" b +import junit.framework.TestCase; +$0 +endsnippet + +snippet im "import" b +import ${1:java}.${2:util}.$0 +endsnippet + +snippet in "interface" b +interface ${1:`!p snip.rv = snip.basename or "untitled"`} ${2:extends ${3:Parent} }{ + $0 +} +endsnippet + +snippet cc "constuctor call or setter body" +this.${1:var} = $1; +endsnippet + +snippet list "Collections List" b +List<${1:String}> ${2:list} = new ${3:Array}List<$1>(); +endsnippet + +snippet map "Collections Map" b +Map<${1:String}, ${2:String}> ${3:map} = new ${4:Hash}Map<$1, $2>(); +endsnippet + +snippet set "Collections Set" !b +Set<${1:String}> ${2:set} = new ${3:Hash}Set<$1>(); +endsnippet + +snippet /Str?|str/ "String" !br +String +endsnippet + + +snippet cn "constructor, \w fields + assigments" b + `!p +import re +args = getArgs(t[1]) +for i in args: + snip.rv += "\n\tprivate " + i[0] + " " + i[1]+ ";" +if len(args) > 0: + snip.rv += "\n"` +public `!p snip.rv = snip.basename or "unknown"`($1) { `!p +args = getArgs(t[1]) +for i in args: + snip.rv += "\n\t\tthis." + i[1] + " = " + i[1] +if len(args) == 0: + snip.rv += "\n"` +} +endsnippet + +snippet j.b "java_beans_" i +java.beans. +endsnippet + +snippet j.i "java_io" i +java.io. +endsnippet + +snippet j.m "java_math" i +java.math. +endsnippet + +snippet j.n "java_net_" i +java.net. +endsnippet + +snippet j.u "java_util_" i +java.util. +endsnippet + +snippet main "method (main)" b +public static void main(String[] args)`!p nl(snip)`{ + $0 +} +endsnippet + +snippet try "try/catch" !b +try { + $1 +} catch(${2:Exception} ${3:e}){ + ${4:e.printStackTrace();} +} +endsnippet + +snippet mt "method throws" b! +${1:private} ${2:void} ${3:method}(${4}) ${5:throws $6 }{ + $0 +} +endsnippet + +snippet m "method" b +${1:private} ${2:void} ${3:method}(${4}) { + $0 +} +endsnippet + +snippet md "Method With javadoc" !b +/** + * ${7:Short Description}`!p +for i in getArgs(t[4]): + snip.rv += "\n\t * @param " + i[1] + " usage..."` + * `!p +if "throws" in t[5]: + snip.rv = "\n\t * @throws " + t[6] +else: + snip.rv = ""` `!p +if not "void" in t[2]: + snip.rv = "\n\t * @return object" +else: + snip.rv = ""` + **/ +${1:public} ${2:void} ${3:method}($4) ${5:throws $6 }{ + $0 +} +endsnippet + +snippet getter "getter" +public ${1:String} get${2:Name}() { + return `!p snip.rv = t[2].lower()`; +} +endsnippet + +snippet setter "setter" +public void set${1:Name}(${2:String} $1) { + return this.`!p snip.rv = t[1].lower()` = `!p snip.rv = t[1].lower()`; +} +endsnippet + +snippet setget "setter and getter" +public void set${1:Name}(${2:String} `!p snip.rv = t[1].lower()`) { + this.`!p snip.rv = t[1].lower()` = `!p snip.rv = t[1].lower()`; +} + +public $2 get$1() { + return `!p snip.rv = t[1].lower()`; +} +endsnippet + +snippet pa "package" b +package +endsnippet + +snippet p "print" b +System.out.print($1);$0 +endsnippet + +snippet pl "println" b +System.out.println($1);$0 +endsnippet + +snippet pr "private" b +private +endsnippet + +snippet po "protected" b +protected +endsnippet + +snippet pu "public" b +public +endsnippet + +snippet re "return" b +return +endsnippet + +snippet st "static" +static +endsnippet + +snippet sw "switch" b +switch ($1)`!p nl(snip)`{ + case $2: $0 +} +endsnippet + +snippet sy "synchronized" +synchronized +endsnippet + +snippet tc "test case" +public class ${1:`!p snip.rv = snip.basename or "untitled"`} extends ${2:TestCase}`!p nl(snip)`{ + $0 +} +endsnippet + +snippet t "test" b +`!p junit(snip)`public void test${1:Name}() { + $0 +} +endsnippet + +snippet tt "test throws" b +`!p junit(snip)`public void test${1:Name}() ${2:throws Exception }{ + $0 +} +endsnippet + +snippet th "throw" b +throw new $0 +endsnippet + +snippet wh "while" b +while ($1)`!p nl(snip)`{ + $0 +} +endsnippet + +# vim:ft=snippets: + diff --git a/hm-imports/nvim/config/snippets/pandoc.snippets b/hm-imports/nvim/config/snippets/pandoc.snippets new file mode 100644 index 00000000..0bdfe280 --- /dev/null +++ b/hm-imports/nvim/config/snippets/pandoc.snippets @@ -0,0 +1,172 @@ +snippet limxa "lim from x to a" i +\lim_{${2:x} \rightarrow ${1:a}} $0 +endsnippet +snippet liminf "lim from x to infinity" i +\lim_{${1:x} \rightarrow \infty} $0 +endsnippet +snippet ddx "fr d dx" i +\frac{d}{dx} +endsnippet +snippet pm "Generate pmatrix" i +\begin{pmatrix} $0 \end{pmatrix} +endsnippet +snippet cd "cdot" i +\cdot +endsnippet +snippet lra "leftrightarrow" i +\leftrightarrow +endsnippet +snippet Lra "Leftrightarrow" i +\Leftrightarrow +endsnippet + + +snippet la "leftarrow" i +\leftarrow +endsnippet +snippet La "Leftarrow" i +\Leftarrow +endsnippet +snippet ra "rightarrow" i +\rightarrow +endsnippet +snippet Ra "Rightarrow" i +\Rightarrow +endsnippet +snippet gm "Generate pmatrix" i +\begin{gmatrix} $0 \end{gmatrix} +endsnippet +snippet bm "Creates a BMatrix" i +\begin{bmatrix} $0 \end{bmatrix} +endsnippet + +snippet ta "add a tag" +\tag{${1:Tag Text}} +endsnippet + +snippet fr "Fraction" i +\frac{$1}{$2} +endsnippet + +snippet p "Programmiersprache" i +\`\`\`{${1:mips}} +$2 +\`\`\` +endsnippet + +snippet pi "Include Code from other file" i +\`\`\`{.${1:mips}include=${2:source.asm}} +\`\`\` +endsnippet + +snippet head "Generates header with everything" b +--- +title: '`!p pwd = os.getcwd() +if "mafi1" in pwd: + snip.rv = "Mafi1 Übung " + snip.basename[1:3] +" (Gruppe 10)" +elif "rs" in pwd: + snip.rv = "RS Übung " + snip.basename[1:3] + " (Gruppe 3)" +`' +date: `date +%d.%m.%Y` +author: +- 'Philipp Hochkamp (Mat. Nr. 211011)' +- 'Jonas Röger (Mat. Nr. 210435)' +- 'Nico Jansen (Mat. Nr. 210175)' +titlepage: true +--- +endsnippet + +snippet new "New Note" +- [${1:Title}](`!p +def getCategory(): + w = vim.current.buffer + i = vim.current.window.cursor[0]-1 + while i >= 0: + if w[i].split(" ")[0] == "##": + return w[i].split(" ")[1].lower()+"/" + i = i-1 + return os.path.basename(w.name).split(".md")[0]+"/" + + +snip.rv = getCategory() + t[1].replace(" ", "-").lower()`.md) +endsnippet + +snippet al "Align Block" i +\begin{align*} +${1:${VISUAL}} +\end{align*} +endsnippet +snippet eq "Equation Block" i +\begin{equation} +${1:${VISUAL}} +\end{equation} +endsnippet +snippet bl "Custom Block" i +\begin{${1:tabluar}}$2 +$3 +\end{$1} +endsnippet + + +snippet tab "tabular (or arbitrary) environment" i +\begin{${1:tabular}}{${2:c}} + ${0:${VISUAL}} +\end{$1} +endsnippet + +snippet mb "Math bold font text" i +\mathbb{${1:R}} +endsnippet + +snippet mf "Math Fraktur text" i +\mathfrak{${1:P}} +endsnippet + +snippet nt "No Tag and end line" i +\notag \\\\ + +endsnippet + +snippet sum "\sum^{}_{}" i + \sum^{${1:n}}_{${2:i=1}} ${0} +endsnippet + +snippet lr( "left( right)" i + \left( ${1:${VISUAL}} \right) ${0} +endsnippet +snippet lr| "left| right|" i + \left| ${1:${VISUAL}} \right| ${0} +endsnippet +snippet lr{ "left\{ right\}" i + \left\{ ${1:${VISUAL}} \right\} ${0} +endsnippet +snippet lr[ "left\[ right\]" i + \left [ ${0:${VISUAL}} \right ] +endsnippet +snippet refl "Reference Link" i +[${1:${VISUAL:Text}}][${2:id}]$0 + +[$2]:${4:http://${3:www.url.com}} "${5:$4}" +endsnippet + +snippet fnt "Footnote" i +[^${1:${VISUAL:Footnote}}]$0 + +[^$1]:${2:Text} +endsnippet + +snippet link "Link to something" i +[${1:${VISUAL:Text}}](${3:http://${2:www.url.com}})$0 +endsnippet + +snippet img "Image" i +![${1:pic alt}](${2:path}${3/.+/ "/}${3:opt title}${3/.+/"/})$0 +endsnippet + +snippet ilc "Inline Code" i +\`$1\`$0 +endsnippet + +snippet sqrt "square root" i +\sqrt{${1}} $2 +endsnippet diff --git a/hm-imports/nvim/config/snippets/python.snippets b/hm-imports/nvim/config/snippets/python.snippets new file mode 100644 index 00000000..6100dd77 --- /dev/null +++ b/hm-imports/nvim/config/snippets/python.snippets @@ -0,0 +1,3 @@ +snippet sh "Shebang" EndStuff +#!/usr/bin/env python +endsnippet diff --git a/hm-imports/nvim/config/snippets/snippets.snippets b/hm-imports/nvim/config/snippets/snippets.snippets new file mode 100644 index 00000000..c64dd12b --- /dev/null +++ b/hm-imports/nvim/config/snippets/snippets.snippets @@ -0,0 +1,5 @@ +snippet sn "Snippet" +`echo snippet` ${1:Keys} "${2:Description}" ${3:EndStuff} +$4 +`echo endsnippet` +endsnippet diff --git a/hm-imports/nvim/config/terminal.vim b/hm-imports/nvim/config/terminal.vim new file mode 100644 index 00000000..7a3c3d5a --- /dev/null +++ b/hm-imports/nvim/config/terminal.vim @@ -0,0 +1,9 @@ +augroup neovim_terminal + autocmd! + " Enter Terminal-mode (insert) automatically + autocmd TermOpen * startinsert + " Disables number lines on terminal buffers + autocmd TermOpen * :set nonumber norelativenumber + " allows you to use Ctrl-c on terminal window + autocmd TermOpen * nnoremap i +augroup END diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix new file mode 100644 index 00000000..283c7e26 --- /dev/null +++ b/hm-imports/nvim/default.nix @@ -0,0 +1,84 @@ +{pkgs, config, inputs, lib, ...}: +with lib; +with lib.my; +{ + home.packages = [ + python3 # ultisnips + lazygit + nodejs + inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + shfmt + shellcheck + vim-vint + nodePackages.write-good + ctags + ]; + home.file.".config/nvim".source = ./config; + programs.neovim = + let + conf = inputs.self.nixosConfigurations.enterprise.config.programs.neovim.configure; + in + { + enable = true; + package = pkgs.neovim-nightly; + vimAlias = true; + viAlias = true; + extraConfig = '' + set runtimepath^=~/.config/nvim + lua dofile('~/.config/nvim/init.lua') + ''; + plugins = + let + nnn-vim = pkgs.vimUtils.buildVimPlugin { + name = "nnn-vim"; + src = inputs.nnn-vim; + }; + coc-nvim = pkgs.vimUtils.buildVimPlugin { + name = "coc-nvim"; + src = inputs.coc-nvim; + }; + dart-vim = pkgs.vimUtils.buildVimPlugin { + name = "dart-vim"; + src = inputs.dart-vim; + }; + vim-pandoc-live-preview = pkgs.vimUtils.buildVimPlugin { + name = "vim-pandoc-live-preview"; + src = inputs.vim-pandoc-live-preview; + }; + orgmode-nvim = pkgs.vimUtils.buildVimPlugin { + name = "orgmode-nvim"; + src = inputs.orgmode-nvim; + dontBuild = true; + }; + in + map (x: { plugin = x; }) (with pkgs.vimPlugins; [ + vim-tmux-navigator + galaxyline-nvim + nvim-web-devicons + nnn-vim + rainbow + vista-vim + polyglot + vim-commentary + vim-table-mode + vim-speeddating + vim-nix + gruvbox + incsearch-vim + vim-highlightedyank + vim-fugitive + fzf-vim + lualine-nvim + fzfWrapper + vim-devicons + toggleterm-nvim + undotree + vim-pandoc + vim-pandoc-live-preview + vim-pandoc-syntax + ultisnips + coc-nvim + dart-vim + ]); + }; +} diff --git a/hm-imports/tmux/default.nix b/hm-imports/tmux/default.nix new file mode 100644 index 00000000..426d608c --- /dev/null +++ b/hm-imports/tmux/default.nix @@ -0,0 +1,16 @@ +{ config, pkgs,...}:{ + programs.tmux = { + enable = true; + keyMode = "vi"; + clock24 = true; + historyLimit = 10000; + plugins = with pkgs.tmuxPlugins; [ + vim-tmux-navigator + gruvbox + ]; + extraConfig = '' + new-session -s main + bind-key -n C-a send-prefix + ''; + }; +} diff --git a/hm-imports/zsh/default.nix b/hm-imports/zsh/default.nix new file mode 100644 index 00000000..bf80fe7d --- /dev/null +++ b/hm-imports/zsh/default.nix @@ -0,0 +1,34 @@ +{ inputs, config, lib, pkgs, ... }: +let + cfg = config.ragon.cli; +in +{ + programs.zsh = { + enable = true; + histSize = 10000; + enableCompletion = true; + initExtra = + let + zshrc = builtins.readFile ./zshrc; + + sources = [ + "${inputs.agkozak-zsh-prompt}/agkozak-zsh-prompt.plugin.zsh" + "${pkgs.oh-my-zsh}/share/oh-my-zsh/plugins/git/git.plugin.zsh" + "${pkgs.oh-my-zsh}/share/oh-my-zsh/plugins/globalias/globalias.plugin.zsh" + "${inputs.zsh-vim-mode}/zsh-vim-mode.plugin.zsh" + "${inputs.zsh-syntax-highlighting}/zsh-syntax-highlighting.plugin.zsh" + "${inputs.zsh-completions}/zsh-completions.plugin.zsh" + ]; + + source = map (x: "source " + x) sources; + + plugins = builtins.concatStringsSep "\n" (source); + + in + '' + ${zshrc} + ${plugins} + ''; + }; + +} diff --git a/hm-imports/zsh/zshrc b/hm-imports/zsh/zshrc new file mode 100644 index 00000000..88927f2e --- /dev/null +++ b/hm-imports/zsh/zshrc @@ -0,0 +1,62 @@ +AGKOZAK_MULTILINE=0 +AGKOZAK_PROMPT_CHAR=( ❯ ❯ "%F{red}N%f") +autoload -Uz history-search-end + +zle -N history-beginning-search-backward-end history-search-end +zle -N history-beginning-search-forward-end history-search-end + +bindkey -M vicmd '^[[A' history-beginning-search-backward-end \ + '^[OA' history-beginning-search-backward-end \ + '^[[B' history-beginning-search-forward-end \ + '^[OB' history-beginning-search-forward-end +bindkey -M viins '^[[A' history-beginning-search-backward-end \ + '^[OA' history-beginning-search-backward-end \ + '^[[B' history-beginning-search-forward-end \ + '^[OB' history-beginning-search-forward-end + +hash go 2>/dev/null && export PATH=$PATH:$(go env GOPATH)/bin +hash yarn 2>/dev/null && export PATH=$PATH:$HOME/.yarn/bin +hash direnv 2>/dev/null && eval "$(direnv hook zsh)" # needed for lorri +export PATH=$PATH:$HOME/scripts +export PATH=$PATH:$HOME/.config/rofi/bins +export PATH=$PATH:$HOME/.local/bin +export PATH=$PATH:$HOME/flutter/flutter/bin +hash kitty 2>/dev/null && alias ssh="kitty kitten ssh" +hash helm 2>/dev/null && . <(helm completion zsh) +hash kubectl 2>/dev/null && . <(kubectl completion zsh) +export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$" + +ssh() { + if [ -v TMUX ]; then + tmux set-option allow-rename off 1>/dev/null + tmux rename-window "ssh/$*" + command ssh "$@" + tmux set-option allow-rename on 1>/dev/null + else + command ssh "$@" + fi +} + +n () +{ + # Block nesting of nnn in subshells + if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then + echo "nnn is already running" + return + fi + + export NNN_TMPFILE="$HOME/.config/nnn/.lastd" + + # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn + # stty start undef + # stty stop undef + # stty lwrap undef + # stty lnext undef + + nnn -d "$@" + + if [ -f "$NNN_TMPFILE" ]; then + . "$NNN_TMPFILE" + rm -f "$NNN_TMPFILE" > /dev/null + fi +} diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix new file mode 100644 index 00000000..5e64a72f --- /dev/null +++ b/hosts/daedalus/default.nix @@ -0,0 +1,62 @@ +{ pkgs, inputs, lib, ... }: +with lib; +with lib.my; +{ + + users.users.ragon = { + name = "ragon"; + home = "/Users/ragon"; + }; + programs.gnupg.agent.enable = true; + home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { + programs.home-manager.enable = true; + home.stateVersion = "21.11"; + + home.sessionVariables = { + EDITOR = "nvim"; + VISUAL = "nvim"; + PATH = "$PATH:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin"; + JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; + }; + home.packages = with pkgs; [ + terraform-ls + terraform + + #tectonic + pandoc + + yabai + + google-cloud-sdk + ]; + + home.activation = { + aliasApplications = + let + apps = pkgs.buildEnv { + name = "home-manager-applications"; + paths = config.home.packages; + pathsToLink = "/Applications"; + }; + in + lib.hm.dag.entryAfter [ "writeBoundary" ] '' + # Install MacOS applications to the user environment. + HM_APPS="$HOME/Applications/Home Manager Apps" + + # Reset current state + [ -e "$HM_APPS" ] && $DRY_RUN_CMD rm -r "$HM_APPS" + $DRY_RUN_CMD mkdir -p "$HM_APPS" + + # .app dirs need to be actual directories for Finder to detect them as Apps. + # The files inside them can be symlinks though. + $DRY_RUN_CMD cp --recursive --symbolic-link --no-preserve=mode -H ${apps}/Applications/* "$HM_APPS" || true # can fail if no apps exist + # Modes need to be stripped because otherwise the dirs wouldn't have +w, + # preventing us from deleting them again + # In the env of Apps we build, the .apps are symlinks. We pass all of them as + # arguments to cp and make it dereference those using -H + ''; + }; + + }; + +} diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix new file mode 100644 index 00000000..dae3d1ba --- /dev/null +++ b/hosts/ds9/default.nix @@ -0,0 +1,213 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, inputs, pkgs, lib, ... }: + +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Don't Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + + services.syncthing.enable = true; + services.syncthing.user = "ragon"; + + security.sudo.wheelNeedsPassword = false; + networking.useDHCP = true; + networking.bridges."br0".interfaces = [ ]; + networking.hostId = "7b4c2932"; + boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv7l-linux" ]; + boot.initrd.network = { + enable = true; + postCommands = '' + zpool import rpool + echo "zfs load-key -a; killall zfs" >> /root/.profile + ''; + ssh = { + enable = true; + port = 2222; + hostKeys = [ + "/persistent/etc/nixos/secrets/initrd/ssh_host_rsa_key" + "/persistent/etc/nixos/secrets/initrd/ssh_host_ed25519_key" + ]; + authorizedKeys = pkgs.pubkeys.ragon.computers; + + }; + + }; + + # services.restic.backups."ds9" = { + # rcloneConfigFile = "/run/secrets/ds9rcloneConfig"; + # passwordFile = "/run/secrets/ds9resticPassword"; + # pruneOpts = [ + # "--keep-daily 7" + # "--keep-weekly 5" + # "--keep-monthly 12" + # "--keep-yearly 75" + # ]; + # initialize = true; + # repository = "rclone:ds9:/ds9"; + # paths = [ + # "/data" + # "/persistent/var/lib" + # ]; + + # }; + + ragon.agenix.secrets."ds9rcloneConfig" = { }; + ragon.agenix.secrets."ds9resticPassword" = { }; + + + # Enable Scanning + hardware.sane.enable = true; + hardware.sane.extraBackends = [ pkgs.sane-airscan ]; + services.avahi.enable = true; + services.avahi.nssmdns = true; + services.avahi.publish.enable = true; + services.avahi.extraServiceFiles.smb = '' + + + + %h + + _smb._tcp + 445 + ds9.hailsatan.eu + + + _device-info._tcp + 0 + model=MacPro7,1@ECOLOR=226,226,224 + + + _adisk._tcp + sys=waMa=0,adVF=0x100 + dk0=adVN=TimeMachine,adVF=0x82 + ds9.hailsatan.eu + + + ''; + # Webhook service to trigger scanning the ADF from HomeAssistant + systemd.services.scanhook = { + description = "webhook go server to trigger scanning"; + documentation = [ "https://github.com/adnanh/webhook" ]; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ bash ]; + serviceConfig = { + TemporaryFileSystem = "/:ro"; + BindReadOnlyPaths = [ + "/nix/store" + "-/etc/resolv.conf" + "-/etc/nsswitch.conf" + "-/etc/hosts" + "-/etc/localtime" + ]; + BindPaths = [ + "/data/applications/paperless-consumption" + ]; + LockPersonality = true; + NoNewPrivileges = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectHome = true; + ProtectControlGroups = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + DynamicUser = true; + ExecStart = + let + scanScript = pkgs.writeScript "plscan.sh" '' + #!/usr/bin/env bash + export PATH=${lib.makeBinPath [ pkgs.strace pkgs.gnugrep pkgs.coreutils pkgs.sane-backends pkgs.sane-airscan pkgs.imagemagick ]} + export LD_LIBRARY_PATH=${config.environment.sessionVariables.LD_LIBRARY_PATH} # Adds SANE Libraries to the ld library path of this script + set -x + date="''$(date --iso-8601=seconds)" + filename="Scan ''$date.pdf" + tmpdir="''$(mktemp -d)" + pushd "''$tmpdir" + scanimage --batch=out%d.jpg --format=jpeg --mode Gray -d "airscan:e0:Canon MB5100 series" --source "ADF Duplex" --resolution 300 + for i in $(ls out*.jpg | grep 'out.*[24680]\.jpg'); do convert $i -rotate 180 $i; done # rotate even stuff + convert out*.jpg /data/applications/paperless-consumption/"''$filename" + chmod 666 /data/applications/paperless-consumption/"''$filename" + popd + rm -r "''$tmpdir" + ''; + hooksFile = pkgs.writeText "webhook.json" (builtins.toJSON [ + { + id = "scan-webhook"; + execute-command = "${scanScript}"; + + } + ]); + in + "${pkgs.webhook}/bin/webhook -hooks ${hooksFile} -verbose"; + }; + }; + networking.firewall.allowedTCPPorts = [ 9000 ]; + + # Immutable users due to tmpfs + users.mutableUsers = false; + + services.samba.extraConfig = '' + min protocol = SMB3 + vfs objects = acl_xattr catia fruit streams_xattr + fruit:nfs_aces = no + inherit permissions = yes + fruit:posix_rename = yes + fruit:model = MacPro7,1@ECOLOR=226,226,224 + fruit:veto_appledouble = no + fruit:wipe_intentionally_left_blank_rfork = yes + fruit:delete_empty_adfiles = yes + fruit:metadata = stream + ''; + + ragon = { + cli.enable = true; + user.enable = true; + home-manager.enable = true; + persist.enable = true; + persist.extraDirectories = [ "/var/lib/syncthing" ]; + + services = { + samba.enable = true; + samba.shares = { + TimeMachine = { + path = "/backups/DaedalusTimeMachine"; + comment = "DaedalusTimeMachine"; + "write list" = "@wheel"; + "fruit:time machine" = "yes"; + "fruit:time machine max size" = "2050G"; + "vfs objects" = "acl_xattr fruit streams_xattr"; + "inherit acls" = "yes"; + }; + data = { + path = "/data"; + comment = "some data for the people"; + "write list" = "@wheel"; + }; + }; + docker.enable = true; + ssh.enable = true; + nginx.enable = true; + jellyfin.enable = true; + tailscale.enable = true; + grafana.enable = true; + libvirt.enable = true; + paperless.enable = true; + unifi.enable = true; + }; + + }; +} diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix new file mode 100644 index 00000000..d2252ee0 --- /dev/null +++ b/hosts/ds9/hardware-configuration.nix @@ -0,0 +1,52 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ "${modulesPath}/installer/scan/not-detected.nix" ]; + + boot.initrd.availableKernelModules = [ "r8169" "ahci" "vfio-pci" "xhci_pci" "ehci_pci" "nvme" "usbhid" "sd_mod" "sr_mod" ]; + boot.kernelModules = [ "kvm-amd" ]; + nix.maxJobs = lib.mkDefault 12; + powerManagement.cpuFreqGovernor = "performance"; + + services.zfs.autoScrub.enable = true; + ragon.system.fs = { + enable = true; + mediadata = false; + swap = false; + persistentSnapshot = false; + nix = "rpool/content/local/nix"; + varlog = "rpool/content/local/journal"; + persistent = "rpool/content/safe/persist"; + arcSize = 8; + }; + services.syncoid.enable = false; # TODO setup offsite backups + + services.sanoid.datasets."rpool/content/safe".recursive = true; + services.sanoid.datasets."rpool/content/local/backups" = { }; + services.sanoid.enable = true; + + swapDevices = [ { device = "/dev/disk/by-id/nvme-eui.000000000000000100a075202c247839-part1"; randomEncryption = true; } ]; + fileSystems."/boot".device = "/dev/disk/by-uuid/149F-23AA"; + + fileSystems."/data" = { + device = "rpool/content/safe/data"; + fsType = "zfs"; + }; + fileSystems."/data/media" = { + device = "rpool/content/safe/data/media"; + fsType = "zfs"; + }; + fileSystems."/backups" = { + device = "rpool/content/local/backups"; + fsType = "zfs"; + }; + fileSystems."/data/media/nzbr" = { + device = "10.0.1.2:/storage/media"; + fsType = "nfs"; + options = [ "x-systemd.automount" "noauto" ]; + }; + +} diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix new file mode 100644 index 00000000..6e6f0dbc --- /dev/null +++ b/hosts/picard/default.nix @@ -0,0 +1,63 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ inputs, config, pkgs, ... }: + +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + boot.loader.grub.enable = true; + boot.loader.grub.version = 2; + boot.loader.grub.device = "/dev/sda"; + boot.loader.systemd-boot.enable = false; + + services.syncthing.enable = true; + + + networking.interfaces."ens3" = { + ipv6 = { + addresses = [ + { + address = "2a03:4000:54:a98::1"; + prefixLength = 64; + } + ]; + }; + }; + networking.defaultGateway6 = { address = "fe80::1"; interface = "enp0s3"; }; + networking.nameservers = [ "1.1.1.1" "8.8.8.8" ]; + # networking.interfaces.eno1.useDHCP = true; + networking.hostId = "7c21236a"; + + # Immutable users due to tmpfs + users.mutableUsers = false; + + services.postgresql.package = pkgs.postgresql_13; + + ragon = { + cli.enable = true; + user.enable = true; + home-manager.enable = true; + persist.enable = true; + persist.extraDirectories = [ "/var/lib/syncthing" ]; + + services = { + ssh.enable = true; + bitwarden.enable = true; + gitlab.enable = true; # TODO gitlab-runner + synapse.enable = true; + tailscale.enable = true; + hedgedoc.enable = true; + ts3.enable = true; + nginx.enable = true; + nginx.domain = "ragon.xyz"; + }; + + }; + +} diff --git a/hosts/picard/hardware-configuration.nix b/hosts/picard/hardware-configuration.nix new file mode 100644 index 00000000..6d323663 --- /dev/null +++ b/hosts/picard/hardware-configuration.nix @@ -0,0 +1,42 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ "${modulesPath}/profiles/qemu-guest.nix" ]; + boot.zfs.requestEncryptionCredentials = true; + ragon.system.fs.enable = true; + ragon.system.fs.nix = "rpool/nix"; + ragon.system.fs.varlog = "rpool/varlog"; + ragon.system.fs.persistent = "rpool/persist"; + ragon.system.fs.swap = false; + ragon.system.fs.mediadata = false; + swapDevices = [ + { device = "/dev/sda2"; randomEncryption.enable = true; } + ]; + services.syncoid.enable = false; # disable failing zfs syncing + boot.initrd = { + network = { + enable = true; + postCommands = '' + zpool import rpool + echo "zfs load-key -a; killall zfs" >> /root/.profile + ''; + ssh = { + enable = true; + port = 2222; + hostKeys = [ + "/persistent/etc/nixos/secrets/initrd/ssh_host_rsa_key" + "/persistent/etc/nixos/secrets/initrd/ssh_host_ed25519_key" + ]; + authorizedKeys = pkgs.pubkeys.ragon.user; + + }; + + }; + + }; + + powerManagement.cpuFreqGovernor = "performance"; +} diff --git a/hosts/wormhole/default.nix b/hosts/wormhole/default.nix new file mode 100644 index 00000000..dfe81302 --- /dev/null +++ b/hosts/wormhole/default.nix @@ -0,0 +1,92 @@ +{ config, inputs, pkgs, lib, ... }: +{ + imports = [ + "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" + "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" + ./router.nix + ]; + nixpkgs.overlays = [ + (final: super: { + makeModulesClosure = x: + super.makeModulesClosure (x // { allowMissing = true; }); + }) + ]; + boot.loader.systemd-boot.enable = false; + boot.kernelPackages = pkgs.linuxPackages_rpi4; + boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "zfs" "ext4" ]; # we dont need zfs here + boot.inird.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "zfs" "ext4" ]; # we dont need zfs here + networking.hostId = "eec43f51"; + # networking.usePredictableInterfaceNames = false; + documentation.enable = false; + documentation.nixos.enable = false; + + nix = { + autoOptimiseStore = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + # Free up to 1GiB whenever there is less than 100MiB left. + extraOptions = '' + min-free = ${toString (100 * 1024 * 1024)} + max-free = ${toString (1024 * 1024 * 1024)} + ''; + }; + powerManagement.cpuFreqGovernor = "ondemand"; + + # Assuming this is installed on top of the disk image. + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; + + ragon.networking.router.enable = true; + ragon.services.ssh.enable = true; + ragon.cli.enable = true; + ragon.cli.maximal = false; + services.lorri.enable = false; + ragon.services.ddns.enable = true; + ragon.services.tailscale.enable = true; + ragon.services.nginx.enable = true; + services.nginx.virtualHosts."h.hailsatan.eu" = { + forceSSL = true; + useACMEHost = "hailsatan.eu"; + extraConfig = '' + proxy_buffering off; + ''; + locations."/".proxyPass = "http://10.0.0.20:8123"; + locations."/".proxyWebsockets = true; + }; + services.nginx.virtualHosts."hailsatan.eu" = { + forceSSL = true; + useACMEHost = "hailsatan.eu"; + root = pkgs.runCommand "homepage" { } '' + mkdir -p $out + echo "Hail Satan" > $out/index.html + echo "User-agent: *" > $out/robots.txt + echo "Disallow: /" >> $out/robots.txt + ''; + }; + services.nginx.virtualHosts."j.hailsatan.eu" = { + forceSSL = true; + useACMEHost = "hailsatan.eu"; + extraConfig = '' + proxy_buffering off; + ''; + locations."/".proxyPass = "https://j.hailsatan.eu"; + locations."/".proxyWebsockets = true; + }; + + users.users.root.openssh.autorizedKeys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDiKJEYNUU+ZpbOyJf9k9ZZdTTL0qLiZ6fXEBVCjNfas" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkFgHr6OMwsnGhdG4TwKdthlJC/B9ELqZfrmJ9Sf7qk" + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCJVa1zAjR6stS4qIEysQbR9n0/AV2h62QRfsRvNfQiL19ExKFR7ZHaUFBr6jnGjzl5eyK0DtwZMlyaDlTR/AXiTZHJrvEPL1lna42wK252uZb66DXAG23L+iFeXySq3f+a6Prw8NU3HvIvC/YkEYwjjbqPKEjvnIHd2dJ1FZ9T9FeoKup3nMWYGDRqrja8NcRwCY9OpPd3ZKZJlNJcPfbfAipGAuQ6EGgGi0GzqoYP9OqZx9PBQQEY7a5+cUgYYEI75NJNuk4/WBm8fkFKrcOmvhTOEb90kbNmpHusDOrFEo8LATdpmJSG013DpPb1W7pMxMq+YgFF4INqIxrhBGht" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8RjUQ6DDDDgsVbqq+6zz1q6cBkus/BLUGa9JoWsqB4" + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWwrrROqkBEZi8t7Czu1jDDJjSqomGXx7dhIx73GTb3bBlgThqUSsrG+NpP9mxNl4sYgmJYQ9idpUW/RTX3/sXBvNQi4rOqv9z1qdEyzF86CcyWGk4f+D2hJffLlcIbvbDCJ92PF+k5NbH+PC/yVZKSIRC3ENBHf38l8n25ABuBcpCI16bPCIbqbpekqStXClug//uAyENuS6+orHFQg3muUihEedEhJly1QAfDhOzZRlBxTGQcDvZA/XMaIyjAqbXaNVRsDLmKezm/Dg5M3jMIRxApUd9hcuZlfemxUgD0qqnJSTahb9rMxUKk5jdY95EthAp0s2e6tc2O76sYPqb" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH99QITZa3hSa+7sMo4M5IC5mXWEjsRqXUSaYKKRyQfE" + ]; +} diff --git a/hosts/wormhole/router.nix b/hosts/wormhole/router.nix new file mode 100644 index 00000000..77c88620 --- /dev/null +++ b/hosts/wormhole/router.nix @@ -0,0 +1,422 @@ +{ config, lib, pkgs, ... }: +with lib; +with lib.my; +let + wgEnabled = hasAttrByPath [ "hosts" config.networking.hostName ] (importTOML ../../data/wireguard.toml); + cfg = config.ragon.networking.router; + waninterface = cfg.waninterface; + laninterface = cfg.laninterface; + prefixSize = cfg.prefixSize; + statics = cfg.statics; + domain = cfg.domain; + disableFirewallFor = cfg.disableFirewallFor; + lan = { + name = "lan"; + internet = true; + allowipv6 = true; + ipv4addr = "10.0.0.1"; + netipv4addr = "10.0.0.0"; + dhcpv4start = "10.0.10.1"; + dhcpv4end = "10.0.255.240"; + routes = [ + { address = "10.12.0.0"; prefixLength = 16; via = "10.0.1.2"; } + { address = "10.13.0.0"; prefixLength = 16; via = "10.0.1.2"; } + ]; + ipv4size = 16; + vlan = 4; + }; + iot = { + name = "iot"; + internet = false; + allowipv6 = false; + ipv4addr = "10.1.0.1"; + netipv4addr = "10.1.0.0"; + dhcpv4start = "10.1.1.1"; + dhcpv4end = "10.1.255.240"; + routes = [ ]; + ipv4size = 16; + vlan = 2; + }; + guest = { + name = "guest"; + internet = true; + allowipv6 = false; + ipv4addr = "192.168.2.1"; + netipv4addr = "192.168.2.0"; + dhcpv4start = "192.168.2.10"; + dhcpv4end = "192.168.2.240"; + routes = [ ]; + ipv4size = 24; + vlan = 3; + }; + nets = [ lan iot guest ]; + ipv6nets = builtins.filter (a: a.allowipv6) nets; + interfaceGenerator = obj: { + "${obj.name}".ipv4 = { + addresses = [{ + address = obj.ipv4addr; + prefixLength = obj.ipv4size; + }]; + routes = [{ + address = obj.netipv4addr; + prefixLength = obj.ipv4size; + }] ++ obj.routes; + }; + }; +in +{ + options.ragon.networking.router.enable = mkBoolOpt false; + options.ragon.networking.router.waninterface = + lib.mkOption { + type = lib.types.str; + default = "eth1"; + }; + options.ragon.networking.router.laninterface = + lib.mkOption { + type = lib.types.str; + default = "eth0"; + }; + options.ragon.networking.router.domain = + lib.mkOption { + type = lib.types.str; + default = "hailsatan.eu"; + }; + options.ragon.networking.router.prefixSize = + lib.mkOption { + type = lib.types.int; + default = 59; + }; + options.ragon.networking.router.statics = + lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = [ + { name = "j.hailsatan.eu"; ip = "10.0.0.2"; } + { name = "paperless.hailsatan.eu"; ip = "10.0.0.2"; } + { name = "unifi.hailsatan.eu"; ip = "10.0.0.2"; } + { name = "nix.hailsatan.eu"; ip = "10.0.0.2"; } + { name = "h.hailsatan.eu"; ip = "10.0.0.1"; } + { name = "grafana.hailsatan.eu"; ip = "10.0.0.2"; } + { name = "nzbr.de"; ip = "10.0.1.2"; } + { name = "storm.nzbr.de"; ip = "45.9.63.165"; } + { name = "avalanche.nzbr.de"; ip = "202.61.247.0"; } + ]; + }; + options.ragon.networking.router.disableFirewallFor = + lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = [ + { hostname = "enterprise"; mac = "d8:cb:8a:76:09:0a"; tcpports = [ 22 ]; udpports = [ ]; } + { hostname = "earthquake"; mac = "78:24:af:bc:0c:07"; tcpports = [ 22 22000 ]; udpports = [ 22000 51820 ]; } + ]; + }; + options.ragon.networking.router.staticDHCPs = + lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = [ + # ragon - machines + { name = "enterprise"; ip = "10.0.0.9"; mac = "d8:cb:8a:76:09:0a"; } + { name = "ds9"; ip = "10.0.0.2"; mac = "f4:b5:20:0e:21:d5"; } + # ragon - vms + { name = "homeassistant"; ip = "10.0.0.20"; mac = "52:54:00:a1:04:14"; } + { name = "enterprise-win"; ip = "10.0.0.201"; mac = "52:54:00:f3:ab:dd"; } + # ragon - iot + { name = "zbbridge"; ip = "10.1.0.5"; mac = "98:f4:ab:e2:b6:a3"; } + { name = "wled-Schrank-Philipp"; ip = "10.1.0.10"; mac = "2c:f4:32:20:74:60"; } + { name = "wled-Betthintergrund-Phi"; ip = "10.1.0.11"; mac = "2c:3a:e8:0e:ab:71"; } + + # nzbr - machines + { name = "earthquake"; ip = "10.0.1.2"; mac = "78:24:af:bc:0c:07"; } + { name = "comet"; ip = "10.0.1.4"; mac = "0c:98:38:d3:16:8f"; } + { name = "meteor"; ip = "10.0.1.8"; mac = "54:27:1e:5c:1f:ed"; } # Wireless + { name = "meteor"; ip = "10.0.1.16"; mac = "00:21:cc:5c:f5:dc"; } # Wired + { name = "hurricane"; ip = "10.0.1.32"; mac = "f0:2f:74:1b:af:e0"; } + + # nzbr - vms + { name = "earthquake-macos"; ip = "10.0.1.201"; mac = "52:54:00:8e:e2:66"; } + { name = "earthquake-win"; ip = "10.0.1.202"; mac = "52:54:00:97:37:69"; } + + # nzbr - consoles + { name = "xbox"; ip = "10.0.2.1"; mac = "58:82:a8:30:2d:1c"; } + { name = "wii"; ip = "10.0.2.2"; mac = "00:23:cc:50:78:00"; } + { name = "switch"; ip = "10.0.2.3"; mac = "dc:68:eb:bb:01:fc"; } # Wireless + ]; + }; + options.ragon.networking.router.forwardedPorts = + lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = [ + #{ proto = "tcp"; sourcePort = "5060-5061"; destination = "10.0.0.11"; } + ]; + }; + config = { + # https://www.willghatch.net/blog/2020/06/22/nixos-raspberry-pi-4-google-fiber-router/ + + # You’d better forward packets if you actually want a router. + boot.kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + "net.ipv6.conf.default.forwarding" = 1; + "net.ipv6.conf.6rdtun.forwarding" = 1; + }; + + networking.vlans = + let + genVlan = obj: { + "${obj.name}" = { + id = obj.vlan; + interface = laninterface; + }; + }; + in + lib.foldl (a: b: a // b) { } (map genVlan nets); + + networking.interfaces = + let + genVlanConf = lib.foldl (a: b: a // b) { } (map interfaceGenerator nets); + in + { + "${waninterface}" = { + useDHCP = true; + }; + } // genVlanConf; + networking.dhcpcd = { + enable = true; + allowInterfaces = [ + "${waninterface}" + ] ++ (map (a: a.name) ipv6nets); + extraConfig = + let + genDesc = obj: '' + # We don’t want dhcpcd to give us an address on the ${obj.name} interface. + interface ${obj.name} + noipv4 + + ''; + allGenIntDescs = builtins.concatStringsSep "\n" (map genDesc ipv6nets); + in + '' + # The man page says that ipv6rs should be disabled globally when + # using a prefix delegation. + noipv6rs + + interface ${waninterface} + # On the wan interface, we want to ask for a prefix delegation. + iaid 0 + ipv6rs + ia_pd 0/::/${toString prefixSize} lan/0/${toString prefixSize} + + ${allGenIntDescs} + ''; + runHook = '' + if [[ "$reason" == "BOUND6" ]] || [[ "$reason" == "REBIND6" ]]; then + ${pkgs.python3}/bin/python3 ${pkgs.writeScript "dhcpcd-runHook.py" '' + import json + import sys + import subprocess + import os + + prefix = os.environ.get("new_dhcp6_ia_pd1_prefix1")[:-1] + + # https://stackoverflow.com/a/37316533/12852285 + def mac2ipv6(mac): + # only accept MACs separated by a colon + parts = mac.split(":") + + # modify parts to match IPv6 value + parts.insert(3, "ff") + parts.insert(4, "fe") + parts[0] = "%x" % (int(parts[0], 16) ^ 2) + + # format output + ipv6Parts = [] + for i in range(0, len(parts), 2): + ipv6Parts.append("".join(parts[i:i+2])) + ipv6 = "%s%s" % (prefix, ":".join(ipv6Parts)) + return ipv6 + + data = json.loads("""${builtins.toJSON disableFirewallFor}""") + for host in data: + print('setting firewall rules for ' + host["hostname"]) + IP = mac2ipv6(host["mac"]) + if len(host["tcpports"]) > 0: + subprocess.run(["${pkgs.nftables}/bin/nft", "insert", "rule", "inet", "filter", "forward", "ip6", "daddr", IP, "tcp", "dport", f'{{ {", ".join(map(str, host["tcpports"]))} }}', "accept" ]) + if len(host["udpports"]) > 0: + subprocess.run(["${pkgs.nftables}/bin/nft", "insert", "rule", "inet", "filter", "forward", "ip6", "daddr", IP, "udp", "dport", f'{{ {", ".join(map(str, host["udpports"]))} }}', "accept" ]) + subprocess.run(["${pkgs.nftables}/bin/nft", "insert", "rule", "inet", "filter", "forward", "ip6", "daddr", IP, "icmpv6", "type", "{ destination-unreachable, packet-too-big, time-exceeded, parameter-problem, echo-request, echo-reply, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert }", "accept"]) + ''} + fi + ''; + }; + + networking.firewall.enable = false; # disable iptables cause it's ass to set up + networking.nftables.enable = true; + networking.nftables.ruleset = + let + unsafeInterfaces = (map (x: x.name) (filter (x: x.internet == false) nets)); + safeInterfaces = (map (x: x.name) (filter (x: x.internet == true) nets)) ++ [ "lo" ] ++ (optionals (wgEnabled) [ "wg0" ]); + allInternalInterfaces = (map (x: x.name) nets) ++ [ "lo" ]; + portForwards = concatStringsSep "\n" (map (x: "iifname ${waninterface} ${x.proto} dport ${toString x.sourcePort} dnat ${x.destination}") cfg.forwardedPorts); + dropUnsafe = concatStringsSep "\n" (map (x: "iifname ${x} drop") unsafeInterfaces); + allowSafe = concatStringsSep "\n" (map (x: "iifname ${x} accept") safeInterfaces); + allowSafeOif = concatStringsSep "\n" (map (x: "oifname ${x} ct state { established, related } accept") safeInterfaces); + allowAll = concatStringsSep "\n" (map (x: "iifname ${x} accept") (allInternalInterfaces ++ (optionals (wgEnabled) [ "wg0" ]))); + in + '' + define unsafe_interfaces = { + ${concatStringsSep ",\n" unsafeInterfaces} + } + define safe_interfaces = { + lo, + ${concatStringsSep ",\n" safeInterfaces} + } + define all_interfaces = { + lo, + ${concatStringsSep ",\n" allInternalInterfaces} + } + table inet filter { + chain input { + type filter hook input priority 0; + + # allow established/related connections + ct state { established, related } accept + + # early drop of invalid connections + ct state invalid drop + + # allow from loopback and internal nic + ${allowAll} + + # allow icmp + ip protocol icmp icmp type echo-request limit rate over 1/second burst 5 packets drop + ip6 nexthdr icmpv6 icmpv6 type echo-request limit rate over 1/second burst 5 packets drop + ip protocol icmp icmp type { destination-unreachable, echo-reply, echo-request, source-quench, time-exceeded } accept + ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, echo-reply, echo-request, nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert, packet-too-big, parameter-problem, time-exceeded } accept + + # open port 22, but only allow 2 new connections per minute from each ip + tcp dport 22 ct state new flow table ssh-ftable { ip saddr limit rate 2/minute } accept + tcp dport 80 accept + tcp dport 443 accept + udp dport 51820 accept + + # everything else + reject with icmp type port-unreachable + } + chain forward { + type filter hook forward priority 0; + + # allow from loopback and internal nic + ${allowSafe} + + # allow established/related connections + ${allowSafeOif} + + # Drop everything else + drop + } + chain output { + type filter hook output priority 0 + # dont allow any trafic from iot and stuff to escape to the wild + ${dropUnsafe} + } + } + table ip nat { + chain prerouting { + type nat hook prerouting priority 0 + ${portForwards} + } + + chain postrouting { + type nat hook postrouting priority 0 + + oifname ${waninterface} masquerade + } + } + ''; + + services.dnsmasq = { + enable = true; + alwaysKeepRunning = true; + extraConfig = + let + inherit (pkgs) runCommand; + gen = obj: '' + interface=${obj.name} + dhcp-range=${obj.name},${obj.dhcpv4start},${obj.dhcpv4end},12h + ''; + + genHosts = obj: '' + dhcp-host=${obj.mac},${obj.ip},${obj.name} + ''; + genall = builtins.concatStringsSep "\n" (map gen nets); + genallHosts = builtins.concatStringsSep "\n" (map genHosts cfg.staticDHCPs); + genstatics = builtins.concatStringsSep "\n" (map (a: "address=/${a.name}/${a.ip}") statics); + netbootxyz = builtins.fetchurl { + url = "https://github.com/netbootxyz/netboot.xyz/releases/download/2.0.40/netboot.xyz.efi"; + sha256 = "1gvgvlaxhjkr9i0b2bjq85h12ni9h5fn6r8nphsag3il9kificcc"; + }; + netbootxyzpath = runCommand "netbootpath" { } '' + mkdir $out + ln -s ${netbootxyz} $out/netbootxyz.efi + ''; + in + '' + no-resolv + # unbound broke + # server=127.0.0.1#5353 # unbound + server=1.1.1.1 + server=1.0.0.1 + + # https://hveem.no/using-dnsmasq-for-dhcpv6 + + # don't ever listen to anything on wan and stuff + except-interface=${waninterface},${laninterface} + + listen-address=0.0.0.0,:: + + # don't send bogus requests out on the internets + bogus-priv + + # enable IPv6 Route Advertisements + enable-ra + + # Construct a valid IPv6 range from reading the address set on the interface. The :: part refers to the ifid in dhcp6c.conf. Make sure you get this right or dnsmasq will get confused. + dhcp-range=lan,::,constructor:lan, ra-names,slaac, 12h + + # ra-names enables a mode which gives DNS names to dual-stack hosts which do SLAAC for IPv6. + # Add your local-only LAN domain + local=/${domain}/ + + # have your simple hosts expanded to domain + expand-hosts + + # set your domain for expand-hosts + domain=${domain} + + # forward .kube domains to coredns + server=/kube/10.13.0.10 + + + ${genall} + '' + + optionalString wgEnabled '' + interface=wg0 + no-dhcp-interface=wg0 + addn-hosts=/run/wireguard-hosts + '' + '' + interface=lo # otherwise localhost dns does not work + ${genstatics} + ${genallHosts} + + dhcp-boot=netbootxyz.efi + + enable-tftp + tftp-root=${netbootxyzpath} + + # set authoritative mode + dhcp-authoritative + + ''; + + }; + }; +} diff --git a/lib/attrs.nix b/lib/attrs.nix new file mode 100644 index 00000000..0f8ebd19 --- /dev/null +++ b/lib/attrs.nix @@ -0,0 +1,26 @@ +{ lib, ... }: + +with builtins; +with lib; +rec { + # attrsToList + attrsToList = attrs: + mapAttrsToList (name: value: { inherit name value; }) attrs; + + # mapFilterAttrs :: + # (name -> value -> bool) + # (name -> value -> { name = any; value = any; }) + # attrs + mapFilterAttrs = pred: f: attrs: filterAttrs pred (mapAttrs' f attrs); + + # Generate an attribute set by mapping a function over a list of values. + genAttrs' = values: f: listToAttrs (map f values); + + # anyAttrs :: (name -> value -> bool) attrs + anyAttrs = pred: attrs: + any (attr: pred attr.name attr.value) (attrsToList attrs); + + # countAttrs :: (name -> value -> bool) attrs + countAttrs = pred: attrs: + count (attr: pred attr.name attr.value) (attrsToList attrs); +} diff --git a/lib/default.nix b/lib/default.nix new file mode 100644 index 00000000..0186cb5a --- /dev/null +++ b/lib/default.nix @@ -0,0 +1,18 @@ +{ darwin, inputs, lib, pkgsBySystem, ... }: + +let + inherit (lib) makeExtensible attrValues foldr; + inherit (modules) mapModules; + + modules = import ./modules.nix { + inherit lib; + self.attrs = import ./attrs.nix { inherit lib; self = { }; }; + }; + + mylib = makeExtensible (self: + with self; mapModules ./. + (file: import file { inherit self lib inputs; })); +in +mylib.extend + (self: super: + foldr (a: b: a // b) { } (attrValues super)) diff --git a/lib/modules.nix b/lib/modules.nix new file mode 100644 index 00000000..ef7c2897 --- /dev/null +++ b/lib/modules.nix @@ -0,0 +1,54 @@ +{ self, lib, ... }: + +let + inherit (builtins) attrValues readDir pathExists concatLists; + inherit (lib) id mapAttrsToList filterAttrs hasPrefix hasSuffix nameValuePair removeSuffix; + inherit (self.attrs) mapFilterAttrs; +in +rec { + mapModules = dir: fn: + mapFilterAttrs + (n: v: + v != null && + !(hasPrefix "_" n)) + (n: v: + let path = "${toString dir}/${n}"; in + if v == "directory" && pathExists "${path}/default.nix" + then nameValuePair n (fn path) + else if v == "regular" && + n != "default.nix" && + hasSuffix ".nix" n + then nameValuePair (removeSuffix ".nix" n) (fn path) + else nameValuePair "" null) + (readDir dir); + + mapModules' = dir: fn: + attrValues (mapModules dir fn); + + mapModulesRec = dir: fn: + mapFilterAttrs + (n: v: + v != null && + !(hasPrefix "_" n)) + (n: v: + let path = "${toString dir}/${n}"; in + if v == "directory" + then nameValuePair n (mapModulesRec path fn) + else if v == "regular" && n != "default.nix" && hasSuffix ".nix" n + then nameValuePair (removeSuffix ".nix" n) (fn path) + else nameValuePair "" null) + (readDir dir); + + mapModulesRec' = dir: fn: + let + dirs = + mapAttrsToList + (k: _: "${dir}/${k}") + (filterAttrs + (n: v: v == "directory" && !(hasPrefix "_" n)) + (readDir dir)); + files = attrValues (mapModules dir id); + paths = files ++ concatLists (map (d: mapModulesRec' d id) dirs); + in + map fn paths; +} diff --git a/lib/options.nix b/lib/options.nix new file mode 100644 index 00000000..13610bad --- /dev/null +++ b/lib/options.nix @@ -0,0 +1,18 @@ +{ lib, ... }: + +let + inherit (lib) mkOption types; +in +rec { + mkOpt = type: default: + mkOption { inherit type default; }; + + mkOpt' = type: default: description: + mkOption { inherit type default description; }; + + mkBoolOpt = default: mkOption { + inherit default; + type = types.bool; + example = true; + }; +} diff --git a/nixos-common.nix b/nixos-common.nix new file mode 100644 index 00000000..175fdb30 --- /dev/null +++ b/nixos-common.nix @@ -0,0 +1,64 @@ +{ inputs, config, lib, pkgs, ... }: +with lib; +with lib.my; +let + pubkeys = import ./data/pubkeys.nix {}; +in +{ + # Set your time zone. + time.timeZone = "Europe/Berlin"; + console.font = "Lat2-Terminus16"; + console.keyMap = "us"; + + users.users.root.openssh.authorizedKeys.keys = pubkeys.ragon.user; + + # Select internationalisation properties. + i18n = { + defaultLocale = "en_DK.UTF-8"; + }; + + # Configure nix and nixpkgs + environment.variables.NIXPKGS_ALLOW_UNFREE = "1"; + nix = + let + filteredInputs = filterAttrs (n: _: n != "self") inputs; + nixPathInputs = mapAttrsToList (n: v: "${n}=${v}") filteredInputs; + registryInputs = mapAttrs (_: v: { flake = v; }) filteredInputs; + in + { + package = pkgs.unstable.nixFlakes; + settings = { + trusted-users = mkDefault [ "root" "@wheel" ]; + allowed-users = mkDefault [ "root" "@wheel" ]; + substituters = [ + "https://nix-community.cachix.org" + ]; + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + auto-optimise-store = true; + + }; + extraOptions = "experimental-features = nix-command flakes"; + nixPath = nixPathInputs ++ [ + "nixpkgs-overlays=${config.conf.dir}/overlays" + "conf=${config.conf.dir}" + ]; + registry = registryInputs // { conf.flake = inputs.self; }; + }; + system.configurationRevision = with inputs; mkIf (self ? rev) self.rev; + system.stateVersion = "21.05"; + + + ## Some reasonable, global defaults + # This is here to appease 'nix flake check' for generic hosts with no + # hardware-configuration.nix or fileSystem config. + fileSystems."/".device = mkDefault "/dev/disk/by-label/nixos"; + + boot = { + loader = { + efi.canTouchEfiVariables = mkDefault true; + systemd-boot.configurationLimit = 5; + }; + }; +} diff --git a/nixos-modules/cli/default.nix b/nixos-modules/cli/default.nix new file mode 100644 index 00000000..ce40f255 --- /dev/null +++ b/nixos-modules/cli/default.nix @@ -0,0 +1,62 @@ +{ config, lib, pkgs, inputs, ... }: +with lib; +with lib.my; +let + cfg = config.ragon.cli; + ragon = config.ragon; +in +{ + options.ragon.cli.enable = lib.mkEnableOption "Enables ragons CLI stuff"; + options.ragon.cli.maximal = mkBoolOpt true; + config = lib.mkIf cfg.enable { + security.sudo.extraConfig = "Defaults lecture = never"; + # root shell + users.extraUsers.root.shell = pkgs.zsh; + + environment.shellAliases = { + v = "nvim"; + vim = "nvim"; + gpl = "git pull"; + gp = "git push"; + lg = "lazygit"; + gc = "git commit -v"; + kb = "git commit -m \"\$(curl -s http://whatthecommit.com/index.txt)\""; + gs = "git status -v"; + gfc = "git fetch && git checkout"; + gl = "git log --graph"; + l = "exa -la --git"; + la = "exa -la --git"; + ls = "exa"; + ll = "exa -l --git"; + cat = "bat"; + }; + environment.variables = { + EDITOR = "nvim"; + VISUAL = "nvim"; + }; + + environment.systemPackages = with pkgs; [ + nnn + bat + htop + exa + curl + fd + file + fzf + git + neofetch + tmux + ripgrep + pv + direnv # needed for lorri + unzip + tmux + aria2 + yt-dlp + neovim + ]; + + }; + +} diff --git a/nixos-modules/cli/zsh/zsh.nix b/nixos-modules/cli/zsh/zsh.nix new file mode 100644 index 00000000..0db60c41 --- /dev/null +++ b/nixos-modules/cli/zsh/zsh.nix @@ -0,0 +1,53 @@ +{ inputs, config, lib, pkgs, ... }: +let + cfg = config.ragon.cli; +in +{ + config = lib.mkIf cfg.enable { + ragon.user.persistent = { + extraDirectories = [ + ".config/zsh" + ]; + }; + + programs.zsh = { + enable = true; + histSize = 10000; + histFile = "$HOME/.config/zsh/history"; + # autosuggestions.enable = true; + enableCompletion = true; + setOptions = [ + "HIST_IGNORE_DUPS" + "SHARE_HISTORY" + "HIST_FCNTL_LOCK" + "AUTO_CD" + "AUTO_MENU" + ]; + + # interactiveShellInit broke agkozak-zsh-prompt for some reaaaaaaaason + promptInit = + let + zshrc = builtins.readFile ./zshrc; + + sources = [ + "${inputs.agkozak-zsh-prompt}/agkozak-zsh-prompt.plugin.zsh" + "${pkgs.oh-my-zsh}/share/oh-my-zsh/plugins/git/git.plugin.zsh" + "${pkgs.oh-my-zsh}/share/oh-my-zsh/plugins/globalias/globalias.plugin.zsh" + "${inputs.zsh-vim-mode}/zsh-vim-mode.plugin.zsh" + "${inputs.zsh-syntax-highlighting}/zsh-syntax-highlighting.plugin.zsh" + "${inputs.zsh-completions}/zsh-completions.plugin.zsh" + ]; + + source = map (x: "source " + x) sources; + + plugins = builtins.concatStringsSep "\n" (source); + + in + '' + ${zshrc} + ${plugins} + ''; + }; + + }; +} diff --git a/nixos-modules/cli/zsh/zshrc b/nixos-modules/cli/zsh/zshrc new file mode 100644 index 00000000..6195f8a4 --- /dev/null +++ b/nixos-modules/cli/zsh/zshrc @@ -0,0 +1,46 @@ +AGKOZAK_MULTILINE=0 +AGKOZAK_PROMPT_CHAR=( ❯ ❯ "%F{red}N%f") +autoload -Uz history-search-end + +zle -N history-beginning-search-backward-end history-search-end +zle -N history-beginning-search-forward-end history-search-end + +bindkey -M vicmd '^[[A' history-beginning-search-backward-end \ + '^[OA' history-beginning-search-backward-end \ + '^[[B' history-beginning-search-forward-end \ + '^[OB' history-beginning-search-forward-end +bindkey -M viins '^[[A' history-beginning-search-backward-end \ + '^[OA' history-beginning-search-backward-end \ + '^[[B' history-beginning-search-forward-end \ + '^[OB' history-beginning-search-forward-end + +hash go 2>/dev/null && export PATH=$PATH:$(go env GOPATH)/bin +hash yarn 2>/dev/null && export PATH=$PATH:$HOME/.yarn/bin +hash direnv 2>/dev/null && eval "$(direnv hook zsh)" # needed for lorri +hash helm 2>/dev/null && . <(helm completion zsh) +hash kubectl 2>/dev/null && . <(kubectl completion zsh) +export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$" + +n () +{ + # Block nesting of nnn in subshells + if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then + echo "nnn is already running" + return + fi + + export NNN_TMPFILE="$HOME/.config/nnn/.lastd" + + # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn + # stty start undef + # stty stop undef + # stty lwrap undef + # stty lnext undef + + nnn -d "$@" + + if [ -f "$NNN_TMPFILE" ]; then + . "$NNN_TMPFILE" + rm -f "$NNN_TMPFILE" > /dev/null + fi +} diff --git a/nixos-modules/hardware/bluetooth.nix b/nixos-modules/hardware/bluetooth.nix new file mode 100644 index 00000000..cd7c254a --- /dev/null +++ b/nixos-modules/hardware/bluetooth.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.hardware.bluetooth; +in +{ + options.ragon.hardware.bluetooth.enable = lib.mkEnableOption "Enables bluetooth stuff (tlp,...)"; + config = lib.mkIf cfg.enable { + hardware.bluetooth.enable = true; + services.blueman.enable = true; + hardware.pulseaudio = { + extraModules = [ pkgs.pulseaudio-modules-bt ]; + package = pkgs.pulseaudioFull; + }; + ragon.gui.autostart = [ + [ "${pkgs.blueberry}/bin/blueberry-tray" ] + ]; + environment.systemPackages = (if config.ragon.gui.enable then [ pkgs.blueberry ] else [ ]); + + ragon.persist.extraDirectories = [ + "/var/lib/bluetooth" + ]; + + }; +} diff --git a/nixos-modules/hardware/laptop.nix b/nixos-modules/hardware/laptop.nix new file mode 100644 index 00000000..dbd02ab0 --- /dev/null +++ b/nixos-modules/hardware/laptop.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.hardware.laptop; +in +{ + options.ragon.hardware.laptop.enable = lib.mkEnableOption "Enables laptop stuff (tlp,...)"; + config = lib.mkIf cfg.enable { + services.tlp = { + enable = true; + settings = { + CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; + CPU_ENERGY_PERF_POLICY_ON_BAT = "poversave"; + }; + }; + services.xserver.libinput = { + enable = true; + }; + hardware.acpilight.enable = true; + services.thermald.enable = true; + ragon.gui.laptop = true; + ragon.hardware.bluetooth.enable = true; # laptops normally have BT + }; +} diff --git a/nixos-modules/hardware/nvidia.nix b/nixos-modules/hardware/nvidia.nix new file mode 100644 index 00000000..56d0c599 --- /dev/null +++ b/nixos-modules/hardware/nvidia.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.hardware.nvidia; +in +{ + options.ragon.hardware.nvidia.enable = lib.mkEnableOption "Enables nvidia stuff (why didnt i buy amd?)"; + config = lib.mkIf cfg.enable { + # nivea + services.xserver.videoDrivers = [ "nvidia" ]; + + }; +} diff --git a/nixos-modules/hardware/rpi3.nix b/nixos-modules/hardware/rpi3.nix new file mode 100644 index 00000000..9f4b35b9 --- /dev/null +++ b/nixos-modules/hardware/rpi3.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.hardware.rpi3; +in +{ + options.ragon.hardware.rpi3.enable = lib.mkEnableOption "Enables rpi3 quirks"; + config = lib.mkIf cfg.enable { + boot.loader.raspberryPi = { + enable = true; + version = 3; + }; + boot.extraModprobeConfig = '' + options cfg80211 ieee80211_regdom="DE" + ''; + hardware.firmware = [ pkgs.wireless-regdb ]; + #boot.kernelPackages = pkgs.linux_rpi3; + nixpkgs.overlays = [ + (self: super: { + firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { + version = "2020-12-18"; + src = pkgs.fetchgit { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + rev = "b79d2396bc630bfd9b4058459d3e82d7c3428599"; + sha256 = "1rb5b3fzxk5bi6kfqp76q1qszivi0v1kdz1cwj2llp5sd9ns03b5"; + }; + outputHash = "1p7vn2hfwca6w69jhw5zq70w44ji8mdnibm1z959aalax6ndy146"; + }); + }) + ]; + networking.wireless.enable = true; + hardware.enableRedistributableFirmware = true; + networking.wireless.interfaces = [ "wlan0" ]; + + }; +} diff --git a/nixos-modules/networking/tailscale.nix b/nixos-modules/networking/tailscale.nix new file mode 100644 index 00000000..9bbd96aa --- /dev/null +++ b/nixos-modules/networking/tailscale.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.services.tailscale; +in +{ + options.ragon.services.tailscale.enable = lib.mkEnableOption "Enables tailscale"; + config = lib.mkIf cfg.enable { + # enable the tailscale service + services.tailscale.enable = true; + ragon.agenix.secrets.tailscaleKey = {}; + networking.firewall = { + # always allow traffic from your Tailscale network + trustedInterfaces = [ "tailscale0" ]; + + # allow the Tailscale UDP port through the firewall + allowedUDPPorts = [ config.services.tailscale.port ]; + }; + systemd.services.tailscale-autoconnect = { + description = "Automatic connection to Tailscale"; + + # make sure tailscale is running before trying to connect to tailscale + after = [ "network-pre.target" "tailscale.service" ]; + wants = [ "network-pre.target" "tailscale.service" ]; + wantedBy = [ "multi-user.target" ]; + + # set this service as a oneshot job + serviceConfig.Type = "oneshot"; + + # have the job run this shell script + script = with pkgs; '' + # wait for tailscaled to settle + sleep 2 + + # check if we are already authenticated to tailscale + status="$(${tailscale}/bin/tailscale status -json | ${jq}/bin/jq -r .BackendState)" + if [ $status = "Running" ]; then # if so, then do nothing + exit 0 + fi + key=$(<${config.age.secrets.tailscaleKey.path}) + # otherwise authenticate with tailscale + ${tailscale}/bin/tailscale up -authkey $key + ''; + }; + }; +} diff --git a/nixos-modules/services/bitwarden.nix b/nixos-modules/services/bitwarden.nix new file mode 100644 index 00000000..7c473864 --- /dev/null +++ b/nixos-modules/services/bitwarden.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.services.bitwarden; + domain = config.ragon.services.nginx.domain; +in +{ + options.ragon.services.bitwarden.enable = lib.mkEnableOption "Enables the vaultwarden BitWarden Server"; + options.ragon.services.bitwarden.domainPrefix = + lib.mkOption { + type = lib.types.str; + default = "bw"; + }; + config = lib.mkIf cfg.enable { + services.vaultwarden = { + enable = true; + # backupDir = "/backups/vaultwarden"; + config = { + domain = "https://${cfg.domainPrefix}.${domain}"; + signupsAllowed = false; + rocketPort = 8222; + rocketAddress = "127.0.0.1"; + databaseUrl = "postgresql://%2Frun%2Fpostgresql/vaultwarden"; + webVaultEnabled = true; + }; + dbBackend = "postgresql"; + + }; + services.nginx.virtualHosts."${cfg.domainPrefix}.${domain}" = { + forceSSL = true; + useACMEHost = "${domain}"; + locations."/".proxyPass = "http://${config.services.vaultwarden.config.rocketAddress}:${toString config.services.vaultwarden.config.rocketPort}"; + }; + services.postgresql = { + enable = true; + + # Ensure the database, user, and permissions always exist + ensureDatabases = [ "vaultwarden" ]; + ensureUsers = [ + { + name = "vaultwarden"; + ensurePermissions."DATABASE vaultwarden" = "ALL PRIVILEGES"; + } + ]; + }; + ragon.persist.extraDirectories = [ + "/var/lib/vaultwarden" + ]; + }; +} diff --git a/nixos-modules/services/ddns.nix b/nixos-modules/services/ddns.nix new file mode 100644 index 00000000..c7b44083 --- /dev/null +++ b/nixos-modules/services/ddns.nix @@ -0,0 +1,60 @@ +{ config, lib, pkgs, ... }: +with lib; +with lib.my; +let + cfg = config.ragon.services.ddns; + domain = config.ragon.services.nginx.domain; + dataDir = "/var/lib/inadyn"; + cacheDir = "/var/cache/inadyn"; +in +{ + options.ragon.services.ddns.enable = mkEnableOption "Enables CloudFlare DDNS to the domain specified in ragon.services.nginx.domain and all subdomains"; + options.ragon.services.ddns.ipv4 = mkBoolOpt true; + options.ragon.services.ddns.ipv6 = mkBoolOpt true; + config = mkIf cfg.enable { + systemd.services.inadyn = { + description = "inadyn DDNS Client"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = rec { + Type = "simple"; + ExecStart = + pkgs.writeScript "run-inadyn.sh" '' + #!${pkgs.bash}/bin/bash + export PATH=$PATH:${pkgs.bash}/bin/bash # idk if that helps + source ${config.age.secrets.cloudflareAcme.path} + cat >/run/${RuntimeDirectory}/inadyn.cfg < ssh-ed25519 EYWzzw s1ga0W2GlpxvKpJ5Kx9/mrpXuD4k/V/1uyfbFUcEdwU +ZIdAidep1f/sFMjHZdAjB1saoLQUctcOUx1XQGq1Q/U +-> ssh-ed25519 ugHWWw sCuDEuxoovkiU6b6Ww/pdvLmWsKOwoviTGGi62kmkyk +u3N+jIsrTQSwADhD4QcCPJ2jBt2/A0aiIK9L0Bn0e3U +-> ssh-ed25519 UDK5aw KYVDBaHIOdx0FpOjPPoDTS6diaufODfUYMke6wcMLis +hZK8nGvGrnMQNph+7zbF+LNG6W8UPNAMlOLvPLKDPY8 +-> ssh-ed25519 UU9RSA yr2M8vpo3cHxTOv8JhnLj1qQiBMG4XZVQEimEEjqOXI +bsncvUeAodUjeUXA6h+r+DYdSWMn9Lp8bPRQuOdUj9M +-> ssh-ed25519 IbXxfw DjdQxpVTLUvha7TVaYBDrCTOZVrvKvxfUCoD2ZdMuAY +pRMtuOxmqRHC7TYBXX+MKW0fbD1qAzV4HBGtTTZQeJ0 +-> ssh-ed25519 rQk6HA DJiT9I5C7KuzkQ3XwzjfFZSKHDPXGgbVfBcY1c9QJGE +TvvCAZkd8Mo+oxmwr5zXiwGdc0PynDpYI/1cnHxjcfQ +-> ssh-ed25519 WceKOQ UzyJi0AJRLXE3Jhgkee5NdAB2qFrykwZz9FUhWObC2M +vdCqdMB0+k+aLMIQFU0TjCZ80MnqWpnqzwuhNqH5sFI +-> ssh-ed25519 LUZRUw bFixT06NSFkfLHoOhuWzC7jUXAwwww+il1uZbfogGE8 +eKP12b9v9TYNw0F1wfnAk7BgypUfsYMZVZGJLswP+FI +-> R5?8K38S-grease +HpSifTD/jnLUvi4PEfP4aWDuuiCUeZKN/RsP3P7C/8p/cipmpdcKOKDvi3AAeZ9V +8As01hN4UuHzSzaOc5CeVROrsA +--- HkOPg3vXo158UyTD+VNTkMpH6bkXWOXOMLtuuvVG06I +Hc}.VNiӢSEa]Aky%K?&g +[{$>C3)muQ i,B!0 A# \ No newline at end of file diff --git a/secrets/ds9rcloneConfig.age b/secrets/ds9rcloneConfig.age new file mode 100644 index 0000000000000000000000000000000000000000..6a631d63e350f966aace6b266cf15bedd684a99c GIT binary patch literal 1279 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCUlOp2&TD_2M~GjYnQ z3Na{&D$#c;N-xNcFbXTmHZ#sM^bgaw%uh_uD^0R23@?o|PUbQ<56mu3%BjdU@^+34 zFElqWHgfjO@-R!z4NbBz*3K+9bPvo)tn$*%HbJ+|H8Q-as$9V-D8pPoHOkYsydWvG zC?_I3+tWEQr69oD$JEzSyUa4Z%E`R6K-=8YBb3XfA}Y_M*w8q%$}+;+G1R5F(k;j= zDk{q@-Obl6B{JB}Kgv+sx!lDk(-Gaa(sYmT@NxyusN5pIGFNxEvJww-BTFN1=g{zo z;F9u6v&c;Uz|!DsFDHHPtX%W3h-@y$94}8}w{YX!kkBI6;FJ)5?I^?GqHxOyQ?~-` zY_DRkV*gyA0lambGj6=En0z85WN~65e(knwUgECF4qADX3-He?|v%;Jc)4hX&l5%pZ z@+-?j^g}Uh3$+Xic2ubHGEdPD$gC>!N-K6UFfI4U@{UL@@GNn32@COb%`4G&^Un+o z3NtZrPv%NZ)(-P3H!I5b&k1t$$S!d6^)jjOE(y+cF$~VgNK48wa4oMiOAaYDGXUA9 z=AM<{Qk>7v^tKX;>U;=vt9!uAdQNW?WE_RO#kw zQXJsomSq}{@9V*(tE;P!nO0Js9uia@WRX%9K>AqSmv5yVo>52=2RAtoE{!& zsa;SOXk5x!tY+Q;{={}A%=$lY(Tznl&~y`Xa{{8o^V zXhQ{)Y?#xxAB(FkxXN?q_}*?`oFTr>-$dHv^((hckv~LD^YwNMG7FWjIb*HP5__Ri zXIqcnq-d@{VV>8APEP!N-h6Swk{hX04X+<%`}x6DEbWkvZ&35H{s(s-J!VRpHkHTe zUixO16^C9Hu^c@f!q&?fQif`T1ye9>W*=4i7@9u5=`2LcdU|Dh9 z!(Xd*lojRJHw9i-kl9_>Y5MVo^GBA+;t|Wli+{GNSxLnfw#b~judx5DPf!a>Xo8tRrXV$2E zo2GD6EH`=Y)>(It{GFLt_|`qIyjZX9rWSY9j8>Lc-{1aN($2U?^8S3$FqN7xqutVX zPqzJ%S+Vc;ls`S2E9(2LS(SYc_Iy{_!#*ixz5AK7?Gs=8`4L_Bl&j;xqNqdG(&oR* z%(L=Bq>>s~J(e%=h&f%@{zG!z1fe5qCvSZ4EJph3)*IC^5nR*bCbiw%cgL&Z zRmBY^ra7hOmvaBVdzGi|c-!xbHNt%%ton{R)s?O!8qyz?|4#gB zEOT3Mvg}rm$2)!QFLE#Wv%`%0=T-jdEf1%eo(rAiIwy@abk!G=12$nUZvPl8ax%pW OSiWSrNa_BKJPH7F;0eh9 literal 0 HcmV?d00001 diff --git a/secrets/ds9resticPassword.age b/secrets/ds9resticPassword.age new file mode 100644 index 00000000..0354bf1b --- /dev/null +++ b/secrets/ds9resticPassword.age @@ -0,0 +1,16 @@ +age-encryption.org/v1 +-> ssh-ed25519 IbXxfw XK4JR/3v6N7eW9xCvt4yxZj2zAhnqo1b6ou0v82gOzA +Tag0cu4RUD8LdqBqQcX8tjbCpDIqC2rK1+zG/F2kB04 +-> ssh-ed25519 EYWzzw RVwN1oUaYweuKCGvcHuq2H3kUjNJmlnC0u6ZDLYk8VA +dOei5ZouQ/2tWCu5fjWD4VqaEod7ag8p3y3Yo4E+R3U +-> ssh-ed25519 ugHWWw 9O+v/f9NYZED2havMCBQI3aFk2+lkBl9O8O7Wny0Gmk +iPHKN5W4OEJqXKXTsil2mTcdsbG3CCSgQodhqBQCi2Y +-> ssh-ed25519 UDK5aw DBCXaQWwhk1GOFxZQcckAQ+QhJI9xc74J2x249RJMQM +RaoiO3QYjFY6CGAEGff1KLsaKqzRJc42UitJfGKe25U +-> ssh-ed25519 UU9RSA dwDPtrzsuxLOZ0gbIzQswfX6fqbtfgRY1WhX6rhP8D0 +RcIeHO1535EbQKBU72EgaulDohMZbO4vM3VoSUBnIQ8 +-> (cz;R:-grease i .rY6u! +gJQ8wOQJ6lBS7wnMZ1cu+mSDWxedwi0PUU8O6lZlnhyAqf5RQsfrvpWzNO3BrPx7 +1cmlFDMkAFtNhWlDDEFVk/rV0jBSbOy1I+/oTTOn8d8karnmI6kaB+I +--- MCSRxrB6r/ju9i8A6cvglUNFhHOicaeeb38fsIa2ArU +fz̞N교ncb#CKr<2[ǑUFҗJu1 \ No newline at end of file diff --git a/secrets/gitlabDBFile.age b/secrets/gitlabDBFile.age new file mode 100644 index 0000000000000000000000000000000000000000..6c23081c75b1ae371fa1440cb23765d12df0179f GIT binary patch literal 748 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+Pfqpr4^;4QbqzHt zDM@rq3fB(GC^Rli3CT;oBbh5BJjK|*FwLYSJ15*A%&a0YL%+-~ zJ=irVwK&AAEI&%yJ-s*}sMxI_!~)&6(sYmT@N$LV%Fv*^s+9Ebw5ozUL(hopklfIK z(5$eWWH+xc{j`cyGXr;@FsBOligK>Rs3401w<=?gjN}ZTP@@bZ59iVVznq|=AeTzN z(9}|+;2@6_mnws*%yM+wLS4K~6U!BR!wUjTEe(v5d?Fpo!n1w#ojjAgiv5#3+|s?h z&72dH%_5_UE8Qz10@JyCO)^X@{XL!aP5cVXv_s3XqFj@rf(rc#Jj%m8ovSL+(;Sns zOM<*A-SaVQ3$+Xic2p=W42_7&^>8!IG&C;t3v>6YObjAYHp#3=t_t*y&<->y zOY+Ne^W_S%uqeq(D)0+)c1bBT%QJEcGW7S!@HdKzEX}Vls`AP!HO&q$i73iX1lyKr zW?HG6UX+?xoXTbD7RsfotE*sHm~CKWVBj9$otEdARo1#Zaa_{gwFsjT%pTc0`GboiNd{WWPF ssh-ed25519 WceKOQ O3wwFkrDb9osW2SXJqJGfEr9fi2rXmussWoM0+OUzyM +suoJbwFbIKxn7rslfzhZpNc7Pp6C9wkmPlE9GgBlZtY +-> ssh-ed25519 EYWzzw P9AGXvkFAjucxdoeD5qM2w5HfBwFG+FxZHDr9uyDFl0 +oep6yVm9PxtRciEv9ILK0n2bH6x8KEl7eH/gjmCIef0 +-> ssh-ed25519 ugHWWw om4WnbKKwkycHyNcivPBQEs6WB5KjEc/ZcF4Gsc94TM +fzwdcr78HfvlEgQscUvlKosetpF6pYAykwM8zgaxpYw +-> ssh-ed25519 UDK5aw ztMz33oaFDgY4V/KSJWLu7sYzZeNM8eesoKCcLVj2mg +J74Fe7dGPTceGjcLp+nwMewaiuu8kSFo1qVxvlMNmkI +-> ssh-ed25519 UU9RSA hiji4Kfll9Yhpj3BOuYf9argzE/GiIJUH5hDvFG60WE +SRPPaOnnALmcUjvt819IAuF1bRJjDaYmDvu5OGC2N+4 +-> +e#q&Lk-grease LkPbm`t mB) O;V\6xU +sm/woJ9+G0+TIxfPi0MYAnZvSq/hnwaMYLhlNvkZNR1H8suywEy5CDPgcETNHGhD +jsJ9PMfW4ih1m1d21vo +--- WxnJsQtYXlF+FCYeK88SLwDiKSXhzrKBhomyPVrpqzI +P d@$ᜠdţT”H;[|]u-,mf°>q \ No newline at end of file diff --git a/secrets/gitlabJWSFile.age b/secrets/gitlabJWSFile.age new file mode 100644 index 0000000000000000000000000000000000000000..e87468f9ca259f232687ff8e45f7c67e5dff8ff4 GIT binary patch literal 2410 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+Pfqpr4^#*+bxm~6 zFLg{ZF3dGdclHlS_VKGUD2()rD)Tn-33tjeNOrTZaCR#(G~qI`Fn7)_H1{fU4Xm_C zNe&AS^-4<%bT4vGbW95^4b99C_DnH|ta3_v#Kc6&Ce&zqnOL0qSDAc!YMJ`sMw;!$2+^qD_pxM z%iqA)z|uK2z&yyvH8ndcDL6eW+Y{Zk(sYmT@N$KKj3BQ_B-LS4K~6U!Am5)E=9EIfQ7(<~$W%!-rE6SG51EJCt9LX1Mw zg93~*(=FZ7qRLVODh;@tqLNbd-P6L{LUI!g0}~^)Eut!eeNuBW-3`qRqjG$lA}ZV+ z_5DI}0xd9X3$+Xic2o#)PYX>ktIVo&jSLDm^a%?xH^?psil_>TNK8w&NYeJrbTTXO zF|7>oaOKiYEUYjI_esxk_YBc4F!c;E$}O+V^hh!d^YqUyN-r@sE6jKH^{z1W_XXLO zYv*ZcRqF1on_iTfSe&X*5n-7Zq0ANN;h$WQ6;_exmRD#}T$-k@Z&+B8m1dCWQIuTi z;T9BPk!TcBQeF_07vN@Y8CqNzTv-)p8dAWetE;OJS{51MTIA`LnI07sR2rOWpzj%w zXrAX6?r$DcUX|zS6jT*Zkr$Mg$#ABoqj zEq6J;>`(Pwm8)ksR)k5+ti*m=fKA}|yzkQw7`m67_<#VC1ud ziREiH&lLALkUYh3vDiLQh4#lDE6#so{day%{+$`^1)+PGujj|?Xjnhh^G~zd^?%K4 zIxQL%1LHPHZ|Zq>=;@xYuzh?VUVZVkD!+c|+1>WXm$vb}`S;LtO;N6L;1Yve1GM!PbP^=9t7mYU&t2szpGIypR=m^eXR2)gA*4N_q$e1nRn{z zX7QDx1;!;)tDAWI#P(g!J|s11h3Pd*=M_;i8Rtw$>IqADyE9uj&9?hOK%9Dy^{K4; zX*;ILw-qbL{OZVdG5P1>V5XR2k()RFv+U~jotH(XHs62fcRTQ@Q_pJ!fmxeVFZl@O ziCGqGk5<~&cg5wH!da%K&d?)M-rw$SduDTJO~UgBIaB`hzFofQaNDOyM;|8kS%)ky zZHwPMHLT%q_S@6T18tY&OE_n*TzYb9>4H6*C4C<^aY--cjNRV3VM2L$(=!RB1J7)B z{dX@}{6BQw>pQAP!TJ{=aRoN`bWyL$C@+3p{JA_(JnIQQyJ(aa+nWQCS za=yg9e+y!_Xi+!BFc>c_y{>&oN2fymGA}%sV9%4(oZxqbgc~PUzF?wpB zXHi^fvZ=mH@zbN+xp6NI-)yX66^~8-(WGS8b#?yPL)CiD$Ey<;clEXjvn+k%<+bwc z!`cPwa?iEZo#r!nJ#h>Bib9);lTW&Y3Z_SQEV=$%s&DE(gEFximn##>GQDfnT6To4 zGRb+QuwdHzdaU9iIXSz?UPOa^yNlQPd3yJh z1gX1qtr$wW3+))23u8Dfrn2n_vBuI7xwd z;o8cjSF8`TKU1mBjb>^sUAOzdqC0!S*KHH5Tb}Xx*faYZebO$orVDS^Q&2nDb>F>y zevN-g-x>Xc#_dYyZsuglh84AXD{XC?aIZtwpPAK4J|&)mZR377Nn4}mjqH8}QcSA% zua?}7Ut}=LnOphDrl8A9h4!d7eaPKutFvmgp3&F(?*g2E78i7>=S<-&4LVXgzrRdy z)xA%hhw5&%eoaa)uVdc!{0&>(><2S-<-0;Y^#|WJbVxWZv-LGY(}!R3MROz-Qzy*! zkX0@CwnwAxbIIL=dmDT5V(-3i*(YDn<#_PrRuLnQIfq}qS~5p#qREN9ZF3)+R%zc| zc!DqL@rxacpR8>AJM((vSHnG<4UgJf_4E)IJh!fz;hX-&cQqfR4^>oWUSNOSoR@J! zGG=d+v5@r2=_l(<&zoP_Ab6{ecfRD4%D-Z7<}k))K3o34Fw*$+mcCi9Hk?p?HK}xi z)bwvF>^OdHJ$62a#dIpiuA^&gc6?L3WR~vat7d$E2S>+O%jK^!e9v!)oBw<6Z|kTN z2YI7@9M3&^!-h-J{L>ay`8_{^Zq8r4kblM-javzF6WXR5{^|Xxb4by3{pb0<5le5% z#)!4Q%IkSu z$yy%#`Mi~}Jd+EDf{yh9_wWDDZ<y3a8Z$NbR?w(nu#s%L+rk$DgEAis-m ssh-ed25519 WceKOQ R+pOKGMX6Uing364chthIWXmTJ3sQIL0hlXq0qxoGS8 +gQLfoQGS9BQSn80qWmMzOVEcrCrHJ70/njWs2dcJs9s +-> ssh-ed25519 EYWzzw xXm/A3xntlVTDXqD2oQ/gFDGNT8H5PCQK834iO2RZTc +Qpon9sEGFzfWxeVltgZOfwhejrs8AWavgqDaquPPPig +-> ssh-ed25519 ugHWWw qEeU19yDAJaQOkv3hJLDZcs4xtKKOnMJzjEz9cZzeXc +yWFJrCJAX0qBJ9LPTUH/mVWAJAjyxPESNQJomGMjx7I +-> ssh-ed25519 UDK5aw /7QjG660+ZykYWsk0A12DxOKaUcSV7cqM2DA+bu4pzI +0aVVXQWcuOtCBg5HplO5VF2P2a/mIdPoBW+s+X8LRHk +-> ssh-ed25519 UU9RSA KCS1HxNT9Txrq05pL38j3oQQrrV/4qrPicV/UazgNXQ +9VvHtDp3ZXk8IYlyM80O+auJVTBf17qttbm6GAGyVT4 +-> 6)BN-grease Jd1zY?T 4jN4F +Bmeg810ybQHwsjiCN7fwFxsLzmEkzSYFQzTtVtDq6PYRGIGGaHTnFPYxuWW8MsL2 +V5A1aA +--- X+gMieEzMKcX50sXGVGL275TFp3ptHkMXQsDkQ2udsA +b|)3ZI/w\mԼ\ao<'WZb]|xޑ/by1#T:7ޘH\Ie#Xc<$B} \ No newline at end of file diff --git a/secrets/gitlabSecretFile.age b/secrets/gitlabSecretFile.age new file mode 100644 index 0000000000000000000000000000000000000000..a84193934f332e3374bef03da82278cb62382d29 GIT binary patch literal 788 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+Pfqpr4^%KQ4h*bt z^ehQ6&J2zS3ik{M%?r;72rcx=GB-C3$o4a;3{Uj;EYFBE4&+J-$j&JbHm-2XGjR_O z_i#7#(N4{A&B-lJ%Q4ILax>5L&USXL%=ZrpD@V7@H8Q-as$8Kg#WOS`vN9|;$kfu% z$G|KzImy7%DqqHEW zJndrhTvub0iqHZxgGhASLS4K~6U!CMd`biI(+VR~!b=0PoQm@cvn$JkeM`au%R|E> zstl9#Q;bX^G6OAr-SWA@E0T&sk}6a34b74boqe1FjT{r53?h7;11dcIGNMdEGlD%` zvqO{JEz>b<3$+Xic2w|j_OLWGO3rgHGc0m+N{Om6%r*Bit|)ZROEL0_EX;EBEeOb~ zGEc0`&gKfq%5e1#_J}eMD+qG(i_{Kt&&sbf@bz%aDRA*C3NtbeFZM3-H#0LxcLdoM zs+(Svnpm8wP{ZX_9u;mGW*K7PTHt9?U||sG0g!X9&D;@nd8be z@2j`QyUfpx7kLkGhRhUag~T&sHw(ci=6!p_Re PTMIPbZ?}x?7d-|5fPN0{ literal 0 HcmV?d00001 diff --git a/secrets/hedgedocSecret.age b/secrets/hedgedocSecret.age new file mode 100644 index 00000000..5145431f --- /dev/null +++ b/secrets/hedgedocSecret.age @@ -0,0 +1,16 @@ +age-encryption.org/v1 +-> ssh-ed25519 WceKOQ qPy80JxSrqMnprxN5RkVCzVPZi6C43sypfUc4rZ6li8 +QTWC2VuFrpiByU9bsBkK2FnPnEcKRhd0w9EkT/MOrYI +-> ssh-ed25519 EYWzzw KWKmPzo3exCUCE/PMiPmrjcECpyAf3xF/hctVtnWmFE +SWAI3ypZqaBRLsOLGNiEqK17BweqgdB8/e5vbVy3ieI +-> ssh-ed25519 ugHWWw GfcgCYxD9rSrvYYmscVuvbVNKOtYrm2I1BikMf1vg3A +ZEugKdyNcNNxD4w6ea/Xz1Ab2UybvJXA4+F19NT0lfE +-> ssh-ed25519 UDK5aw EK0m2andEafwy5amZKIUeP5LZXjdlO60RkeTgf9+DlU +J59Tced+MQwDwiZhzOMTJwbRtoQpS8E2ElogX7qzqX4 +-> ssh-ed25519 UU9RSA cbMRnpYp2ormxzmeqIuxUTh3BPU+tN/ETa+bf9KRBCE +POXnGDH+R2iIOUD1li9JIu01nBe1FJx+8bd1KVmAy0M +-> BP-grease +3dvL7FFeZerLMpkT8a7S6RW8KzmLAV4RmtbeA+r6+N2FoFLO2cdFlSbuPLThEmxB +yIreuiiiz2AwHCdLJgiwsL5HvgWffhv6b3bLUhmiG6EZKK3aaO6FtqfBU3b4Qg +--- UiMKeSciiCqOkSVKuwLbn1nnFDITH8+Ujj2f2tkiYJE +?u0<}w@ONPKA( m/6B/ol7` z"ޗL EoX \ No newline at end of file diff --git a/secrets/nextcloudAdminPass.age b/secrets/nextcloudAdminPass.age new file mode 100644 index 00000000..5ec5c10c --- /dev/null +++ b/secrets/nextcloudAdminPass.age @@ -0,0 +1,15 @@ +age-encryption.org/v1 +-> ssh-ed25519 WceKOQ MbkajkkIy0oXTeZ/bSCEQztAUzyMJgEP7TeKqecFEH0 +M/xDTLw3p66CXUrWNYymb/Rcx6zSJqtdwlCXqNKzfHU +-> ssh-ed25519 EYWzzw o2aUcPNvoAtmZL/KE2thMEmRGE87NazSaZQV1JfA81E +oy67nzTRX14GUgJPUFdBF9yRM5OAH0WKOqDCfE112z8 +-> ssh-ed25519 ugHWWw xxY7ev4r58S7JAAu1L2dIMJAEqbj1sJgCBwvdetWoks +NCMrYUg9eJ41Era/85y0H3b6m3RogCK5FceJ2X/K/fA +-> ssh-ed25519 UDK5aw jKQWY0Odh882Q2NYjhg1wrXOEb/4KGKyRAhwcbmsWVI +U0F2g+Yt898YBM9P7uFpVAtkKEkJuGRhiv64jHL3mx8 +-> ssh-ed25519 UU9RSA 4LSOqIvpui2kU8TypqZ/dbKSh9VfZYvjxCv7xg/faXo +QTOsnrpCaEofvDxg7oMnn1gK93ReF/6SFCpSrWpwcm8 +-> "-grease +G4cNBeH2EPobBiBiU6BPy00FiFULUhedZxH8tFvrJqsyH2+p+cV4MznhAg +--- sQZVwEZzBiHlKnrj37A8DSYPPoJGav3TVIdxLOUi9C8 +D|" b9{]{Ѷ8in'쐞jqqCޝ Jا@4f>D ժ \ No newline at end of file diff --git a/secrets/nextshot.age b/secrets/nextshot.age new file mode 100644 index 00000000..758fb536 --- /dev/null +++ b/secrets/nextshot.age @@ -0,0 +1,21 @@ +age-encryption.org/v1 +-> ssh-ed25519 EYWzzw tj5NW5ng7yfhKRm4dncnJ2xZ3o5pVAxqzQivvQ6mXDQ +ATihm128mF4HaeNbxplkrE7rdBV7A/VIlD11j79IhAE +-> ssh-ed25519 ugHWWw jVRjWi9tydm104QR2cs19taFWxi/zvxaXaLdIcAlyGs +8q3m4QoxhRZ11als4FJUjf9NUTqYGmndZnjc2vM077M +-> ssh-ed25519 UDK5aw 8mZY2owpK1lQIqLfMwjcXavVj8ScHG34isEA7l8vzF8 +iwcZ6cNsmcWyDUTvnosBV8maNo0Fq0IGEDfri2/VooA +-> ssh-ed25519 UU9RSA Jbve4bnS4wfsIogRcntp9gOIAR4Zy1clQOpYYZ343h0 +Y+kYG6bQzcYadkH5uhtwRCyVTPyPKcyLdSrZk27bXrE +-> ssh-ed25519 TCMRjQ cpzssF435zpqKx2ygNZhvq4DTvgL2f6RuWUsEbOQ9SE +FP1C3M8j1JvlJeOk7+ZXrMtqYn0u35ybt5Ri0rutREc +-> ssh-ed25519 A1vEZQ 5OtnAWr4AC6hhBKuh26uaLHhQvRkyMjnAF6gAsLwdmE +SU6IZ6yuZ5rcEQU26xFJ0jdr9/OdpGOdBn74Lfieu0I +-> i]-grease z7o| %'2 +jJyVYxDbM0UrKXN29te7RrL1x60VX1119PmeW09g4nCd+YTCdD5u+U+T96EwkrIX +ndI0wzLzogzte7ARWi9TeSc +--- x06Im9OXtUo6qGrnJzQONcnHt+Id4qDsDWJ3KoMkVZw +&,cwuН +ߞ 8D)(Kr[R?n\g1b5޿Yڞn${ϑ@-[hSdxf}O_} +5RaOj8)򞀢Q&)?LaaBsECð3\q +О7)T`,,(P \ No newline at end of file diff --git a/secrets/paperlessAdminPW.age b/secrets/paperlessAdminPW.age new file mode 100644 index 00000000..b449b518 --- /dev/null +++ b/secrets/paperlessAdminPW.age @@ -0,0 +1,16 @@ +age-encryption.org/v1 +-> ssh-ed25519 IbXxfw 0vBEJFvcwF7hzeeRQzfDcEhKbzbxpjzO3YC/Sv1fJFE +UrHnc3CuXuUcl9K/K91K7lWdk/zdMaQ73f81G9PrmvE +-> ssh-ed25519 EYWzzw Zd8oNVysYcx1EpWyMj3ph4jYaB7Eq3gzC7v2GQbEfAA +g6jQnLAwHgprVuJWC/OUqQL8G1lpp0Nlc9auzfr4IqY +-> ssh-ed25519 ugHWWw Oi86lLhVSDcWwmZkw6q3s3IMWwUQbUHL/czBy3TFgC0 +Wda3sTOmEaDZAhmb15XmClYCxc5/OaE5cpGvhs4Gj1g +-> ssh-ed25519 UDK5aw 7eMa9eCptwXJNa+oDE06kuLDLbZpA/MObAEC3v3fQU0 +UbJW7NW8QFDqbbcqtWOzAggl1dwKfYItW2DqIwpstes +-> ssh-ed25519 UU9RSA 981DT5jhUQWsMRTtQeaIODB/2QhHbpnVTYXMUo4VTDI +L2WGEDRaw+9kk1BEcqlWiHuJ6blE5rQH7ft3zfU9lgU +-> 7KMg-grease }Bi!Bu +e3nIsNcarX6rZxTQUNvcKXNIBdLzaoq9pEujDdrz3d419fZcho4DFzfL9tH6KCTQ +0wxY6xHRWaceuScbLw3/Xp0eGTSKJCu2DgQEIlq2P+GsfI7UEzYzhyDMIbrfHdA +--- yVntoj9MmoKBcgku2dwseEuYKblBHOsnMdnJAQIweqg +3\ZWlSS-܎}&f 0bU %֋N$j>t__ \ No newline at end of file diff --git a/secrets/pulseLaunch.age b/secrets/pulseLaunch.age new file mode 100644 index 0000000000000000000000000000000000000000..11dd375dd598bc87c99a549dd372757fa6b72279 GIT binary patch literal 1330 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCT4jSR1F6J_|%+7Z*v#c~SPAv@x zNRRZ^Hckuj3a%(M@G;F!NzC>s3QjZAcXcW-3PiW9G~FXSyj-CyDmT5)$}+#)(<#Iy+t574%iqPgGQ1?HJe#XjJ2xz}Sl>9(u{6lC(la0{IJGdu zJtLR zQ1c?A@RD>B(*na%kE$~F2vdUqk8-Z8prDGBlyXaFC!eIsM9Z+qOmnj|^QeF%=e(%M zNVo75?_{$8gFJn0Q%?-rLM?-W9Tj|YT>^_MDgz2Fi!-y#g35~XqcXk2N(v34vVsDW zBmB(_jT3XT0-ehpEw}>RwL_!)O`W`QvcnC$i+x>FLPG-cd_(f9k}8}tEg}mIf=x1A zA`D!e%F%5LarO<$3RFlgO*9D0NUy5OGxRYHbu`MY2rt(+b9Htz^Q>?Q4Ro?Bx77B_ zD=GHQcI7gQ%B{@OHg@)Ki*k=jb}Tpb^0Y_{^{a4CHOO=Ka!D?>a5PRT@Jw`1$w#-% z(Xh-lDp0}6sG_tmB*h~!IVdb6(%G}b$igtwGBCm|GAPW%EYDxx!#K^~GpWeX(10t= zC&j}(qr$_(tHdME+tSR;!@w*kydp5rGo#!!E62qwvM}5?*di(?4eYmS`?~BbS0~-{ zqSVCVR0RX4fbe7kg#sPcF~G{9vDSE?r$+g;aycQgmzlZaf$ET1w1uE#R*70F9Bc)hhe7=Gf%8*{U#>I|7?U7Rx9 z>nA7d=~(i%WxL#DFUN`>iR-v57u9yT+~ZqwqkUmfDAN|6j&LObSq<6l`rc(bUj0j9 zGwL;sN#49}D9@zUoiWIuy|nC0y}u%|foUDUz(8m#vg|G5t-P|D3inS(z#Y zr&rtWwF`Q9*5MD=+L+*sTF1BpFQcuP+U|t&>^=F!(bl-==NqHHA!pLGZP%U5N_gXV z>dTpew%i`U1cw*-w`3pg;+?jn zl4Y7bo`^;JG0RGsx*m)B9tD;_4}X2UfqQT8s~+wt}op$^p$n# zBI}daF6ZeLA6qBn=Iwkx!>VyzOvN9*Qvp^@F0Yj5tUj%8apB?Dew|w@&)DAlsHQy0 zkVTGh8r!aQcW-a$fX0SP4MNhY zJ6JF7Rep9S`WoXl$*v^j2dvJkeb_|#Jf}^LVvMw`v0yUSy0U1Uw+ttfm3}JgG@;`c zKCj*|;oh}_JAVDUGcDZi{f(~Q8af*~ql7O87S=MjOlz8VS>pe ssh-ed25519 EYWzzw LbEHSAdVBebfazL1rZjf5GyzMf1yP47mIP0LmhZwalE +o42K++wV+1LdVqpxMARnQwvBpeNl9rqjhTrMA9snHC8 +-> ssh-ed25519 ugHWWw ajZwDkSl0AsFcC8D4J8wCi2M3zRTzaoHh91L/Hcl9kQ +HUxAdisSCHo7HU7zmCHdrB9RzLJzsvBViltf1jpnApA +-> ssh-ed25519 UDK5aw Y9o2xBOWsnNzh7aNSLpZ475Lpeejzj59CuHcCLLWVjE +lpojh/7y9sGhTDNIa0n4hPgzD7k21nN9Dy4AMuf6VU0 +-> ssh-ed25519 UU9RSA LfaWl7nuN2GOwZIAHVyuN6ugAH5hQbXwoV4XVZs5Xys +VXM3UeUshSONLLtk4/u/+1ehFF87oQizAjZuyZmKrNg +-> ssh-ed25519 +5moNA U7Xc/WZNU9fG3N0F2FItc2N2DRjhctESKldopfYE8G8 +ZJO8kKWKESx7SWCC9ov0Fl8id3G7p3fKkOpXfb+wj/0 +-> ssh-ed25519 IbXxfw IuxBXiZDSMw1Z7UHkud2cZ8D0ODLgjFy6shfVooEWGA +agKSGMAhd2ddFqXRgyN3rXCkWy5YwZxORoMbpVVVLV4 +-> ssh-ed25519 TCMRjQ M5C/XXI7ewoj3gR8OThBinECnnsJubtnQDjXi6TZIkA +bqwd+jfwHAXrvA4HNWk1kgBuOG027Jb39gN1A8cG8ac +-> ssh-ed25519 LUZRUw pcTrQk3BV6ybiye0SUdVRlEcCrBHYMGzbI/LVhZPDik +nmD5/hsc8tPIt89H1Rj9adS/Qs9LJxiOlvBA+eTKASc +-> ssh-ed25519 JiyliQ x4Eu+fH+AH1rOvzU4WT/2hLhMwuTd8ti9CmAPcoki1s +4vPL0xx5pAPzXqeORfrx0T5U/h+8O7ilDYB9/Njv3wM +-> ssh-ed25519 WceKOQ W3iu4XgTFLulYokT9KNYE/Msh9nGmz3qvC0L1uPQuDo +YpNMGLYJBQniMhYFuTT2LQyh/MtyxxpkKpbOW/ydU54 +-> ssh-ed25519 A1vEZQ hgTnHuA5JYoFb2SgP6g2b1JdJUGmeOd4bXQjYT+3EAY +raawl2Q1vE8aapZtQPx8F6z8xjXefg6sGUq5GEJy6LQ +-> ssh-ed25519 rQk6HA 8g14/ad3zsoWVVpHsabC1G8fQGc1/zgdXn5vddy9sHo +I3osCkU8TRPSj8Q2pnKahKfb/pW45604RT+WUpSn6cA +-> WMXV_pP-grease mfm`1 K H58g1@ G#jL + +--- zIvDzBi7eG6xi72O9H7PgwHhLmd632NULQixvMTIkfA +01¨,MN\"/UuJ1(E❁ +_sXow],` g{POL AI%^ZTfy^Lȗ%{ $:@ 'nRf  \ No newline at end of file diff --git a/secrets/rootPasswd.age b/secrets/rootPasswd.age new file mode 100644 index 00000000..d82d5f80 --- /dev/null +++ b/secrets/rootPasswd.age @@ -0,0 +1,30 @@ +age-encryption.org/v1 +-> ssh-ed25519 EYWzzw dZmQekgsKFafQQhp7PwxDNqZDeaebBcWFKdvVu9kNHA +kVo8BSe/TspDiSrlY6c96pTDYKWI10W3eLmX7xFxaGo +-> ssh-ed25519 ugHWWw kJUdRcAS6A6DDBPIarIqOggxg/eEXh+jxH8LJSUTsQE +27in5J/hHjq+3jbYZcnEnHnjicEQAugZgb9TiqcJYPE +-> ssh-ed25519 UDK5aw ktCg7oNhGxECw6q8M8/JKXud1DhmDHD+xv0CfZ5Qwyg +9JlW/TozHaUbgBe1nLCHih/zj0vevp27O8TSNnrRvgs +-> ssh-ed25519 UU9RSA Tl1dJB11BCY9lcP1P0SsfLK/QSJfEX3dGHIT8UyIeDM +s2Buc+kl6x2OQ2r84SKgo9PpC+Eiejf/2AW8GRCd+Wo +-> ssh-ed25519 +5moNA 8UUbmm2Fa0GqH5gFWXtqX7E7aXcXVQk7xlqoV8xyDEM +PfdKnfMiuQFaEdHcn2cOh8WvrTygJfwm6BvOMrbQg5k +-> ssh-ed25519 IbXxfw 3GbBo0aiHormx1vaWepMNOxo5MMwfZY63SkpMsaYcy8 +uatK0JPADzjsrsHBNw1Vk929lLGy6Xk66X6f4TzMwM8 +-> ssh-ed25519 TCMRjQ ezup1/sMk6PVqAvB3M+GhrVQ8tv/NDKaH7+GYS8LBAQ +j3aISluVVvBKH+3Am4E8fitt60OoXNRl+fVccpK+o/0 +-> ssh-ed25519 LUZRUw GcNbGgIb/hD7iKWOaHrcDVpSsL3WU4spuz+Vc4/10UY +79nb2p60oLD5Wk3zPhgtu+jzWKSC+5yLSntL8k1ifjU +-> ssh-ed25519 JiyliQ hhKOdm1yh5p20dmx2u7UN1jMe4do/DX7JABuG9ZWYVs +vjXNjwDRrKoblD+YvUZ5I5m3WiKhPVel5bVhq9oXAPg +-> ssh-ed25519 WceKOQ /nHYPRaI7sZ9n/Uwu+29G22eutdtFFbSpznCI6OvCSc +xPX2vM6DvY4qufPz5qBttlaP0+8T76q702RTBXzGO6I +-> ssh-ed25519 A1vEZQ xycFO6K3nIi5snUvFJuvaGF3jz494XEQgg4FNdKYlxU +8PIB1GitMv02dDN9/m8sL4Akky9G+urXBnmyd5FWseA +-> ssh-ed25519 rQk6HA duhoJYbtWugdP1mLfO+kwoJKJQJ25fO7xEPM+ggPaVM +nY3yWU9U2zOgpiR7LRHOF+xlIO/Un8axMcBA80TtwS0 +-> k-grease "\MEjtT TJcP!x (s[ZZi +9LSNSacH0dnlqlFcH9KjOTv1vssUaQfnuYXWgAZDX/TCv8OIDlz3eSbGf19xZUhT +uvMMqWgj7pX568TcBSwB +--- h0XAcn8PIMXq9lHfZidKzvAMF4UfvVGs9uznenpCjFs +ySqjxn>9;jPNsf\x=pL<,SY8cƵ孷OmZ\-SL]]ιF pv]Sx]\&l}Y`X#]~,xqd0V^B#M\,&S \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix new file mode 100644 index 00000000..4a722485 --- /dev/null +++ b/secrets/secrets.nix @@ -0,0 +1,23 @@ +let + pubkeys = import ../data/pubkeys.nix; +in +{ + "cloudflareAcme.age".publicKeys = pubkeys.ragon.server; + "nextshot.age".publicKeys = pubkeys.ragon.client; + "pulseLaunch.age".publicKeys = pubkeys.ragon.client; + "rootPasswd.age".publicKeys = pubkeys.ragon.computers; + "ragonPasswd.age".publicKeys = pubkeys.ragon.computers; + "tailscaleKey.age".publicKeys = pubkeys.ragon.computers; + "paperlessAdminPW.age".publicKeys = pubkeys.ragon.host "ds9"; + "ds9rcloneConfig.age".publicKeys = pubkeys.ragon.host "ds9"; + "ds9resticPassword.age".publicKeys = pubkeys.ragon.host "ds9"; + "hedgedocSecret.age".publicKeys = pubkeys.ragon.host "picard"; + "gitlabInitialRootPassword.age".publicKeys = pubkeys.ragon.host "picard"; + "gitlabSecretFile.age".publicKeys = pubkeys.ragon.host "picard"; + "gitlabDBFile.age".publicKeys = pubkeys.ragon.host "picard"; + "gitlabOTPFile.age".publicKeys = pubkeys.ragon.host "picard"; + "gitlabJWSFile.age".publicKeys = pubkeys.ragon.host "picard"; + "nextcloudAdminPass.age".publicKeys = pubkeys.ragon.host "picard"; + "wireguardwormhole.age".publicKeys = pubkeys.ragon.host "wormhole"; + "wireguardvoyager.age".publicKeys = pubkeys.ragon.host "voyager"; +} diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age new file mode 100644 index 00000000..cb6ed849 --- /dev/null +++ b/secrets/tailscaleKey.age @@ -0,0 +1,29 @@ +age-encryption.org/v1 +-> ssh-ed25519 EYWzzw LqSrDXtVPoZ2wV/jLp61ffmZ97tdel5osqMHKJtqGkU +dEptsiFGUnChsdQ1e6zY1xy314jV2hM8mxT7DVTHixk +-> ssh-ed25519 ugHWWw UmcrgVBZh0Exi6nfSbVcoE7H/vShI5uH9YmwPZzJ2Fc +vwP7W4328N78+JB/0Pmf0bqaynObPJnqjldjykJoZkI +-> ssh-ed25519 UDK5aw lZziE8KVejhi9SGffw7ugATxpkkhjH0sK8mSsqtRDAw +/vIpnMLVME5BfXp9Htrx8BgwKdSmz+IaIE+CAfg3RWg +-> ssh-ed25519 UU9RSA mrr+VnPBczJzPDUXuiEB/xMsgobwLMJmzC+CkIhTODo +Ww0R9CWpBcIdhkMCmrwNZEwwGUUkQwaS39kZHkZg9Ok +-> ssh-ed25519 +5moNA 28WI14I3xfIaxAqR30V2IC/2plACYkPH+FdOZxsnj1Y +h1l07zNtcmuhA4JwsY3z4bK4f8zBj6fSE16G26OmWmc +-> ssh-ed25519 IbXxfw ShOPZhuck88CV1GW1JwFIEzrHhqowVWudQBJfFaYEzA +OGt4XWcsrEulshgktz29eRWUJjPhBK90JkrXML7gU2I +-> ssh-ed25519 TCMRjQ B6wbeY4htaQNbHoMj54Vm5u2Nv3/+hZJk0QJZYOPImE +/UXZlqF/Q1ZvdaHzxeaTNGe8NkUIF7mRA4qzL/JNVQM +-> ssh-ed25519 LUZRUw JiB/nTYhBCeiSoSCwJFnCf9hW1OGA4Y5KQpGzpzE72o +yVhuA50na8KM/pT/zPA0g23yYo3meJzsFPAodKsECh8 +-> ssh-ed25519 JiyliQ fy2KrCXS9ufecu+NAY1Wv4dbcylOOLKs/UApA02V3Xc +Khn43o6SclqN7QJ7olSGa13KpaHe+EeKlXLkZiFMx5s +-> ssh-ed25519 WceKOQ eLn08w0EuZ3WQR0jQwwMLLaZ8/0S8dLSxc6ukzpJUj4 +0A3UfxLcS0xkyrHZrPHU1K3/mEsph8f7fXJLOMNyvhs +-> ssh-ed25519 A1vEZQ 3IPoXmWMEHxXGJkIcgc+jNincRgmxjUR1w8lT67tkHI +QtupNb9H2SDsZ7SeLwim582KT3j2WYT97OKDWyghCw8 +-> ssh-ed25519 rQk6HA pqCVNRPeh8DcQv688AmVfGVH9vFaO1ljCjZdQnmuLAs +UMFmukMw95sH94nMrIDCxA+Wu9rFqu/+HeaTSBAKk/w +-> s'-grease Vh0 HZ +eV4 +--- v3hiCSVCZBClieGN5cbms9savGrjF5eJe2CX45+YisU +x JT;AE"١bWR )%کx9ew}+vܒBj_ \ No newline at end of file diff --git a/secrets/wireguardvoyager.age b/secrets/wireguardvoyager.age new file mode 100644 index 00000000..9ce9fefe --- /dev/null +++ b/secrets/wireguardvoyager.age @@ -0,0 +1,15 @@ +age-encryption.org/v1 +-> ssh-ed25519 A1vEZQ 8WLhLDth0HYHsCpG9cE866tkxFtzw6PzJUNflx+iOjU +9i2/G8aJhu8WQCAVbYtlgMAuYj9Qgo0PEkATat6x0Lk +-> ssh-ed25519 EYWzzw mrxn2Mn3wPuUOE8usd2Q/NdyI/y+d8wURa4EzY9euBE +T8aonRzVP3HpMYLdj8Cs1ALDlf7StSqRqiOy02qCR9w +-> ssh-ed25519 ugHWWw DpCKx/h6Ys+XNqcIlYG8gcA7enZhE9zxOHDSR9zJYgI +TUAy5ZMoU6kr4g/+Ys3PYTQp00r0yk7B/+VpdFprsNQ +-> ssh-ed25519 UDK5aw iiIeZTy6eDMcekJyils7kJZWMRpO7pLi62lRPveoKg8 +TnSrdTlda9O+0yhBytnY5VVmthU52L/nMCi9/aFiu1s +-> ssh-ed25519 UU9RSA M6ItkG991s5U2K1E70ruUP2iRL9+nB8p2eyDL9kX+TQ +HeoZW6BtgHcI3Qe/VUCUrcyhUbcMXlKa3HqNacv7uwc +-> kX_-grease f\e\ Rj+~oX7M 1 +ewJ+jXh0vEgbDhpO0nmX+V+UwZSqkafKRoIB3hMrAwE+R5iuZSDWAx4XR0c +--- SiWIor3ehrAC3KTcgLCN+mYvsM+gOGAwj1e8Wud388M +?`Y"P]e}WH+!f CsFmcM:2oQ6aM  ~=s󚞜 \ No newline at end of file diff --git a/secrets/wireguardwormhole.age b/secrets/wireguardwormhole.age new file mode 100644 index 00000000..b0762e10 --- /dev/null +++ b/secrets/wireguardwormhole.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 rQk6HA YDPQBl0whrw1zR+swhb+SExxqZ1dAyH/2VUaWSFpF2k +MYf8ZmjcHtZrBIvpTPgTpX4AxZb25RIwFnRmPA5HSsY +-> ssh-ed25519 EYWzzw uq0tQEgeKJ0QF8Gj+6Q3VKUX+4eZhaYZdn5ue7iVAE8 +OhXcoh9inDGGs4pUMp4SJsBs9Wgof0Zasp2YDdNbYnU +-> ssh-ed25519 ugHWWw mCnwqprJ1LljTL7WMUWs+PAB1TIiTJJnS2H57WlGBxQ +6Dic87CJmMyNUb9cMLFb7X1b9OwKODGYDT4XJu79vPM +-> ssh-ed25519 UDK5aw llva4i1xwHbr2ObkMRKOL8nlKKHUAVngcI9YnSxQRwY +3Arn7SHDV549W9buHN1W178BZZI+LalSVONipZCJvrk +-> ssh-ed25519 UU9RSA roR+hhpCHjRWIhCMXE3Z2X8yY+UxmTh2CmzizUfPNA0 +jSkLFAGZM4mwkAnNBhMqA37XFdEaIFLFo8CjtXFzpQc +-> 9P-grease lR x)Ox- +6cl7heMeTkRgUkm6tpeysLWDPf+ka5rPGlzvMZSkp5D7q3wzCq4vCXuq6EQHSxbi +vsN4NiAXQoBhrOz0lJnDZuH4zerlIdNwoUZzSiqkFJ26SbkVP3xPIYbCKrsBMbox + +--- BfY866qs6AK/LY+dtGMfcsvQP/wiAO5fmRP4eZDORwY +% +`4NlW{0QWQ[ʎVy~lwtF9& %FW.u5wD \ No newline at end of file From c39f8252f79dd4aba24be9b20d96fb0551e01d0e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 2 Mar 2022 00:32:03 +0100 Subject: [PATCH 002/525] feat: daedalus brew --- flake.lock | 41 ++++++++++----- flake.nix | 20 +++---- hm-imports/cli.nix | 2 +- hm-imports/nvim/default.nix | 16 +----- hm-imports/zsh/default.nix | 1 - hosts/daedalus/default.nix | 20 +++++++ hosts/daedalus/hammerspoon.lua | 95 ++++++++++++++++++++++++++++++++++ lib/default.nix | 2 +- 8 files changed, 159 insertions(+), 38 deletions(-) create mode 100644 hosts/daedalus/hammerspoon.lua diff --git a/flake.lock b/flake.lock index f178bfeb..5eec1e33 100644 --- a/flake.lock +++ b/flake.lock @@ -145,11 +145,11 @@ }, "impermanence": { "locked": { - "lastModified": 1644791231, - "narHash": "sha256-iDihsF1fUMK4xXiUudPnDM3veH1LXbbxfP9Lzekw9iU=", + "lastModified": 1646131459, + "narHash": "sha256-GPmgxvUFvQ1GmsGfWHy9+rcxWrczeDhS9XnAIPHi9XQ=", "owner": "nix-community", "repo": "impermanence", - "rev": "635bcd2d88739197a0b584aa9fadaa53c717a853", + "rev": "2f39baeb7d039fda5fc8225111bb79474138e6f4", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1646012280, - "narHash": "sha256-rgx3+Xkqm6E9oR1hXKmipyTmMQb8kyXEklDuHHplD/I=", + "lastModified": 1646122061, + "narHash": "sha256-VD+GkXqZ/n0l2pKdol7Pg6/s0QiJfWG18tBLroodRO0=", "owner": "neovim", "repo": "neovim", - "rev": "e383543342db8e9dcf40f7d5237edeab29638880", + "rev": "37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb", "type": "github" }, "original": { @@ -212,11 +212,11 @@ ] }, "locked": { - "lastModified": 1646036082, - "narHash": "sha256-dRTzOZszaNupxRUkEX11K4hzRCzcB2apNsyGx0WsmbU=", + "lastModified": 1646122501, + "narHash": "sha256-nszY7wfiAi/U8BRbIiEiAH7ycaWPLbzUd32Jzm60leM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c5d3b328cfe9c7414363f70d583dce6584a72251", + "rev": "359449438c8c6e435cf0d4bc16a79433bca46c8a", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1646109749, - "narHash": "sha256-09nJZGDSoy+1LWX3AqjjQUJPpx9pYYhwOOI32sx7+Fg=", + "lastModified": 1646175689, + "narHash": "sha256-2iqYd0KBc5n9J5vTx7QbB2XxZnJEnIIED0khKdvKI8o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "13e74fc7ff2f691da0791db67fe65930403b391d", + "rev": "bc52b6406e1eefd9fa35cd88ab1a36916a84b389", "type": "github" }, "original": { @@ -289,6 +289,22 @@ "type": "github" } }, + "pandoc-latex-template": { + "flake": false, + "locked": { + "lastModified": 1639934947, + "narHash": "sha256-AXVwBC/dZ7H9naXlvKfHoJFvG1x7G3MMAtdSRwKf+n4=", + "owner": "Wandmalfarbe", + "repo": "pandoc-latex-template", + "rev": "30cfc57a0c64fad1202aa1422e2ed3a77535bf02", + "type": "github" + }, + "original": { + "owner": "Wandmalfarbe", + "repo": "pandoc-latex-template", + "type": "github" + } + }, "rnix-lsp": { "inputs": { "naersk": "naersk", @@ -325,6 +341,7 @@ "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", + "pandoc-latex-template": "pandoc-latex-template", "rnix-lsp": "rnix-lsp", "utils": "utils_2", "zsh-completions": "zsh-completions", diff --git a/flake.nix b/flake.nix index 5d2e4ba9..0922d57b 100644 --- a/flake.nix +++ b/flake.nix @@ -24,6 +24,8 @@ dart-vim.flake = false; rnix-lsp.url = "github:nix-community/rnix-lsp"; rnix-lsp.inputs.nixpkgs.follows = "nixpkgs"; + pandoc-latex-template.url = "github:Wandmalfarbe/pandoc-latex-template"; + pandoc-latex-template.flake = false; ## zsh zsh-completions.url = "github:zsh-users/zsh-completions"; zsh-completions.flake = false; @@ -55,6 +57,8 @@ imports = lib.my.mapModulesRec' ./hm-imports (x: x); }; + rev = if (lib.hasAttrByPath [ "rev" ] self.sourceInfo) then self.sourceInfo.rev else "Dirty Build"; + nixosSystem = system: extraModules: let pkgs = genPkgs system; in nixpkgs.lib.nixosSystem @@ -66,12 +70,12 @@ impermanence.nixosModules.impermanence home-manager.nixosModules.home-manager ({ config, ...}: lib.mkMerge [{ - system.configurationRevision = self.sourceInfo.rev; + system.configurationRevision = rev; services.getty.greetingLine = - "<<< Welcome to NixOS ${config.system.nixos.label} @ ${self.sourceInfo.rev} - \\l >>>"; + "<<< Welcome to ${config.system.nixos.label} @ ${rev} - Please leave\\l >>>"; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.extraSpecialArgs = { inherit inputs lib; }; } (lib.mkIf (config.users.extraUsers.ragon != null) { # import hm stuff if enabled @@ -90,16 +94,14 @@ specialArgs = { inherit darwin lib pkgs inputs self; }; modules = [ home-manager.darwinModules.home-manager - ({ config, inputs, self, ...}: lib.mkMerge [{ - system.configurationRevision = (lib.traceVal (self.sourceInfo)).rev; + ({ config, inputs, self, ...}: { config = { + #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; - } - (lib.mkIf (config.users.extraUsers.ragon != null) { # import hm stuff if enabled home-manager.users.ragon = hmConfig; - }) - ]) + }; + }) ./darwin-common.nix ] ++ extraModules; }; diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index a6ab7774..3751b875 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -22,7 +22,7 @@ yt-dlp aria2 libqalculate - ] + ]; home.shellAliases = { v = "nvim"; vim = "nvim"; diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 283c7e26..ad83efd6 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -1,8 +1,6 @@ -{pkgs, config, inputs, lib, ...}: -with lib; -with lib.my; +{pkgs, config, inputs, ...}: { - home.packages = [ + home.packages = with pkgs;[ python3 # ultisnips lazygit nodejs @@ -41,15 +39,6 @@ with lib.my; name = "dart-vim"; src = inputs.dart-vim; }; - vim-pandoc-live-preview = pkgs.vimUtils.buildVimPlugin { - name = "vim-pandoc-live-preview"; - src = inputs.vim-pandoc-live-preview; - }; - orgmode-nvim = pkgs.vimUtils.buildVimPlugin { - name = "orgmode-nvim"; - src = inputs.orgmode-nvim; - dontBuild = true; - }; in map (x: { plugin = x; }) (with pkgs.vimPlugins; [ vim-tmux-navigator @@ -74,7 +63,6 @@ with lib.my; toggleterm-nvim undotree vim-pandoc - vim-pandoc-live-preview vim-pandoc-syntax ultisnips coc-nvim diff --git a/hm-imports/zsh/default.nix b/hm-imports/zsh/default.nix index bf80fe7d..74b70438 100644 --- a/hm-imports/zsh/default.nix +++ b/hm-imports/zsh/default.nix @@ -5,7 +5,6 @@ in { programs.zsh = { enable = true; - histSize = 10000; enableCompletion = true; initExtra = let diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 5e64a72f..4086da75 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -2,13 +2,33 @@ with lib; with lib.my; { + networking.hostName = "daedalus"; users.users.ragon = { name = "ragon"; home = "/Users/ragon"; }; + + homebrew = { + enable = true; + autoUpdate = true; + casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" ]; + masApps = { # Install Mac App Store apps (install them manually and then do `mas list` to get the id) + "AdGuard for Safari" = 1440147259; + "Xcode" = 497799835; + "Home Assistant" = 1099568401; + "WireGuard" = 1451685025; + "UTM" = 1538878817; + "Bitwarden" = 1352778147; + "Shareful" = 1522267256; + "Tailscale" = 1475387142; + }; + }; + programs.gnupg.agent.enable = true; home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { + home.file.".hammerspoon/init.lua".source = ./hammerspoon.lua; + programs.home-manager.enable = true; home.stateVersion = "21.11"; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua new file mode 100644 index 00000000..d6520299 --- /dev/null +++ b/hosts/daedalus/hammerspoon.lua @@ -0,0 +1,95 @@ +---------------------------------------------------------------------------------------------------- +-- Settings +---------------------------------------------------------------------------------------------------- +hs.autoLaunch(true) +hs.automaticallyCheckForUpdates(true) +hs.consoleOnTop(true) +hs.dockIcon(false) +hs.menuIcon(false) +hs.uploadCrashData(false) + +hs.window.animationDuration = 0 + +local log = hs.logger.new('init', 'debug') + +configWatcher = hs.pathwatcher.new(hs.configdir, hs.reload):start() + + +---------------------------------------------------------------------------------------------------- +-- Moonlander Detection +---------------------------------------------------------------------------------------------------- + +function isDeviceMoonlander(device) + return device.productName == "Moonlander Mark I" +end + +function moonlanderDetected(connected) + if connected then + hs.keycodes.setLayout("EurKEY v1.2") + else + hs.keycodes.setLayout("Colemak DH ISO copy") + end +end + +function searchMoonlander() + local usbDevices = hs.usb.attachedDevices() + local moonlanderConnected = hs.fnutils.find(usbDevices, isDeviceMoonlander) ~= nil + + moonlanderDetected(moonlanderConnected) +end + +searchMoonlander() + +usbWatcher = hs.usb.watcher.new(function(event) + if event.productName == "Moonlander Mark I" then + moonlanderDetected(event.eventType == "added") + end +end):start() + +caffeinateWatcher = hs.caffeinate.watcher.new(function(event) + if event == hs.caffeinate.watcher.systemDidWake then + searchMoonlander() + end +end):start() + + +---------------------------------------------------------------------------------------------------- +-- mount ds9 via tailscale +---------------------------------------------------------------------------------------------------- +function mountDS9() + local ssid = hs.wifi.currentNetwork() + if ssid ~= nil and ssid ~= 'vim' then -- not at home + if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns + os.execute("diskutil umount /Volumes/data") -- umount share if it exists + hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale + end + end +end + +mountDS9() + +hs.wifi.watcher.new(function(watcher, message, interface) + mountDS9() +end):start() + +---------------------------------------------------------------------------------------------------- +-- Scratchpad +---------------------------------------------------------------------------------------------------- + +function showHideBundleId(bundleId) + local focusedWindow = hs.window.focusedWindow() + if focusedWindow ~= nil and focusedWindow:application():bundleID() == bundleId then -- window is focused + focusedWindow:close() -- hide + else + hs.application.launchOrFocusByBundleID(bundleId) + hs.window.focusedWindow():centerOnScreen(hs.mouse.getCurrentScreen()) + end +end + +local hyperModifier = {"cmd", "shift", "ctrl", "alt"} +hs.hotkey.bind(hyperModifier, "b", function() showHideBundleId("com.bitwarden.desktop") end) +hs.hotkey.bind(hyperModifier, "p", function() showHideBundleId("com.timeular.zei") end) + +---------------------------------------------------------------------------------------------------- +-- Tiling +---------------------------------------------------------------------------------------------------- diff --git a/lib/default.nix b/lib/default.nix index 0186cb5a..f9c6ddb3 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,4 +1,4 @@ -{ darwin, inputs, lib, pkgsBySystem, ... }: +{ inputs, lib, ... }: let inherit (lib) makeExtensible attrValues foldr; From 849bb9bb9663c8a712c7c41d0227bb63b4164967 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 2 Mar 2022 00:42:05 +0100 Subject: [PATCH 003/525] gitignore --- .envrc | 7 +++++++ .gitignore | 12 ++++++++++++ hm-imports/nvim/default.nix | 1 + 3 files changed, 20 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..c23bb916 --- /dev/null +++ b/.envrc @@ -0,0 +1,7 @@ +use_flake() { + watch_file flake.nix + watch_file flake.lock + eval "$(nix print-dev-env)" +} + +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..4774bded --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Ignore configurable file with secrets +#/data/secrets.nix +.DS_Store + +# Ignore build symlinks +result* +internal +.tmp + +# Ignore vscode stuff +/.vscode/ + diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index ad83efd6..fe17244f 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -12,6 +12,7 @@ ctags ]; home.file.".config/nvim".source = ./config; + home.file.".config/nvim".recursive = true; programs.neovim = let conf = inputs.self.nixosConfigurations.enterprise.config.programs.neovim.configure; From cfb003691795160a47dade8381e071b76fde4676 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 2 Mar 2022 01:08:16 +0100 Subject: [PATCH 004/525] fix-nvim --- hm-imports/nvim/config/{init.lua => nvim.lua} | 0 hm-imports/nvim/default.nix | 8 ++++---- hm-imports/zsh/zshrc | 2 -- hosts/daedalus/default.nix | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) rename hm-imports/nvim/config/{init.lua => nvim.lua} (100%) diff --git a/hm-imports/nvim/config/init.lua b/hm-imports/nvim/config/nvim.lua similarity index 100% rename from hm-imports/nvim/config/init.lua rename to hm-imports/nvim/config/nvim.lua diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index fe17244f..e0eee35d 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -20,12 +20,12 @@ { enable = true; package = pkgs.neovim-nightly; + extraConfig = '' + set runtimepath^=~/.config/nvim + lua dofile('~/.config/nvim/nvim.lua') + ''; vimAlias = true; viAlias = true; - extraConfig = '' - set runtimepath^=~/.config/nvim - lua dofile('~/.config/nvim/init.lua') - ''; plugins = let nnn-vim = pkgs.vimUtils.buildVimPlugin { diff --git a/hm-imports/zsh/zshrc b/hm-imports/zsh/zshrc index 88927f2e..e18b4433 100644 --- a/hm-imports/zsh/zshrc +++ b/hm-imports/zsh/zshrc @@ -17,8 +17,6 @@ bindkey -M viins '^[[A' history-beginning-search-backward-end \ hash go 2>/dev/null && export PATH=$PATH:$(go env GOPATH)/bin hash yarn 2>/dev/null && export PATH=$PATH:$HOME/.yarn/bin hash direnv 2>/dev/null && eval "$(direnv hook zsh)" # needed for lorri -export PATH=$PATH:$HOME/scripts -export PATH=$PATH:$HOME/.config/rofi/bins export PATH=$PATH:$HOME/.local/bin export PATH=$PATH:$HOME/flutter/flutter/bin hash kitty 2>/dev/null && alias ssh="kitty kitten ssh" diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 4086da75..263bc729 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -35,7 +35,7 @@ with lib.my; home.sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; - PATH = "$PATH:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin"; + #PATH = "$PATH:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin"; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; }; home.packages = with pkgs; [ From c47e83f453d98906ca8d8aae474ddd513fed60fd Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 2 Mar 2022 01:11:47 +0100 Subject: [PATCH 005/525] fix-nvim2 --- hm-imports/nvim/config/nvim.lua | 4 ++-- hm-imports/nvim/default.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index e70c07db..7ab3155e 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -9,9 +9,9 @@ require('plugin.rainbow') require('plugin.terminal') -- plugins - coc -vim.cmd 'source /etc/nvim/coc.vim' -- too lazy to convert all the shit to lua +vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua -- terminal -vim.cmd 'source /etc/nvim/terminal.vim' -- too lazy to convert all the shit to lua +vim.cmd 'source ~/.config/nvim/terminal.vim' -- too lazy to convert all the shit to lua -- color stuff vim.g.gruvbox_italic = 1 diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index e0eee35d..fd541349 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -22,7 +22,7 @@ package = pkgs.neovim-nightly; extraConfig = '' set runtimepath^=~/.config/nvim - lua dofile('~/.config/nvim/nvim.lua') + lua dofile('${./config/nvim.lua}') ''; vimAlias = true; viAlias = true; From 318a66724c012a81b80bfc8e8643d83be148cd6a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 2 Mar 2022 01:15:08 +0100 Subject: [PATCH 006/525] fix-zsh --- hosts/daedalus/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 263bc729..32a6d20d 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -35,7 +35,7 @@ with lib.my; home.sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; - #PATH = "$PATH:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin"; + PATH = "$PATH:/etc/profiles/per-user/ragon/bin/:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin"; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; }; home.packages = with pkgs; [ From 4a5255f12767ec5d177fa7e995fddde18ea48d32 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 3 Mar 2022 15:59:21 +0100 Subject: [PATCH 007/525] add seashore --- hosts/daedalus/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 32a6d20d..3e6062da 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -21,6 +21,7 @@ with lib.my; "UTM" = 1538878817; "Bitwarden" = 1352778147; "Shareful" = 1522267256; + "app.seashore" = 1448648921; "Tailscale" = 1475387142; }; }; @@ -35,7 +36,7 @@ with lib.my; home.sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; - PATH = "$PATH:/etc/profiles/per-user/ragon/bin/:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin"; + PATH = "$PATH:/etc/profiles/per-user/ragon/bin/:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin:/nix/var/nix/profiles/per-user/ragon/home-manager/home-path/bin/"; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; }; home.packages = with pkgs; [ From 255086e61b6c6a8496149c4284f7dd7816787354 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Mar 2022 14:15:49 +0100 Subject: [PATCH 008/525] add lens --- hosts/daedalus/default.nix | 2 +- hosts/daedalus/hammerspoon.lua | 31 ++++++++++++++++--------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 3e6062da..f29048b7 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -12,7 +12,7 @@ with lib.my; homebrew = { enable = true; autoUpdate = true; - casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" ]; + casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" "lens" ]; masApps = { # Install Mac App Store apps (install them manually and then do `mas list` to get the id) "AdGuard for Safari" = 1440147259; "Xcode" = 497799835; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index d6520299..86d993ae 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -56,21 +56,22 @@ end):start() ---------------------------------------------------------------------------------------------------- -- mount ds9 via tailscale ---------------------------------------------------------------------------------------------------- -function mountDS9() - local ssid = hs.wifi.currentNetwork() - if ssid ~= nil and ssid ~= 'vim' then -- not at home - if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns - os.execute("diskutil umount /Volumes/data") -- umount share if it exists - hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale - end - end -end - -mountDS9() - -hs.wifi.watcher.new(function(watcher, message, interface) - mountDS9() -end):start() +-- meesa broke +--function mountDS9() +-- local ssid = hs.wifi.currentNetwork() +-- if ssid ~= nil and ssid ~= 'vim' then -- not at home +-- if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns +-- os.execute("diskutil umount /Volumes/data") -- umount share if it exists +-- hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale +-- end +-- end +--end +-- +--mountDS9() +-- +--hs.wifi.watcher.new(function(watcher, message, interface) +-- mountDS9() +--end):start() ---------------------------------------------------------------------------------------------------- -- Scratchpad From 31b1c037400baaf585212efc1f8bf5f921e94525 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Mar 2022 15:14:38 +0100 Subject: [PATCH 009/525] logseq --- hosts/daedalus/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index f29048b7..3c85957e 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -12,7 +12,7 @@ with lib.my; homebrew = { enable = true; autoUpdate = true; - casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" "lens" ]; + casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" "lens" "logseq" ]; masApps = { # Install Mac App Store apps (install them manually and then do `mas list` to get the id) "AdGuard for Safari" = 1440147259; "Xcode" = 497799835; From eb5617bc08cf4fd882e0d0b59eb1a16ebad3dc30 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Mar 2022 16:36:46 +0100 Subject: [PATCH 010/525] logseq --- hosts/daedalus/hammerspoon.lua | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 86d993ae..160bc7c9 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -56,22 +56,21 @@ end):start() ---------------------------------------------------------------------------------------------------- -- mount ds9 via tailscale ---------------------------------------------------------------------------------------------------- --- meesa broke ---function mountDS9() --- local ssid = hs.wifi.currentNetwork() --- if ssid ~= nil and ssid ~= 'vim' then -- not at home --- if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns --- os.execute("diskutil umount /Volumes/data") -- umount share if it exists --- hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale --- end --- end ---end --- ---mountDS9() --- ---hs.wifi.watcher.new(function(watcher, message, interface) --- mountDS9() ---end):start() +function mountDS9() + local ssid = hs.wifi.currentNetwork() + if ssid ~= nil and ssid ~= 'vim' then -- not at home + if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns + os.execute("diskutil umount /Volumes/data") -- umount share if it exists + hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale + end + end +end + +mountDS9() + +hs.wifi.watcher.new(function(watcher, message, interface) + mountDS9() +end):start() ---------------------------------------------------------------------------------------------------- -- Scratchpad @@ -90,6 +89,7 @@ end local hyperModifier = {"cmd", "shift", "ctrl", "alt"} hs.hotkey.bind(hyperModifier, "b", function() showHideBundleId("com.bitwarden.desktop") end) hs.hotkey.bind(hyperModifier, "p", function() showHideBundleId("com.timeular.zei") end) +hs.hotkey.bind(hyperModifier, "l", function() showHideBundleId("com.electron.logseq") end) ---------------------------------------------------------------------------------------------------- -- Tiling From 5bc3cc318408f0e2f905d7650461bfc90cae63c7 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Mar 2022 21:42:57 +0100 Subject: [PATCH 011/525] a --- darwin-common.nix | 7 +++++++ hosts/daedalus/hammerspoon.lua | 31 ++++++++++++++++--------------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index 29619aa8..471cd2c2 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -4,6 +4,13 @@ nix.package = pkgs.nixFlakes; nix.buildCores = 0; # use all cores nix.maxJobs = 10; # use all cores + nix.distributedBuilds = true; + nix.buildMachines = [ { + systems = ["x86_64-linux"]; + sshUser = "ragon"; + hostName = "ds9"; + + }]; system.defaults = { NSGlobalDomain.AppleShowAllExtensions = true; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 160bc7c9..5da882bd 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -56,21 +56,22 @@ end):start() ---------------------------------------------------------------------------------------------------- -- mount ds9 via tailscale ---------------------------------------------------------------------------------------------------- -function mountDS9() - local ssid = hs.wifi.currentNetwork() - if ssid ~= nil and ssid ~= 'vim' then -- not at home - if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns - os.execute("diskutil umount /Volumes/data") -- umount share if it exists - hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale - end - end -end - -mountDS9() - -hs.wifi.watcher.new(function(watcher, message, interface) - mountDS9() -end):start() +-- kaputti +--function mountDS9() +-- local ssid = hs.wifi.currentNetwork() +-- if ssid ~= nil and ssid ~= 'vim' then -- not at home +-- if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns +-- os.execute("diskutil umount /Volumes/data") -- umount share if it exists +-- hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale +-- end +-- end +--end +-- +--mountDS9() +-- +--hs.wifi.watcher.new(function(watcher, message, interface) +-- mountDS9() +--end):start() ---------------------------------------------------------------------------------------------------- -- Scratchpad From 39f91ed1132cc3af7fce338326a28a775e13b5a0 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 5 Mar 2022 10:07:02 +0100 Subject: [PATCH 012/525] chore a --- darwin-common.nix | 1 - hm-imports/zsh/zshrc | 11 ----------- 2 files changed, 12 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index 471cd2c2..2e3a1b5f 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -9,7 +9,6 @@ systems = ["x86_64-linux"]; sshUser = "ragon"; hostName = "ds9"; - }]; system.defaults = { diff --git a/hm-imports/zsh/zshrc b/hm-imports/zsh/zshrc index e18b4433..f45c86aa 100644 --- a/hm-imports/zsh/zshrc +++ b/hm-imports/zsh/zshrc @@ -24,17 +24,6 @@ hash helm 2>/dev/null && . <(helm completion zsh) hash kubectl 2>/dev/null && . <(kubectl completion zsh) export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$" -ssh() { - if [ -v TMUX ]; then - tmux set-option allow-rename off 1>/dev/null - tmux rename-window "ssh/$*" - command ssh "$@" - tmux set-option allow-rename on 1>/dev/null - else - command ssh "$@" - fi -} - n () { # Block nesting of nnn in subshells From 40f300f95a4bcd4cfd12bc6070c2c09163e9be35 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 5 Mar 2022 12:34:52 +0100 Subject: [PATCH 013/525] feat: packages --- flake.nix | 10 +++++++++- hm-imports/cli.nix | 1 + packages/.gitkeep | 0 packages/scripts.nix | 9 +++++++++ packages/scripts/nosrebuild | 8 ++++++++ packages/scripts/nr | 3 +++ packages/scripts/ns | 3 +++ 7 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 packages/.gitkeep create mode 100644 packages/scripts.nix create mode 100755 packages/scripts/nosrebuild create mode 100755 packages/scripts/nr create mode 100755 packages/scripts/ns diff --git a/flake.nix b/flake.nix index 0922d57b..43e5078c 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,9 @@ overlays = [ self.overlay neovim-nightly-overlay.overlay + (final: prev: { + my = self.packages.${prev.system}; + }) ]; }; @@ -130,5 +133,10 @@ daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; # TODO }; - }; + } // utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [lefthook nixpkgs-fmt]; + }; + packages = lib.my.mapModules ./packages (p: pkgs.callPackage p { inputs = inputs;}); + }); } diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index 3751b875..b42b7513 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -2,6 +2,7 @@ { home.packages = with pkgs; [ + my.scripts nnn bat htop diff --git a/packages/.gitkeep b/packages/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/packages/scripts.nix b/packages/scripts.nix new file mode 100644 index 00000000..dd84d830 --- /dev/null +++ b/packages/scripts.nix @@ -0,0 +1,9 @@ +{ stdenv, ...}: +stdenv.mkDerivation { + name = "scripts"; + src = ./scripts; + installPhase = '' + mkdir -p $out/bin + cp * $out/bin + ''; +} diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild new file mode 100755 index 00000000..e84cc175 --- /dev/null +++ b/packages/scripts/nosrebuild @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +REV=$(curl https://api.github.com/repos/ragon000/nixos-config/branches/main | jq -r .commit.sha) +if [[ $(uname) == "Linux" ]]; then + sudo nixos-rebuild switch --flake "github:ragon000/nixos-config?rev=$REV" +else # Darwin + /nix/var/nix/profiles/system/sw/bin/darwin-rebuild switch --flake "github:ragon000/nixos-config?rev=$REV" +fi diff --git a/packages/scripts/nr b/packages/scripts/nr new file mode 100755 index 00000000..09009a42 --- /dev/null +++ b/packages/scripts/nr @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +nix run nixpkgs#$1 diff --git a/packages/scripts/ns b/packages/scripts/ns new file mode 100755 index 00000000..03d835c2 --- /dev/null +++ b/packages/scripts/ns @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +nix shell nixpkgs#$1 From 7cca126b52d86466fb638d33191e7341070a77d6 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 5 Mar 2022 12:38:34 +0100 Subject: [PATCH 014/525] feat: packages2 --- hm-imports/cli.nix | 1 + packages/scripts/nosrebuild | 3 +++ 2 files changed, 4 insertions(+) diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index b42b7513..5e166364 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -3,6 +3,7 @@ home.packages = with pkgs; [ my.scripts + jq nnn bat htop diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild index e84cc175..80c00968 100755 --- a/packages/scripts/nosrebuild +++ b/packages/scripts/nosrebuild @@ -1,6 +1,9 @@ #!/usr/bin/env bash +set -euo pipefail + REV=$(curl https://api.github.com/repos/ragon000/nixos-config/branches/main | jq -r .commit.sha) + if [[ $(uname) == "Linux" ]]; then sudo nixos-rebuild switch --flake "github:ragon000/nixos-config?rev=$REV" else # Darwin From 353b0c7fd80c5835cf50c1ff5bc8f7169320abe4 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 5 Mar 2022 12:56:37 +0100 Subject: [PATCH 015/525] feat: packages2 --- darwin-common.nix | 3 +++ hosts/daedalus/default.nix | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/darwin-common.nix b/darwin-common.nix index 2e3a1b5f..6a1f40e9 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -10,6 +10,9 @@ sshUser = "ragon"; hostName = "ds9"; }]; + nix.extraOptions = '' + builders-use-substitutes = true + ''; system.defaults = { NSGlobalDomain.AppleShowAllExtensions = true; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 3c85957e..7c6b3a7d 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -12,7 +12,7 @@ with lib.my; homebrew = { enable = true; autoUpdate = true; - casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" "lens" "logseq" ]; + casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" "lens" "logseq" "discord"]; masApps = { # Install Mac App Store apps (install them manually and then do `mas list` to get the id) "AdGuard for Safari" = 1440147259; "Xcode" = 497799835; From 981d3b4ca3c17b0a46bd94d584d43ebbfb76795e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 9 Mar 2022 18:15:41 +0100 Subject: [PATCH 016/525] =?UTF-8?q?n=C3=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- darwin-common.nix | 2 ++ hosts/daedalus/default.nix | 32 ++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index 6a1f40e9..d2becc57 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -9,6 +9,8 @@ systems = ["x86_64-linux"]; sshUser = "ragon"; hostName = "ds9"; + sshKey = "/Users/ragon/.ssh/id_ed25519"; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUorQkJYdWZYQUpoeVVIVmZocWxrOFk0ekVLSmJLWGdKUXZzZEU0ODJscFYgcm9vdEBpc28K"; }]; nix.extraOptions = '' builders-use-substitutes = true diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 7c6b3a7d..12ec00d4 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -12,17 +12,29 @@ with lib.my; homebrew = { enable = true; autoUpdate = true; - casks = [ "hammerspoon" "amethyst" "android-platform-tools" "alfred" "ukelele" "homebrew/cask-drivers/zsa-wally" "lens" "logseq" "discord"]; - masApps = { # Install Mac App Store apps (install them manually and then do `mas list` to get the id) - "AdGuard for Safari" = 1440147259; - "Xcode" = 497799835; - "Home Assistant" = 1099568401; - "WireGuard" = 1451685025; - "UTM" = 1538878817; - "Bitwarden" = 1352778147; - "Shareful" = 1522267256; + casks = [ + "hammerspoon" + "amethyst" + "android-platform-tools" + "alfred" + "ukelele" + "homebrew/cask-drivers/zsa-wally" + "lens" + "logseq" + "discord" + "vlc" + ]; + masApps = { + # Install Mac App Store apps (install them manually and then do `mas list` to get the id) + "AdGuard for Safari" = 1440147259; + "Xcode" = 497799835; + "Home Assistant" = 1099568401; + "WireGuard" = 1451685025; + "UTM" = 1538878817; + "Bitwarden" = 1352778147; + "Shareful" = 1522267256; "app.seashore" = 1448648921; - "Tailscale" = 1475387142; + "Tailscale" = 1475387142; }; }; From d63366468eb68c76547a03beaad51f67b401b7bf Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 14 Mar 2022 16:55:41 +0100 Subject: [PATCH 017/525] parsec --- hosts/daedalus/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 12ec00d4..10cc30dc 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -23,6 +23,7 @@ with lib.my; "logseq" "discord" "vlc" + "parsec" ]; masApps = { # Install Mac App Store apps (install them manually and then do `mas list` to get the id) From 3dfbdbfdfcc75703bb829d034e39349ed29a8717 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:23:43 +0100 Subject: [PATCH 018/525] feat: auto hostname --- flake.nix | 12 ++++++++---- hosts/daedalus/default.nix | 1 - 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 43e5078c..d649991f 100644 --- a/flake.nix +++ b/flake.nix @@ -62,7 +62,7 @@ rev = if (lib.hasAttrByPath [ "rev" ] self.sourceInfo) then self.sourceInfo.rev else "Dirty Build"; - nixosSystem = system: extraModules: let + nixosSystem = system: extraModules: hostName: let pkgs = genPkgs system; in nixpkgs.lib.nixosSystem rec { @@ -73,6 +73,7 @@ impermanence.nixosModules.impermanence home-manager.nixosModules.home-manager ({ config, ...}: lib.mkMerge [{ + networking.hostName = hostName; system.configurationRevision = rev; services.getty.greetingLine = "<<< Welcome to ${config.system.nixos.label} @ ${rev} - Please leave\\l >>>"; @@ -88,7 +89,7 @@ ./nixos-common.nix ] ++ self.nixosModules ++ extraModules; }; - darwinSystem = system: extraModules: + darwinSystem = system: extraModules: hostName: let pkgs = genPkgs system; in darwin.lib.darwinSystem @@ -99,6 +100,7 @@ home-manager.darwinModules.home-manager ({ config, inputs, self, ...}: { config = { #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; + networking.hostName = hostName; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; @@ -109,6 +111,8 @@ ] ++ extraModules; }; + processConfigurations = lib.mapAttrs (n: v: v n); + in { @@ -124,12 +128,12 @@ nixosModules = lib.my.mapModulesRec ./nixos-modules import; darwinModules = []; #darwinModules = lib.my.mapModulesRec ./darwin-modules import; - nixosConfigurations = { + nixosConfigurations = processConfigurations { picard = nixosSystem "x86-64-linux" [ ./hosts/picard/default.nix ]; # TODO wormhole = nixosSystem "aarch64-linux" [ ./hosts/wormhole/default.nix ]; # TODO ds9 = nixosSystem "x86-64-linux" [ ./hosts/ds9/default.nix ]; # TODO }; - darwinConfigurations = { + darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; # TODO }; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 10cc30dc..b15134c0 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -2,7 +2,6 @@ with lib; with lib.my; { - networking.hostName = "daedalus"; users.users.ragon = { name = "ragon"; From 4beaa903fdb9af1e7f8494515581a7c2fb6f6155 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:26:45 +0100 Subject: [PATCH 019/525] remove wormhole --- flake.nix | 1 - hosts/wormhole/default.nix | 92 -------- hosts/wormhole/router.nix | 422 ------------------------------------- 3 files changed, 515 deletions(-) delete mode 100644 hosts/wormhole/default.nix delete mode 100644 hosts/wormhole/router.nix diff --git a/flake.nix b/flake.nix index d649991f..782b7de5 100644 --- a/flake.nix +++ b/flake.nix @@ -130,7 +130,6 @@ #darwinModules = lib.my.mapModulesRec ./darwin-modules import; nixosConfigurations = processConfigurations { picard = nixosSystem "x86-64-linux" [ ./hosts/picard/default.nix ]; # TODO - wormhole = nixosSystem "aarch64-linux" [ ./hosts/wormhole/default.nix ]; # TODO ds9 = nixosSystem "x86-64-linux" [ ./hosts/ds9/default.nix ]; # TODO }; darwinConfigurations = processConfigurations { diff --git a/hosts/wormhole/default.nix b/hosts/wormhole/default.nix deleted file mode 100644 index dfe81302..00000000 --- a/hosts/wormhole/default.nix +++ /dev/null @@ -1,92 +0,0 @@ -{ config, inputs, pkgs, lib, ... }: -{ - imports = [ - "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" - "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" - ./router.nix - ]; - nixpkgs.overlays = [ - (final: super: { - makeModulesClosure = x: - super.makeModulesClosure (x // { allowMissing = true; }); - }) - ]; - boot.loader.systemd-boot.enable = false; - boot.kernelPackages = pkgs.linuxPackages_rpi4; - boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "zfs" "ext4" ]; # we dont need zfs here - boot.inird.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "zfs" "ext4" ]; # we dont need zfs here - networking.hostId = "eec43f51"; - # networking.usePredictableInterfaceNames = false; - documentation.enable = false; - documentation.nixos.enable = false; - - nix = { - autoOptimiseStore = true; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - # Free up to 1GiB whenever there is less than 100MiB left. - extraOptions = '' - min-free = ${toString (100 * 1024 * 1024)} - max-free = ${toString (1024 * 1024 * 1024)} - ''; - }; - powerManagement.cpuFreqGovernor = "ondemand"; - - # Assuming this is installed on top of the disk image. - fileSystems = { - "/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - options = [ "noatime" ]; - }; - }; - - ragon.networking.router.enable = true; - ragon.services.ssh.enable = true; - ragon.cli.enable = true; - ragon.cli.maximal = false; - services.lorri.enable = false; - ragon.services.ddns.enable = true; - ragon.services.tailscale.enable = true; - ragon.services.nginx.enable = true; - services.nginx.virtualHosts."h.hailsatan.eu" = { - forceSSL = true; - useACMEHost = "hailsatan.eu"; - extraConfig = '' - proxy_buffering off; - ''; - locations."/".proxyPass = "http://10.0.0.20:8123"; - locations."/".proxyWebsockets = true; - }; - services.nginx.virtualHosts."hailsatan.eu" = { - forceSSL = true; - useACMEHost = "hailsatan.eu"; - root = pkgs.runCommand "homepage" { } '' - mkdir -p $out - echo "Hail Satan" > $out/index.html - echo "User-agent: *" > $out/robots.txt - echo "Disallow: /" >> $out/robots.txt - ''; - }; - services.nginx.virtualHosts."j.hailsatan.eu" = { - forceSSL = true; - useACMEHost = "hailsatan.eu"; - extraConfig = '' - proxy_buffering off; - ''; - locations."/".proxyPass = "https://j.hailsatan.eu"; - locations."/".proxyWebsockets = true; - }; - - users.users.root.openssh.autorizedKeys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDiKJEYNUU+ZpbOyJf9k9ZZdTTL0qLiZ6fXEBVCjNfas" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkFgHr6OMwsnGhdG4TwKdthlJC/B9ELqZfrmJ9Sf7qk" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCJVa1zAjR6stS4qIEysQbR9n0/AV2h62QRfsRvNfQiL19ExKFR7ZHaUFBr6jnGjzl5eyK0DtwZMlyaDlTR/AXiTZHJrvEPL1lna42wK252uZb66DXAG23L+iFeXySq3f+a6Prw8NU3HvIvC/YkEYwjjbqPKEjvnIHd2dJ1FZ9T9FeoKup3nMWYGDRqrja8NcRwCY9OpPd3ZKZJlNJcPfbfAipGAuQ6EGgGi0GzqoYP9OqZx9PBQQEY7a5+cUgYYEI75NJNuk4/WBm8fkFKrcOmvhTOEb90kbNmpHusDOrFEo8LATdpmJSG013DpPb1W7pMxMq+YgFF4INqIxrhBGht" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8RjUQ6DDDDgsVbqq+6zz1q6cBkus/BLUGa9JoWsqB4" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWwrrROqkBEZi8t7Czu1jDDJjSqomGXx7dhIx73GTb3bBlgThqUSsrG+NpP9mxNl4sYgmJYQ9idpUW/RTX3/sXBvNQi4rOqv9z1qdEyzF86CcyWGk4f+D2hJffLlcIbvbDCJ92PF+k5NbH+PC/yVZKSIRC3ENBHf38l8n25ABuBcpCI16bPCIbqbpekqStXClug//uAyENuS6+orHFQg3muUihEedEhJly1QAfDhOzZRlBxTGQcDvZA/XMaIyjAqbXaNVRsDLmKezm/Dg5M3jMIRxApUd9hcuZlfemxUgD0qqnJSTahb9rMxUKk5jdY95EthAp0s2e6tc2O76sYPqb" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH99QITZa3hSa+7sMo4M5IC5mXWEjsRqXUSaYKKRyQfE" - ]; -} diff --git a/hosts/wormhole/router.nix b/hosts/wormhole/router.nix deleted file mode 100644 index 77c88620..00000000 --- a/hosts/wormhole/router.nix +++ /dev/null @@ -1,422 +0,0 @@ -{ config, lib, pkgs, ... }: -with lib; -with lib.my; -let - wgEnabled = hasAttrByPath [ "hosts" config.networking.hostName ] (importTOML ../../data/wireguard.toml); - cfg = config.ragon.networking.router; - waninterface = cfg.waninterface; - laninterface = cfg.laninterface; - prefixSize = cfg.prefixSize; - statics = cfg.statics; - domain = cfg.domain; - disableFirewallFor = cfg.disableFirewallFor; - lan = { - name = "lan"; - internet = true; - allowipv6 = true; - ipv4addr = "10.0.0.1"; - netipv4addr = "10.0.0.0"; - dhcpv4start = "10.0.10.1"; - dhcpv4end = "10.0.255.240"; - routes = [ - { address = "10.12.0.0"; prefixLength = 16; via = "10.0.1.2"; } - { address = "10.13.0.0"; prefixLength = 16; via = "10.0.1.2"; } - ]; - ipv4size = 16; - vlan = 4; - }; - iot = { - name = "iot"; - internet = false; - allowipv6 = false; - ipv4addr = "10.1.0.1"; - netipv4addr = "10.1.0.0"; - dhcpv4start = "10.1.1.1"; - dhcpv4end = "10.1.255.240"; - routes = [ ]; - ipv4size = 16; - vlan = 2; - }; - guest = { - name = "guest"; - internet = true; - allowipv6 = false; - ipv4addr = "192.168.2.1"; - netipv4addr = "192.168.2.0"; - dhcpv4start = "192.168.2.10"; - dhcpv4end = "192.168.2.240"; - routes = [ ]; - ipv4size = 24; - vlan = 3; - }; - nets = [ lan iot guest ]; - ipv6nets = builtins.filter (a: a.allowipv6) nets; - interfaceGenerator = obj: { - "${obj.name}".ipv4 = { - addresses = [{ - address = obj.ipv4addr; - prefixLength = obj.ipv4size; - }]; - routes = [{ - address = obj.netipv4addr; - prefixLength = obj.ipv4size; - }] ++ obj.routes; - }; - }; -in -{ - options.ragon.networking.router.enable = mkBoolOpt false; - options.ragon.networking.router.waninterface = - lib.mkOption { - type = lib.types.str; - default = "eth1"; - }; - options.ragon.networking.router.laninterface = - lib.mkOption { - type = lib.types.str; - default = "eth0"; - }; - options.ragon.networking.router.domain = - lib.mkOption { - type = lib.types.str; - default = "hailsatan.eu"; - }; - options.ragon.networking.router.prefixSize = - lib.mkOption { - type = lib.types.int; - default = 59; - }; - options.ragon.networking.router.statics = - lib.mkOption { - type = lib.types.listOf lib.types.attrs; - default = [ - { name = "j.hailsatan.eu"; ip = "10.0.0.2"; } - { name = "paperless.hailsatan.eu"; ip = "10.0.0.2"; } - { name = "unifi.hailsatan.eu"; ip = "10.0.0.2"; } - { name = "nix.hailsatan.eu"; ip = "10.0.0.2"; } - { name = "h.hailsatan.eu"; ip = "10.0.0.1"; } - { name = "grafana.hailsatan.eu"; ip = "10.0.0.2"; } - { name = "nzbr.de"; ip = "10.0.1.2"; } - { name = "storm.nzbr.de"; ip = "45.9.63.165"; } - { name = "avalanche.nzbr.de"; ip = "202.61.247.0"; } - ]; - }; - options.ragon.networking.router.disableFirewallFor = - lib.mkOption { - type = lib.types.listOf lib.types.attrs; - default = [ - { hostname = "enterprise"; mac = "d8:cb:8a:76:09:0a"; tcpports = [ 22 ]; udpports = [ ]; } - { hostname = "earthquake"; mac = "78:24:af:bc:0c:07"; tcpports = [ 22 22000 ]; udpports = [ 22000 51820 ]; } - ]; - }; - options.ragon.networking.router.staticDHCPs = - lib.mkOption { - type = lib.types.listOf lib.types.attrs; - default = [ - # ragon - machines - { name = "enterprise"; ip = "10.0.0.9"; mac = "d8:cb:8a:76:09:0a"; } - { name = "ds9"; ip = "10.0.0.2"; mac = "f4:b5:20:0e:21:d5"; } - # ragon - vms - { name = "homeassistant"; ip = "10.0.0.20"; mac = "52:54:00:a1:04:14"; } - { name = "enterprise-win"; ip = "10.0.0.201"; mac = "52:54:00:f3:ab:dd"; } - # ragon - iot - { name = "zbbridge"; ip = "10.1.0.5"; mac = "98:f4:ab:e2:b6:a3"; } - { name = "wled-Schrank-Philipp"; ip = "10.1.0.10"; mac = "2c:f4:32:20:74:60"; } - { name = "wled-Betthintergrund-Phi"; ip = "10.1.0.11"; mac = "2c:3a:e8:0e:ab:71"; } - - # nzbr - machines - { name = "earthquake"; ip = "10.0.1.2"; mac = "78:24:af:bc:0c:07"; } - { name = "comet"; ip = "10.0.1.4"; mac = "0c:98:38:d3:16:8f"; } - { name = "meteor"; ip = "10.0.1.8"; mac = "54:27:1e:5c:1f:ed"; } # Wireless - { name = "meteor"; ip = "10.0.1.16"; mac = "00:21:cc:5c:f5:dc"; } # Wired - { name = "hurricane"; ip = "10.0.1.32"; mac = "f0:2f:74:1b:af:e0"; } - - # nzbr - vms - { name = "earthquake-macos"; ip = "10.0.1.201"; mac = "52:54:00:8e:e2:66"; } - { name = "earthquake-win"; ip = "10.0.1.202"; mac = "52:54:00:97:37:69"; } - - # nzbr - consoles - { name = "xbox"; ip = "10.0.2.1"; mac = "58:82:a8:30:2d:1c"; } - { name = "wii"; ip = "10.0.2.2"; mac = "00:23:cc:50:78:00"; } - { name = "switch"; ip = "10.0.2.3"; mac = "dc:68:eb:bb:01:fc"; } # Wireless - ]; - }; - options.ragon.networking.router.forwardedPorts = - lib.mkOption { - type = lib.types.listOf lib.types.attrs; - default = [ - #{ proto = "tcp"; sourcePort = "5060-5061"; destination = "10.0.0.11"; } - ]; - }; - config = { - # https://www.willghatch.net/blog/2020/06/22/nixos-raspberry-pi-4-google-fiber-router/ - - # You’d better forward packets if you actually want a router. - boot.kernel.sysctl = { - "net.ipv4.ip_forward" = 1; - "net.ipv6.conf.all.forwarding" = 1; - "net.ipv6.conf.default.forwarding" = 1; - "net.ipv6.conf.6rdtun.forwarding" = 1; - }; - - networking.vlans = - let - genVlan = obj: { - "${obj.name}" = { - id = obj.vlan; - interface = laninterface; - }; - }; - in - lib.foldl (a: b: a // b) { } (map genVlan nets); - - networking.interfaces = - let - genVlanConf = lib.foldl (a: b: a // b) { } (map interfaceGenerator nets); - in - { - "${waninterface}" = { - useDHCP = true; - }; - } // genVlanConf; - networking.dhcpcd = { - enable = true; - allowInterfaces = [ - "${waninterface}" - ] ++ (map (a: a.name) ipv6nets); - extraConfig = - let - genDesc = obj: '' - # We don’t want dhcpcd to give us an address on the ${obj.name} interface. - interface ${obj.name} - noipv4 - - ''; - allGenIntDescs = builtins.concatStringsSep "\n" (map genDesc ipv6nets); - in - '' - # The man page says that ipv6rs should be disabled globally when - # using a prefix delegation. - noipv6rs - - interface ${waninterface} - # On the wan interface, we want to ask for a prefix delegation. - iaid 0 - ipv6rs - ia_pd 0/::/${toString prefixSize} lan/0/${toString prefixSize} - - ${allGenIntDescs} - ''; - runHook = '' - if [[ "$reason" == "BOUND6" ]] || [[ "$reason" == "REBIND6" ]]; then - ${pkgs.python3}/bin/python3 ${pkgs.writeScript "dhcpcd-runHook.py" '' - import json - import sys - import subprocess - import os - - prefix = os.environ.get("new_dhcp6_ia_pd1_prefix1")[:-1] - - # https://stackoverflow.com/a/37316533/12852285 - def mac2ipv6(mac): - # only accept MACs separated by a colon - parts = mac.split(":") - - # modify parts to match IPv6 value - parts.insert(3, "ff") - parts.insert(4, "fe") - parts[0] = "%x" % (int(parts[0], 16) ^ 2) - - # format output - ipv6Parts = [] - for i in range(0, len(parts), 2): - ipv6Parts.append("".join(parts[i:i+2])) - ipv6 = "%s%s" % (prefix, ":".join(ipv6Parts)) - return ipv6 - - data = json.loads("""${builtins.toJSON disableFirewallFor}""") - for host in data: - print('setting firewall rules for ' + host["hostname"]) - IP = mac2ipv6(host["mac"]) - if len(host["tcpports"]) > 0: - subprocess.run(["${pkgs.nftables}/bin/nft", "insert", "rule", "inet", "filter", "forward", "ip6", "daddr", IP, "tcp", "dport", f'{{ {", ".join(map(str, host["tcpports"]))} }}', "accept" ]) - if len(host["udpports"]) > 0: - subprocess.run(["${pkgs.nftables}/bin/nft", "insert", "rule", "inet", "filter", "forward", "ip6", "daddr", IP, "udp", "dport", f'{{ {", ".join(map(str, host["udpports"]))} }}', "accept" ]) - subprocess.run(["${pkgs.nftables}/bin/nft", "insert", "rule", "inet", "filter", "forward", "ip6", "daddr", IP, "icmpv6", "type", "{ destination-unreachable, packet-too-big, time-exceeded, parameter-problem, echo-request, echo-reply, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert }", "accept"]) - ''} - fi - ''; - }; - - networking.firewall.enable = false; # disable iptables cause it's ass to set up - networking.nftables.enable = true; - networking.nftables.ruleset = - let - unsafeInterfaces = (map (x: x.name) (filter (x: x.internet == false) nets)); - safeInterfaces = (map (x: x.name) (filter (x: x.internet == true) nets)) ++ [ "lo" ] ++ (optionals (wgEnabled) [ "wg0" ]); - allInternalInterfaces = (map (x: x.name) nets) ++ [ "lo" ]; - portForwards = concatStringsSep "\n" (map (x: "iifname ${waninterface} ${x.proto} dport ${toString x.sourcePort} dnat ${x.destination}") cfg.forwardedPorts); - dropUnsafe = concatStringsSep "\n" (map (x: "iifname ${x} drop") unsafeInterfaces); - allowSafe = concatStringsSep "\n" (map (x: "iifname ${x} accept") safeInterfaces); - allowSafeOif = concatStringsSep "\n" (map (x: "oifname ${x} ct state { established, related } accept") safeInterfaces); - allowAll = concatStringsSep "\n" (map (x: "iifname ${x} accept") (allInternalInterfaces ++ (optionals (wgEnabled) [ "wg0" ]))); - in - '' - define unsafe_interfaces = { - ${concatStringsSep ",\n" unsafeInterfaces} - } - define safe_interfaces = { - lo, - ${concatStringsSep ",\n" safeInterfaces} - } - define all_interfaces = { - lo, - ${concatStringsSep ",\n" allInternalInterfaces} - } - table inet filter { - chain input { - type filter hook input priority 0; - - # allow established/related connections - ct state { established, related } accept - - # early drop of invalid connections - ct state invalid drop - - # allow from loopback and internal nic - ${allowAll} - - # allow icmp - ip protocol icmp icmp type echo-request limit rate over 1/second burst 5 packets drop - ip6 nexthdr icmpv6 icmpv6 type echo-request limit rate over 1/second burst 5 packets drop - ip protocol icmp icmp type { destination-unreachable, echo-reply, echo-request, source-quench, time-exceeded } accept - ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, echo-reply, echo-request, nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert, packet-too-big, parameter-problem, time-exceeded } accept - - # open port 22, but only allow 2 new connections per minute from each ip - tcp dport 22 ct state new flow table ssh-ftable { ip saddr limit rate 2/minute } accept - tcp dport 80 accept - tcp dport 443 accept - udp dport 51820 accept - - # everything else - reject with icmp type port-unreachable - } - chain forward { - type filter hook forward priority 0; - - # allow from loopback and internal nic - ${allowSafe} - - # allow established/related connections - ${allowSafeOif} - - # Drop everything else - drop - } - chain output { - type filter hook output priority 0 - # dont allow any trafic from iot and stuff to escape to the wild - ${dropUnsafe} - } - } - table ip nat { - chain prerouting { - type nat hook prerouting priority 0 - ${portForwards} - } - - chain postrouting { - type nat hook postrouting priority 0 - - oifname ${waninterface} masquerade - } - } - ''; - - services.dnsmasq = { - enable = true; - alwaysKeepRunning = true; - extraConfig = - let - inherit (pkgs) runCommand; - gen = obj: '' - interface=${obj.name} - dhcp-range=${obj.name},${obj.dhcpv4start},${obj.dhcpv4end},12h - ''; - - genHosts = obj: '' - dhcp-host=${obj.mac},${obj.ip},${obj.name} - ''; - genall = builtins.concatStringsSep "\n" (map gen nets); - genallHosts = builtins.concatStringsSep "\n" (map genHosts cfg.staticDHCPs); - genstatics = builtins.concatStringsSep "\n" (map (a: "address=/${a.name}/${a.ip}") statics); - netbootxyz = builtins.fetchurl { - url = "https://github.com/netbootxyz/netboot.xyz/releases/download/2.0.40/netboot.xyz.efi"; - sha256 = "1gvgvlaxhjkr9i0b2bjq85h12ni9h5fn6r8nphsag3il9kificcc"; - }; - netbootxyzpath = runCommand "netbootpath" { } '' - mkdir $out - ln -s ${netbootxyz} $out/netbootxyz.efi - ''; - in - '' - no-resolv - # unbound broke - # server=127.0.0.1#5353 # unbound - server=1.1.1.1 - server=1.0.0.1 - - # https://hveem.no/using-dnsmasq-for-dhcpv6 - - # don't ever listen to anything on wan and stuff - except-interface=${waninterface},${laninterface} - - listen-address=0.0.0.0,:: - - # don't send bogus requests out on the internets - bogus-priv - - # enable IPv6 Route Advertisements - enable-ra - - # Construct a valid IPv6 range from reading the address set on the interface. The :: part refers to the ifid in dhcp6c.conf. Make sure you get this right or dnsmasq will get confused. - dhcp-range=lan,::,constructor:lan, ra-names,slaac, 12h - - # ra-names enables a mode which gives DNS names to dual-stack hosts which do SLAAC for IPv6. - # Add your local-only LAN domain - local=/${domain}/ - - # have your simple hosts expanded to domain - expand-hosts - - # set your domain for expand-hosts - domain=${domain} - - # forward .kube domains to coredns - server=/kube/10.13.0.10 - - - ${genall} - '' + - optionalString wgEnabled '' - interface=wg0 - no-dhcp-interface=wg0 - addn-hosts=/run/wireguard-hosts - '' + '' - interface=lo # otherwise localhost dns does not work - ${genstatics} - ${genallHosts} - - dhcp-boot=netbootxyz.efi - - enable-tftp - tftp-root=${netbootxyzpath} - - # set authoritative mode - dhcp-authoritative - - ''; - - }; - }; -} From e6ea8bfb1325807e66f86770e0f3f1544f9ac755 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:29:50 +0100 Subject: [PATCH 020/525] fix nixosMods --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 782b7de5..2d2ec606 100644 --- a/flake.nix +++ b/flake.nix @@ -87,7 +87,7 @@ }) ]) ./nixos-common.nix - ] ++ self.nixosModules ++ extraModules; + ] ++ [self.nixosModules] ++ extraModules; }; darwinSystem = system: extraModules: hostName: let From 5a7e42c4e7ef752508eb5740b62c81b83e24510a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:35:12 +0100 Subject: [PATCH 021/525] fix --- darwin-modules/.gitkeep | 0 flake.nix | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 darwin-modules/.gitkeep diff --git a/darwin-modules/.gitkeep b/darwin-modules/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/flake.nix b/flake.nix index 2d2ec606..80cdefde 100644 --- a/flake.nix +++ b/flake.nix @@ -87,7 +87,7 @@ }) ]) ./nixos-common.nix - ] ++ [self.nixosModules] ++ extraModules; + ] ++ (lib.my.mapModulesRec' (toString ./nixos-modules) import) ++ extraModules; }; darwinSystem = system: extraModules: hostName: let @@ -108,7 +108,7 @@ }; }) ./darwin-common.nix - ] ++ extraModules; + ] ++ (lib.my.mapModulesRec' (toString ./darwin-modules) import) ++ extraModules; }; processConfigurations = lib.mapAttrs (n: v: v n); From 49140379c31a127d9a7699924493f3dec857375a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:38:24 +0100 Subject: [PATCH 022/525] a --- nixos-modules/system/agenix.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos-modules/system/agenix.nix b/nixos-modules/system/agenix.nix index 0cc539da..74b67095 100644 --- a/nixos-modules/system/agenix.nix +++ b/nixos-modules/system/agenix.nix @@ -4,13 +4,11 @@ with builtins; with lib; with lib.my; let - inherit (inputs) agenix; secretsDir = "${toString ../../secrets}"; secretsFile = "${secretsDir}/secrets.nix"; cfg = config.ragon.agenix; in { - imports = [ agenix.nixosModules.age ]; options.ragon.agenix = { enable = mkBoolOpt true; secrets = mkOption { From f0376918bd011d2ad16dc6bb840695123646e9f8 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:40:40 +0100 Subject: [PATCH 023/525] a --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 80cdefde..e270ebce 100644 --- a/flake.nix +++ b/flake.nix @@ -129,8 +129,8 @@ darwinModules = []; #darwinModules = lib.my.mapModulesRec ./darwin-modules import; nixosConfigurations = processConfigurations { - picard = nixosSystem "x86-64-linux" [ ./hosts/picard/default.nix ]; # TODO - ds9 = nixosSystem "x86-64-linux" [ ./hosts/ds9/default.nix ]; # TODO + picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; # TODO + ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; # TODO }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; # TODO From 6d573f15fd64d38e1df2012107be6d18e38ccc5f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:41:58 +0100 Subject: [PATCH 024/525] a --- nixos-modules/hardware/bluetooth.nix | 4 ---- nixos-modules/hardware/laptop.nix | 1 - 2 files changed, 5 deletions(-) diff --git a/nixos-modules/hardware/bluetooth.nix b/nixos-modules/hardware/bluetooth.nix index cd7c254a..8dc77204 100644 --- a/nixos-modules/hardware/bluetooth.nix +++ b/nixos-modules/hardware/bluetooth.nix @@ -11,10 +11,6 @@ in extraModules = [ pkgs.pulseaudio-modules-bt ]; package = pkgs.pulseaudioFull; }; - ragon.gui.autostart = [ - [ "${pkgs.blueberry}/bin/blueberry-tray" ] - ]; - environment.systemPackages = (if config.ragon.gui.enable then [ pkgs.blueberry ] else [ ]); ragon.persist.extraDirectories = [ "/var/lib/bluetooth" diff --git a/nixos-modules/hardware/laptop.nix b/nixos-modules/hardware/laptop.nix index dbd02ab0..a0d552c2 100644 --- a/nixos-modules/hardware/laptop.nix +++ b/nixos-modules/hardware/laptop.nix @@ -17,7 +17,6 @@ in }; hardware.acpilight.enable = true; services.thermald.enable = true; - ragon.gui.laptop = true; ragon.hardware.bluetooth.enable = true; # laptops normally have BT }; } From e152121ada1ab65ac014b67aacc380c9d1e09148 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 14:43:59 +0100 Subject: [PATCH 025/525] a --- hosts/ds9/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index dae3d1ba..68625c1d 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -176,7 +176,6 @@ ragon = { cli.enable = true; user.enable = true; - home-manager.enable = true; persist.enable = true; persist.extraDirectories = [ "/var/lib/syncthing" ]; From 3294d69d93fa9234d1bc529d96012affe339e17f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Mar 2022 15:41:33 +0100 Subject: [PATCH 026/525] daedalus docker --- hosts/daedalus/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index b15134c0..138d88a8 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -20,6 +20,7 @@ with lib.my; "homebrew/cask-drivers/zsa-wally" "lens" "logseq" + "docker" "discord" "vlc" "parsec" From 4ec2d7975a1c05f0f79c28b38b4f31da72592729 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 22 Mar 2022 20:14:35 +0100 Subject: [PATCH 027/525] added element and otterrss --- hosts/daedalus/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 138d88a8..25745081 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -24,6 +24,7 @@ with lib.my; "discord" "vlc" "parsec" + "element" ]; masApps = { # Install Mac App Store apps (install them manually and then do `mas list` to get the id) @@ -36,6 +37,7 @@ with lib.my; "Shareful" = 1522267256; "app.seashore" = 1448648921; "Tailscale" = 1475387142; + "Otter RSS" = 1529696614; }; }; From fff61d5fd7821b5b87b4dd35e5c36fe5de0e48d0 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 22 Mar 2022 20:27:42 +0100 Subject: [PATCH 028/525] pam --- hosts/daedalus/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 25745081..274e724d 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -11,6 +11,9 @@ with lib.my; homebrew = { enable = true; autoUpdate = true; + brews = [ + "pam-reattach" + ]; casks = [ "hammerspoon" "amethyst" From 7a85f7cec62ef34dced2c5f5472c6eb9d0b1e457 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 25 Mar 2022 13:32:05 +0100 Subject: [PATCH 029/525] feat: working nixos --- flake.nix | 8 ++++---- hosts/ds9/default.nix | 6 ++++-- hosts/ds9/hardware-configuration.nix | 2 +- nixos-common.nix | 4 +--- nixos-modules/services/unifi.nix | 1 + nixos-modules/system/agenix.nix | 2 +- nixos-modules/user/default.nix | 2 +- 7 files changed, 13 insertions(+), 12 deletions(-) diff --git a/flake.nix b/flake.nix index e270ebce..da9ae230 100644 --- a/flake.nix +++ b/flake.nix @@ -56,8 +56,8 @@ ]; }; - hmConfig = { pkgs, inputs, config, ...}: { - imports = lib.my.mapModulesRec' ./hm-imports (x: x); + hmConfig = { hm, pkgs, inputs, config, ...}: { + imports = (lib.my.mapModulesRec' ./hm-imports (x: x)) ++ ["${impermanence}/home-manager.nix"]; }; rev = if (lib.hasAttrByPath [ "rev" ] self.sourceInfo) then self.sourceInfo.rev else "Dirty Build"; @@ -79,10 +79,10 @@ "<<< Welcome to ${config.system.nixos.label} @ ${rev} - Please leave\\l >>>"; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs lib; }; + home-manager.extraSpecialArgs = { inherit inputs ; }; } - (lib.mkIf (config.users.extraUsers.ragon != null) { # import hm stuff if enabled + (lib.mkIf config.ragon.user.enable { # import hm stuff if enabled home-manager.users.ragon = hmConfig; }) ]) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 68625c1d..a708d66a 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -3,7 +3,9 @@ # and in the NixOS manual (accessible by running ‘nixos-help’). { config, inputs, pkgs, lib, ... }: - +let + pubkeys = import ../../data/pubkeys.nix; +in { imports = [ @@ -35,7 +37,7 @@ "/persistent/etc/nixos/secrets/initrd/ssh_host_rsa_key" "/persistent/etc/nixos/secrets/initrd/ssh_host_ed25519_key" ]; - authorizedKeys = pkgs.pubkeys.ragon.computers; + authorizedKeys = pubkeys.ragon.computers; }; diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix index d2252ee0..fcd10e40 100644 --- a/hosts/ds9/hardware-configuration.nix +++ b/hosts/ds9/hardware-configuration.nix @@ -8,7 +8,7 @@ boot.initrd.availableKernelModules = [ "r8169" "ahci" "vfio-pci" "xhci_pci" "ehci_pci" "nvme" "usbhid" "sd_mod" "sr_mod" ]; boot.kernelModules = [ "kvm-amd" ]; - nix.maxJobs = lib.mkDefault 12; + nix.settings.max-jobs = lib.mkDefault 12; powerManagement.cpuFreqGovernor = "performance"; services.zfs.autoScrub.enable = true; diff --git a/nixos-common.nix b/nixos-common.nix index 175fdb30..2dcb2871 100644 --- a/nixos-common.nix +++ b/nixos-common.nix @@ -2,7 +2,7 @@ with lib; with lib.my; let - pubkeys = import ./data/pubkeys.nix {}; + pubkeys = import ./data/pubkeys.nix; in { # Set your time zone. @@ -41,8 +41,6 @@ in }; extraOptions = "experimental-features = nix-command flakes"; nixPath = nixPathInputs ++ [ - "nixpkgs-overlays=${config.conf.dir}/overlays" - "conf=${config.conf.dir}" ]; registry = registryInputs // { conf.flake = inputs.self; }; }; diff --git a/nixos-modules/services/unifi.nix b/nixos-modules/services/unifi.nix index d0d8a084..2007f4dc 100644 --- a/nixos-modules/services/unifi.nix +++ b/nixos-modules/services/unifi.nix @@ -13,6 +13,7 @@ in config = lib.mkIf cfg.enable { services.unifi = { enable = true; + openFirewall = true; }; services.nginx.virtualHosts."${cfg.domainPrefix}.${domain}" = { forceSSL = true; diff --git a/nixos-modules/system/agenix.nix b/nixos-modules/system/agenix.nix index 74b67095..b10035d5 100644 --- a/nixos-modules/system/agenix.nix +++ b/nixos-modules/system/agenix.nix @@ -17,7 +17,7 @@ in }; }; config = mkIf cfg.enable { - environment.systemPackages = [ agenix.defaultPackage.${pkgs.system} ]; + environment.systemPackages = [ inputs.agenix.defaultPackage.${pkgs.system} ]; # Set passwords users.users.root.passwordFile = config.age.secrets.rootPasswd.path; age.identityPaths = diff --git a/nixos-modules/user/default.nix b/nixos-modules/user/default.nix index 16ac425a..a6111070 100644 --- a/nixos-modules/user/default.nix +++ b/nixos-modules/user/default.nix @@ -5,7 +5,7 @@ let username = cfg.username; extraGroups = cfg.extraGroups; extraAuthorizedKeys = cfg.extraAuthorizedKeys; - pubkeys = import ../../data/pubkeys.nix {}; + pubkeys = import ../../data/pubkeys.nix; in { From 6477dee99bae73c4a816d7aac24487419b1559e0 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 25 Mar 2022 13:52:42 +0100 Subject: [PATCH 030/525] feat: musicpi --- flake.nix | 2 + hosts/musicpi/default.nix | 55 ++++++++++++++++++++++++ nixos-modules/hardware/hifiberry-dac.nix | 53 +++++++++++++++++++++++ nixos-modules/hardware/rpi3.nix | 36 ---------------- 4 files changed, 110 insertions(+), 36 deletions(-) create mode 100644 hosts/musicpi/default.nix create mode 100644 nixos-modules/hardware/hifiberry-dac.nix delete mode 100644 nixos-modules/hardware/rpi3.nix diff --git a/flake.nix b/flake.nix index da9ae230..360976dd 100644 --- a/flake.nix +++ b/flake.nix @@ -131,6 +131,8 @@ nixosConfigurations = processConfigurations { picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; # TODO ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; # TODO + wohnzimmerpi = nixosSystem "aarch64-linux" [ ./hosts/musicpi/default.nix ]; # Livingroom pi + kuechenpi = nixosSystem "aarch64-linux" [ ./hosts/musicpi/default.nix ]; # Kitchen pi }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; # TODO diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix new file mode 100644 index 00000000..c542e168 --- /dev/null +++ b/hosts/musicpi/default.nix @@ -0,0 +1,55 @@ +{ config, inputs, pkgs, lib, ... }: +{ + imports = [ + "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" + # "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" + ]; + boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here + documentation.enable = false; + documentation.nixos.enable = false; + boot = { + kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; + initrd.availableKernelModules = [ "usbhid" "usb_storage" "vc4" ]; + + loader = { + grub.enable = lib.mkDefault false; + generic-extlinux-compatible.enable = lib.mkDefault true; + }; + }; + + hardware.deviceTree.filter = "bcm2711-rpi-*.dtb"; + + # Required for the Wireless firmware + hardware.enableRedistributableFirmware = true; + + nix = { + autoOptimiseStore = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + # Free up to 1GiB whenever there is less than 100MiB left. + extraOptions = '' + min-free = ${toString (100 * 1024 * 1024)} + max-free = ${toString (1024 * 1024 * 1024)} + ''; + }; + + # Assuming this is installed on top of the disk image. + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; + + ragon.services.ssh.enable = true; + ragon.services.agenix.enable = true; + ragon.hardware.hifiberry-dac.enable = true; + services.shairport-sync = { + enable = true; + arguments = "-o alsa"; + }; +} diff --git a/nixos-modules/hardware/hifiberry-dac.nix b/nixos-modules/hardware/hifiberry-dac.nix new file mode 100644 index 00000000..0e1d33d4 --- /dev/null +++ b/nixos-modules/hardware/hifiberry-dac.nix @@ -0,0 +1,53 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.hardware.hifiberry-dac; +in +{ + options.ragon.hardware.hifiberry-dac.enable = lib.mkEnableOption "Enables hifiberry dac"; + config = lib.mkIf cfg.enable { + hardware.deviceTree = { + overlays = [ + # Equivalent to: https://github.com/raspberrypi/linux/blob/rpi-5.10.y/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts + { + name = "hifiberry-dac-overlay"; + dtsText = '' + // Definitions for HiFiBerry DAC + /dts-v1/; + /plugin/; + + / { + compatible = "brcm,bcm2835"; + + fragment@0 { + target = <&i2s>; + __overlay__ { + status = "okay"; + }; + }; + + fragment@1 { + target-path = "/"; + __overlay__ { + pcm5102a-codec { + #sound-dai-cells = <0>; + compatible = "ti,pcm5102a"; + status = "okay"; + }; + }; + }; + + fragment@2 { + target = <&sound>; + __overlay__ { + compatible = "hifiberry,hifiberry-dac"; + i2s-controller = <&i2s>; + status = "okay"; + }; + }; + }; + ''; + } + ]; + }; + }; +} diff --git a/nixos-modules/hardware/rpi3.nix b/nixos-modules/hardware/rpi3.nix deleted file mode 100644 index 9f4b35b9..00000000 --- a/nixos-modules/hardware/rpi3.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.ragon.hardware.rpi3; -in -{ - options.ragon.hardware.rpi3.enable = lib.mkEnableOption "Enables rpi3 quirks"; - config = lib.mkIf cfg.enable { - boot.loader.raspberryPi = { - enable = true; - version = 3; - }; - boot.extraModprobeConfig = '' - options cfg80211 ieee80211_regdom="DE" - ''; - hardware.firmware = [ pkgs.wireless-regdb ]; - #boot.kernelPackages = pkgs.linux_rpi3; - nixpkgs.overlays = [ - (self: super: { - firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { - version = "2020-12-18"; - src = pkgs.fetchgit { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; - rev = "b79d2396bc630bfd9b4058459d3e82d7c3428599"; - sha256 = "1rb5b3fzxk5bi6kfqp76q1qszivi0v1kdz1cwj2llp5sd9ns03b5"; - }; - outputHash = "1p7vn2hfwca6w69jhw5zq70w44ji8mdnibm1z959aalax6ndy146"; - }); - }) - ]; - networking.wireless.enable = true; - hardware.enableRedistributableFirmware = true; - networking.wireless.interfaces = [ "wlan0" ]; - - }; -} From 083a89857975c23d9e1e5eb10e7f34e8c757df9e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 25 Mar 2022 13:54:40 +0100 Subject: [PATCH 031/525] ds9 arm --- darwin-common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/darwin-common.nix b/darwin-common.nix index d2becc57..e25149c2 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -6,7 +6,7 @@ nix.maxJobs = 10; # use all cores nix.distributedBuilds = true; nix.buildMachines = [ { - systems = ["x86_64-linux"]; + systems = ["x86_64-linux" "aarch64-linux"]; sshUser = "ragon"; hostName = "ds9"; sshKey = "/Users/ragon/.ssh/id_ed25519"; From bfb12e3eca5386020b380409a81869a60c672fad Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 25 Mar 2022 15:56:57 +0100 Subject: [PATCH 032/525] fix: pi --- data/pubkeys.nix | 7 ++-- hosts/musicpi/default.nix | 11 ++++++- secrets/cloudflareAcme.age | 36 ++++++++------------- secrets/ds9rcloneConfig.age | Bin 1279 -> 1066 bytes secrets/ds9resticPassword.age | 27 +++++++--------- secrets/gitlabDBFile.age | Bin 748 -> 640 bytes secrets/gitlabInitialRootPassword.age | 26 +++++++-------- secrets/gitlabJWSFile.age | Bin 2410 -> 2138 bytes secrets/gitlabOTPFile.age | Bin 830 -> 595 bytes secrets/gitlabSecretFile.age | Bin 788 -> 661 bytes secrets/hedgedocSecret.age | 25 ++++++--------- secrets/nextcloudAdminPass.age | 24 ++++++-------- secrets/nextshot.age | 29 ++++++----------- secrets/paperlessAdminPW.age | 25 ++++++--------- secrets/pulseLaunch.age | Bin 1330 -> 960 bytes secrets/ragonPasswd.age | 44 +++++++++----------------- secrets/rootPasswd.age | 44 +++++++++----------------- secrets/secrets.nix | 3 +- secrets/tailscaleKey.age | 42 ++++++++---------------- secrets/wireguardvoyager.age | 15 --------- secrets/wireguardwormhole.age | 17 ---------- secrets/wpa_supplicant.age | Bin 0 -> 844 bytes 22 files changed, 134 insertions(+), 241 deletions(-) delete mode 100644 secrets/wireguardvoyager.age delete mode 100644 secrets/wireguardwormhole.age create mode 100644 secrets/wpa_supplicant.age diff --git a/data/pubkeys.nix b/data/pubkeys.nix index f63ce2a7..b6a6fff7 100644 --- a/data/pubkeys.nix +++ b/data/pubkeys.nix @@ -5,13 +5,12 @@ let "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJwOH1b6xWmEr1VZh48kBIYhW11vtPFR3my8stAHlSi" # saurier "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIuwQJY0H/fdu1UmGXAut7VfcvAk2Dm78tJpkyyv2in2" # daedalus ]; - server = user ++ hosts.ds9 ++ hosts.wormhole ++ hosts.picard ++ hosts.octopi; - client = user ++ hosts.enterprise ++ hosts.voyager; + server = user ++ hosts.ds9 ++ hosts.picard; + client = user; hosts = { - wormhole = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINzR5dq/2UosH3nLrc9PvJi3rzX917K2wICeOUAiDnl6" ]; - daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9gTeFNEO+Puf8j0rxq0qyR+OgH0eSqDYBR20aACkpP" ]; ds9 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+BBXufXAJhyUHVfhqlk8Y4zEKJbKXgJQvsdE482lpV" ]; picard = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAm3UXZaN95WBUaS9SiHLNEuI1tP1x1w07qnYxPe+vdr" ]; + musicpi = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPhyp46xPOgZFgGsbSUdBtHWJeqFASu+LFjwUK8b+gSt" ]; }; in { diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix index c542e168..c5b9c6b4 100644 --- a/hosts/musicpi/default.nix +++ b/hosts/musicpi/default.nix @@ -4,6 +4,13 @@ "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" # "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" ]; + # fix: https://github.com/NixOS/nixpkgs/issues/126755#issuecomment-869149243 + nixpkgs.overlays = [ + (final: super: { + makeModulesClosure = x: + super.makeModulesClosure (x // { allowMissing = true; }); + }) +]; boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here documentation.enable = false; documentation.nixos.enable = false; @@ -46,8 +53,10 @@ }; ragon.services.ssh.enable = true; - ragon.services.agenix.enable = true; + ragon.agenix.enable = true; ragon.hardware.hifiberry-dac.enable = true; + networking.wireless.enable = true; + ragon.agenix.secrets.wpa_supplicant = { path = "/etc/wpa_supplicant/wpa_supplicant.conf"; }; services.shairport-sync = { enable = true; arguments = "-o alsa"; diff --git a/secrets/cloudflareAcme.age b/secrets/cloudflareAcme.age index 732add75..1a961e8d 100644 --- a/secrets/cloudflareAcme.age +++ b/secrets/cloudflareAcme.age @@ -1,23 +1,15 @@ age-encryption.org/v1 --> ssh-ed25519 EYWzzw s1ga0W2GlpxvKpJ5Kx9/mrpXuD4k/V/1uyfbFUcEdwU -ZIdAidep1f/sFMjHZdAjB1saoLQUctcOUx1XQGq1Q/U --> ssh-ed25519 ugHWWw sCuDEuxoovkiU6b6Ww/pdvLmWsKOwoviTGGi62kmkyk -u3N+jIsrTQSwADhD4QcCPJ2jBt2/A0aiIK9L0Bn0e3U --> ssh-ed25519 UDK5aw KYVDBaHIOdx0FpOjPPoDTS6diaufODfUYMke6wcMLis -hZK8nGvGrnMQNph+7zbF+LNG6W8UPNAMlOLvPLKDPY8 --> ssh-ed25519 UU9RSA yr2M8vpo3cHxTOv8JhnLj1qQiBMG4XZVQEimEEjqOXI -bsncvUeAodUjeUXA6h+r+DYdSWMn9Lp8bPRQuOdUj9M --> ssh-ed25519 IbXxfw DjdQxpVTLUvha7TVaYBDrCTOZVrvKvxfUCoD2ZdMuAY -pRMtuOxmqRHC7TYBXX+MKW0fbD1qAzV4HBGtTTZQeJ0 --> ssh-ed25519 rQk6HA DJiT9I5C7KuzkQ3XwzjfFZSKHDPXGgbVfBcY1c9QJGE -TvvCAZkd8Mo+oxmwr5zXiwGdc0PynDpYI/1cnHxjcfQ --> ssh-ed25519 WceKOQ UzyJi0AJRLXE3Jhgkee5NdAB2qFrykwZz9FUhWObC2M -vdCqdMB0+k+aLMIQFU0TjCZ80MnqWpnqzwuhNqH5sFI --> ssh-ed25519 LUZRUw bFixT06NSFkfLHoOhuWzC7jUXAwwww+il1uZbfogGE8 -eKP12b9v9TYNw0F1wfnAk7BgypUfsYMZVZGJLswP+FI --> R5?8K38S-grease -HpSifTD/jnLUvi4PEfP4aWDuuiCUeZKN/RsP3P7C/8p/cipmpdcKOKDvi3AAeZ9V -8As01hN4UuHzSzaOc5CeVROrsA ---- HkOPg3vXo158UyTD+VNTkMpH6bkXWOXOMLtuuvVG06I -Hc}.VNiӢSEa]Aky%K?&g -[{$>C3)muQ i,B!0 A# \ No newline at end of file +-> ssh-ed25519 ugHWWw DE5KD+R+e1lb1o4cKFJlwXuOC5Ustc0P6d6HKMWHzh8 +q696lgcVHGKQJjYrHqpa/8M8+qmFMEn7bGa/yqGXrmo +-> ssh-ed25519 UU9RSA qDj+5sLCjdgKVG4Hd6BbKh9nGZU4DJIubQwkJZ9QkmQ +uk7e5NHKKkDi2OZq4d9aH8YCyulAjfkj55MNKUizZWQ +-> ssh-ed25519 IbXxfw 1b1K7Nbkjwt6cNWvSQecu/e5bSNPB4C1puvxjxFjAkk +KM+/IpuG6C5217OIcbv7vUV1Sk45ckrl7ok2U94tHD8 +-> ssh-ed25519 WceKOQ dKiRYF/lEwyVxcZDSun2gL94laXMsTAwjkTLrfGeszY +mviaDjsmaa/CLVvBoCK1gXLqc/R65+ZV6JIzTyzlwDE +-> ~j6)4y\?-grease 0KF% +6xkODqF9GTL/jmnXMMRMW2npQW9tAQydKOdPnRYO4BmpENEaW2sNMUXSonubp5t0 +M89ut56ZfIcW5A9eul/JPY62osMTlpqaJnllud3YWr2Ufv2jOGGYCCwrWRXwjnyT +a4VL +--- a6EiNzIGd2LSO0jB+c7dSSvQIWknjxvVuV0ZyiWT1iw +EV H hȅay{nRVDOJ0Cl4cn5_[v.7sqb}(f<ҋNۮ?Xv-(%k- \ No newline at end of file diff --git a/secrets/ds9rcloneConfig.age b/secrets/ds9rcloneConfig.age index 6a631d63e350f966aace6b266cf15bedd684a99c..703d88555c3a0e9831e1f597d1772a8e4a62f7c0 100644 GIT binary patch delta 998 zcmey*xr$?gPI#VSX=zx7o3=+zRGD#RX^~?_MSy2{ri-_^fn|VMl8I50Sw&j9cV%vt z0auYnazIXqv%W#8zFAP2i(`SlXGTSmX_|3?uR)-paaLrdnOjkknL%iI;KYyO;buNX zSp^=R$%%=fxe>uG#bzE(F3Dydr6ztR0mz4aHW=182N@CKjhE*efbTc?1R;IwmXR2S#({ z1QeH*xg{Hv)#o`UITaf^dixh==Vb*rngw}fl_i=O`&L*aC%T3tR|Q&d>FVk#tF5=D0FYV@{T>G-iaxKO#l zcjBj(BMzIHgVydmqCAoHiIsV={e@dR*^^exoVILA|NTFCu9t#O+(_-8Ah}cYe8ppx zcdt}VPL@IfGJ9>6pRzRKuCb7U>ixr2fAqG0$XoPII;#0d?vvEZGbjB% zb8W4XSFPXG$n0)s*^U49tUu_&AUye%?oI>QgZBlG&aY#<%sz$9_HpXn!uklF6N<9N zm%XwY*4N6q{ZLF>e_qYXbEeL>cc~h}+qEwolM{a8k~#gT-L|`NnkS8nHt$!CIy&il zQ=#`G`DGi=9P3VBS(-VAk1<53%4(s};f2SZe0XB|eOmnSToe29UxuugPjKEz|5suV z5hGvpt>vqYv2%awY|fQ?xR!tX7@f&luUN9jeD6ZX4~tt_|93xnw12Hq^m~_Rh2oa! z7MrYo{hRFZ`PGS78eI4(Hp1+$0a+JeeYCw#c8@~oPJN=8iBncph(SqIiM~@&dO>!CQCLy7nQ@+>f0({yeqwrFX_94Ocxj|@ zGMBk|V0Lj*PDQqnw{v88p}B#vk+W}>hgouNXp)7oc4oPudtgptm6vw5374*&LUD11 zZfc5=si~o*f@@@WRaLoyQ&5JverlAbZ+SsdXi-i?czw2~b7D$CfVYpSucdaGWqOs9 zd1-;Rxu-`cmrF%do=LHxacGrggtud;OL3)JkXckzmRq`;uUkrFu$zCBp|*3mi%+H_ zx^<=L9^v8T3Z7B9MSf+j?rvoz9_B`tM&8b$;Ss?l<&|cUnf`&L!P#E*PWs+ix#nRJ z*<6k}UY^Eo;l{Zkp+&C2DIxyaQHH@q;g%7mZUx%eUd3L;{<*#>*}>&G#pu?Bx_Fx= zmMd7e<|Y<t#~mT@sw@Vi=r}k(QKW;96d3mK;)QW&rYuntN7)OL3NNdQoa(aVl4+v1L(UnQ^I0 zqLEXiUzoo|rD1Vsy`gJGrn!Dbh?#LgMN*}kt4VQyi(8gyK)$aBm#(g^LS|Y?d3s1t zd5}d)S(IC_kEwe|Vq%$ViitsqUzk%_KyrF`q@{L2S)g$_m&5hLD%-BiRNW-M_D|>4 zhp#K5wrU^Wzy3qW$0K*Y#r|?S{Pcp(sqkAtLZS^7OtN84-+nBvueRVS&z<9YyM1wn z_&R?RX_MEl+%`r25H-!$+bzf}RKDhnwK_}eg-V@mJ$jR(xdMfGULQI+@%MT2#R*Gp zq)s)wew6L!2UoGQLpr`e&CB{9+Bk$+ zA6X`gM=TRB{@JQ#B^6uPB6IG(!v3>9L0t?!AGlxUJ~4TveBb&~&bOMXlC-{`(ZAxk* z*z;Xw5BsE)_3mfRwoiQV=SOtiQ?8B&i=qx$OV^wKE;G-{3z14{VD(tO#3SZ(Vfzos zbrXb+tew2^!Lu0Yt6OhW$3%o#e@>lh>6z4abKf1WidPjkn3(32o?puS|L#?uy5nuX zFV+b6g|O;7>Qq&!O5~)Js$7$xxdK0 w?w?ortG7Iyrf7ODbdu|wG}h2nUrY|zgt@r=W3b4{6fa=;lI0?$`#16^00T+>H2?qr diff --git a/secrets/ds9resticPassword.age b/secrets/ds9resticPassword.age index 0354bf1b..7c68a8d5 100644 --- a/secrets/ds9resticPassword.age +++ b/secrets/ds9resticPassword.age @@ -1,16 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 IbXxfw XK4JR/3v6N7eW9xCvt4yxZj2zAhnqo1b6ou0v82gOzA -Tag0cu4RUD8LdqBqQcX8tjbCpDIqC2rK1+zG/F2kB04 --> ssh-ed25519 EYWzzw RVwN1oUaYweuKCGvcHuq2H3kUjNJmlnC0u6ZDLYk8VA -dOei5ZouQ/2tWCu5fjWD4VqaEod7ag8p3y3Yo4E+R3U --> ssh-ed25519 ugHWWw 9O+v/f9NYZED2havMCBQI3aFk2+lkBl9O8O7Wny0Gmk -iPHKN5W4OEJqXKXTsil2mTcdsbG3CCSgQodhqBQCi2Y --> ssh-ed25519 UDK5aw DBCXaQWwhk1GOFxZQcckAQ+QhJI9xc74J2x249RJMQM -RaoiO3QYjFY6CGAEGff1KLsaKqzRJc42UitJfGKe25U --> ssh-ed25519 UU9RSA dwDPtrzsuxLOZ0gbIzQswfX6fqbtfgRY1WhX6rhP8D0 -RcIeHO1535EbQKBU72EgaulDohMZbO4vM3VoSUBnIQ8 --> (cz;R:-grease i .rY6u! -gJQ8wOQJ6lBS7wnMZ1cu+mSDWxedwi0PUU8O6lZlnhyAqf5RQsfrvpWzNO3BrPx7 -1cmlFDMkAFtNhWlDDEFVk/rV0jBSbOy1I+/oTTOn8d8karnmI6kaB+I ---- MCSRxrB6r/ju9i8A6cvglUNFhHOicaeeb38fsIa2ArU -fz̞N교ncb#CKr<2[ǑUFҗJu1 \ No newline at end of file +-> ssh-ed25519 IbXxfw OEnicETCnudXfAa/EXIf9N4okPIh/oD/8L2CXOvr+XI +pgteiVSU7sGaXR4VgfUTBW2kIQGGFPUEE+dNTGTD7lk +-> ssh-ed25519 ugHWWw 8KIhfQa4rizxWIi3sXMvRoEeLxQvgJbuGFHU85d/mh8 +42rTd3lCibm+T7CuiFsAfVHRnNddEZ3wN8qGORG1ArI +-> ssh-ed25519 UU9RSA 3xfs1t22UsEGkxEG6Xc7U8Xs7X+o8nqXblIKwjMtsik +wqAEdZvII9n85/xC2zX/3zLUQzBRXosmBpYOhC4d8eI +-> mqn0,8v-grease Vl +4jsogOw2nW0+P1rYhmkZs1kbKBd+95Sf8z//XTm2ft8NsAErJosnG6pY7l2NPWHt +FDerqhl3kGRIg4ktapYtAoHGYAkpW/KxcTdNeF6jP7gDA+RhaijPQOHauHXp +--- hklcVzU6eQFRan7oPdB1NtLelfsu3aTIPIX7aIt+720 +іB.67 u# zoXcF>u+Tl+FU_SW-#fgjEUz%9I4M0h%s0g>G&0vK!_X@?bB^q^bbt zu>8uhPr?cDTr-2sjIx}4wY|(N z^-IIk9X+E`9P^99jgma|!*X&ABCdON1LQ<1mBND?>GYl$=lakY&lMM|F{Jh+goJw3>y_0?1BK`A|)5@~K z!?SbBLz7a9%DDWTGR=MUGgAU8^piphEON9%3!Q^~EHhF9&0WfiJVS&13$g;!xpZ}P z6@vY>D+~jQErW|)Gn@jmeYHbPOmYkgBelc4Gs296tNcwvwZn`eBeH@kL%EVK?b%jZ zp*-=&hn`gvC0HNC?3~^C;Oc1(cL~GxDGX<>7xGRkh+Nl}vvG@RsNeD_ohEde%BiM K{%!Nu|Be8oOw;E8 delta 697 zcmZo*eZx9Ir{2TWHPoo2B+)e~TstVE(6}%qBrnm^wJ&*DtjNdQ&EMQN$iUo9U%SvGt+2|h(!aPoFeK3+yCTQUH8LVAolDnFp}06h zH#Nn`)YQ;Y!8J0xs;XQeImsk2C%LjPE!#50)HB4_zuu@SCnC`_z^^1C-_guBD9zb1 zFCf_0qBJ9!Dadi0qKu(16gau$*K!uQ2_zid3_D19zV=rwaFq za<0UvAd3RGDr1j~p0mrB3T)Ka71AdeK6Dub%ba&+rLUA#>b z%N2aX3j$0n4UCg~A|1=ZvwiiQJd?bN{gXW0(!IUSoD-AHBBP2c-76vj)46<2GE6M} zJyo3bP5cVXv_s3XqFj@rf(rc#Jj%m8ovSL+(;SnsOM<*A-Sa1Y6t6EW42_7&^>8!I zG&C;t3v>6YObjAYHp#3=t_t*y&<->yOY+Ne^W_S%uqeq(D)0+)c1bBT%QJEc zGW7S!@HdKzEX}Vls`AP!HO&q$i73iX%m?`-)6BF|H@zq|u{f2>)Gd@tS65fTvM}4g z$iTooz&kC^G0WYpKHc5bB;24P&&AZc%pl(^+tJ_OJv+P5&#c6eOZ@sP@%1+Pp|%;I$F2hc}Eb#mDS5`swuP2`Mr`y*nCrtSNJR8(>WCno4**O zJ-f`W@Yms9@{c9K*JF}T_6oQb?b46AVkS3# ssh-ed25519 WceKOQ O3wwFkrDb9osW2SXJqJGfEr9fi2rXmussWoM0+OUzyM -suoJbwFbIKxn7rslfzhZpNc7Pp6C9wkmPlE9GgBlZtY --> ssh-ed25519 EYWzzw P9AGXvkFAjucxdoeD5qM2w5HfBwFG+FxZHDr9uyDFl0 -oep6yVm9PxtRciEv9ILK0n2bH6x8KEl7eH/gjmCIef0 --> ssh-ed25519 ugHWWw om4WnbKKwkycHyNcivPBQEs6WB5KjEc/ZcF4Gsc94TM -fzwdcr78HfvlEgQscUvlKosetpF6pYAykwM8zgaxpYw --> ssh-ed25519 UDK5aw ztMz33oaFDgY4V/KSJWLu7sYzZeNM8eesoKCcLVj2mg -J74Fe7dGPTceGjcLp+nwMewaiuu8kSFo1qVxvlMNmkI --> ssh-ed25519 UU9RSA hiji4Kfll9Yhpj3BOuYf9argzE/GiIJUH5hDvFG60WE -SRPPaOnnALmcUjvt819IAuF1bRJjDaYmDvu5OGC2N+4 --> +e#q&Lk-grease LkPbm`t mB) O;V\6xU -sm/woJ9+G0+TIxfPi0MYAnZvSq/hnwaMYLhlNvkZNR1H8suywEy5CDPgcETNHGhD -jsJ9PMfW4ih1m1d21vo ---- WxnJsQtYXlF+FCYeK88SLwDiKSXhzrKBhomyPVrpqzI -P d@$ᜠdţT”H;[|]u-,mf°>q \ No newline at end of file +-> ssh-ed25519 WceKOQ M3py3B6cVKa70y/2P/7IGd84gCnFkTuY5Eav2FHEdjE +3iODa4p5fxmORhz71XLov3EgVdCz3OXw4JFmcvryKbI +-> ssh-ed25519 ugHWWw tORpqcjWk9OGNK9FU/RIWrLFpgilsRM10yPR/289F0c +nS8Hh1JSkgDy4Wzwt4XegwYvIrkCpm2gVal18uFK3Js +-> ssh-ed25519 UU9RSA +dC9ZdLbum/pAsXCpqmCWkR6A9cRATSKiQZt9YxonTo +oJBIT5lM5Aqi3DB1lF/bIF1fwAaSHyYQCl1iEro9kZE +-> cX}4N%W-grease +DphAyC4xwA7WxoDZ1fzuYajR+Pkn5ItjwWG48BVltOJ1qrHJiKxvpIXOZsfm/alF +baZr5hb4ZM9TG7/DiJ4WMpE/B9uCVyBZXWZOEng +--- B48/JaTdKI8drTxRmNeJD31a7sbyAztdpnsvk8t91GQ +GU8j-ّ8٠EBhAʨ8!YY)K \ No newline at end of file diff --git a/secrets/gitlabJWSFile.age b/secrets/gitlabJWSFile.age index e87468f9ca259f232687ff8e45f7c67e5dff8ff4..e231724a9bbdcae2d630b7932b842a0b0349417e 100644 GIT binary patch delta 2078 zcmaDQbW31@PI#_gxOauWYrb=$W0XaZOO=zkSGIYEiBWKJQbd|}cyd5cL8)heV?bzC zHdk6`rcrQ?k6(~SexgsVQ;|=OrE7+lyL*y(agteybD2wsPfCzqK$S&G`oxdo;bvvV zjs{+aNkRVR76Ha3Ze_`Z8Bt-S!TQEoNg+i}Wo3!}-YzC(mPuJAT;-)M6{-0iW+mF% zE`B+MAr)oGsf9(k9#!cssm5;RAueuVIYH$HkzQ{3lg~1W*L&oqI|mk-CZ-ril!T{Q zWcmlY2V{kNR#ud{<#;-JrxjLuTWE)bg(PPNa%K2O7@3Dgr398amFHAe6a;%lIOhZ! zMifW7`eo!q8Rr)m2PWneCHpu#a_QPBnCdtLI7R5D7o{c^rz)tVaz%tCJNdg8Ir;~3 z>FVk#xCWai)q7N#hxxmO7`a<|JA1hLmm38b8HN;Pm=~s)=^LbLXE_ELmHH(nb3J)r zmpav8S?a7iCtq8tURl0i_BL7T?N;Y^`u8!etCm%5+YrUX@+Pq8bzStW`lo^2dj$-c z)w;^B3Sa6tsWo?%)|daa(o=+UU%uOHTs?Km?ByG4%_Dwght_}mTqqgOkjCof$@-CN zGPk<0hV@qiroESc`@RocDv^18{Y-Y%;;Wyw{?UJ#eOrBt(nIEo3x;hmKV@Hwg#L=n z5H8~qOaF8DeqZD+`SPW2YdNAj? zr8chF%h%6;D$X{cdgCdX`VfzulhaFW-v80@m{vZs=5FeI36YxPHnFyW2fnh4?|VMo z=bmQP#7L$78&a%KTgk8s!PBpMDL+%IO1?Pd@8okwSLQyM{OZY^ z9Ri15)-0@Naek9qH&@1+PbB8zxmk}7F8ivugsnCpqnY=PjEkZF=7Z@!EEK-hANy=K z@$T#`Ou|3i1U8g-h5x;=a{ty2rD)+mqh9EcuWht`>YU z^>I4yl__(3nY(( zMd)t3=gjwNI)Us-0lo!mlr_%h-mgEp`g&F!i;K@8nHwLS1RpxJS;rm9IDddML4Cc! zgH-Og*eoCY;0M1A)|vFk7%_boTOoNqYxXM5`X@<7x^f?W%jg)NIU!@WdEwlGx+33Y zOoemi*Ux^(#1uOF-`Uy(flpnMvX7rLXV*JrRd`k1?F#oz+}nC$_1^Q#F1b%VeU!!I zuH+hHv+IkW>{t27=&o6o7X8krASaEhw({}Q|BXE7kKbMQ`~q*K*1BG} z^LokRhW-B&!-MlYgo|g)eOVr1?mOq4#H6Wjs?%RA?TX`B!5jS8aNBd!$dozeHBNQW z*=+Yu=B!+}&E=_xyf4$lCAY1!7Jj-qf7irg;!}=3T$KAHSSC)yc~aunbF2?09SB;t zV^Vkpmo;xp3eU@@&&>AM^VV#wpOcdrn9$+c^JWHrB(nv(U})RIk0u)V`$g8ynBw5_ zb_I`4!E|fI&u!6@&mOxgD`sB3$?oy)qMeDGX9w35Jg6zZ;PByl1dD6W`%U-%ocOok zIFIL-7jo(0O9ggsiP^YEaz(~{;RAV2L5~kiN>o)~o}9mw)l>ItaJ$P|y?NMNPW;V{X|{)}9?V%>cvv}%vt^OO56*XmvW7Db%-bI?(#8_f)7!=xU|-Lf zzLaxAt!emX1>TcW1?*R3w@Pai>o|Y^8~Lr^0*glSw4(|Br)JEF?lE9KswMFE_T(>F zFTTrb`~6B!+$2AT>jh7;j;@%c)XCsa^~`BTTm9~RnB_O;*A-r^+ux4Q)=S^bF!j%- zivPu1mRCnbyM1Wi>A+F7UhC~#zAd*rmVLVTxcg~;Z}`UZ3w`sKM(c+|pczWZ{ z-RIZ73OL_+w0uTd#x;RyQo$nf@?BR`uY6ve-1sBskXOOweZ4=wUpl@(JWS~g*Gr+0 zBi%Uy^|ea8&pChc?pV8g(cc??6BXI`f1ZmHHe=h?|2{;mKFIswKha-e;s-3OcF9^v z8N?{g7QNK=^~j5gr^VKKe{9?R4*!+v2wd73>6>JcEs@40dAPTtXlAxWca*4Wskr(f zy*t&brvLVSJ&ASitex8fCj6{*z0@~tiKJ8OwQP^Aaf$WTx!Kd>1rlf7pTFC`TJ+aG zopQbl4%hOeeKxEv+MOf%p2ain6JuenqEwc%P zIu6^zPHaoDj8Jf8@kuP+Cep|n;8}V5gRJxIscT=YF>ek%_8>-EeM>|!kGyKy&2#1I z+g>k!pRFkU=5XbL`p|mIXKyESwSMnkJY6N>o9Y&4t$mEIq@MPfev7kJ-TsGtrh3}^ zPt!}C?oMd#{r|4%@X`1Q_N573@$*y*FRadMsJ%P)Uc{d(%DU1@k_I=`xZYg;#o2pz z&cau>f}TDTjQ7qupMFB~bnevtr)nGQR~MV_(%|FJW!_P~PdV;Zfk1acdE(kF*bVwzSn@rWLsXePgN(`q)A{{^81 upY0kaUAA~4I{VY3_`8-|g1s8Gvww+aY)Ia7MyY3&@vRE$2~(%O6$Ahd*1@v? delta 2372 zcmca5@JeWcPJMu>Yoc?0sbi9HVXk4ivwujkk6)!hVWeMFnYWQoxKoxvvYUm4vs;Ow z373(DxpQ`*xmS^EV5LP$a#(n%S6W)2dy#vhV_IlwXl8z}XNo~&l~Yob0hg|wLUD11 zZfc5=si~o*f@@@WRaLn{wtr%YqgSf4zjIJth?_}dczteVse!wNPe4&pPMT{`iBV=% zQK*}rPnt(DmqkUTk$Z$wV!BbWMTw7hc9mDSc2SnUfvfmvaRrs1Zg#wnRjAx07U#rkFGkw)R6&fy**IsQ(LA;}h%uISc1sG?hTe_u1m8Aw$8gMy9C8g-Q zr>TUwh2$n01|~*oTSQd``=sV%x*M7sM&idP{1X@h|C|)1po)(&7R+&}l z8W|LB=o1!XZjfCN6j2ovk(iclk)-XL>10;mV_F&F;mW0*SXf~a?vtM7?ir$8VCorS zlv`ez>5*g_=INhZlwM+NR+#VX>s?{$?+fxtuAQf)RjIqTZhBE_VsWZMMTBKugfds4 zhktTKR#-)%TVA0_eQ{};zP@2$NmiOcqDN73rH5Nkh()4NNJ)7?P+owWxn*c^VQ^(t zplL_}m#(g^LTFiJglmzfTV{GxP*7=bs)4>|K%#k`U%0<{P*vY5V-?zVa+ho#z2OX{+u3o#455>&31~;mf)$QnqF@q#A5E zA@(A!HgQ_;o!FR#sW}ZbKk@=EubcG4_2k^cH}1#3xbD8QQU4S3?)#^5uiVgU{(iK3 z$E&yTKIc+;{d&$t$L$lJy{MjR!R7C{UUv)3GQ27iC-@xjEj$#qH}9^L&w8QE!!2_y z${pkSgjOB=_H|n8ufF4!&xOL0pS7@m+1d8<=RdQ(2J92RhP3ftU$uXQ)8Dz3v)K+C zoe8|K>0BvqAMX{(3Ki+bcELs2cV*rr@%_9V_>4^_mao}7Q{3l3@)X0xV*5lD>f0ZC ztT_LT_22n5`FCct7liI%zMdbmqhbA2&p*v-*Z(!I>9lB642;_(y{YHjp{IMo!uIif zc=g5Cs{Hz;XLs8lU)sj^=HElpHAT6~jmwH=o2|ENOD%tv(DO@vulMWz@cos?KA9vg zc@U5ne<54k|E@-@e|v3J^PT< zq!p&uES*vb?k{e)rU{hQrx!PcIL&U6L>1 zoV{}C$*H9a_H35)ecZ$)y_hq0d*_A;<>5`wB$N(3v)T3Ey=3wK(0Q-#sNS7!s{Jtb zuF7lKYm8N8vm}=l@07}u4B77xYB^=F- z_Hp{+`7?|9GmA_g{Ho82xX2uNh%N2DQ7~ucMU6Vg=&604MRBFcrur_$Pmglv#=SIr zv$2X*JU0DDlagK6)%j=Z4^`_qAFoba+|}DA%(C>2m)FX(4{H~!%RSdtcbd=S^~5dg zD++BYPCn@pDwrPKvE=%5slKWE49di6T&_$g%k-{QYuORH$|UEJ!h&rd>>YP67hKoc z!+34?1%^knWg`nq9=_Q>>9LB7qL317EOux@$A=VQ<8Z}dsK%$hE|T~9&nVAp;3`uR2fC4Fb~6B@TGox7Qn zDH~SQ>aDc3ZNj|{S$}3$EBTao4z`W^>)j-6jh;8M`xQtrsouX@ayx#J!7OKP( z%Ni;H^5|`I1j6|BAht!x)?SZ21GjNaNF6`ewb_a6-BM)uhr5Qq#Y!u;ci(_1O6w z7SpL5yN<50+3`*Bl3BWwubT1w9UL8BEtkK_@IAjFZvOANzpbNA9ORAqaXk0v4I3^= z^G{n;<@fvux;cOGLjDj+u0U}KbGhbC)z@aOYZ#_~)q z911$t3*5i|Kfh^i`4MNvh4&&woX_5j;c0oSXYf1ENYQorlbq_e3&c5FIqF>#7|iP3 zLTw%6D%<$Zv7bGbTqpNidFN{5dHFBT&fI3aWa4EZtNRQ8vNELUEt{S;$yUtPK0MxE z`&mvv*x{}>0y?|_(b>CuW|5H^X4jN3NHs;h}+v zso6p0rd7_VQ6+{h5kX$%C0XSjAwh)|1qOx@PG#Dzo`I2tc?O0STtODWW?8w3u6f?2 z7NO;pz9u1#WtHKcj-I}jRh7O~p4p{=`ugSBVLo1=lg~1W*Jr1dCTDt985xBa7U!B; zggEIZMO0;{n+KR#Iu`jGh32^WduQkQ`IfmDaC!LpBp0UY2c$b21tqzc75e1o<))?-bLrYC80n@Lr6v}qDtIcC8!G6!a~1jedgdk@q(?dW zCP(EMR}^Xc*PA<;Bv-iRxtT_kT4Wph1QocN1Qcgm6z9696nLgPJC_)i7go9Drk7@# z>FaZG>FVk#cn78tf?2_kyX}?7>%BWR_OahB7Cm#Lc*_~L*PfcD3o|APy*C$`pl6fS5L~e+eadDuhk3mLGM4>@pMZSBm z1y_2YPg;JUd$6TbU~ry=L1B2VZX$FCKV;#-u`*MUR7E3u2q)FQB|oC z$y}A;ZeB&sUXBq4g-%|UJ^>-29{Raq;f`L8S(Oz5uEBnRUirE1zF8IKp6J$vx_Fx= zmMiF+2WGjOnHgwDRc1$q7iSwd8XCD&_XF9Bk-O;TK{V zQc+ZBU|Qf~Y>{Q09~f9v6sB)dSQL<%9Ht+dSe5P<5y)j3R_0OSQeYevk!|4_nN#U& zVc@TwSn3rP;*@4+URY9+lxybh=w2BXVgmAsnWmGUZhBE_VsWa1SBha(qLwU^R z+;dm<#3bh1NUMLk`6hhQ@z+sFvD<2%R9w6_QU71kgB_J?#SE42gz!CCb6(=o&Hq;B k%bAYfo3X=VQ;cV-@~4R9lb38=*_ABw%Vw>L)70AM0FK@fGynhq diff --git a/secrets/gitlabSecretFile.age b/secrets/gitlabSecretFile.age index a84193934f332e3374bef03da82278cb62382d29..75643fd6950bfd6d181e4c5ce52cb6fef5929511 100644 GIT binary patch delta 590 zcmbQjHkEaPPPn&$fnj!OXNj|}rt}dP)juswH`Z*C1Imww>hIyXlmIYB6Zdt+ETm{*M>BY$r<^dMr zWgeAPNyc8Tg;kX%S^AZRkxt>RURn9MUKPQ~Mn&48lg~1W*N3H6sr34oij z7*<&%d4?90_+%91876s`WSCY4a_QPBC^_b6Iq0Srr6v}qD%dD$RdNM;c&B(fc^QXg zBqsYfxfz=o)E612`dL<)S$enxlsFmq_=RUWml>8> zCR^rkWu*9-dW02u8ixhArC3x{Mml*ohlUqB>swZoW@kmEd7D*ar#Kk~1bXMG<0rd65cXBS5p)JNsJS*C{O7JC+W<)>w)dYX77 zW`=pCN0yrehiIo1xP@}fPI%c4_xbXw<6oF}l`UlW(QDAd zzOm$=Tj?z}b`FbnkC14FF7CX5@BLhf;yLkpimQ1S{#g6sC&R4yi$m^tPS=vmc=k5C g^3OKsxL54A?+cu5-)es$_)qH8s^@#7-1tue05k;HI{*Lx delta 737 zcmbQrI)!b5PQ8h7U|@x#XGw^0W^hDMxMx6UUU*JGXrWh@xw&aTwx3aDc%r{&c}Aph zAXidAc20S)afMr+iFpwzG3(zJE|yIhU@TLUD11 zZfc5=si~o*f@@@WRaLn{S&C<9Mr37JZjh;^p^t%CW_@y!fu&bKcu1N_UV)pbSwLio zwu^;_dsc)eS5<+zS8#SzvV}`Va#dlDTS;i9uR*#&N{~~qhlNi`mY<<-YEX__c5+re zx^<=L9^v8T3I^uM&PC}SsY$`UhG|A6PL59g2HuW|+1Z8$g#{I^o<6?yCPC(9{+@+S zzFd(hMd9UHcX(X+chT+QsI%uEr)6p#^3Jk?7Wix_Fx= zmMfU~lm_Id6-K6nmj+}x73UXbSC$9+mV^bChlWQ~87Aqc7@0(523q>M<#UBsBo&7w zRjQ=q8=55>I{P>U8aXC98ASLx2UK|aWki{TW(0e>W``!bTc%I^C|>X5>|tqWl$_^Y zW?1CtloC~Cm}~B3Tv6zrmty1}Wu91>oy`@JmEr0g>=9)iRuJUm7pWcQ zo|Ru|;OpU-Q{duP6lP=`UhG}uZ)RqY?g;WpsBU^uYGQG!LJgN!c~rP%m}Q8CYk{Xp zfrUY!le52*qgQ@KeZEI%Sy5huWnM*~af-f)tBFTCm#(g^LTE^dfk$qkwr8kiZi!2l zi$z+dMTAA9ab>ARnOSjYMy7vNvU{+pwq=eh*SxRZ8t*bcH(umDz!^S&an$)6`+Uz# zWGGhpB>MeAm#60MK)dy2=a+w;@$gyp)-{igsuxK8s<>#`lQ4IV(UIc%{O+BLasrny tr|R-vSYO0g*r)Tq^w}Gpzb$jE?lDAv50?u&D=%*?(0sq$GPYmz7yzic0Y(4- diff --git a/secrets/hedgedocSecret.age b/secrets/hedgedocSecret.age index 5145431f..55c1775a 100644 --- a/secrets/hedgedocSecret.age +++ b/secrets/hedgedocSecret.age @@ -1,16 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ qPy80JxSrqMnprxN5RkVCzVPZi6C43sypfUc4rZ6li8 -QTWC2VuFrpiByU9bsBkK2FnPnEcKRhd0w9EkT/MOrYI --> ssh-ed25519 EYWzzw KWKmPzo3exCUCE/PMiPmrjcECpyAf3xF/hctVtnWmFE -SWAI3ypZqaBRLsOLGNiEqK17BweqgdB8/e5vbVy3ieI --> ssh-ed25519 ugHWWw GfcgCYxD9rSrvYYmscVuvbVNKOtYrm2I1BikMf1vg3A -ZEugKdyNcNNxD4w6ea/Xz1Ab2UybvJXA4+F19NT0lfE --> ssh-ed25519 UDK5aw EK0m2andEafwy5amZKIUeP5LZXjdlO60RkeTgf9+DlU -J59Tced+MQwDwiZhzOMTJwbRtoQpS8E2ElogX7qzqX4 --> ssh-ed25519 UU9RSA cbMRnpYp2ormxzmeqIuxUTh3BPU+tN/ETa+bf9KRBCE -POXnGDH+R2iIOUD1li9JIu01nBe1FJx+8bd1KVmAy0M --> BP-grease -3dvL7FFeZerLMpkT8a7S6RW8KzmLAV4RmtbeA+r6+N2FoFLO2cdFlSbuPLThEmxB -yIreuiiiz2AwHCdLJgiwsL5HvgWffhv6b3bLUhmiG6EZKK3aaO6FtqfBU3b4Qg ---- UiMKeSciiCqOkSVKuwLbn1nnFDITH8+Ujj2f2tkiYJE -?u0<}w@ONPKA( m/6B/ol7` z"ޗL EoX \ No newline at end of file +-> ssh-ed25519 WceKOQ DRQr3QCZ5LLySeGDmKrqDFrJ5q33IKD1In878dEFsyA +dPyzC+zamdwnyLIlbHJHr8hS72TEQUMGWbCehH8O8Hg +-> ssh-ed25519 ugHWWw soOwkh841qpnWgcirZSEHk/KzgEqSRWQPO9w4hsCcmA +b/bLaU6Zn1owqP/ONvEJMys+aeU/pXXSJa2T1FppgcA +-> ssh-ed25519 UU9RSA dsSrrUht6Wzplekaf4vhtvKpGwgzlLDsSFZKsvWqiiA +GHVmkuN4pJ0RIg11HXjQmzWzShbGAsPDSsCPNBKBQ8E +-> ;(Ko;&-grease H}A R +RzUJa+bwqrE2S2dficADVL6Krr85qm7Iqskw6iPLYbZ6e0JVgMsdHV0/6Q +--- oMxnaewPxjwhhxFOJEuWP2NzyZDt8gcfoZj57+AmckU +x¯ p=ytU%,?E]Ʊ1m̀nU.I̸Nhs}Ͱ\V'U,yHI \ No newline at end of file diff --git a/secrets/nextcloudAdminPass.age b/secrets/nextcloudAdminPass.age index 5ec5c10c..6448561a 100644 --- a/secrets/nextcloudAdminPass.age +++ b/secrets/nextcloudAdminPass.age @@ -1,15 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ MbkajkkIy0oXTeZ/bSCEQztAUzyMJgEP7TeKqecFEH0 -M/xDTLw3p66CXUrWNYymb/Rcx6zSJqtdwlCXqNKzfHU --> ssh-ed25519 EYWzzw o2aUcPNvoAtmZL/KE2thMEmRGE87NazSaZQV1JfA81E -oy67nzTRX14GUgJPUFdBF9yRM5OAH0WKOqDCfE112z8 --> ssh-ed25519 ugHWWw xxY7ev4r58S7JAAu1L2dIMJAEqbj1sJgCBwvdetWoks -NCMrYUg9eJ41Era/85y0H3b6m3RogCK5FceJ2X/K/fA --> ssh-ed25519 UDK5aw jKQWY0Odh882Q2NYjhg1wrXOEb/4KGKyRAhwcbmsWVI -U0F2g+Yt898YBM9P7uFpVAtkKEkJuGRhiv64jHL3mx8 --> ssh-ed25519 UU9RSA 4LSOqIvpui2kU8TypqZ/dbKSh9VfZYvjxCv7xg/faXo -QTOsnrpCaEofvDxg7oMnn1gK93ReF/6SFCpSrWpwcm8 --> "-grease -G4cNBeH2EPobBiBiU6BPy00FiFULUhedZxH8tFvrJqsyH2+p+cV4MznhAg ---- sQZVwEZzBiHlKnrj37A8DSYPPoJGav3TVIdxLOUi9C8 -D|" b9{]{Ѷ8in'쐞jqqCޝ Jا@4f>D ժ \ No newline at end of file +-> ssh-ed25519 WceKOQ 7VshgNjuIYhw9QkQ1c56iIPy/NEPLaqlkUo4AFxTaHE +m+OC7NBHqMgKdPM2Ndkk6BFDPRAAkmDDDdGBOxWyUU8 +-> ssh-ed25519 ugHWWw fRncr1WP5Ont7eYCcxyHuB6VenIdN+jkQjFyduPlvA8 +qJjm09cCc749/qSZqCpjh0042SP4AVBsR4DIe7xJ/9s +-> ssh-ed25519 UU9RSA ZPgC1Nf2/2ERsGeygXB8lhIFmLdZZ0LmjsM7xgo3PF4 +8UoL9701sR89mOLFmaG31SzVAqhqCnD04rKQ7r8QEVo +-> _KO+XP-grease R3L & ^S ] +jyW0k5ziICUlhgfGd9ETMsot7MVvxTV0 +--- nFRuL5ww/XrjYiopSuDBcevzYKKh1aOBahntN2NFh3w +c&F#,]s( LM:TDcD@`~\AJ.BUp 5'K E@3 \ No newline at end of file diff --git a/secrets/nextshot.age b/secrets/nextshot.age index 758fb536..3bda30ab 100644 --- a/secrets/nextshot.age +++ b/secrets/nextshot.age @@ -1,21 +1,10 @@ age-encryption.org/v1 --> ssh-ed25519 EYWzzw tj5NW5ng7yfhKRm4dncnJ2xZ3o5pVAxqzQivvQ6mXDQ -ATihm128mF4HaeNbxplkrE7rdBV7A/VIlD11j79IhAE --> ssh-ed25519 ugHWWw jVRjWi9tydm104QR2cs19taFWxi/zvxaXaLdIcAlyGs -8q3m4QoxhRZ11als4FJUjf9NUTqYGmndZnjc2vM077M --> ssh-ed25519 UDK5aw 8mZY2owpK1lQIqLfMwjcXavVj8ScHG34isEA7l8vzF8 -iwcZ6cNsmcWyDUTvnosBV8maNo0Fq0IGEDfri2/VooA --> ssh-ed25519 UU9RSA Jbve4bnS4wfsIogRcntp9gOIAR4Zy1clQOpYYZ343h0 -Y+kYG6bQzcYadkH5uhtwRCyVTPyPKcyLdSrZk27bXrE --> ssh-ed25519 TCMRjQ cpzssF435zpqKx2ygNZhvq4DTvgL2f6RuWUsEbOQ9SE -FP1C3M8j1JvlJeOk7+ZXrMtqYn0u35ybt5Ri0rutREc --> ssh-ed25519 A1vEZQ 5OtnAWr4AC6hhBKuh26uaLHhQvRkyMjnAF6gAsLwdmE -SU6IZ6yuZ5rcEQU26xFJ0jdr9/OdpGOdBn74Lfieu0I --> i]-grease z7o| %'2 -jJyVYxDbM0UrKXN29te7RrL1x60VX1119PmeW09g4nCd+YTCdD5u+U+T96EwkrIX -ndI0wzLzogzte7ARWi9TeSc ---- x06Im9OXtUo6qGrnJzQONcnHt+Id4qDsDWJ3KoMkVZw -&,cwuН -ߞ 8D)(Kr[R?n\g1b5޿Yڞn${ϑ@-[hSdxf}O_} -5RaOj8)򞀢Q&)?LaaBsECð3\q -О7)T`,,(P \ No newline at end of file +-> ssh-ed25519 ugHWWw Cok2TwAVzYDrrQupsGYM94fBixEE0wpf8Po1jgPcVwA +7aMZHcSdw0zRmK5lUZZ3HD1mxRqsJeCSRJcMAtH8qFM +-> ssh-ed25519 UU9RSA l1gMlm9rFugE+eOZxnp52jwWCK/NZ5NuZRL5+qY/WBQ +7gbiL7J1jvPwWs+6OqYmSXNHzDQehPSQHKd64+IHBxU +-> PHjWm"z5-grease l +HDP8vwkNd8LlxUp6k04rQu4DHRbYJaOT6GHnvCSXWsIYS/YQqaapUXdDu2qW4ubW +G2Hj+Rg +--- KbWE4gX1tDoqXml5+3d4jewC+Wt9KGgBjfeXMNMOkvo +O}ؙ up,m6ІzӜ<6/Jrؙ0":`a7ɹ{ X5@i:vrR%$uOž`(^w t-E0kWa !4lygZ1[]e>4΄]|1b!7Mup Z}5N`bg\, u~ \ No newline at end of file diff --git a/secrets/paperlessAdminPW.age b/secrets/paperlessAdminPW.age index b449b518..46072a17 100644 --- a/secrets/paperlessAdminPW.age +++ b/secrets/paperlessAdminPW.age @@ -1,16 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 IbXxfw 0vBEJFvcwF7hzeeRQzfDcEhKbzbxpjzO3YC/Sv1fJFE -UrHnc3CuXuUcl9K/K91K7lWdk/zdMaQ73f81G9PrmvE --> ssh-ed25519 EYWzzw Zd8oNVysYcx1EpWyMj3ph4jYaB7Eq3gzC7v2GQbEfAA -g6jQnLAwHgprVuJWC/OUqQL8G1lpp0Nlc9auzfr4IqY --> ssh-ed25519 ugHWWw Oi86lLhVSDcWwmZkw6q3s3IMWwUQbUHL/czBy3TFgC0 -Wda3sTOmEaDZAhmb15XmClYCxc5/OaE5cpGvhs4Gj1g --> ssh-ed25519 UDK5aw 7eMa9eCptwXJNa+oDE06kuLDLbZpA/MObAEC3v3fQU0 -UbJW7NW8QFDqbbcqtWOzAggl1dwKfYItW2DqIwpstes --> ssh-ed25519 UU9RSA 981DT5jhUQWsMRTtQeaIODB/2QhHbpnVTYXMUo4VTDI -L2WGEDRaw+9kk1BEcqlWiHuJ6blE5rQH7ft3zfU9lgU --> 7KMg-grease }Bi!Bu -e3nIsNcarX6rZxTQUNvcKXNIBdLzaoq9pEujDdrz3d419fZcho4DFzfL9tH6KCTQ -0wxY6xHRWaceuScbLw3/Xp0eGTSKJCu2DgQEIlq2P+GsfI7UEzYzhyDMIbrfHdA ---- yVntoj9MmoKBcgku2dwseEuYKblBHOsnMdnJAQIweqg -3\ZWlSS-܎}&f 0bU %֋N$j>t__ \ No newline at end of file +-> ssh-ed25519 IbXxfw R5AD+t/S4rz3t7F2YVMHqRtXwdkaEv8A5tMqCRoT218 +Q8KzZWjuxPTkqCY9s4hkSb7ijVk4iQ/174+kasXf7cM +-> ssh-ed25519 ugHWWw FSmejSaccWyUa5ALkxLVC4qtPU528TAp1Q1tijRUEzM +9dc3WgC/3kSK3zb6uG+3gWNCli1tAk0k4K4o6GFy9WA +-> ssh-ed25519 UU9RSA 0283kXKNQpMa04ZcDcD6M4ln5avF6gw/3qh48nYhemU +r5PZ/EZEzjp075i5FUt4iQXf6OkBr0WmDr/YlGTnbko +-> ^E&)-grease O.r^p897 +p3mQhe+BojKl5+Gvpxy6F0BZuLWEY1wW0ybKd/RITiXZgDeMhw +--- xUsLTuxsE7ad8k2/o5i7t4iQPIOieFqHNsWOXk/d01s +쨗tx‹89YllTVPp DH1gz"d]'~t*h> \ No newline at end of file diff --git a/secrets/pulseLaunch.age b/secrets/pulseLaunch.age index 11dd375dd598bc87c99a549dd372757fa6b72279..c30f40e25713372326c5d7a26fe1d4195f2966a7 100644 GIT binary patch delta 918 zcmdnQb%1?>YFuf$M|gO-f=Pj+c}`$hLB6S}X{D2Peojh8SYm*`tBIR=PGW^qd3LUe zX_$w%W0rd;SDH(FQ_ki?3uIx1P z^bEs*V53~;s?4y$qV%wglB$rbP|IRdAE)rJ(893FY*UvAV}B=4E?qkXYiIL>Q-kE-Yzvnt{p@0w^wiYc%8ZZzt{@ZRl5}Is5{t-UE?r$+ zg_2OG9D{Q2WJ6yc@33O?!l3M=!m>mQ=fd2as1(nrz~n#=rxMQ~vqb-Vt}V~}tnxQT z)>}NioSrPTmU*|j#N__XF22)`^*=wwqie|Yv2n4)g$-?Pe2I^lJtl5B+A+;@uV$%( z%!5fyjZ*i&?3f`Mk#eA?+Qw=6r?Y9FADW7ZmL1oa`)S{f2|;_+)Td1Nwne@6*QPyD zEJ`^~m@O<1>Rd@K^P2Eou)1X88m>DG=db)YmlNw;KY54WTuu3nwk={^p+Dog#GRcg&XAdDb}$@^u;GCy^Xv6_gA*MZMWv@85{Uc zdaZl5XVDZ-_4oCGGEP4|Boi8gA7t{b%lSJg{a8}r;>0wW8}12m$`bzdU(M!N{hM*Q zapEHLj4RAfo!>XAb_H)OV_--PI;ebNW8R4=!jgU6M;1C{2(4cxFg<2P#N)5u_h#=} zG|A^okX~1qR8Yp9b;|_&Zmz$$`{lv86O31G`5QEAeWEt^_enF6J_|%+7Z*v#c~SPAv@x zNRRZ^Hckuj3a%(M@G;F!NzC>s3QjZAcXcW-3PiW9G~FXSyj-CyDmT5)$}+#)(<#Iy+t574%iqPgGQ1?HJe#XjJ2xz}Sl>9(u{6lC(la0{IJGdu zJtLR zQ1c?A@RD>B(*na%kE$~F2vdUqk8-Z8prDGBlyXaFC!eIsM9Z+qOmnj|^QeF%=e(%M zNVo75?_{$8gFJn0Q%?-rLM?-W9Tj|YT>^_MDgz2Fi!-y#g35~XqcXk2N(v34vVsDW zBmB(_jT3XT0-ehpEw}>RwL_!)O`W`QvcnC$i+x>FLPG-cd_(f9k}8}tEg}mIf=x1A zA`D!e%F%5LarO<$3RFlgO*9D0NUy5OGxRYHbu`MY2rt(+b9Htz^Q>?Q4Ro?Bx77B_ zD=GHQcI7gQ%B{@OHg@)Ki*k=jb}Tpb^0Y_{^{a4CHOO=Ka!D?>a5PRT@Jw`1$w#-% z(Xh-lDp0}6sG_tmB*h~!IVdb6(%G}b$igtwGBCm|GAPW%EYDxx!#K^~GpWeX(10t= zC&j}(qr$_(tHdME+tSR;!@w*kydp5rGo#!!E62qwvM}5?*di(?4eYmS`?~BbS0~-{ zqSVCVR0RX4fbe7kg#sPcF~G{9vDSE?r$+g;aycQgmzlZaf$ET1w1uE#R*70F9Bc)hhe7=Gf%8*{U#>I|7?U7Rx9 z>nA7d=~(i%WxL#DFUN`>iR-v57u9yT+~ZqwqkUmfDAN|6j&LObSq<6l`rc(bUj0j9 zGwL;sN#49}D9@zUoiWIuy|nC0y}u%|foUDUz(8m#vg|G5t-P|D3inS(z#Y zr&rtWwF`Q9*5MD=+L+*sTF1BpFQcuP+U|t&>^=F!(bl-==NqHHA!pLGZP%U5N_gXV z>dTpew%i`U1cw*-w`3pg;+?jn zl4Y7bo`^;JG0RGsx*m)B9tD;_4}X2UfqQT8s~+wt}op$^p$n# zBI}daF6ZeLA6qBn=Iwkx!>VyzOvN9*Qvp^@F0Yj5tUj%8apB?Dew|w@&)DAlsHQy0 zkVTGh8r!aQcW-a$fX0SP4MNhY zJ6JF7Rep9S`WoXl$*v^j2dvJkeb_|#Jf}^LVvMw`v0yUSy0U1Uw+ttfm3}JgG@;`c zKCj*|;oh}_JAVDUGcDZi{f(~Q8af*~ql7O87S=MjOlz8VS>pe ssh-ed25519 EYWzzw LbEHSAdVBebfazL1rZjf5GyzMf1yP47mIP0LmhZwalE -o42K++wV+1LdVqpxMARnQwvBpeNl9rqjhTrMA9snHC8 --> ssh-ed25519 ugHWWw ajZwDkSl0AsFcC8D4J8wCi2M3zRTzaoHh91L/Hcl9kQ -HUxAdisSCHo7HU7zmCHdrB9RzLJzsvBViltf1jpnApA --> ssh-ed25519 UDK5aw Y9o2xBOWsnNzh7aNSLpZ475Lpeejzj59CuHcCLLWVjE -lpojh/7y9sGhTDNIa0n4hPgzD7k21nN9Dy4AMuf6VU0 --> ssh-ed25519 UU9RSA LfaWl7nuN2GOwZIAHVyuN6ugAH5hQbXwoV4XVZs5Xys -VXM3UeUshSONLLtk4/u/+1ehFF87oQizAjZuyZmKrNg --> ssh-ed25519 +5moNA U7Xc/WZNU9fG3N0F2FItc2N2DRjhctESKldopfYE8G8 -ZJO8kKWKESx7SWCC9ov0Fl8id3G7p3fKkOpXfb+wj/0 --> ssh-ed25519 IbXxfw IuxBXiZDSMw1Z7UHkud2cZ8D0ODLgjFy6shfVooEWGA -agKSGMAhd2ddFqXRgyN3rXCkWy5YwZxORoMbpVVVLV4 --> ssh-ed25519 TCMRjQ M5C/XXI7ewoj3gR8OThBinECnnsJubtnQDjXi6TZIkA -bqwd+jfwHAXrvA4HNWk1kgBuOG027Jb39gN1A8cG8ac --> ssh-ed25519 LUZRUw pcTrQk3BV6ybiye0SUdVRlEcCrBHYMGzbI/LVhZPDik -nmD5/hsc8tPIt89H1Rj9adS/Qs9LJxiOlvBA+eTKASc --> ssh-ed25519 JiyliQ x4Eu+fH+AH1rOvzU4WT/2hLhMwuTd8ti9CmAPcoki1s -4vPL0xx5pAPzXqeORfrx0T5U/h+8O7ilDYB9/Njv3wM --> ssh-ed25519 WceKOQ W3iu4XgTFLulYokT9KNYE/Msh9nGmz3qvC0L1uPQuDo -YpNMGLYJBQniMhYFuTT2LQyh/MtyxxpkKpbOW/ydU54 --> ssh-ed25519 A1vEZQ hgTnHuA5JYoFb2SgP6g2b1JdJUGmeOd4bXQjYT+3EAY -raawl2Q1vE8aapZtQPx8F6z8xjXefg6sGUq5GEJy6LQ --> ssh-ed25519 rQk6HA 8g14/ad3zsoWVVpHsabC1G8fQGc1/zgdXn5vddy9sHo -I3osCkU8TRPSj8Q2pnKahKfb/pW45604RT+WUpSn6cA --> WMXV_pP-grease mfm`1 K H58g1@ G#jL - ---- zIvDzBi7eG6xi72O9H7PgwHhLmd632NULQixvMTIkfA -01¨,MN\"/UuJ1(E❁ -_sXow],` g{POL AI%^ZTfy^Lȗ%{ $:@ 'nRf  \ No newline at end of file +-> ssh-ed25519 ugHWWw +FHwZvsw61Oz94pLCZI3Hf0MnKVrvBrZ5NIXA5pABjM +741DC7k+1yLIOl9Wc4A50kywIrK3BCuKEVZ9fP0l/EA +-> ssh-ed25519 UU9RSA V2/HDc2w03ArHLZBccHOUVf6851VI9DtHwch9niHXXU +B9d3p6R7wGQmcpthbHi3I0/HCLDizohW8EiPaYKsp8U +-> ssh-ed25519 IbXxfw LlZkMHSKYHdTtJvO6VBybmotdsVU8yplstUGeMKiA18 +4bu+TDWhkeSPycYBBcPoai+fCP4PppgBXewcqXYem5U +-> ssh-ed25519 U2IFSw 16fypyHqQkH8W1RjDlDid6wpGygBYCtgqKYIn1KfYEU +6wevhYdYIoWlAcJ9ykkixo9RTx9YJ0qBkXJEqX0DB5E +-> ssh-ed25519 WceKOQ QTMaAnkk+4cNTi8A4SeSKVMXbVQ2Pmd5mqM3DlcXHSU +L3ee5gcgJnN1OdsRbYiTmAWppgPoBG2uGcj7UhBaDPk +-> p-grease i|i(!: }G: +zg +--- a5FUpvshJxUeYHfefzhscXawq2s/IT5eKrbf+jvY8wI +7 ߑFFX}&-=Y|d ͦqܑ +RL\Z&Ѝцip.y^kj gFljeeθ2{qvn&fey@Iӗ"hh$"qXfYH| \ No newline at end of file diff --git a/secrets/rootPasswd.age b/secrets/rootPasswd.age index d82d5f80..ffb51775 100644 --- a/secrets/rootPasswd.age +++ b/secrets/rootPasswd.age @@ -1,30 +1,16 @@ age-encryption.org/v1 --> ssh-ed25519 EYWzzw dZmQekgsKFafQQhp7PwxDNqZDeaebBcWFKdvVu9kNHA -kVo8BSe/TspDiSrlY6c96pTDYKWI10W3eLmX7xFxaGo --> ssh-ed25519 ugHWWw kJUdRcAS6A6DDBPIarIqOggxg/eEXh+jxH8LJSUTsQE -27in5J/hHjq+3jbYZcnEnHnjicEQAugZgb9TiqcJYPE --> ssh-ed25519 UDK5aw ktCg7oNhGxECw6q8M8/JKXud1DhmDHD+xv0CfZ5Qwyg -9JlW/TozHaUbgBe1nLCHih/zj0vevp27O8TSNnrRvgs --> ssh-ed25519 UU9RSA Tl1dJB11BCY9lcP1P0SsfLK/QSJfEX3dGHIT8UyIeDM -s2Buc+kl6x2OQ2r84SKgo9PpC+Eiejf/2AW8GRCd+Wo --> ssh-ed25519 +5moNA 8UUbmm2Fa0GqH5gFWXtqX7E7aXcXVQk7xlqoV8xyDEM -PfdKnfMiuQFaEdHcn2cOh8WvrTygJfwm6BvOMrbQg5k --> ssh-ed25519 IbXxfw 3GbBo0aiHormx1vaWepMNOxo5MMwfZY63SkpMsaYcy8 -uatK0JPADzjsrsHBNw1Vk929lLGy6Xk66X6f4TzMwM8 --> ssh-ed25519 TCMRjQ ezup1/sMk6PVqAvB3M+GhrVQ8tv/NDKaH7+GYS8LBAQ -j3aISluVVvBKH+3Am4E8fitt60OoXNRl+fVccpK+o/0 --> ssh-ed25519 LUZRUw GcNbGgIb/hD7iKWOaHrcDVpSsL3WU4spuz+Vc4/10UY -79nb2p60oLD5Wk3zPhgtu+jzWKSC+5yLSntL8k1ifjU --> ssh-ed25519 JiyliQ hhKOdm1yh5p20dmx2u7UN1jMe4do/DX7JABuG9ZWYVs -vjXNjwDRrKoblD+YvUZ5I5m3WiKhPVel5bVhq9oXAPg --> ssh-ed25519 WceKOQ /nHYPRaI7sZ9n/Uwu+29G22eutdtFFbSpznCI6OvCSc -xPX2vM6DvY4qufPz5qBttlaP0+8T76q702RTBXzGO6I --> ssh-ed25519 A1vEZQ xycFO6K3nIi5snUvFJuvaGF3jz494XEQgg4FNdKYlxU -8PIB1GitMv02dDN9/m8sL4Akky9G+urXBnmyd5FWseA --> ssh-ed25519 rQk6HA duhoJYbtWugdP1mLfO+kwoJKJQJ25fO7xEPM+ggPaVM -nY3yWU9U2zOgpiR7LRHOF+xlIO/Un8axMcBA80TtwS0 --> k-grease "\MEjtT TJcP!x (s[ZZi -9LSNSacH0dnlqlFcH9KjOTv1vssUaQfnuYXWgAZDX/TCv8OIDlz3eSbGf19xZUhT -uvMMqWgj7pX568TcBSwB ---- h0XAcn8PIMXq9lHfZidKzvAMF4UfvVGs9uznenpCjFs -ySqjxn>9;jPNsf\x=pL<,SY8cƵ孷OmZ\-SL]]ιF pv]Sx]\&l}Y`X#]~,xqd0V^B#M\,&S \ No newline at end of file +-> ssh-ed25519 ugHWWw D3ArD3jU8s3THOumAM5aUy6TNFjkX4uoeCyfDfoSlgk +NxdSqYkwgtLlxhlvJCjjaGS9C0qp4RlZezNj4uJCZJA +-> ssh-ed25519 UU9RSA Rxf+uDDV98o6bYhw7tg5WfARV3vM5gWoLCoACthy9Vk +WTQPusn7aZf6sPJP2BzCbhlMl7vKKC9suXfU1XULCyg +-> ssh-ed25519 IbXxfw +7NpFP3B3fVGK9tZYOXPcL8FgK22J6EOI/u+Xp95F3w +7SRP+kGoyqPYFW9nhOcz+qxYv4qV8mhmBrDD8oBf174 +-> ssh-ed25519 U2IFSw mduWduKoV7n+A2EpVwGjK5JQRz4dV0iY6GUlIebyKXg +ZhpHatqHL1j0h9kjhBQhLjXYoxRlO2Z5cTb4/VuFIyw +-> ssh-ed25519 WceKOQ UjjDzg0sQyNWnAd2LgpHOR34DWbRz3vkhM2HaW3lmRU +Krny1R78wmBq0xds7FKc+6UVbePHoaWJ6a/4wzeFivc +-> dH-grease 5ba/jE~; ^4i:lN# +F3eLN4+RImEQfrofakoW/uF6AsdmZlLSVmgDGWU7rrj74Y0Uy1J60ZsJXOCAwywl +qORU8jt7736F1T5/GKGB3bDibrKQ/Br5PQ +--- cfbjnu5AvZ5R2NraqZHSFowahzFf6GYNGPzquyt7zoA +}ZVUރs&1d|w[qXWm>)FQX00>uMJ7iu(^pTfFMm‹(:`h,8izE;e\ߵd \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 4a722485..225aa993 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -6,6 +6,7 @@ in "nextshot.age".publicKeys = pubkeys.ragon.client; "pulseLaunch.age".publicKeys = pubkeys.ragon.client; "rootPasswd.age".publicKeys = pubkeys.ragon.computers; + "wpa_supplicant.age".publicKeys = pubkeys.ragon.computers; "ragonPasswd.age".publicKeys = pubkeys.ragon.computers; "tailscaleKey.age".publicKeys = pubkeys.ragon.computers; "paperlessAdminPW.age".publicKeys = pubkeys.ragon.host "ds9"; @@ -18,6 +19,4 @@ in "gitlabOTPFile.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabJWSFile.age".publicKeys = pubkeys.ragon.host "picard"; "nextcloudAdminPass.age".publicKeys = pubkeys.ragon.host "picard"; - "wireguardwormhole.age".publicKeys = pubkeys.ragon.host "wormhole"; - "wireguardvoyager.age".publicKeys = pubkeys.ragon.host "voyager"; } diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age index cb6ed849..10358fbe 100644 --- a/secrets/tailscaleKey.age +++ b/secrets/tailscaleKey.age @@ -1,29 +1,15 @@ age-encryption.org/v1 --> ssh-ed25519 EYWzzw LqSrDXtVPoZ2wV/jLp61ffmZ97tdel5osqMHKJtqGkU -dEptsiFGUnChsdQ1e6zY1xy314jV2hM8mxT7DVTHixk --> ssh-ed25519 ugHWWw UmcrgVBZh0Exi6nfSbVcoE7H/vShI5uH9YmwPZzJ2Fc -vwP7W4328N78+JB/0Pmf0bqaynObPJnqjldjykJoZkI --> ssh-ed25519 UDK5aw lZziE8KVejhi9SGffw7ugATxpkkhjH0sK8mSsqtRDAw -/vIpnMLVME5BfXp9Htrx8BgwKdSmz+IaIE+CAfg3RWg --> ssh-ed25519 UU9RSA mrr+VnPBczJzPDUXuiEB/xMsgobwLMJmzC+CkIhTODo -Ww0R9CWpBcIdhkMCmrwNZEwwGUUkQwaS39kZHkZg9Ok --> ssh-ed25519 +5moNA 28WI14I3xfIaxAqR30V2IC/2plACYkPH+FdOZxsnj1Y -h1l07zNtcmuhA4JwsY3z4bK4f8zBj6fSE16G26OmWmc --> ssh-ed25519 IbXxfw ShOPZhuck88CV1GW1JwFIEzrHhqowVWudQBJfFaYEzA -OGt4XWcsrEulshgktz29eRWUJjPhBK90JkrXML7gU2I --> ssh-ed25519 TCMRjQ B6wbeY4htaQNbHoMj54Vm5u2Nv3/+hZJk0QJZYOPImE -/UXZlqF/Q1ZvdaHzxeaTNGe8NkUIF7mRA4qzL/JNVQM --> ssh-ed25519 LUZRUw JiB/nTYhBCeiSoSCwJFnCf9hW1OGA4Y5KQpGzpzE72o -yVhuA50na8KM/pT/zPA0g23yYo3meJzsFPAodKsECh8 --> ssh-ed25519 JiyliQ fy2KrCXS9ufecu+NAY1Wv4dbcylOOLKs/UApA02V3Xc -Khn43o6SclqN7QJ7olSGa13KpaHe+EeKlXLkZiFMx5s --> ssh-ed25519 WceKOQ eLn08w0EuZ3WQR0jQwwMLLaZ8/0S8dLSxc6ukzpJUj4 -0A3UfxLcS0xkyrHZrPHU1K3/mEsph8f7fXJLOMNyvhs --> ssh-ed25519 A1vEZQ 3IPoXmWMEHxXGJkIcgc+jNincRgmxjUR1w8lT67tkHI -QtupNb9H2SDsZ7SeLwim582KT3j2WYT97OKDWyghCw8 --> ssh-ed25519 rQk6HA pqCVNRPeh8DcQv688AmVfGVH9vFaO1ljCjZdQnmuLAs -UMFmukMw95sH94nMrIDCxA+Wu9rFqu/+HeaTSBAKk/w --> s'-grease Vh0 HZ -eV4 ---- v3hiCSVCZBClieGN5cbms9savGrjF5eJe2CX45+YisU -x JT;AE"١bWR )%کx9ew}+vܒBj_ \ No newline at end of file +-> ssh-ed25519 ugHWWw TLEiAaWNTKtTAIRbBEVwI+AgAH0LxANt2mzEDckPYBc +GPrHmMLvxEvVH7fN7nnl+F5dX3uuhi+C5K8GsQih3HA +-> ssh-ed25519 UU9RSA lqKIcrWLHNKtn0e6cuPT87G7919hnm6T8YhNSmdiqUs +mZq+jy//W0cEyQ0IIoi+Oy1GQFYO9h4A6OjPG5quF94 +-> ssh-ed25519 IbXxfw qzz+ASqayl13laLmlC43q3LoDUxk4dFJY/GLE1va6wk +Srqeae0bZqAgsT22a/CTr/Zudn7ZV/j4S4NkSnFOqpI +-> ssh-ed25519 U2IFSw f8kcyR49oyeVyTUqhn4d3+U9RNtpKWAOcl4HBIIiP1Y +7SgLbZWF43MBBgMUgr+R2uQDQJQNhDAkmPPK4zM1J3E +-> ssh-ed25519 WceKOQ HmKVpkV9BcSxC/ogSP5FVy2LhUak8LeNEFeKrsFfv3c +jLzjYluGNz/q1slH3npcMDtLOYvAGOF8rrRUk86CS8k +-> igSY?Dm-grease ? t{U U?'k2 +SS2IsRWRDlrrc4eBlGqMEzm8DfyNR61MrSf8sN5BZA +--- iccVq/bZHA5te4snHMZ+Et09xTbL2TtnwYO+SvKKZ1c +iW`6> ~@'x#uR9C@dc+UW’अOݤm+K9Q \ No newline at end of file diff --git a/secrets/wireguardvoyager.age b/secrets/wireguardvoyager.age deleted file mode 100644 index 9ce9fefe..00000000 --- a/secrets/wireguardvoyager.age +++ /dev/null @@ -1,15 +0,0 @@ -age-encryption.org/v1 --> ssh-ed25519 A1vEZQ 8WLhLDth0HYHsCpG9cE866tkxFtzw6PzJUNflx+iOjU -9i2/G8aJhu8WQCAVbYtlgMAuYj9Qgo0PEkATat6x0Lk --> ssh-ed25519 EYWzzw mrxn2Mn3wPuUOE8usd2Q/NdyI/y+d8wURa4EzY9euBE -T8aonRzVP3HpMYLdj8Cs1ALDlf7StSqRqiOy02qCR9w --> ssh-ed25519 ugHWWw DpCKx/h6Ys+XNqcIlYG8gcA7enZhE9zxOHDSR9zJYgI -TUAy5ZMoU6kr4g/+Ys3PYTQp00r0yk7B/+VpdFprsNQ --> ssh-ed25519 UDK5aw iiIeZTy6eDMcekJyils7kJZWMRpO7pLi62lRPveoKg8 -TnSrdTlda9O+0yhBytnY5VVmthU52L/nMCi9/aFiu1s --> ssh-ed25519 UU9RSA M6ItkG991s5U2K1E70ruUP2iRL9+nB8p2eyDL9kX+TQ -HeoZW6BtgHcI3Qe/VUCUrcyhUbcMXlKa3HqNacv7uwc --> kX_-grease f\e\ Rj+~oX7M 1 -ewJ+jXh0vEgbDhpO0nmX+V+UwZSqkafKRoIB3hMrAwE+R5iuZSDWAx4XR0c ---- SiWIor3ehrAC3KTcgLCN+mYvsM+gOGAwj1e8Wud388M -?`Y"P]e}WH+!f CsFmcM:2oQ6aM  ~=s󚞜 \ No newline at end of file diff --git a/secrets/wireguardwormhole.age b/secrets/wireguardwormhole.age deleted file mode 100644 index b0762e10..00000000 --- a/secrets/wireguardwormhole.age +++ /dev/null @@ -1,17 +0,0 @@ -age-encryption.org/v1 --> ssh-ed25519 rQk6HA YDPQBl0whrw1zR+swhb+SExxqZ1dAyH/2VUaWSFpF2k -MYf8ZmjcHtZrBIvpTPgTpX4AxZb25RIwFnRmPA5HSsY --> ssh-ed25519 EYWzzw uq0tQEgeKJ0QF8Gj+6Q3VKUX+4eZhaYZdn5ue7iVAE8 -OhXcoh9inDGGs4pUMp4SJsBs9Wgof0Zasp2YDdNbYnU --> ssh-ed25519 ugHWWw mCnwqprJ1LljTL7WMUWs+PAB1TIiTJJnS2H57WlGBxQ -6Dic87CJmMyNUb9cMLFb7X1b9OwKODGYDT4XJu79vPM --> ssh-ed25519 UDK5aw llva4i1xwHbr2ObkMRKOL8nlKKHUAVngcI9YnSxQRwY -3Arn7SHDV549W9buHN1W178BZZI+LalSVONipZCJvrk --> ssh-ed25519 UU9RSA roR+hhpCHjRWIhCMXE3Z2X8yY+UxmTh2CmzizUfPNA0 -jSkLFAGZM4mwkAnNBhMqA37XFdEaIFLFo8CjtXFzpQc --> 9P-grease lR x)Ox- -6cl7heMeTkRgUkm6tpeysLWDPf+ka5rPGlzvMZSkp5D7q3wzCq4vCXuq6EQHSxbi -vsN4NiAXQoBhrOz0lJnDZuH4zerlIdNwoUZzSiqkFJ26SbkVP3xPIYbCKrsBMbox - ---- BfY866qs6AK/LY+dtGMfcsvQP/wiAO5fmRP4eZDORwY -% +`4NlW{0QWQ[ʎVy~lwtF9& %FW.u5wD \ No newline at end of file diff --git a/secrets/wpa_supplicant.age b/secrets/wpa_supplicant.age new file mode 100644 index 0000000000000000000000000000000000000000..7ad0a00c0d02f6a1f214ad9d519a585445d6ab12 GIT binary patch literal 844 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIR|4b1QNw z^RFm2NlvWPuX0HZBDo?X&&R3E%Q?%e$^_ju&!mWov~mT%pxjI|lcJQO{Geo)BEK?E=cpWm zd^2bFlpwdf$c*6Z;Hm(9(>#kDBNMLTsx+T;Z4d2&(7@2F^bE_;g3^?Hqr#xj(%`I0 zpHx4S;K(X}uizASPYZP0LXAA#g3A?rvW?8mqpDK8-6C_Hd_w%9LcO(fD@-yo-173x z%u>^g^QwF*jm)w#a!j}i4TID4P12GIO+%yH{i_O70=&aQDoUL)y$r)Gb5qK~Gdv5- zLY$qmLjuul3r|k<_77Ar$tWo-%kj?5GSAO7H8J%F^v-c{%nsLf^i7X)GRQ4YOUkuO zNiir34|e79uFNX-D{%>N3@8jW)%W)=aY+v~4fD6OEK2gsD|X3uO!LdD%&9D_C@%-u z7Fw#CUX+?xoT}h$pOd9tq@Wa*?!~2_}XVxpJE(X&ZVoXt6&ir=~k7K8|jmltet64sU2CA;*%UykQoqY9+H?I z6lEG^S>PP#@9XR5%C+qEpCw!q?>Wt>eJb&Q@tA$q0soY?>4qO1wYELrJiU50ueSr| z*&>VfdCET&#g~}=)H%5Fpjq#EP0_F3yJ52-BDM&r7y@N(nr@prp4rrG)*-k({8~ WcE=<9tp~zSyIJ-7ZVW#+e;WWU>nd;n literal 0 HcmV?d00001 From 3d8ab55a8f8831ed9dba9fa68bf03e396ab9edef Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 26 Mar 2022 17:25:52 +0100 Subject: [PATCH 033/525] music fixes --- hosts/musicpi/default.nix | 46 ++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix index c5b9c6b4..482cd9fd 100644 --- a/hosts/musicpi/default.nix +++ b/hosts/musicpi/default.nix @@ -2,21 +2,51 @@ { imports = [ "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" + "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" # "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" ]; # fix: https://github.com/NixOS/nixpkgs/issues/126755#issuecomment-869149243 nixpkgs.overlays = [ - (final: super: { - makeModulesClosure = x: - super.makeModulesClosure (x // { allowMissing = true; }); - }) -]; + (final: super: { + makeModulesClosure = x: + super.makeModulesClosure (x // { allowMissing = true; }); + }) + ]; boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here - documentation.enable = false; - documentation.nixos.enable = false; boot = { kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; - initrd.availableKernelModules = [ "usbhid" "usb_storage" "vc4" ]; + initrd.availableKernelModules = lib.mkForce [ + "ahci" + + "ata_piix" + + "sata_inic162x" + "sata_nv" + "sata_promise" + "sata_qstor" + "sata_sil" + "sata_sil24" + "sata_sis" + "sata_svw" + "sata_sx4" + "sata_uli" + "sata_via" + "sata_vsc" + + # USB support, especially for booting from USB CD-ROM + # drives. + "uas" + + # SD cards. + "sdhci_pci" + + "vc4" + "pcie-brcmstb" + "simplefb" + "usbhid" + "usb_storage" + "vc4" + ]; loader = { grub.enable = lib.mkDefault false; From 4aa1a76b7a1051673fc3994bacc1efe7ec9827f3 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 26 Mar 2022 17:52:40 +0100 Subject: [PATCH 034/525] rpi fix --- hosts/musicpi/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix index 482cd9fd..5a7d73a6 100644 --- a/hosts/musicpi/default.nix +++ b/hosts/musicpi/default.nix @@ -14,7 +14,7 @@ ]; boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here boot = { - kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; +# kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; initrd.availableKernelModules = lib.mkForce [ "ahci" @@ -54,8 +54,6 @@ }; }; - hardware.deviceTree.filter = "bcm2711-rpi-*.dtb"; - # Required for the Wireless firmware hardware.enableRedistributableFirmware = true; From 8a6a55d5d2cbd787f97156661978af59cfeb741e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 26 Mar 2022 18:18:26 +0100 Subject: [PATCH 035/525] rpi fix wifi --- hosts/musicpi/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix index 5a7d73a6..e45f0d8c 100644 --- a/hosts/musicpi/default.nix +++ b/hosts/musicpi/default.nix @@ -13,6 +13,24 @@ }) ]; boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here + sound.enable = true; + boot.loader.raspberryPi.firmwareConfig = '' + dtparam=hifiberry-dac + ''; + nixpkgs.overlays = [ + (self: super: { + firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { + version = "2020-12-18"; + src = pkgs.fetchgit { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + rev = "b79d2396bc630bfd9b4058459d3e82d7c3428599"; + sha256 = "1rb5b3fzxk5bi6kfqp76q1qszivi0v1kdz1cwj2llp5sd9ns03b5"; + }; + outputHash = "1p7vn2hfwca6w69jhw5zq70w44ji8mdnibm1z959aalax6ndy146"; + }); + }) + ]; boot = { # kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; initrd.availableKernelModules = lib.mkForce [ From 601734a116315753cb8082dec84d756e314e0e5d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 26 Mar 2022 18:28:20 +0100 Subject: [PATCH 036/525] rpi syntax --- hosts/musicpi/default.nix | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix index e45f0d8c..697c8d08 100644 --- a/hosts/musicpi/default.nix +++ b/hosts/musicpi/default.nix @@ -11,13 +11,6 @@ makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; }); }) - ]; - boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here - sound.enable = true; - boot.loader.raspberryPi.firmwareConfig = '' - dtparam=hifiberry-dac - ''; - nixpkgs.overlays = [ (self: super: { firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { version = "2020-12-18"; @@ -31,8 +24,10 @@ }); }) ]; + sound.enable = true; boot = { -# kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; + supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here + # kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; initrd.availableKernelModules = lib.mkForce [ "ahci" @@ -69,6 +64,9 @@ loader = { grub.enable = lib.mkDefault false; generic-extlinux-compatible.enable = lib.mkDefault true; + raspberryPi.firmwareConfig = '' + dtparam=hifiberry-dac + ''; }; }; @@ -102,7 +100,7 @@ ragon.agenix.enable = true; ragon.hardware.hifiberry-dac.enable = true; networking.wireless.enable = true; - ragon.agenix.secrets.wpa_supplicant = { path = "/etc/wpa_supplicant/wpa_supplicant.conf"; }; + ragon.agenix.secrets.wpa_supplicant = { path = "/etc/wpa_supplicant.conf"; }; services.shairport-sync = { enable = true; arguments = "-o alsa"; From 2c860c57aa4691ada65aab88f9453f5a7d14e00e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 26 Mar 2022 18:39:21 +0100 Subject: [PATCH 037/525] other kernel --- hosts/musicpi/default.nix | 70 +++++++++------------------------- nixos-modules/services/ssh.nix | 2 +- 2 files changed, 18 insertions(+), 54 deletions(-) diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix index 697c8d08..3c699e6e 100644 --- a/hosts/musicpi/default.nix +++ b/hosts/musicpi/default.nix @@ -1,7 +1,6 @@ { config, inputs, pkgs, lib, ... }: { imports = [ - "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" # "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" ]; @@ -11,59 +10,20 @@ makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; }); }) - (self: super: { - firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { - version = "2020-12-18"; - src = pkgs.fetchgit { - url = - "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; - rev = "b79d2396bc630bfd9b4058459d3e82d7c3428599"; - sha256 = "1rb5b3fzxk5bi6kfqp76q1qszivi0v1kdz1cwj2llp5sd9ns03b5"; - }; - outputHash = "1p7vn2hfwca6w69jhw5zq70w44ji8mdnibm1z959aalax6ndy146"; - }); - }) ]; sound.enable = true; boot = { - supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "ext4" ]; # we dont need zfs here - # kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi4; - initrd.availableKernelModules = lib.mkForce [ - "ahci" - - "ata_piix" - - "sata_inic162x" - "sata_nv" - "sata_promise" - "sata_qstor" - "sata_sil" - "sata_sil24" - "sata_sis" - "sata_svw" - "sata_sx4" - "sata_uli" - "sata_via" - "sata_vsc" - - # USB support, especially for booting from USB CD-ROM - # drives. - "uas" - - # SD cards. - "sdhci_pci" - - "vc4" - "pcie-brcmstb" - "simplefb" - "usbhid" - "usb_storage" - "vc4" - ]; - + extraModprobeConfig = '' + options cfg80211 ieee80211_regdom="DE" + ''; + kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi3; + initrd.availableKernelModules = lib.mkForce [ "md_mod" "ext2" "ext4" "sd_mod" "sr_mod" "mmc_block" "ehci_hcd" "ohci_hcd" "xhci_hcd" "usbhid" "hid_generic" ]; loader = { grub.enable = lib.mkDefault false; - generic-extlinux-compatible.enable = lib.mkDefault true; + generic-extlinux-compatible.enable = lib.mkForce false; + raspberryPi.enable = true; + raspberryPi.version = 3; + raspberryPi.uboot.enable = false; raspberryPi.firmwareConfig = '' dtparam=hifiberry-dac ''; @@ -71,10 +31,13 @@ }; # Required for the Wireless firmware - hardware.enableRedistributableFirmware = true; + hardware = { + firmware = [ pkgs.wireless-regdb pkgs.raspberrypiWirelessFirmware ]; + enableRedistributableFirmware = lib.mkForce false; + }; nix = { - autoOptimiseStore = true; + settings.auto-optimise-store = true; gc = { automatic = true; dates = "weekly"; @@ -96,13 +59,14 @@ }; }; + environment.systemPackages = [ pkgs.alsa-utils ]; ragon.services.ssh.enable = true; ragon.agenix.enable = true; - ragon.hardware.hifiberry-dac.enable = true; networking.wireless.enable = true; ragon.agenix.secrets.wpa_supplicant = { path = "/etc/wpa_supplicant.conf"; }; services.shairport-sync = { enable = true; - arguments = "-o alsa"; + arguments = "-o alsa -v"; + openFirewall = true; }; } diff --git a/nixos-modules/services/ssh.nix b/nixos-modules/services/ssh.nix index 58220263..25fb4968 100644 --- a/nixos-modules/services/ssh.nix +++ b/nixos-modules/services/ssh.nix @@ -5,7 +5,7 @@ in { options.ragon.services.ssh.enable = lib.mkEnableOption "Enables sshd"; config = lib.mkIf cfg.enable { - services.openssh.permitRootLogin = "no"; + services.openssh.permitRootLogin = "without-password"; services.openssh.enable = true; services.openssh.passwordAuthentication = false; }; From dcb627c4a43bc42aa9527e9d1c6085c4d6fc9a7d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 28 Mar 2022 18:33:43 +0200 Subject: [PATCH 038/525] feat: github updater --- .github/workflows/update.yaml | 52 +++++++++++++++++++++++++ flake.nix | 3 -- hosts/musicpi/default.nix | 72 ----------------------------------- 3 files changed, 52 insertions(+), 75 deletions(-) create mode 100644 .github/workflows/update.yaml delete mode 100644 hosts/musicpi/default.nix diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml new file mode 100644 index 00000000..cbf0d3eb --- /dev/null +++ b/.github/workflows/update.yaml @@ -0,0 +1,52 @@ +# https://github.com/sandhose/nixconf/blob/master/.github/workflows/update.yaml +name: "Update lock file" +on: + schedule: + - cron: "0 */6 * * *" + workflow_dispatch: +jobs: + tests: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - uses: tibdex/github-app-token@v1.5 + id: generate-token + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + + - uses: cachix/install-nix-action@v16 + with: + install_url: https://releases.nixos.org/nix/nix-2.4/install + extra_nix_config: | + experimental-features = nix-command flakes + access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} + + - name: Setup Git author + run: | + git config user.name 'GitHub Ations' + git config user.email 'noreply@github.com' + + - name: Update lock file + run: nix flake update --no-registries --commit-lock-file + + - name: Get commit message + id: commit + run: | + message="$(git log -1 --pretty=%B | tail +3 | awk -f ./misc/flake-to-markdown.awk)" + message="${message//'%'/'%25'}" + message="${message//$'\n'/'%0A'}" + message="${message//$'\r'/'%0D'}" + echo "::set-output name=message::$message" + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3.14.0 + with: + token: "${{ steps.generate-token.outputs.token }}" + title: "Automated Flake update" + body: "${{ steps.commit.outputs.message }}" + delete-branch: truec diff --git a/flake.nix b/flake.nix index 360976dd..46a2ceec 100644 --- a/flake.nix +++ b/flake.nix @@ -124,15 +124,12 @@ }; my = self.packages."${prev.system}"; }; - packages = []; nixosModules = lib.my.mapModulesRec ./nixos-modules import; darwinModules = []; #darwinModules = lib.my.mapModulesRec ./darwin-modules import; nixosConfigurations = processConfigurations { picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; # TODO ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; # TODO - wohnzimmerpi = nixosSystem "aarch64-linux" [ ./hosts/musicpi/default.nix ]; # Livingroom pi - kuechenpi = nixosSystem "aarch64-linux" [ ./hosts/musicpi/default.nix ]; # Kitchen pi }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; # TODO diff --git a/hosts/musicpi/default.nix b/hosts/musicpi/default.nix deleted file mode 100644 index 3c699e6e..00000000 --- a/hosts/musicpi/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ config, inputs, pkgs, lib, ... }: -{ - imports = [ - "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" - # "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" - ]; - # fix: https://github.com/NixOS/nixpkgs/issues/126755#issuecomment-869149243 - nixpkgs.overlays = [ - (final: super: { - makeModulesClosure = x: - super.makeModulesClosure (x // { allowMissing = true; }); - }) - ]; - sound.enable = true; - boot = { - extraModprobeConfig = '' - options cfg80211 ieee80211_regdom="DE" - ''; - kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi3; - initrd.availableKernelModules = lib.mkForce [ "md_mod" "ext2" "ext4" "sd_mod" "sr_mod" "mmc_block" "ehci_hcd" "ohci_hcd" "xhci_hcd" "usbhid" "hid_generic" ]; - loader = { - grub.enable = lib.mkDefault false; - generic-extlinux-compatible.enable = lib.mkForce false; - raspberryPi.enable = true; - raspberryPi.version = 3; - raspberryPi.uboot.enable = false; - raspberryPi.firmwareConfig = '' - dtparam=hifiberry-dac - ''; - }; - }; - - # Required for the Wireless firmware - hardware = { - firmware = [ pkgs.wireless-regdb pkgs.raspberrypiWirelessFirmware ]; - enableRedistributableFirmware = lib.mkForce false; - }; - - nix = { - settings.auto-optimise-store = true; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - # Free up to 1GiB whenever there is less than 100MiB left. - extraOptions = '' - min-free = ${toString (100 * 1024 * 1024)} - max-free = ${toString (1024 * 1024 * 1024)} - ''; - }; - - # Assuming this is installed on top of the disk image. - fileSystems = { - "/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - options = [ "noatime" ]; - }; - }; - - environment.systemPackages = [ pkgs.alsa-utils ]; - ragon.services.ssh.enable = true; - ragon.agenix.enable = true; - networking.wireless.enable = true; - ragon.agenix.secrets.wpa_supplicant = { path = "/etc/wpa_supplicant.conf"; }; - services.shairport-sync = { - enable = true; - arguments = "-o alsa -v"; - openFirewall = true; - }; -} From f158f6e4119401c23401ab47967f0ef4a0dbeebf Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 28 Mar 2022 18:41:31 +0200 Subject: [PATCH 039/525] ci test --- .github/flake-to-md.awk | 131 ++++++++++++++++++++++++++++++++++ .github/workflows/update.yaml | 11 +-- 2 files changed, 137 insertions(+), 5 deletions(-) create mode 100644 .github/flake-to-md.awk diff --git a/.github/flake-to-md.awk b/.github/flake-to-md.awk new file mode 100644 index 00000000..f2cba472 --- /dev/null +++ b/.github/flake-to-md.awk @@ -0,0 +1,131 @@ +# Parses a flake lock update commit and output readable markdown with proper +# https://github.com/sandhose/nixconf/blob/master/misc/flake-to-markdown.awk +# compare links + +function unquote (str) { + split(str, arr, "'"); + return arr[2]; +} + +function parse_flakeref (flakeref, res) { + split(flakeref, arr, ":"); + type = arr[1]; + tmp = arr[2]; + split(tmp, arr, "?"); + tmp = arr[1]; + n = split(tmp, arr, "/"); + commit = arr[n]; + repo = arr[1] + for (i = 2; i < n; i++) { + repo = repo "/" arr[i]; + } + + res["type"] = type; + res["commit"] = commit; + res["repo"] = repo; +} + +function short (sha) { + return substr(sha, 1, 8); +} + +# Show the raw output in a foldable section +BEGIN { + print "
Raw output

"; + print ""; + print "```"; +} + +# Print all lines anyway +{ print } + +# This is a "Updated input 'x'" ine +$3 ~ /input/ { + input = unquote($4); + operations[input] = $2; + next; +} + +# This is a "'type:foo/bar/1234' (2021-01-01)" line +$2 ~ /\(.*\)/ { + input_from[input] = unquote($1) + input_from_date[input] = substr($2, 2, 10); + next; +} + +# This is a "→ 'type:foo/bar/1234' (2021-01-01)" line +$3 ~ /\(.*\)/ { + input_to[input] = unquote($2) + input_to_date[input] = substr($3, 2, 10); + next; +} + +END { + print "```"; + print ""; + print "

"; + print ""; + + # Once we gathered the information we needed, we can show it properly + for (input in operations) { + operation = operations[input]; + details = ""; + link = ""; + + # For "updated" inputs, we have two flake refs + if (operation == "Updated") { + from = input_from[input]; + to = input_to[input]; + from_date = input_from_date[input] + to_date = input_to_date[input] + parse_flakeref(from, parsed_from); + parse_flakeref(to, parsed_to); + type = parsed_to["type"]; + repo = parsed_to["repo"]; + from_commit = parsed_from["commit"]; + to_commit = parsed_to["commit"]; + + compare = sprintf("`%s` ➡️ `%s`", short(from_commit), short(to_commit)); + # Render the details according to the ref type + if (type == "github") { + compare = sprintf("[%s](https://github.com/%s/compare/%s...%s)", compare, repo, from_commit, to_commit); + link = sprintf("https://github.com/%s", repo); + } else if (type == "gitlab") { + compare = sprintf("[%s](https://gitlab.com/%s/-/compare/%s...%s)", compare, repo, from_commit, to_commit); + link = sprintf("https://gitlab.com/%s", repo); + } + + details = sprintf("%s (%s to %s)", compare, from_date, to_date); + # For "added" inputs, we have one flake ref + } else if (operation == "Added") { + ref = input_from[input]; + parse_flakeref(ref, parsed_ref); + type = parsed_ref["type"]; + repo = parsed_ref["repo"]; + commit = parsed_ref["commit"]; + + # Render the details according to the ref type + if (type == "github") { + details = sprintf("[github.com/%s](https://github.com/%s/tree/%s/)", repo, repo, commit); + link = sprintf("https://github.com/%s", repo); + } else if (type == "gitlab") { + details = sprintf("[gitlab.com/%s](https://gitlab.com/%s/-/tree/%s/)", repo, repo, commit); + link = sprintf("https://gitlab.com/%s", repo); + } else { + details = sprintf("`%s`", ref); + } + } + + if (link) { + input_txt = sprintf("[`%s`](%s)", input, link); + } else { + input_txt = sprintf("`%s`", input); + } + + if (details) { + printf(" - %s input %s: %s\n", operation, input_txt, details); + } else { + printf(" - %s input %s.\n", operation, input_txt); + } + } +} diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml index cbf0d3eb..6948e13e 100644 --- a/.github/workflows/update.yaml +++ b/.github/workflows/update.yaml @@ -21,7 +21,7 @@ jobs: - uses: cachix/install-nix-action@v16 with: - install_url: https://releases.nixos.org/nix/nix-2.4/install + install_url: https://releases.nixos.org/nix/nix-2.6.1/install extra_nix_config: | experimental-features = nix-command flakes access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} @@ -32,21 +32,22 @@ jobs: git config user.email 'noreply@github.com' - name: Update lock file - run: nix flake update --no-registries --commit-lock-file + run: nix flake update --no-use-registries --commit-lock-file - name: Get commit message id: commit run: | - message="$(git log -1 --pretty=%B | tail +3 | awk -f ./misc/flake-to-markdown.awk)" + message="$(git log -1 --pretty=%B | tail +3 | awk -f ./.github/flake-to-md.awk)" message="${message//'%'/'%25'}" message="${message//$'\n'/'%0A'}" message="${message//$'\r'/'%0D'}" echo "::set-output name=message::$message" - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.14.0 + uses: peter-evans/create-pull-request@v4 with: token: "${{ steps.generate-token.outputs.token }}" title: "Automated Flake update" body: "${{ steps.commit.outputs.message }}" - delete-branch: truec + delete-branch: true + assignees: thexyno From 9c5e18b863b29f9f41bb86911c724ce1f9838bcd Mon Sep 17 00:00:00 2001 From: GitHub Ations Date: Mon, 28 Mar 2022 17:11:21 +0000 Subject: [PATCH 040/525] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'agenix': 'github:ryantm/agenix/297cd58b418249240b9f1f155d52b1b17f292884' (2022-03-01) → 'github:ryantm/agenix/764c975e74bce2f89a5106b68ec48e2b586f893c' (2022-03-09) • Updated input 'coc-nvim': 'github:neoclide/coc.nvim/f1a027298cb58b8ddf12ff1193b9e2706b4909a2' (2022-02-27) → 'github:neoclide/coc.nvim/16e74f9b31d20b8dfc8933132beed4c175d824ea' (2022-03-26) • Updated input 'darwin': 'github:lnl7/nix-darwin/1df878b6f8351795a3bebfbe4fd2d02e1e8b29d6' (2022-02-19) → 'github:lnl7/nix-darwin/4fdbb8168f61d31d3f90bb0d07f48de709c4fe79' (2022-03-26) • Updated input 'home-manager': 'github:nix-community/home-manager/ea85f4b1fdf3f25cf97dc49f4a9ec4eafda2ea25' (2022-02-27) → 'github:nix-community/home-manager/888eac32bd657bfe0d024c8770130d80d1c02cd3' (2022-03-27) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/359449438c8c6e435cf0d4bc16a79433bca46c8a' (2022-03-01) → 'github:nix-community/neovim-nightly-overlay/400d52d370fb9482f426f0c64f60b798cae9b8e0' (2022-03-28) • Updated input 'neovim-nightly-overlay/flake-compat': 'github:edolstra/flake-compat/b7547d3eed6f32d06102ead8991ec52ab0a4f1a7' (2022-01-03) → 'github:edolstra/flake-compat/64a525ee38886ab9028e6f61790de0832aa3ef03' (2022-03-25) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb?dir=contrib' (2022-03-01) → 'github:neovim/neovim/79dcd045d3623ff71903e2806be489bd5fe3200d?dir=contrib' (2022-03-27) • Updated input 'neovim-nightly-overlay/neovim-flake/flake-utils': 'github:numtide/flake-utils/997f7efcb746a9c140ce1f13c72263189225f482' (2021-08-20) → 'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/c3c66f6db4ac74a59eb83d83e40c10046ebc0b8c' (2022-02-26) → 'github:NixOS/nixos-hardware/feceb4d24f582817d8f6e737cd40af9e162dee05' (2022-03-24) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/7f9b6e2babf232412682c09e57ed666d8f84ac2d' (2022-02-21) → 'github:NixOS/nixpkgs/ce8cbe3c01fd8ee2de526ccd84bbf9b82397a510' (2022-03-27) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/bc52b6406e1eefd9fa35cd88ab1a36916a84b389' (2022-03-01) → 'github:NixOS/nixpkgs/80d8655c15055472f0118a877351085cc22c1e92' (2022-03-28) • Updated input 'pandoc-latex-template': 'github:Wandmalfarbe/pandoc-latex-template/30cfc57a0c64fad1202aa1422e2ed3a77535bf02' (2021-12-19) → 'github:Wandmalfarbe/pandoc-latex-template/04e329698d01c3a25aa72ad81d98483284669316' (2022-03-04) • Updated input 'rnix-lsp': 'github:nix-community/rnix-lsp/41eb2f3366e3f351bf2563c2a7c46fd17e78dfe0' (2022-01-30) → 'github:nix-community/rnix-lsp/4d1024ccfe1bc569811769d1ef52a2fc6c1d482d' (2022-03-14) • Updated input 'utils': 'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07) → 'github:numtide/flake-utils/0f8662f1319ad6abf89b3380dd2722369fc51ade' (2022-03-26) • Updated input 'zsh-completions': 'github:zsh-users/zsh-completions/6fbf5fc9a7033bc47d4c61b2d6b97fe0c74d9c45' (2022-02-24) → 'github:zsh-users/zsh-completions/55d07cc57750eb90f8b02be3ddf42c206ecf17b1' (2022-03-04) --- flake.lock | 90 +++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/flake.lock b/flake.lock index 5eec1e33..57107feb 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1646105662, - "narHash": "sha256-jdXCZbGZL0SWWi29GnAOFHUh/QvvP0IyaVLv1ZTDkBI=", + "lastModified": 1646845404, + "narHash": "sha256-JENXFCI2HVqi0whBzt7MAW9PX3ziEaYqBhMux+4g+VM=", "owner": "ryantm", "repo": "agenix", - "rev": "297cd58b418249240b9f1f155d52b1b17f292884", + "rev": "764c975e74bce2f89a5106b68ec48e2b586f893c", "type": "github" }, "original": { @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1646003439, - "narHash": "sha256-9YYILWjYyEaNJPePkqEhBGlTPZ79zFb/p94TPlbq3pQ=", + "lastModified": 1648328418, + "narHash": "sha256-mf8V8O2uTb6ZT+Oyu2bvi/GDEULQPfAyDuO7EwqqLls=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "f1a027298cb58b8ddf12ff1193b9e2706b4909a2", + "rev": "16e74f9b31d20b8dfc8933132beed4c175d824ea", "type": "github" }, "original": { @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1645293039, - "narHash": "sha256-PwdDu+SkX8dreeuJ/4av1sEluNZdrpdXv8JsRKKg1Yc=", + "lastModified": 1648278671, + "narHash": "sha256-1WrR9ex+rKTjZtODNUZQhkWYUprtfOkjOyo9YWL2NMs=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "1df878b6f8351795a3bebfbe4fd2d02e1e8b29d6", + "rev": "4fdbb8168f61d31d3f90bb0d07f48de709c4fe79", "type": "github" }, "original": { @@ -95,11 +95,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1641205782, - "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", + "lastModified": 1648199409, + "narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", + "rev": "64a525ee38886ab9028e6f61790de0832aa3ef03", "type": "github" }, "original": { @@ -110,11 +110,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1629481132, - "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "owner": "numtide", "repo": "flake-utils", - "rev": "997f7efcb746a9c140ce1f13c72263189225f482", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1645970334, - "narHash": "sha256-6nn4YF9bPtkxkB7bM6yJO3m//p3sGilxNQFjm1epLEM=", + "lastModified": 1648366999, + "narHash": "sha256-Sdm0lI2ZBc70EnMMmvfDVY7gIM3M4c2L86EdQ9tKRE4=", "owner": "nix-community", "repo": "home-manager", - "rev": "ea85f4b1fdf3f25cf97dc49f4a9ec4eafda2ea25", + "rev": "888eac32bd657bfe0d024c8770130d80d1c02cd3", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1646122061, - "narHash": "sha256-VD+GkXqZ/n0l2pKdol7Pg6/s0QiJfWG18tBLroodRO0=", + "lastModified": 1648420800, + "narHash": "sha256-v94uORfC8q9CGwCwM4UZCo5f8F0cvMyvhMvpPY8wH6U=", "owner": "neovim", "repo": "neovim", - "rev": "37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb", + "rev": "79dcd045d3623ff71903e2806be489bd5fe3200d", "type": "github" }, "original": { @@ -212,11 +212,11 @@ ] }, "locked": { - "lastModified": 1646122501, - "narHash": "sha256-nszY7wfiAi/U8BRbIiEiAH7ycaWPLbzUd32Jzm60leM=", + "lastModified": 1648455466, + "narHash": "sha256-05K7zu1MUMNkDOiserTayFjQqKoXyWKmZ0IZSmTkNDU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "359449438c8c6e435cf0d4bc16a79433bca46c8a", + "rev": "400d52d370fb9482f426f0c64f60b798cae9b8e0", "type": "github" }, "original": { @@ -227,11 +227,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1645855197, - "narHash": "sha256-0FvBpX/9n69vg+XgcMow0RIRYbTHav1uCbL9Xt9HvcA=", + "lastModified": 1648141026, + "narHash": "sha256-h8e3+5EZFbYHTMb0DN2ACuQTJBNHpqigvmEV1w2WIuE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "c3c66f6db4ac74a59eb83d83e40c10046ebc0b8c", + "rev": "feceb4d24f582817d8f6e737cd40af9e162dee05", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1645433236, - "narHash": "sha256-4va4MvJ076XyPp5h8sm5eMQvCrJ6yZAbBmyw95dGyw4=", + "lastModified": 1648390671, + "narHash": "sha256-u69opCeHUx3CsdIerD0wVSR+DjfDQjnztObqfk9Trqc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7f9b6e2babf232412682c09e57ed666d8f84ac2d", + "rev": "ce8cbe3c01fd8ee2de526ccd84bbf9b82397a510", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1646175689, - "narHash": "sha256-2iqYd0KBc5n9J5vTx7QbB2XxZnJEnIIED0khKdvKI8o=", + "lastModified": 1648485433, + "narHash": "sha256-M/4PhPfjkWpx54MT+wR4n/eN0OuSlcDV2TxeOGNGWJE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bc52b6406e1eefd9fa35cd88ab1a36916a84b389", + "rev": "80d8655c15055472f0118a877351085cc22c1e92", "type": "github" }, "original": { @@ -292,11 +292,11 @@ "pandoc-latex-template": { "flake": false, "locked": { - "lastModified": 1639934947, - "narHash": "sha256-AXVwBC/dZ7H9naXlvKfHoJFvG1x7G3MMAtdSRwKf+n4=", + "lastModified": 1646421316, + "narHash": "sha256-Y/dXCm/JSj7VeB7WL+JwYLnmvwZtyF7zaKBqoGW12aw=", "owner": "Wandmalfarbe", "repo": "pandoc-latex-template", - "rev": "30cfc57a0c64fad1202aa1422e2ed3a77535bf02", + "rev": "04e329698d01c3a25aa72ad81d98483284669316", "type": "github" }, "original": { @@ -314,11 +314,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1643586450, - "narHash": "sha256-BRIAc3+zavSlJPYSbov2n1W9/a4Iuh2swFPYRWjCm1g=", + "lastModified": 1647240246, + "narHash": "sha256-/MLdBWfFUN1C1eNVBYfaVAIcDiZKXpWEbzBC2pqVXj0=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "41eb2f3366e3f351bf2563c2a7c46fd17e78dfe0", + "rev": "4d1024ccfe1bc569811769d1ef52a2fc6c1d482d", "type": "github" }, "original": { @@ -366,11 +366,11 @@ }, "utils_2": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1648297722, + "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", "type": "github" }, "original": { @@ -382,11 +382,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1645684485, - "narHash": "sha256-4ny89Dlop6ZekKGcMHTSu9ltR2FP1Ymb8rhDS1cc1+M=", + "lastModified": 1646355992, + "narHash": "sha256-Rp4yXJoAGUq6GfcvOMCKWzxRMjLMBfmTBJkfVsq8P1w=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "6fbf5fc9a7033bc47d4c61b2d6b97fe0c74d9c45", + "rev": "55d07cc57750eb90f8b02be3ddf42c206ecf17b1", "type": "github" }, "original": { From dae6c80c4052824ded95c6d03127ecfb70bbb968 Mon Sep 17 00:00:00 2001 From: GitHub Ations Date: Mon, 11 Apr 2022 18:29:01 +0000 Subject: [PATCH 041/525] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'agenix': 'github:ryantm/agenix/764c975e74bce2f89a5106b68ec48e2b586f893c' (2022-03-09) → 'github:ryantm/agenix/0d5e59ed645e4c7b60174bc6f6aac6a203dc0b01' (2022-04-02) • Updated input 'coc-nvim': 'github:neoclide/coc.nvim/16e74f9b31d20b8dfc8933132beed4c175d824ea' (2022-03-26) → 'github:neoclide/coc.nvim/ac40a80aaf261cdce2537529b0bc2396a426636b' (2022-04-10) • Updated input 'home-manager': 'github:nix-community/home-manager/888eac32bd657bfe0d024c8770130d80d1c02cd3' (2022-03-27) → 'github:nix-community/home-manager/e39a9d0103e3b2e42059c986a8c633824b96c193' (2022-04-11) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/400d52d370fb9482f426f0c64f60b798cae9b8e0' (2022-03-28) → 'github:nix-community/neovim-nightly-overlay/43585324d016cb89ba29490bdc2bc68d54a5b172' (2022-04-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/79dcd045d3623ff71903e2806be489bd5fe3200d?dir=contrib' (2022-03-27) → 'github:neovim/neovim/8f95f3ea0612d1887f68c9663ee6bc831168a04e?dir=contrib' (2022-04-11) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/feceb4d24f582817d8f6e737cd40af9e162dee05' (2022-03-24) → 'github:NixOS/nixos-hardware/f4160a629bac3538939a3005c8b5c7fb320bcf59' (2022-04-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ce8cbe3c01fd8ee2de526ccd84bbf9b82397a510' (2022-03-27) → 'github:NixOS/nixpkgs/fd364d268852561223a5ada15caad669fd72800e' (2022-04-09) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/80d8655c15055472f0118a877351085cc22c1e92' (2022-03-28) → 'github:NixOS/nixpkgs/e4cf7af6a9c35b046a32b2ef79ae5556030652c3' (2022-04-11) • Updated input 'utils': 'github:numtide/flake-utils/0f8662f1319ad6abf89b3380dd2722369fc51ade' (2022-03-26) → 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11) • Updated input 'zsh-completions': 'github:zsh-users/zsh-completions/55d07cc57750eb90f8b02be3ddf42c206ecf17b1' (2022-03-04) → 'github:zsh-users/zsh-completions/3d394ebaa14f50a8498ab29b3a3d07cb82dee1e5' (2022-04-11) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 57107feb..042751ac 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1646845404, - "narHash": "sha256-JENXFCI2HVqi0whBzt7MAW9PX3ziEaYqBhMux+4g+VM=", + "lastModified": 1648942457, + "narHash": "sha256-i29Z1t3sVfCNfpp+KAfeExvpqHQSbLO1KWylTtfradU=", "owner": "ryantm", "repo": "agenix", - "rev": "764c975e74bce2f89a5106b68ec48e2b586f893c", + "rev": "0d5e59ed645e4c7b60174bc6f6aac6a203dc0b01", "type": "github" }, "original": { @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1648328418, - "narHash": "sha256-mf8V8O2uTb6ZT+Oyu2bvi/GDEULQPfAyDuO7EwqqLls=", + "lastModified": 1649612171, + "narHash": "sha256-GOcEYkqhNXWiQF3jmtCeBcQmnMneMnGPi16l4NNCex8=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "16e74f9b31d20b8dfc8933132beed4c175d824ea", + "rev": "ac40a80aaf261cdce2537529b0bc2396a426636b", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1648366999, - "narHash": "sha256-Sdm0lI2ZBc70EnMMmvfDVY7gIM3M4c2L86EdQ9tKRE4=", + "lastModified": 1649642044, + "narHash": "sha256-V9ZjTJcbDPgWG+H3rIC6XuPHZAPK1VupBbSsuDbptkQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "888eac32bd657bfe0d024c8770130d80d1c02cd3", + "rev": "e39a9d0103e3b2e42059c986a8c633824b96c193", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1648420800, - "narHash": "sha256-v94uORfC8q9CGwCwM4UZCo5f8F0cvMyvhMvpPY8wH6U=", + "lastModified": 1649659286, + "narHash": "sha256-xzjnBbJBOXl1MlUeOAHuqycXa8xj34+vxJQlIoj28SQ=", "owner": "neovim", "repo": "neovim", - "rev": "79dcd045d3623ff71903e2806be489bd5fe3200d", + "rev": "8f95f3ea0612d1887f68c9663ee6bc831168a04e", "type": "github" }, "original": { @@ -212,11 +212,11 @@ ] }, "locked": { - "lastModified": 1648455466, - "narHash": "sha256-05K7zu1MUMNkDOiserTayFjQqKoXyWKmZ0IZSmTkNDU=", + "lastModified": 1649665248, + "narHash": "sha256-RQFYpywRi5SFBvhMWlJB8A77fUOUvoDaZtJlu9cFqEo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "400d52d370fb9482f426f0c64f60b798cae9b8e0", + "rev": "43585324d016cb89ba29490bdc2bc68d54a5b172", "type": "github" }, "original": { @@ -227,11 +227,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1648141026, - "narHash": "sha256-h8e3+5EZFbYHTMb0DN2ACuQTJBNHpqigvmEV1w2WIuE=", + "lastModified": 1649660850, + "narHash": "sha256-x8ZE4B+EuA9dCEJKNzT59yQjzotVMnGYU5GMoqMLk3A=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "feceb4d24f582817d8f6e737cd40af9e162dee05", + "rev": "f4160a629bac3538939a3005c8b5c7fb320bcf59", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1648390671, - "narHash": "sha256-u69opCeHUx3CsdIerD0wVSR+DjfDQjnztObqfk9Trqc=", + "lastModified": 1649497218, + "narHash": "sha256-groqC9m1P4hpnL6jQvZ3C8NEtduhdkvwGT0+0LUrcYw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce8cbe3c01fd8ee2de526ccd84bbf9b82397a510", + "rev": "fd364d268852561223a5ada15caad669fd72800e", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1648485433, - "narHash": "sha256-M/4PhPfjkWpx54MT+wR4n/eN0OuSlcDV2TxeOGNGWJE=", + "lastModified": 1649698874, + "narHash": "sha256-kTCkAfpsQ+JJI9mIg8fxZ6xsOBcY+mRrP3E/1wr5V/0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "80d8655c15055472f0118a877351085cc22c1e92", + "rev": "e4cf7af6a9c35b046a32b2ef79ae5556030652c3", "type": "github" }, "original": { @@ -366,11 +366,11 @@ }, "utils_2": { "locked": { - "lastModified": 1648297722, - "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", + "lastModified": 1649676176, + "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", "owner": "numtide", "repo": "flake-utils", - "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", + "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", "type": "github" }, "original": { @@ -382,11 +382,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1646355992, - "narHash": "sha256-Rp4yXJoAGUq6GfcvOMCKWzxRMjLMBfmTBJkfVsq8P1w=", + "lastModified": 1649639155, + "narHash": "sha256-RHS4+NDlL5O1U76HTuqqbgcLOsLE/KPvcEJrIcxPvjE=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "55d07cc57750eb90f8b02be3ddf42c206ecf17b1", + "rev": "3d394ebaa14f50a8498ab29b3a3d07cb82dee1e5", "type": "github" }, "original": { From d2748133d501be0e7f3c80799c4408e079bd33b3 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 12 Apr 2022 01:31:27 +0200 Subject: [PATCH 042/525] fix: nosrebuild script --- packages/scripts/nosrebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild index 80c00968..dbc77786 100755 --- a/packages/scripts/nosrebuild +++ b/packages/scripts/nosrebuild @@ -2,7 +2,7 @@ set -euo pipefail -REV=$(curl https://api.github.com/repos/ragon000/nixos-config/branches/main | jq -r .commit.sha) +REV=$(curl https://api.github.com/repos/thexyno/nixos-config/branches/main | jq -r .commit.sha) if [[ $(uname) == "Linux" ]]; then sudo nixos-rebuild switch --flake "github:ragon000/nixos-config?rev=$REV" From 5a8184351ac5de578be6a0afdaa84353e17f45d9 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 12 Apr 2022 01:45:48 +0200 Subject: [PATCH 043/525] chore: add readme --- .github/workflows/update.yaml | 2 +- README.md | 4 ++++ lefthook.yml | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 README.md create mode 100644 lefthook.yml diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml index 6948e13e..ce115d56 100644 --- a/.github/workflows/update.yaml +++ b/.github/workflows/update.yaml @@ -2,7 +2,7 @@ name: "Update lock file" on: schedule: - - cron: "0 */6 * * *" + - cron: "0 6 * * *" workflow_dispatch: jobs: tests: diff --git a/README.md b/README.md new file mode 100644 index 00000000..ba2af1a4 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# my nixos/nix-darwin configs + + +### 2022-04-12 repository layout was changed completely, the old layout is in https://github.com/thexyno/nixos-config/tree/oldmain diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 00000000..8a43e404 --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,6 @@ +pre-commit: + parallel: false + commands: + 01_nixfmt: + glob: "*.nix" + run: nixpkgs-fmt {staged_files} && git add {staged_files} From 5125947e032cbec89e5f37e0b22445c7ff1c34bf Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 12 Apr 2022 02:03:51 +0200 Subject: [PATCH 044/525] fix: journal getting to big --- nixos-common.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/nixos-common.nix b/nixos-common.nix index 2dcb2871..c7cfb9b0 100644 --- a/nixos-common.nix +++ b/nixos-common.nix @@ -12,6 +12,10 @@ in users.users.root.openssh.authorizedKeys.keys = pubkeys.ragon.user; + services.journald.extraConfig = '' + SystemMaxUse=512M + ''; + # Select internationalisation properties. i18n = { defaultLocale = "en_DK.UTF-8"; @@ -31,11 +35,11 @@ in trusted-users = mkDefault [ "root" "@wheel" ]; allowed-users = mkDefault [ "root" "@wheel" ]; substituters = [ - "https://nix-community.cachix.org" - ]; - trusted-public-keys = [ - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - ]; + "https://nix-community.cachix.org" + ]; + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; auto-optimise-store = true; }; From dfe93051175543a4e8f08e8aea50eea43c380249 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 12 Apr 2022 02:07:20 +0200 Subject: [PATCH 045/525] fix: picard --- hosts/picard/default.nix | 1 - hosts/picard/hardware-configuration.nix | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 6e6f0dbc..3437e5ee 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -42,7 +42,6 @@ ragon = { cli.enable = true; user.enable = true; - home-manager.enable = true; persist.enable = true; persist.extraDirectories = [ "/var/lib/syncthing" ]; diff --git a/hosts/picard/hardware-configuration.nix b/hosts/picard/hardware-configuration.nix index 6d323663..3c77a4e5 100644 --- a/hosts/picard/hardware-configuration.nix +++ b/hosts/picard/hardware-configuration.nix @@ -2,7 +2,9 @@ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, modulesPath, ... }: - +let + pubkeys = import ../../data/pubkeys.nix; +in { imports = [ "${modulesPath}/profiles/qemu-guest.nix" ]; boot.zfs.requestEncryptionCredentials = true; @@ -30,7 +32,7 @@ "/persistent/etc/nixos/secrets/initrd/ssh_host_rsa_key" "/persistent/etc/nixos/secrets/initrd/ssh_host_ed25519_key" ]; - authorizedKeys = pkgs.pubkeys.ragon.user; + authorizedKeys = pubkeys.ragon.user; }; From b530960d553d19c3b96d32dfa496dd06cbf03c88 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 12 Apr 2022 02:11:58 +0200 Subject: [PATCH 046/525] fix synapse --- hosts/picard/default.nix | 3 +++ nixos-modules/services/synapse.nix | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 3437e5ee..a5a1ab7a 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -11,6 +11,9 @@ ./hardware-configuration.nix ]; + documentation.enable = false; + documentation.nixos.enable = false; + documentation.man.enable = false; boot.loader.grub.enable = true; boot.loader.grub.version = 2; boot.loader.grub.device = "/dev/sda"; diff --git a/nixos-modules/services/synapse.nix b/nixos-modules/services/synapse.nix index 04f1937a..e654e64b 100644 --- a/nixos-modules/services/synapse.nix +++ b/nixos-modules/services/synapse.nix @@ -28,11 +28,11 @@ in config = lib.mkIf cfg.enable { services.matrix-synapse = { enable = true; - server_name = serverName; - listeners = [ + settings.server_name = serverName; + settings.listeners = [ { port = 8008; - bind_address = "::1"; + bind_addresses = [ "::1" ]; type = "http"; tls = false; x_forwarded = true; @@ -69,7 +69,6 @@ in "server_name" = "${domain}"; }; default_theme = "dark"; - jitsi.preferredDomain = "${config.ragon.services.jitsi.domainPrefix}.${domain}"; }; # TODO make this less shit }; }; From 2601467bee5beca838cab981d1a27bfb96af5ed3 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 12 Apr 2022 03:59:35 +0200 Subject: [PATCH 047/525] fix: bitwarden persistence --- hosts/ds9/default.nix | 10 +++++++++- nixos-modules/services/bitwarden.nix | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index a708d66a..b03b5aea 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -3,7 +3,7 @@ # and in the NixOS manual (accessible by running ‘nixos-help’). { config, inputs, pkgs, lib, ... }: -let +let pubkeys = import ../../data/pubkeys.nix; in { @@ -24,6 +24,14 @@ in networking.bridges."br0".interfaces = [ ]; networking.hostId = "7b4c2932"; boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv7l-linux" ]; + services.nginx.virtualHosts."h.hailsatan.eu" = { + useACMEHost = "hailsatan.eu"; + addSSL = true; + locations = { + "/".proxyPass = "http://192.168.122.76:8123"; + "/".proxyWebsockets = true; + }; + }; boot.initrd.network = { enable = true; postCommands = '' diff --git a/nixos-modules/services/bitwarden.nix b/nixos-modules/services/bitwarden.nix index 7c473864..09d5c7b0 100644 --- a/nixos-modules/services/bitwarden.nix +++ b/nixos-modules/services/bitwarden.nix @@ -13,7 +13,7 @@ in config = lib.mkIf cfg.enable { services.vaultwarden = { enable = true; - # backupDir = "/backups/vaultwarden"; + #backupDir = "/persistent/backups/vaultwarden"; config = { domain = "https://${cfg.domainPrefix}.${domain}"; signupsAllowed = false; @@ -43,7 +43,7 @@ in ]; }; ragon.persist.extraDirectories = [ - "/var/lib/vaultwarden" + "/var/lib/bitwarden_rs" ]; }; } From 73e31ca37cd6339b697c7ce395274c0e65739dd1 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 13 Apr 2022 08:39:53 +0200 Subject: [PATCH 048/525] feat: picard to ds9 backups --- hosts/ds9/default.nix | 31 ++++++++++--------------------- hosts/picard/default.nix | 21 +++++++++++++++++++++ secrets/picardResticPassword.age | 13 +++++++++++++ secrets/picardResticSSHKey.age | Bin 0 -> 957 bytes secrets/secrets.nix | 4 ++-- 5 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 secrets/picardResticPassword.age create mode 100644 secrets/picardResticSSHKey.age diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index b03b5aea..4f4ab21c 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -51,27 +51,16 @@ in }; - # services.restic.backups."ds9" = { - # rcloneConfigFile = "/run/secrets/ds9rcloneConfig"; - # passwordFile = "/run/secrets/ds9resticPassword"; - # pruneOpts = [ - # "--keep-daily 7" - # "--keep-weekly 5" - # "--keep-monthly 12" - # "--keep-yearly 75" - # ]; - # initialize = true; - # repository = "rclone:ds9:/ds9"; - # paths = [ - # "/data" - # "/persistent/var/lib" - # ]; - - # }; - - ragon.agenix.secrets."ds9rcloneConfig" = { }; - ragon.agenix.secrets."ds9resticPassword" = { }; - + # Backup Target + users.users.picardbackup = { + createHome = true; + group = "users"; + home = "/backups/picard"; + isSystemUser = true; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvCF8KGgpF9O8Q7k+JXqZ5eMeEeTaMhCIk/2ZFOzXL0" + ]; + }; # Enable Scanning hardware.sane.enable = true; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index a5a1ab7a..936ece5a 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -41,6 +41,27 @@ users.mutableUsers = false; services.postgresql.package = pkgs.postgresql_13; + ragon.agenix.secrets."picardResticPassword" = { }; + ragon.agenix.secrets."picardResticSSHKey" = { }; + + services.restic.backups."picard" = { + passwordFile = config.age.secrets.picardResticPassword.path; + extraOptions = [ + "sftp.command='ssh picardbackup@ds9 -i ${config.age.secrets.picardResticSSHKey.path} -s sftp'" + ]; + pruneOpts = [ + "--keep-daily 7" + "--keep-weekly 5" + "--keep-monthly 12" + "--keep-yearly 75" + ]; + initialize = true; + repository = "sftp:ds9:/backups/picard/restic"; + paths = [ + "/persistent" + ]; + + }; ragon = { cli.enable = true; diff --git a/secrets/picardResticPassword.age b/secrets/picardResticPassword.age new file mode 100644 index 00000000..78c9b230 --- /dev/null +++ b/secrets/picardResticPassword.age @@ -0,0 +1,13 @@ +age-encryption.org/v1 +-> ssh-ed25519 WceKOQ k2R5Jitq8cEQPR6XFnucyYE3BDlBTnXeXakig5Rb6CQ +aXWMcZDMsC4UqpgkUywkOuHGTb5aeTHvpKNjxEUfTDo +-> ssh-ed25519 ugHWWw 0CCoHYRYlYq5wFt8R26y5pSfSqTQzcR4jzdWl2E12TQ +6qjep1dn6B5DA2lcMZXItnAzxE2eHY/XSJYVyDGRwW4 +-> ssh-ed25519 UU9RSA CMo9lkcazC9TXypP/o/majaFp0UP++XAbh65TYvEiDo +GD1/sNmjRM2+9RpPbCMoMU9Q0JQb2jsjji1Yt0+LR9w +-> +!c:-grease zi]- eO\* +nKAD5+pPHB3K+HtpEHA+bDBG/P9ec6pb +--- 5x5Rpg23SqXQK/sSiUNEZ0tdXF+GxgBSTWVSbIOmmNw +IXnTBth|XwmӺS=SrMC萊{M…^HaWi +;} +,:t=rC||h$ \ No newline at end of file diff --git a/secrets/picardResticSSHKey.age b/secrets/picardResticSSHKey.age new file mode 100644 index 0000000000000000000000000000000000000000..0dd651f57e0c7d683a76446f397003afa4b866d4 GIT binary patch literal 957 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+Pfqpr4^%J+Hz@H) z&x%UR3-)p^EOs_>tum}kEi(#tcdpFT&UMVqadbEE^>M1KbmdC*D0E3n&MWp049hoh zOwD%8OENXi&M6FWib~4~D~}9wG|S2?HYiOo4n()DG~FXSyj&rqDks~~&%4~iDas?u zt0+I$B*QGSMBk*MD!|gxvE0KT*EGP@KP|B+!h*}tConU`Ff}72qc}ULxV*9=G|9Ls zA~n-9u_7nWImaWlsNCDdGQ29x-4Wfk&``^uU`K_tJc}}K{Qzg9GS?y(_lS(Nw2<^L zXU`&S$JB~qe?Rk7ON*$|%oNiiLkq4l|3I%O|9~>@!XTrhk}z|Focs!d%)Cs;^u#EC z!_Y7n#|mT1RQ-%xL$KchR1{rw(~D9Qi&GW6xSTWdDt&XxEkg_{jgx%!-9svjgEB(` zf_&V3a}Cl=jZ%EGvyviAO^pp*{Ywf8(*vp;ouV>K91{zZeH?w=%ecxa!b9D2Lp}W* zO$;5qd<`;+JhcO(%AN8ejZ*X@47hZ4brrlks={0XW*4Cb`^E zrtJgB}besx6N&CC5#HY&f;YQEWg*gJoAv4rXm z`F_QO72yw8Cf^ZTvh4G;Cs{_}XE$?gkFZ<*aeLXDT+XTcOU1p44AU8XRWo^l?H&~d zKeK$Aa7H+4_41&mwT0Qw>?3FUJhDzb`dP~}P2px(!ZnKYU&5I zMYeacAHML~!mwI*eXZEih3h!ZN6ky&UKbo-?LZFYr#E zBapPt-%aP?{<3ou(;9v38vm?6suNj#eT|TmNYIMK_ifttM;x70v*k_Ji7D0Fe{i?N zYR`1j@>wCt^rhqIvBrw<@=MJ-+qGlL4+pPT3yU>4D!5n6Wwm!Xd+?(Rbt}~!mA3kt VpY_`Ky6ES=2e-0>*p!VQ007lEeq8_n literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 225aa993..d1dccb62 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -10,8 +10,6 @@ in "ragonPasswd.age".publicKeys = pubkeys.ragon.computers; "tailscaleKey.age".publicKeys = pubkeys.ragon.computers; "paperlessAdminPW.age".publicKeys = pubkeys.ragon.host "ds9"; - "ds9rcloneConfig.age".publicKeys = pubkeys.ragon.host "ds9"; - "ds9resticPassword.age".publicKeys = pubkeys.ragon.host "ds9"; "hedgedocSecret.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabInitialRootPassword.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabSecretFile.age".publicKeys = pubkeys.ragon.host "picard"; @@ -19,4 +17,6 @@ in "gitlabOTPFile.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabJWSFile.age".publicKeys = pubkeys.ragon.host "picard"; "nextcloudAdminPass.age".publicKeys = pubkeys.ragon.host "picard"; + "picardResticSSHKey.age".publicKeys = pubkeys.ragon.host "picard"; + "picardResticPassword.age".publicKeys = pubkeys.ragon.host "picard"; } From c1810695447d7ad137b413990ebc4fff80afa881 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 13 Apr 2022 14:40:30 +0200 Subject: [PATCH 049/525] allow sftp --- hosts/ds9/default.nix | 10 +++++++++- hosts/picard/default.nix | 2 +- nixos-modules/system/security.nix | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 4f4ab21c..3baade31 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -51,11 +51,19 @@ in }; + services.openssh.sftpServerExecutable = "internal-sftp"; + services.openssh.extraConfig = '' + Match User picardbackup + ChrootDirectory ${config.users.users.picardbackup.home} + ForceCommand internal-sftp + AllowTcpForwarding no + ''; + # Backup Target users.users.picardbackup = { createHome = true; group = "users"; - home = "/backups/picard"; + home = "/backups/restic/picard"; isSystemUser = true; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvCF8KGgpF9O8Q7k+JXqZ5eMeEeTaMhCIk/2ZFOzXL0" diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 936ece5a..a2adeeef 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -56,7 +56,7 @@ "--keep-yearly 75" ]; initialize = true; - repository = "sftp:ds9:/backups/picard/restic"; + repository = "sftp:picardbackup@ds9:/restic"; paths = [ "/persistent" ]; diff --git a/nixos-modules/system/security.nix b/nixos-modules/system/security.nix index e3f56e89..53fc4c49 100644 --- a/nixos-modules/system/security.nix +++ b/nixos-modules/system/security.nix @@ -12,7 +12,7 @@ in security.sudo.execWheelOnly = true; services.openssh = { passwordAuthentication = false; - allowSFTP = false; # just use rsync, lol + allowSFTP = true; # just use rsync, lol kbdInteractiveAuthentication = false; extraConfig = '' AllowTcpForwarding yes From 9bd983fb9d59fbc7cefd31b27154dcead42fadf2 Mon Sep 17 00:00:00 2001 From: GitHub Ations Date: Thu, 14 Apr 2022 06:26:21 +0000 Subject: [PATCH 050/525] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'coc-nvim': 'github:neoclide/coc.nvim/ac40a80aaf261cdce2537529b0bc2396a426636b' (2022-04-10) → 'github:neoclide/coc.nvim/968e9a25e32e1cdb362a9894a96e038b3c1be0c9' (2022-04-13) • Updated input 'home-manager': 'github:nix-community/home-manager/e39a9d0103e3b2e42059c986a8c633824b96c193' (2022-04-11) → 'github:nix-community/home-manager/92f58b6728e7c631a7ea0ed68cd21bb29a4876ff' (2022-04-13) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/43585324d016cb89ba29490bdc2bc68d54a5b172' (2022-04-11) → 'github:nix-community/neovim-nightly-overlay/12d8c6b785d578379d178d3102a7ccfcf7335f47' (2022-04-13) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8f95f3ea0612d1887f68c9663ee6bc831168a04e?dir=contrib' (2022-04-11) → 'github:neovim/neovim/18152cf6f17fb4fd6dc6194bad33a971fc985b75?dir=contrib' (2022-04-12) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/f4160a629bac3538939a3005c8b5c7fb320bcf59' (2022-04-11) → 'github:NixOS/nixos-hardware/1a0ccdbf4583ed0fce37eea7955e8ef90f840a9f' (2022-04-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/fd364d268852561223a5ada15caad669fd72800e' (2022-04-09) → 'github:NixOS/nixpkgs/ff9efb0724de5ae0f9db9df2debefced7eb1571d' (2022-04-13) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/e4cf7af6a9c35b046a32b2ef79ae5556030652c3' (2022-04-11) → 'github:NixOS/nixpkgs/ce932dbcf14884c7c76888ebf8cf80f789250afd' (2022-04-14) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 042751ac..7e61b2f5 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1649612171, - "narHash": "sha256-GOcEYkqhNXWiQF3jmtCeBcQmnMneMnGPi16l4NNCex8=", + "lastModified": 1649870922, + "narHash": "sha256-P9XnKNb7T+vKiWW88FQc5Pvk+8xHEKkWlzV5G9L6bvs=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "ac40a80aaf261cdce2537529b0bc2396a426636b", + "rev": "968e9a25e32e1cdb362a9894a96e038b3c1be0c9", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1649642044, - "narHash": "sha256-V9ZjTJcbDPgWG+H3rIC6XuPHZAPK1VupBbSsuDbptkQ=", + "lastModified": 1649887921, + "narHash": "sha256-h2LZzn5LLwIFvVFLCdR8+VWluEP3U1I5y+0mDZjFjAk=", "owner": "nix-community", "repo": "home-manager", - "rev": "e39a9d0103e3b2e42059c986a8c633824b96c193", + "rev": "92f58b6728e7c631a7ea0ed68cd21bb29a4876ff", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1649659286, - "narHash": "sha256-xzjnBbJBOXl1MlUeOAHuqycXa8xj34+vxJQlIoj28SQ=", + "lastModified": 1649798963, + "narHash": "sha256-bO271rs7X8n3BH/wfX+EsRuanfrT1AY5M3eg6XcUgvI=", "owner": "neovim", "repo": "neovim", - "rev": "8f95f3ea0612d1887f68c9663ee6bc831168a04e", + "rev": "18152cf6f17fb4fd6dc6194bad33a971fc985b75", "type": "github" }, "original": { @@ -212,11 +212,11 @@ ] }, "locked": { - "lastModified": 1649665248, - "narHash": "sha256-RQFYpywRi5SFBvhMWlJB8A77fUOUvoDaZtJlu9cFqEo=", + "lastModified": 1649837914, + "narHash": "sha256-wSkJqBOVXgqBl6c/8v80Z5cVw8ODN0gt5TB1apdQnI0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "43585324d016cb89ba29490bdc2bc68d54a5b172", + "rev": "12d8c6b785d578379d178d3102a7ccfcf7335f47", "type": "github" }, "original": { @@ -227,11 +227,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1649660850, - "narHash": "sha256-x8ZE4B+EuA9dCEJKNzT59yQjzotVMnGYU5GMoqMLk3A=", + "lastModified": 1649849514, + "narHash": "sha256-zQyTr2UebTKUh1KLyLtevhHsM8umPK1LfQLGUGjRjiQ=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f4160a629bac3538939a3005c8b5c7fb320bcf59", + "rev": "1a0ccdbf4583ed0fce37eea7955e8ef90f840a9f", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1649497218, - "narHash": "sha256-groqC9m1P4hpnL6jQvZ3C8NEtduhdkvwGT0+0LUrcYw=", + "lastModified": 1649809588, + "narHash": "sha256-f6sgDj9A8FXTVyA2zkxA66YX+j6BftxE9VHTeIMhEKE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd364d268852561223a5ada15caad669fd72800e", + "rev": "ff9efb0724de5ae0f9db9df2debefced7eb1571d", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1649698874, - "narHash": "sha256-kTCkAfpsQ+JJI9mIg8fxZ6xsOBcY+mRrP3E/1wr5V/0=", + "lastModified": 1649913345, + "narHash": "sha256-iq4xs54MREQYtPPNRqxsI7gK/C97Bef1lWOceFAQ6EA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4cf7af6a9c35b046a32b2ef79ae5556030652c3", + "rev": "ce932dbcf14884c7c76888ebf8cf80f789250afd", "type": "github" }, "original": { From 3c787359f568bc8f28073b76a793b7e556c4231f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 14 Apr 2022 11:02:02 +0200 Subject: [PATCH 051/525] remove docker from daedalus cause it broken --- hosts/daedalus/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 274e724d..162e299f 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -23,7 +23,6 @@ with lib.my; "homebrew/cask-drivers/zsa-wally" "lens" "logseq" - "docker" "discord" "vlc" "parsec" From a4e6f5e6894267e8600b9b0a311db6550848d37e Mon Sep 17 00:00:00 2001 From: GitHub Ations Date: Fri, 22 Apr 2022 06:26:35 +0000 Subject: [PATCH 052/525] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'coc-nvim': 'github:neoclide/coc.nvim/968e9a25e32e1cdb362a9894a96e038b3c1be0c9' (2022-04-13) → 'github:neoclide/coc.nvim/16ef1eccad26dfbbce672018f811456497656534' (2022-04-20) • Updated input 'darwin': 'github:lnl7/nix-darwin/4fdbb8168f61d31d3f90bb0d07f48de709c4fe79' (2022-03-26) → 'github:lnl7/nix-darwin/2979028c51ba0ad7e2062dbdc1674be0f71092fc' (2022-04-19) • Updated input 'home-manager': 'github:nix-community/home-manager/92f58b6728e7c631a7ea0ed68cd21bb29a4876ff' (2022-04-13) → 'github:nix-community/home-manager/93a69d07389311ffd6ce1f4d01836bbc2faec644' (2022-04-20) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/12d8c6b785d578379d178d3102a7ccfcf7335f47' (2022-04-13) → 'github:nix-community/neovim-nightly-overlay/edf6d999c74bf9772afd7c027e0d0a73bf033b4a' (2022-04-21) • Updated input 'neovim-nightly-overlay/flake-compat': 'github:edolstra/flake-compat/64a525ee38886ab9028e6f61790de0832aa3ef03' (2022-03-25) → 'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/18152cf6f17fb4fd6dc6194bad33a971fc985b75?dir=contrib' (2022-04-12) → 'github:neovim/neovim/db851cb105ac9f295a836a39ff73da14a70ae754?dir=contrib' (2022-04-21) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/1a0ccdbf4583ed0fce37eea7955e8ef90f840a9f' (2022-04-13) → 'github:NixOS/nixos-hardware/6b4ebea9093c997c5f275c820e679108de4871ab' (2022-04-21) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ff9efb0724de5ae0f9db9df2debefced7eb1571d' (2022-04-13) → 'github:NixOS/nixpkgs/1ffba9f2f683063c2b14c9f4d12c55ad5f4ed887' (2022-04-17) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/ce932dbcf14884c7c76888ebf8cf80f789250afd' (2022-04-14) → 'github:NixOS/nixpkgs/523ee17e9b43da28e98224ccd73ba65121b0b118' (2022-04-22) • Updated input 'zsh-completions': 'github:zsh-users/zsh-completions/3d394ebaa14f50a8498ab29b3a3d07cb82dee1e5' (2022-04-11) → 'github:zsh-users/zsh-completions/00a7cc2200de179d21a5b359c6d670007cf44b08' (2022-04-20) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 7e61b2f5..d14051ed 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1649870922, - "narHash": "sha256-P9XnKNb7T+vKiWW88FQc5Pvk+8xHEKkWlzV5G9L6bvs=", + "lastModified": 1650487856, + "narHash": "sha256-YEz2fUgwL44Ny76lqjk0whaOEfiuCEO+ga73ZOBTGAE=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "968e9a25e32e1cdb362a9894a96e038b3c1be0c9", + "rev": "16ef1eccad26dfbbce672018f811456497656534", "type": "github" }, "original": { @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1648278671, - "narHash": "sha256-1WrR9ex+rKTjZtODNUZQhkWYUprtfOkjOyo9YWL2NMs=", + "lastModified": 1650399173, + "narHash": "sha256-YYJDu6CxLGIrjnH6uAmPxqRmrgrqPhXNZHpZoqw3q5k=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4fdbb8168f61d31d3f90bb0d07f48de709c4fe79", + "rev": "2979028c51ba0ad7e2062dbdc1674be0f71092fc", "type": "github" }, "original": { @@ -95,11 +95,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1648199409, - "narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "64a525ee38886ab9028e6f61790de0832aa3ef03", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1649887921, - "narHash": "sha256-h2LZzn5LLwIFvVFLCdR8+VWluEP3U1I5y+0mDZjFjAk=", + "lastModified": 1650478719, + "narHash": "sha256-308c2cM4hW9AW6dSQ080ycXGyEJGkG/OwOINkYL9Mnw=", "owner": "nix-community", "repo": "home-manager", - "rev": "92f58b6728e7c631a7ea0ed68cd21bb29a4876ff", + "rev": "93a69d07389311ffd6ce1f4d01836bbc2faec644", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1649798963, - "narHash": "sha256-bO271rs7X8n3BH/wfX+EsRuanfrT1AY5M3eg6XcUgvI=", + "lastModified": 1650499578, + "narHash": "sha256-iJLetvUtr+NweIt3nbY8zO3NR70cyFBVUHYGViWSosI=", "owner": "neovim", "repo": "neovim", - "rev": "18152cf6f17fb4fd6dc6194bad33a971fc985b75", + "rev": "db851cb105ac9f295a836a39ff73da14a70ae754", "type": "github" }, "original": { @@ -212,11 +212,11 @@ ] }, "locked": { - "lastModified": 1649837914, - "narHash": "sha256-wSkJqBOVXgqBl6c/8v80Z5cVw8ODN0gt5TB1apdQnI0=", + "lastModified": 1650529029, + "narHash": "sha256-/BZThOlIN+Q/YgK2jf5k7l37XiHTnqD318sQpRu0/kU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "12d8c6b785d578379d178d3102a7ccfcf7335f47", + "rev": "edf6d999c74bf9772afd7c027e0d0a73bf033b4a", "type": "github" }, "original": { @@ -227,11 +227,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1649849514, - "narHash": "sha256-zQyTr2UebTKUh1KLyLtevhHsM8umPK1LfQLGUGjRjiQ=", + "lastModified": 1650522846, + "narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "1a0ccdbf4583ed0fce37eea7955e8ef90f840a9f", + "rev": "6b4ebea9093c997c5f275c820e679108de4871ab", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1649809588, - "narHash": "sha256-f6sgDj9A8FXTVyA2zkxA66YX+j6BftxE9VHTeIMhEKE=", + "lastModified": 1650161686, + "narHash": "sha256-70ZWAlOQ9nAZ08OU6WY7n4Ij2kOO199dLfNlvO/+pf8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ff9efb0724de5ae0f9db9df2debefced7eb1571d", + "rev": "1ffba9f2f683063c2b14c9f4d12c55ad5f4ed887", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1649913345, - "narHash": "sha256-iq4xs54MREQYtPPNRqxsI7gK/C97Bef1lWOceFAQ6EA=", + "lastModified": 1650608544, + "narHash": "sha256-iLbI5TO19zn1zFBTDqwol64yTJKR7kC6mFuODZaU3yc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce932dbcf14884c7c76888ebf8cf80f789250afd", + "rev": "523ee17e9b43da28e98224ccd73ba65121b0b118", "type": "github" }, "original": { @@ -382,11 +382,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1649639155, - "narHash": "sha256-RHS4+NDlL5O1U76HTuqqbgcLOsLE/KPvcEJrIcxPvjE=", + "lastModified": 1650436878, + "narHash": "sha256-b3a8sl18XUcNJd0gJPFfKx2cTRKSrxQ/L5WlrH4+KdI=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "3d394ebaa14f50a8498ab29b3a3d07cb82dee1e5", + "rev": "00a7cc2200de179d21a5b359c6d670007cf44b08", "type": "github" }, "original": { From fb42273014406eb324cdcf029754fcc4bc9cf944 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 23 Apr 2022 01:35:17 +0200 Subject: [PATCH 053/525] feat: ds9 offsite --- flake.nix | 203 +++++++++++++++++++------------------ hosts/backuppi/default.nix | 47 +++++++++ hosts/ds9/default.nix | 11 ++ secrets/tailscaleKey.age | Bin 766 -> 761 bytes 4 files changed, 163 insertions(+), 98 deletions(-) create mode 100644 hosts/backuppi/default.nix diff --git a/flake.nix b/flake.nix index 46a2ceec..9061283d 100644 --- a/flake.nix +++ b/flake.nix @@ -38,107 +38,114 @@ }; outputs = inputs @ { self, nixpkgs, nixpkgs-master, agenix, home-manager, impermanence, darwin, utils, neovim-nightly-overlay, ... }: - let - extraSystems = [ ]; - lib = nixpkgs.lib.extend (self: super: { - my = import ./lib { inherit inputs; lib = self; }; - }); - - genPkgs = system: import nixpkgs { - inherit system; - config.allowUnfree = true; - overlays = [ - self.overlay - neovim-nightly-overlay.overlay - (final: prev: { - my = self.packages.${prev.system}; - }) - ]; - }; - - hmConfig = { hm, pkgs, inputs, config, ...}: { - imports = (lib.my.mapModulesRec' ./hm-imports (x: x)) ++ ["${impermanence}/home-manager.nix"]; - }; - - rev = if (lib.hasAttrByPath [ "rev" ] self.sourceInfo) then self.sourceInfo.rev else "Dirty Build"; - - nixosSystem = system: extraModules: hostName: let - pkgs = genPkgs system; - in nixpkgs.lib.nixosSystem - rec { - inherit system; - specialArgs = { inherit lib inputs pkgs system; }; - modules = [ - agenix.nixosModules.age - impermanence.nixosModules.impermanence - home-manager.nixosModules.home-manager - ({ config, ...}: lib.mkMerge [{ - networking.hostName = hostName; - system.configurationRevision = rev; - services.getty.greetingLine = - "<<< Welcome to ${config.system.nixos.label} @ ${rev} - Please leave\\l >>>"; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs ; }; - } - - (lib.mkIf config.ragon.user.enable { # import hm stuff if enabled - home-manager.users.ragon = hmConfig; - }) - ]) - ./nixos-common.nix - ] ++ (lib.my.mapModulesRec' (toString ./nixos-modules) import) ++ extraModules; - }; - darwinSystem = system: extraModules: hostName: let - pkgs = genPkgs system; - in darwin.lib.darwinSystem - { - inherit system; - specialArgs = { inherit darwin lib pkgs inputs self; }; - modules = [ - home-manager.darwinModules.home-manager - ({ config, inputs, self, ...}: { config = { - #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; - networking.hostName = hostName; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.ragon = hmConfig; - }; - }) - ./darwin-common.nix - ] ++ (lib.my.mapModulesRec' (toString ./darwin-modules) import) ++ extraModules; - }; + extraSystems = [ ]; + lib = nixpkgs.lib.extend (self: super: { + my = import ./lib { inherit inputs; lib = self; }; + }); - processConfigurations = lib.mapAttrs (n: v: v n); - - - in - { - lib = lib.my; - overlay = final: prev: { - unstable = import nixpkgs-master { - system = prev.system; + genPkgs = system: import nixpkgs { + inherit system; config.allowUnfree = true; + overlays = [ + self.overlay + neovim-nightly-overlay.overlay + (final: prev: { + my = self.packages.${prev.system}; + }) + ]; }; - my = self.packages."${prev.system}"; - }; - nixosModules = lib.my.mapModulesRec ./nixos-modules import; - darwinModules = []; - #darwinModules = lib.my.mapModulesRec ./darwin-modules import; - nixosConfigurations = processConfigurations { - picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; # TODO - ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; # TODO - }; - darwinConfigurations = processConfigurations { - daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; # TODO - }; - } // utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { - devShell = pkgs.mkShell { - buildInputs = with pkgs; [lefthook nixpkgs-fmt]; - }; - packages = lib.my.mapModules ./packages (p: pkgs.callPackage p { inputs = inputs;}); - }); + hmConfig = { hm, pkgs, inputs, config, ... }: { + imports = (lib.my.mapModulesRec' ./hm-imports (x: x)) ++ [ "${impermanence}/home-manager.nix" ]; + }; + + rev = if (lib.hasAttrByPath [ "rev" ] self.sourceInfo) then self.sourceInfo.rev else "Dirty Build"; + + nixosSystem = system: extraModules: hostName: + let + pkgs = genPkgs system; + in + nixpkgs.lib.nixosSystem + rec { + inherit system; + specialArgs = { inherit lib inputs pkgs system; }; + modules = [ + agenix.nixosModules.age + impermanence.nixosModules.impermanence + home-manager.nixosModules.home-manager + ({ config, ... }: lib.mkMerge [{ + networking.hostName = hostName; + system.configurationRevision = rev; + services.getty.greetingLine = + "<<< Welcome to ${config.system.nixos.label} @ ${rev} - Please leave\\l >>>"; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + + (lib.mkIf config.ragon.user.enable { + # import hm stuff if enabled + home-manager.users.ragon = hmConfig; + })]) + ./nixos-common.nix + ] ++ (lib.my.mapModulesRec' (toString ./nixos-modules) import) ++ extraModules; + }; + darwinSystem = system: extraModules: hostName: + let + pkgs = genPkgs system; + in + darwin.lib.darwinSystem + { + inherit system; + specialArgs = { inherit darwin lib pkgs inputs self; }; + modules = [ + home-manager.darwinModules.home-manager + ({ config, inputs, self, ... }: { + config = { + #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; + networking.hostName = hostName; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.ragon = hmConfig; + }; + }) + ./darwin-common.nix + ] ++ (lib.my.mapModulesRec' (toString ./darwin-modules) import) ++ extraModules; + }; + + processConfigurations = lib.mapAttrs (n: v: v n); + + + in + { + lib = lib.my; + overlay = final: prev: { + unstable = import nixpkgs-master { + system = prev.system; + config.allowUnfree = true; + }; + my = self.packages."${prev.system}"; + }; + nixosModules = lib.my.mapModulesRec ./nixos-modules import; + darwinModules = [ ]; + #darwinModules = lib.my.mapModulesRec ./darwin-modules import; + nixosConfigurations = processConfigurations { + picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; + ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; + backuppi = nixosSystem "aarch64-linux" [ ./hosts/backuppi/default.nix ]; + }; + darwinConfigurations = processConfigurations { + daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; + }; + + } // utils.lib.eachDefaultSystem (system: + let pkgs = nixpkgs.legacyPackages.${system}; in + { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ lefthook nixpkgs-fmt ]; + }; + packages = lib.my.mapModules ./packages (p: pkgs.callPackage p { inputs = inputs; }); + }); } diff --git a/hosts/backuppi/default.nix b/hosts/backuppi/default.nix new file mode 100644 index 00000000..33622ac9 --- /dev/null +++ b/hosts/backuppi/default.nix @@ -0,0 +1,47 @@ +{ config, inputs, pkgs, lib, ... }: +{ + imports = [ + "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" + "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" + ]; + nixpkgs.overlays = [ + (final: super: { + makeModulesClosure = x: + super.makeModulesClosure (x // { allowMissing = true; }); + }) + ]; + boot.loader.systemd-boot.enable = false; + boot.kernelPackages = pkgs.linuxPackages_rpi3; + boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "zfs" "ext4" ]; + networking.hostId = "eec43f51"; + # networking.usePredictableInterfaceNames = false; + documentation.enable = false; + documentation.nixos.enable = false; + + nix = { + autoOptimiseStore = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + # Free up to 1GiB whenever there is less than 100MiB left. + extraOptions = '' + min-free = ${toString (100 * 1024 * 1024)} + max-free = ${toString (1024 * 1024 * 1024)} + ''; + }; + powerManagement.cpuFreqGovernor = "ondemand"; + + # Assuming this is installed on top of the disk image. + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; + ragon.services.ssh.enable = true; + ragon.services.tailscale.enable = true; + +} diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 3baade31..4b5855f1 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -19,6 +19,17 @@ in services.syncthing.enable = true; services.syncthing.user = "ragon"; + services.syncoid.command = + let + datasets = { + backups = "rpool/content/local/backups"; + data = "rpool/content/safe/data"; + ds9persist = "rpool/content/safe/persist"; + hassosvm = "rpool/content/safe/vms/hassos"; + }; + in + builtins.mapAttrs (n: v: { target = "backup/${n}"; source = v; sendOptions = [ "w" ]; }) datasets; + security.sudo.wheelNeedsPassword = false; networking.useDHCP = true; networking.bridges."br0".interfaces = [ ]; diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age index 10358fbe21d7ae496a2b3491b9a382f82d313a45..b8e26a33abf2d94f81944b7b1d93bbf3361061a5 100644 GIT binary patch delta 672 zcmeyz`jd5nPJKy$fl*SCd%BBfaeio$S+IVfzq?PqVTeUwS%J2Rho4WXv6Gv*Pg!`T zCznO4t8<1+NN!+RlBIukdSPXfi+8R?L4jXts(ZSAzCna(P*j;;gpYBMCzr0BLUD11 zZfc5=si~o*LTIREP_Uyya9F-!qD5dyo>5LkpjoA-ubXjNpj)J|Nv?KUXkM;GiMwTa zVOo^2LAX;sS6H}#ez|u+fsFHE6j~_N{-5@ zD)Q0R&UW?-bxN*`GB7U(#XweWNpY%mv4d`UQEFmws)Bo#`^70-=Q$^T$B%jAIentPg#X)S(t};nxA=IUXHe#X-b4~X=z5LwzH|Xg?n*eW`?ncBbTn7LUD11 zZfc5=si~o*LTIREP_UyyPNBDFa#6UCho5&zotDS75mVftAn!6ts$!Fg`}g$16I;~B-n(=4)+D}zid z^D9%sDnmjGGxAJQjI~28gZxSgyu%&+lXFZwoIE`<0}La%%!AW?lA^-hOpJYyb9GDgE-H3QD>F{!%JQkoip(i>_p8z`G%U{XFwQGT_H`-o@sBKX zboY0&C@KmH&9*Re4z|b!#Xx3yaHPFUu5Nl!YGQG!g1tgXb*Mt9y?VA0S8%YAXK_$? zkV}0|QBkrI)ennkgnsZ*3Am#(g^LS}MuSfPGWl!v2f zNvcV4o`-Lgwrh!jWkpDmk5NcTUU{Uyc5s=uca&i=S7vyE)E_gu3!K7ravvOC-TAVU zMO|!%V8u)2(#6|@#N;hczjSs;Nxq={j74yv%&pMytA{3Cd9bAQ?=}AkJMJ#IdF Date: Sat, 23 Apr 2022 01:38:20 +0200 Subject: [PATCH 054/525] a --- hosts/ds9/default.nix | 7 +++++-- hosts/ds9/hardware-configuration.nix | 1 - nixos-modules/services/paperless.nix | 11 +++++------ secrets/ds9OffsiteBackupSSH.age | 11 +++++++++++ secrets/secrets.nix | 1 + 5 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 secrets/ds9OffsiteBackupSSH.age diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 4b5855f1..6153a31f 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -19,7 +19,10 @@ in services.syncthing.enable = true; services.syncthing.user = "ragon"; - services.syncoid.command = + ragon.agenix.secrets."ds9OffsiteBackupSSH" = { owner = config.services.syncoid.user; }; + services.syncoid.enable = true; + services.syncoid.sshKey = lib.mkForce "${config.age.secrets.ds9OffsiteBackupSSH.path}"; + services.syncoid.commands = let datasets = { backups = "rpool/content/local/backups"; @@ -28,7 +31,7 @@ in hassosvm = "rpool/content/safe/vms/hassos"; }; in - builtins.mapAttrs (n: v: { target = "backup/${n}"; source = v; sendOptions = [ "w" ]; }) datasets; + builtins.mapAttrs (n: v: { target = "backup/${n}"; source = v; sendOptions = "w"; }) datasets; security.sudo.wheelNeedsPassword = false; networking.useDHCP = true; diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix index fcd10e40..1f9b350f 100644 --- a/hosts/ds9/hardware-configuration.nix +++ b/hosts/ds9/hardware-configuration.nix @@ -22,7 +22,6 @@ persistent = "rpool/content/safe/persist"; arcSize = 8; }; - services.syncoid.enable = false; # TODO setup offsite backups services.sanoid.datasets."rpool/content/safe".recursive = true; services.sanoid.datasets."rpool/content/local/backups" = { }; diff --git a/nixos-modules/services/paperless.nix b/nixos-modules/services/paperless.nix index a2aeffed..66b35e8b 100644 --- a/nixos-modules/services/paperless.nix +++ b/nixos-modules/services/paperless.nix @@ -13,27 +13,26 @@ in default = "paperless"; }; config = mkIf cfg.enable { - services.paperless-ng = { + services.paperless = { enable = true; - package = pkgs.paperless-ng.overrideAttrs (oldAttrs: rec { doCheck = false; doInstallCheck = false; }); mediaDir = mkDefault "/data/documents/paperless"; - consumptionDir = mkDefault "/data/applications/paperless-consumption"; + consumptionDir = "/data/applications/paperless-consumption"; consumptionDirIsPublic = true; passwordFile = "${config.age.secrets.paperlessAdminPW.path}"; extraConfig = { PAPERLESS_OCR_LANGUAGE = "deu+eng"; }; }; - ragon.agenix.secrets.paperlessAdminPW = { group = "${config.services.paperless-ng.user}"; mode = "0440"; }; + ragon.agenix.secrets.paperlessAdminPW = { group = "${config.services.paperless.user}"; mode = "0440"; }; services.nginx.clientMaxBodySize = "100m"; services.nginx.virtualHosts."${cfg.domainPrefix}.${domain}" = { useACMEHost = "${domain}"; addSSL = true; - locations."/".proxyPass = "http://${config.services.paperless-ng.address}:${toString config.services.paperless-ng.port}"; + locations."/".proxyPass = "http://${config.services.paperless.address}:${toString config.services.paperless.port}"; locations."/".proxyWebsockets = true; }; ragon.persist.extraDirectories = [ - "${config.services.paperless-ng.dataDir}" + "${config.services.paperless.dataDir}" ]; }; } diff --git a/secrets/ds9OffsiteBackupSSH.age b/secrets/ds9OffsiteBackupSSH.age new file mode 100644 index 00000000..b18c7bed --- /dev/null +++ b/secrets/ds9OffsiteBackupSSH.age @@ -0,0 +1,11 @@ +age-encryption.org/v1 +-> ssh-ed25519 IbXxfw 2bY8D4MwTRAlIJC/IPqR2sT0M7r3mIzTxNRqyWsIVlg +Ls8ipcH9B7LgPEOnOfFoe6zGlJgY3fPYm7MX+dlse00 +-> ssh-ed25519 ugHWWw 3NecEQxzuriPw39On2S6d6F2KBepfnjzpZXyVMjpNW4 +lvnErLbxlzt0EgrGia0sINCYBP1zocdy2myQwrCYvuw +-> ssh-ed25519 UU9RSA oe8XNsT+h0ZeAwS994tw2KhMINl6nYshS0S6GSc/c0Y +oDOUhJS58DaXOHGA9yu44Z+bm3OqhmkWY++8kMcG+xU +-> (i-grease t="[ CDeDs +i6bTwsfNz5+rcQs0N1c1 +--- RtYYZM/2+RhILZMfyhrRhd7DhawxUMYNKdVFQxnCio8 +4Xao4b],[2Kk2/XWݒㇹB?nj QSQ=VCrc_ W-pŘ|#} )J'>j4 o|&n (;9g}YGg<+m+Fn_i!ŢF@Ϊ'#7p[ؑCUNFU3`t4{Z>`;^KA'i*1Xrѣ4bẁ|i Qs@d$5;4[x\#{ojF L9XҭS>4퉇!1=6o/P!)1& ΫvI1mQd5^:uZVt&ְT#r>5O^Ӟ6D.+G:#5Ezx܃tE1x⭖iJ#AF9,ƿF?oH΅\ \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index d1dccb62..78db40a0 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -10,6 +10,7 @@ in "ragonPasswd.age".publicKeys = pubkeys.ragon.computers; "tailscaleKey.age".publicKeys = pubkeys.ragon.computers; "paperlessAdminPW.age".publicKeys = pubkeys.ragon.host "ds9"; + "ds9OffsiteBackupSSH.age".publicKeys = pubkeys.ragon.host "ds9"; "hedgedocSecret.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabInitialRootPassword.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabSecretFile.age".publicKeys = pubkeys.ragon.host "picard"; From 73dc0aa6ac569f284d62618949c211638f2a4c82 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 25 Apr 2022 09:17:45 +0200 Subject: [PATCH 055/525] fix(ds9): removed double snapshots --- hosts/ds9/hardware-configuration.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix index 1f9b350f..62d8f621 100644 --- a/hosts/ds9/hardware-configuration.nix +++ b/hosts/ds9/hardware-configuration.nix @@ -23,11 +23,10 @@ arcSize = 8; }; - services.sanoid.datasets."rpool/content/safe".recursive = true; - services.sanoid.datasets."rpool/content/local/backups" = { }; + services.sanoid.datasets."rpool/content/safe/data/media" = { }; services.sanoid.enable = true; - swapDevices = [ { device = "/dev/disk/by-id/nvme-eui.000000000000000100a075202c247839-part1"; randomEncryption = true; } ]; + swapDevices = [{ device = "/dev/disk/by-id/nvme-eui.000000000000000100a075202c247839-part1"; randomEncryption = true; }]; fileSystems."/boot".device = "/dev/disk/by-uuid/149F-23AA"; fileSystems."/data" = { From 83051956872cc60b1488aa8b0d3a111261b6f5f3 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 25 Apr 2022 13:01:09 +0200 Subject: [PATCH 056/525] fix(nginx): return 404 on ip --- nixos-modules/services/nginx.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nixos-modules/services/nginx.nix b/nixos-modules/services/nginx.nix index 64badff9..1a1af269 100644 --- a/nixos-modules/services/nginx.nix +++ b/nixos-modules/services/nginx.nix @@ -30,6 +30,16 @@ in credentialsFile = "${config.age.secrets.cloudflareAcme.path}"; }; + services.nginx.virtualHosts."_" = { + locations = { + "/" = { + extraConfig = '' + return 404; + ''; + }; + }; + }; + ragon.agenix.secrets.cloudflareAcme = { group = "nginx"; mode = "0440"; }; ragon.persist.extraDirectories = [ "/var/lib/acme" From d38327dfea75a5acaf28936888e4da5b430c1bb1 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 25 Apr 2022 13:14:05 +0200 Subject: [PATCH 057/525] fixi fixi wupsi wupsi --- nixos-modules/services/nginx.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos-modules/services/nginx.nix b/nixos-modules/services/nginx.nix index 1a1af269..37c867af 100644 --- a/nixos-modules/services/nginx.nix +++ b/nixos-modules/services/nginx.nix @@ -31,6 +31,8 @@ in }; services.nginx.virtualHosts."_" = { + useACMEHost = "${cfg.domain}"; + addSSL = true; locations = { "/" = { extraConfig = '' From d49050424086bce453bcbea4ddea32d7a80d3ba5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 28 Apr 2022 14:28:18 +0200 Subject: [PATCH 058/525] feat: add website --- hosts/picard/default.nix | 6 +++++ hosts/picard/xynospace/index.html | 38 +++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 hosts/picard/xynospace/index.html diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index a2adeeef..bfa5d686 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -44,6 +44,12 @@ ragon.agenix.secrets."picardResticPassword" = { }; ragon.agenix.secrets."picardResticSSHKey" = { }; + services.nginx.virtualHosts."xyno.space" = { + enableACME = true; + forceSSL = true; + root = ./xynospace; + }; + services.restic.backups."picard" = { passwordFile = config.age.secrets.picardResticPassword.path; extraOptions = [ diff --git a/hosts/picard/xynospace/index.html b/hosts/picard/xynospace/index.html new file mode 100644 index 00000000..e4bad90f --- /dev/null +++ b/hosts/picard/xynospace/index.html @@ -0,0 +1,38 @@ + + + + xynos space + + + + +

xynos space

+
+
+
+

links:

+
+ GitHub - thexyno +
+
+ Matrix - @me:ragon.xyz +
+
+ Mastodon - @xyno@chaos.social + + From b3ef74da749903d462cc67c38416274ff37dc077 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 2 May 2022 14:42:12 +0200 Subject: [PATCH 059/525] tectonic --- hosts/daedalus/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 162e299f..a9c10de0 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -39,7 +39,6 @@ with lib.my; "Shareful" = 1522267256; "app.seashore" = 1448648921; "Tailscale" = 1475387142; - "Otter RSS" = 1529696614; }; }; @@ -60,8 +59,8 @@ with lib.my; terraform-ls terraform - #tectonic pandoc + texlive.combined.scheme-full yabai From 8d62eb3a6326410d9a7b73b2d54076545c35ad6f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 12 May 2022 02:08:46 +0200 Subject: [PATCH 060/525] fix: too many open files --- hosts/ds9/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 6153a31f..e1669d58 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -64,6 +64,7 @@ in }; }; + boot.kernel.sysctl."fs.inotify.max_user_instances" = 512; services.openssh.sftpServerExecutable = "internal-sftp"; services.openssh.extraConfig = '' From 44e64547881f79688936668ede8aaaca04a8f3f5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 12 May 2022 02:18:49 +0200 Subject: [PATCH 061/525] picard healthchecks --- hosts/picard/default.nix | 14 ++++++++++++++ secrets/picardResticHealthCheckUrl.age | Bin 0 -> 633 bytes secrets/secrets.nix | 1 + 3 files changed, 15 insertions(+) create mode 100644 secrets/picardResticHealthCheckUrl.age diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index bfa5d686..81a2cb3b 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -43,6 +43,7 @@ services.postgresql.package = pkgs.postgresql_13; ragon.agenix.secrets."picardResticPassword" = { }; ragon.agenix.secrets."picardResticSSHKey" = { }; + ragon.agenix.secrets."picardResticHealthCheckUrl" = { }; services.nginx.virtualHosts."xyno.space" = { enableACME = true; @@ -69,6 +70,19 @@ }; + + systemd.services.restic-backups-picard = { + # ExecStartPost commands are only run if the ExecStart command succeeded + serviceConfig.ExecStartPost = pkgs.writeShellScript "backupSuccessful" '' + ${pkgs.curl}/bin/curl -fss -m 10 --retry 5 -o /dev/null $(cat ${config.age.secrets.picardResticHealthCheckUrl.path}) + ''; + unitConfig.OnFailure = "backupFailure.service"; + }; + + systemd.services.backupFailure = { + enable = true; + script = "${pkgs.curl}/bin/curl -fss -m 10 --retry 5 -o /dev/null $(cat ${config.age.secrets.picardResticHealthCheckUrl.path})/fail"; + }; ragon = { cli.enable = true; user.enable = true; diff --git a/secrets/picardResticHealthCheckUrl.age b/secrets/picardResticHealthCheckUrl.age new file mode 100644 index 0000000000000000000000000000000000000000..e812f0f954a616c6941fd72dc665eb6f052908c0 GIT binary patch literal 633 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+Pfqpr4^;4qDhf5s z4~r=9tBiE^@OHLv%kl}(b~W=4j>_`acL_A|Fv|_f4zY9%PvHJdA6Kg!I=FgeK8$IQhd(Zn+?&s5(i z+&C!P$)_N)qR7*^!qY=PJjo){uN>XB&``^uU`K^Quafe}%v=+Fr@RoibcSSS5J^_B~kji=|!oD#iN=^>WRrr~L+kzVQgf%#4mUZq*N-ce~uK9-p#24)q0VP#=12EGXhrAv5Nnve&5os2WP4XX~r4easC}5q~}s$D&4i^iyy@?Q^0PQ5$)&Kwi literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 78db40a0..0e2b541b 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -20,4 +20,5 @@ in "nextcloudAdminPass.age".publicKeys = pubkeys.ragon.host "picard"; "picardResticSSHKey.age".publicKeys = pubkeys.ragon.host "picard"; "picardResticPassword.age".publicKeys = pubkeys.ragon.host "picard"; + "picardResticHealthCheckUrl.age".publicKeys = pubkeys.ragon.host "picard"; } From a213499beb025462cedcd93344768924819469f2 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 12 May 2022 02:42:00 +0200 Subject: [PATCH 062/525] fix ds9 backup home restart --- hosts/daedalus/default.nix | 2 +- hosts/ds9/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index a9c10de0..cffd6cd1 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -52,7 +52,7 @@ with lib.my; home.sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; - PATH = "$PATH:/etc/profiles/per-user/ragon/bin/:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin:/nix/var/nix/profiles/per-user/ragon/home-manager/home-path/bin/"; + PATH = "$PATH:$HOME/go/bin:/etc/profiles/per-user/ragon/bin/:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin:/nix/var/nix/profiles/per-user/ragon/home-manager/home-path/bin/"; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; }; home.packages = with pkgs; [ diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index e1669d58..ac369df7 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -76,7 +76,7 @@ in # Backup Target users.users.picardbackup = { - createHome = true; + createHome = false; group = "users"; home = "/backups/restic/picard"; isSystemUser = true; From 2d864399889c8fa8aaa9859743db9d6d102f1803 Mon Sep 17 00:00:00 2001 From: GitHub Ations Date: Sat, 28 May 2022 06:26:59 +0000 Subject: [PATCH 063/525] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'agenix': 'github:ryantm/agenix/0d5e59ed645e4c7b60174bc6f6aac6a203dc0b01' (2022-04-02) → 'github:ryantm/agenix/7e5e58b98c3dcbf497543ff6f22591552ebfe65b' (2022-05-16) • Updated input 'coc-nvim': 'github:neoclide/coc.nvim/16ef1eccad26dfbbce672018f811456497656534' (2022-04-20) → 'github:neoclide/coc.nvim/042d0c7d0f3a29409347fe5c2b754f6686f16578' (2022-05-28) • Updated input 'dart-vim': 'github:dart-lang/dart-vim-plugin/42e6f57f2404b882cb7e491d50e525f8a8eb7f1f' (2022-01-25) → 'github:dart-lang/dart-vim-plugin/81e50e80329e5eac2c115f45585b1838a614d07a' (2022-05-23) • Updated input 'darwin': 'github:lnl7/nix-darwin/2979028c51ba0ad7e2062dbdc1674be0f71092fc' (2022-04-19) → 'github:lnl7/nix-darwin/2f2bdf658d2b79bada78dc914af99c53cad37cba' (2022-05-07) • Updated input 'home-manager': 'github:nix-community/home-manager/93a69d07389311ffd6ce1f4d01836bbc2faec644' (2022-04-20) → 'github:nix-community/home-manager/64831f938bd413cefde0b0cf871febc494afaa4f' (2022-05-25) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/edf6d999c74bf9772afd7c027e0d0a73bf033b4a' (2022-04-21) → 'github:nix-community/neovim-nightly-overlay/b2cf1606e66564f1d277e76aec8bf7474ffffd04' (2022-05-27) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/db851cb105ac9f295a836a39ff73da14a70ae754?dir=contrib' (2022-04-21) → 'github:neovim/neovim/e2940d3c79586503c0a645010ae56c7097ca7c3f?dir=contrib' (2022-05-26) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/6b4ebea9093c997c5f275c820e679108de4871ab' (2022-04-21) → 'github:NixOS/nixos-hardware/39a7bfc496d2ddfce73fe9542af1f2029ba4fe39' (2022-05-25) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/1ffba9f2f683063c2b14c9f4d12c55ad5f4ed887' (2022-04-17) → 'github:NixOS/nixpkgs/7fa8d8b2e206be87de8e4128441384f171c8a33b' (2022-05-25) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/523ee17e9b43da28e98224ccd73ba65121b0b118' (2022-04-22) → 'github:NixOS/nixpkgs/c2efec21ca3c9ead79c9bd8d6d08ba5a957ba369' (2022-05-28) • Updated input 'rnix-lsp': 'github:nix-community/rnix-lsp/4d1024ccfe1bc569811769d1ef52a2fc6c1d482d' (2022-03-14) → 'github:nix-community/rnix-lsp/9736265eb4fd4d1488b34b229ad1ab589610740e' (2022-04-29) • Updated input 'utils': 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11) → 'github:numtide/flake-utils/04c1b180862888302ddfb2e3ad9eaa63afc60cf8' (2022-05-17) • Updated input 'zsh-completions': 'github:zsh-users/zsh-completions/00a7cc2200de179d21a5b359c6d670007cf44b08' (2022-04-20) → 'github:zsh-users/zsh-completions/2e3c3f6cf06bfdf0adf96a5b67f1eff2d67d85de' (2022-05-23) • Updated input 'zsh-syntax-highlighting': 'github:zsh-users/zsh-syntax-highlighting/c5ce0014677a0f69a10b676b6038ad127f40c6b1' (2022-02-23) → 'github:zsh-users/zsh-syntax-highlighting/caa749d030d22168445c4cb97befd406d2828db0' (2022-05-14) --- flake.lock | 84 +++++++++++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index d14051ed..906c1698 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1648942457, - "narHash": "sha256-i29Z1t3sVfCNfpp+KAfeExvpqHQSbLO1KWylTtfradU=", + "lastModified": 1652712410, + "narHash": "sha256-hMJ2TqLt0DleEnQFGUHK9sV2aAzJPU8pZeiZoqRozbE=", "owner": "ryantm", "repo": "agenix", - "rev": "0d5e59ed645e4c7b60174bc6f6aac6a203dc0b01", + "rev": "7e5e58b98c3dcbf497543ff6f22591552ebfe65b", "type": "github" }, "original": { @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1650487856, - "narHash": "sha256-YEz2fUgwL44Ny76lqjk0whaOEfiuCEO+ga73ZOBTGAE=", + "lastModified": 1653710831, + "narHash": "sha256-fy/e1dmR5Q8evPpcaOgjxf4PLgOqMdw93aqYZbK+8IA=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "16ef1eccad26dfbbce672018f811456497656534", + "rev": "042d0c7d0f3a29409347fe5c2b754f6686f16578", "type": "github" }, "original": { @@ -57,11 +57,11 @@ "dart-vim": { "flake": false, "locked": { - "lastModified": 1643154552, - "narHash": "sha256-f4h4nWbAm6wL7c6gCVRvyXvzGwj0I4PAij579RoFitI=", + "lastModified": 1653333307, + "narHash": "sha256-NkmOlwVxObva/ka6xT54oYqIUSD2A9rZ9aMq5seOKHY=", "owner": "dart-lang", "repo": "dart-vim-plugin", - "rev": "42e6f57f2404b882cb7e491d50e525f8a8eb7f1f", + "rev": "81e50e80329e5eac2c115f45585b1838a614d07a", "type": "github" }, "original": { @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1650399173, - "narHash": "sha256-YYJDu6CxLGIrjnH6uAmPxqRmrgrqPhXNZHpZoqw3q5k=", + "lastModified": 1651916036, + "narHash": "sha256-UuD9keUGm4IuVEV6wdSYbuRm7CwfXE63hVkzKDjVsh4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "2979028c51ba0ad7e2062dbdc1674be0f71092fc", + "rev": "2f2bdf658d2b79bada78dc914af99c53cad37cba", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1650478719, - "narHash": "sha256-308c2cM4hW9AW6dSQ080ycXGyEJGkG/OwOINkYL9Mnw=", + "lastModified": 1653518057, + "narHash": "sha256-cam3Nfae5ADeEs6mRPzr0jXB7+DhyMIXz0/0Q13r/yk=", "owner": "nix-community", "repo": "home-manager", - "rev": "93a69d07389311ffd6ce1f4d01836bbc2faec644", + "rev": "64831f938bd413cefde0b0cf871febc494afaa4f", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1650499578, - "narHash": "sha256-iJLetvUtr+NweIt3nbY8zO3NR70cyFBVUHYGViWSosI=", + "lastModified": 1653602345, + "narHash": "sha256-HJOCS3nrZn9XmdtrRYtE3c/THGSduROYN7c4eXkM6gY=", "owner": "neovim", "repo": "neovim", - "rev": "db851cb105ac9f295a836a39ff73da14a70ae754", + "rev": "e2940d3c79586503c0a645010ae56c7097ca7c3f", "type": "github" }, "original": { @@ -212,11 +212,11 @@ ] }, "locked": { - "lastModified": 1650529029, - "narHash": "sha256-/BZThOlIN+Q/YgK2jf5k7l37XiHTnqD318sQpRu0/kU=", + "lastModified": 1653639429, + "narHash": "sha256-pzGqMCjWzluNLelTsEf6ZvNqfit8tRlOqoK3MsGZtgs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "edf6d999c74bf9772afd7c027e0d0a73bf033b4a", + "rev": "b2cf1606e66564f1d277e76aec8bf7474ffffd04", "type": "github" }, "original": { @@ -227,11 +227,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1650522846, - "narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=", + "lastModified": 1653463224, + "narHash": "sha256-bUxKhqZhki2vPzFTl8HOo1m7pagF7WzY1MZiso8U5ws=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "6b4ebea9093c997c5f275c820e679108de4871ab", + "rev": "39a7bfc496d2ddfce73fe9542af1f2029ba4fe39", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1650161686, - "narHash": "sha256-70ZWAlOQ9nAZ08OU6WY7n4Ij2kOO199dLfNlvO/+pf8=", + "lastModified": 1653495658, + "narHash": "sha256-66YwJ6nuDHRxpYRiKtNC3qA9QkrHHJn6c+cJriiOGZI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1ffba9f2f683063c2b14c9f4d12c55ad5f4ed887", + "rev": "7fa8d8b2e206be87de8e4128441384f171c8a33b", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1650608544, - "narHash": "sha256-iLbI5TO19zn1zFBTDqwol64yTJKR7kC6mFuODZaU3yc=", + "lastModified": 1653713882, + "narHash": "sha256-e6AyJx04pPzGDDbaQr182wAKxr9MXlSwBVz49S5coTE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "523ee17e9b43da28e98224ccd73ba65121b0b118", + "rev": "c2efec21ca3c9ead79c9bd8d6d08ba5a957ba369", "type": "github" }, "original": { @@ -314,11 +314,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1647240246, - "narHash": "sha256-/MLdBWfFUN1C1eNVBYfaVAIcDiZKXpWEbzBC2pqVXj0=", + "lastModified": 1651229115, + "narHash": "sha256-ic9hnLq3f7KIpr0uJXptHOImPv4CqznTE9yBM/LCiko=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "4d1024ccfe1bc569811769d1ef52a2fc6c1d482d", + "rev": "9736265eb4fd4d1488b34b229ad1ab589610740e", "type": "github" }, "original": { @@ -366,11 +366,11 @@ }, "utils_2": { "locked": { - "lastModified": 1649676176, - "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", + "lastModified": 1652776076, + "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", "owner": "numtide", "repo": "flake-utils", - "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", + "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", "type": "github" }, "original": { @@ -382,11 +382,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1650436878, - "narHash": "sha256-b3a8sl18XUcNJd0gJPFfKx2cTRKSrxQ/L5WlrH4+KdI=", + "lastModified": 1653264276, + "narHash": "sha256-PZeKul0MsRqRojFDH+Zs5t9CUrdKWJsfszfqzJ/U1oE=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "00a7cc2200de179d21a5b359c6d670007cf44b08", + "rev": "2e3c3f6cf06bfdf0adf96a5b67f1eff2d67d85de", "type": "github" }, "original": { @@ -398,11 +398,11 @@ "zsh-syntax-highlighting": { "flake": false, "locked": { - "lastModified": 1645642093, - "narHash": "sha256-UqeK+xFcKMwdM62syL2xkV8jwkf/NWfubxOTtczWEwA=", + "lastModified": 1652554093, + "narHash": "sha256-YV9lpJ0X2vN9uIdroDWEize+cp9HoKegS3sZiSpNk50=", "owner": "zsh-users", "repo": "zsh-syntax-highlighting", - "rev": "c5ce0014677a0f69a10b676b6038ad127f40c6b1", + "rev": "caa749d030d22168445c4cb97befd406d2828db0", "type": "github" }, "original": { From 6e94311435c3a5b4e136b51beb6b8ea33dac8d55 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 29 May 2022 04:03:32 +0200 Subject: [PATCH 064/525] daedalus emacs overlay --- flake.lock | 67 +++++++++++++++++++++++++++++++++----- flake.nix | 6 +++- hosts/daedalus/default.nix | 2 ++ 3 files changed, 65 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 906c1698..adec01c0 100644 --- a/flake.lock +++ b/flake.lock @@ -92,6 +92,25 @@ "type": "github" } }, + "emacs-overlay": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1653765690, + "narHash": "sha256-W34uZuE/QgVPvuO3xlg4BH/O50DIQUPz6NfFlU3sKcM=", + "owner": "nix-community", + "repo": "emacs-overlay", + "rev": "e3994fc8b0cf4a1dc1080e697a09d33d9faa5e39", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "emacs-overlay", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -109,6 +128,21 @@ } }, "flake-utils": { + "locked": { + "lastModified": 1652776076, + "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -181,7 +215,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -243,18 +277,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1653495658, - "narHash": "sha256-66YwJ6nuDHRxpYRiKtNC3qA9QkrHHJn6c+cJriiOGZI=", + "lastModified": 1653738054, + "narHash": "sha256-IaR8iLN4Ms3f5EjU1CJkXSc49ZzyS5qv03DtVAti6/s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7fa8d8b2e206be87de8e4128441384f171c8a33b", + "rev": "17b62c338f2a0862a58bb6951556beecd98ccda9", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs-master": { @@ -273,6 +305,22 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1653495658, + "narHash": "sha256-66YwJ6nuDHRxpYRiKtNC3qA9QkrHHJn6c+cJriiOGZI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7fa8d8b2e206be87de8e4128441384f171c8a33b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nnn-vim": { "flake": false, "locked": { @@ -334,11 +382,12 @@ "coc-nvim": "coc-nvim", "dart-vim": "dart-vim", "darwin": "darwin", + "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "impermanence": "impermanence", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", "pandoc-latex-template": "pandoc-latex-template", diff --git a/flake.nix b/flake.nix index 9061283d..5bd71f1e 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,9 @@ darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; utils.url = "github:numtide/flake-utils"; + ## emacs + emacs-overlay.url = "github:nix-community/emacs-overlay"; + ## vim neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; @@ -37,7 +40,7 @@ agkozak-zsh-prompt.flake = false; }; - outputs = inputs @ { self, nixpkgs, nixpkgs-master, agenix, home-manager, impermanence, darwin, utils, neovim-nightly-overlay, ... }: + outputs = inputs @ { self, nixpkgs, nixpkgs-master, agenix, home-manager, impermanence, darwin, utils, emacs-overlay, neovim-nightly-overlay, ... }: let extraSystems = [ ]; lib = nixpkgs.lib.extend (self: super: { @@ -50,6 +53,7 @@ overlays = [ self.overlay neovim-nightly-overlay.overlay + emacs-overlay.overlay (final: prev: { my = self.packages.${prev.system}; }) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index cffd6cd1..6b45b815 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -59,6 +59,8 @@ with lib.my; terraform-ls terraform + emacsNativeComp + pandoc texlive.combined.scheme-full From 76679c227546e16b2bdc4b3aa5958bfbe0560c8c Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 3 Jun 2022 02:30:06 +0200 Subject: [PATCH 065/525] add daedalusvm --- data/pubkeys.nix | 2 +- hosts/daedalusvm/default.nix | 31 ++++++++++++++++++++ hosts/daedalusvm/hardware-configuration.nix | 21 +++++++++++++ secrets/cloudflareAcme.age | 27 ++++++++--------- secrets/ds9OffsiteBackupSSH.age | Bin 876 -> 965 bytes secrets/gitlabDBFile.age | Bin 640 -> 613 bytes secrets/gitlabInitialRootPassword.age | 21 +++++++------ secrets/gitlabJWSFile.age | Bin 2138 -> 2178 bytes secrets/gitlabOTPFile.age | Bin 595 -> 579 bytes secrets/gitlabSecretFile.age | Bin 661 -> 599 bytes secrets/hedgedocSecret.age | 21 ++++++------- secrets/nextcloudAdminPass.age | Bin 533 -> 515 bytes secrets/nextshot.age | Bin 574 -> 628 bytes secrets/paperlessAdminPW.age | 20 ++++++------- secrets/picardResticHealthCheckUrl.age | Bin 633 -> 621 bytes secrets/picardResticPassword.age | 22 +++++++------- secrets/picardResticSSHKey.age | Bin 957 -> 994 bytes secrets/pulseLaunch.age | Bin 960 -> 971 bytes secrets/ragonPasswd.age | 29 +++++++++--------- secrets/rootPasswd.age | Bin 885 -> 886 bytes secrets/tailscaleKey.age | Bin 761 -> 853 bytes secrets/wpa_supplicant.age | Bin 844 -> 919 bytes 22 files changed, 121 insertions(+), 73 deletions(-) create mode 100644 hosts/daedalusvm/default.nix create mode 100644 hosts/daedalusvm/hardware-configuration.nix diff --git a/data/pubkeys.nix b/data/pubkeys.nix index b6a6fff7..22c88af6 100644 --- a/data/pubkeys.nix +++ b/data/pubkeys.nix @@ -10,7 +10,7 @@ let hosts = { ds9 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+BBXufXAJhyUHVfhqlk8Y4zEKJbKXgJQvsdE482lpV" ]; picard = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAm3UXZaN95WBUaS9SiHLNEuI1tP1x1w07qnYxPe+vdr" ]; - musicpi = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPhyp46xPOgZFgGsbSUdBtHWJeqFASu+LFjwUK8b+gSt" ]; + daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLjCl98zeOF9lk2eELpyvUMfivjhvYU8uvc9j6zWwZy" ]; }; in { diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix new file mode 100644 index 00000000..51e5aa02 --- /dev/null +++ b/hosts/daedalusvm/default.nix @@ -0,0 +1,31 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, inputs, pkgs, lib, ... }: +let + pubkeys = import ../../data/pubkeys.nix; +in +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Don't Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + # Immutable users due to tmpfs + users.mutableUsers = false; + + ragon = { + cli.enable = true; + user.enable = true; + + services = { + docker.enable = true; + ssh.enable = true; + }; + }; +} diff --git a/hosts/daedalusvm/hardware-configuration.nix b/hosts/daedalusvm/hardware-configuration.nix new file mode 100644 index 00000000..338adfa3 --- /dev/null +++ b/hosts/daedalusvm/hardware-configuration.nix @@ -0,0 +1,21 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ "${modulesPath}/profiles/qemu-guest.nix" ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" ]; + + networking.interfaces.enp0s6.useDHCP = true; + swapDevices = [{ device = "/dev/disk/by-id/NIXOS_SWAP"; }]; + fileSystems."/boot" = { + device = "/dev/disk/by-id/NIXOS_BOOT"; + fstype = "vfat"; + }; + + fileSystems."/" = { + device = "/dev/disk/by-id/NIXOS_ROOT"; + fsType = "ext4"; + }; +} diff --git a/secrets/cloudflareAcme.age b/secrets/cloudflareAcme.age index 1a961e8d..00bb4dbd 100644 --- a/secrets/cloudflareAcme.age +++ b/secrets/cloudflareAcme.age @@ -1,15 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw DE5KD+R+e1lb1o4cKFJlwXuOC5Ustc0P6d6HKMWHzh8 -q696lgcVHGKQJjYrHqpa/8M8+qmFMEn7bGa/yqGXrmo --> ssh-ed25519 UU9RSA qDj+5sLCjdgKVG4Hd6BbKh9nGZU4DJIubQwkJZ9QkmQ -uk7e5NHKKkDi2OZq4d9aH8YCyulAjfkj55MNKUizZWQ --> ssh-ed25519 IbXxfw 1b1K7Nbkjwt6cNWvSQecu/e5bSNPB4C1puvxjxFjAkk -KM+/IpuG6C5217OIcbv7vUV1Sk45ckrl7ok2U94tHD8 --> ssh-ed25519 WceKOQ dKiRYF/lEwyVxcZDSun2gL94laXMsTAwjkTLrfGeszY -mviaDjsmaa/CLVvBoCK1gXLqc/R65+ZV6JIzTyzlwDE --> ~j6)4y\?-grease 0KF% -6xkODqF9GTL/jmnXMMRMW2npQW9tAQydKOdPnRYO4BmpENEaW2sNMUXSonubp5t0 -M89ut56ZfIcW5A9eul/JPY62osMTlpqaJnllud3YWr2Ufv2jOGGYCCwrWRXwjnyT -a4VL ---- a6EiNzIGd2LSO0jB+c7dSSvQIWknjxvVuV0ZyiWT1iw -EV H hȅay{nRVDOJ0Cl4cn5_[v.7sqb}(f<ҋNۮ?Xv-(%k- \ No newline at end of file +-> ssh-ed25519 ugHWWw ET4RvPlyRq0RHTvTgA51jqYE3hukU+5b9Pqu6TUoUkc +xt/0GMZserIOWPXfl9/r2u/IOEecJc+7tzFD+QhtPmo +-> ssh-ed25519 UU9RSA ItHKphKY7MOaPcQ4zsUuqZFuhVoU0IYc6a7nxEnAs1M +IyxfKpwxoYSQdl0FzBZHx3SV2ye/CIWrNSf5zJXnuS8 +-> ssh-ed25519 IbXxfw T3R7EbqDIO0cS0lNbojuaxWXF6A7E58oMO/EeriqyT4 +k72DGwseD3gWOgZCBGN8kBcxXG56DScf7A5HSFsXg1I +-> ssh-ed25519 WceKOQ Aq02UlWhhy308Fz3iLz+l6L/kXd1e1PU+UW9Ts/gTDw +aVBId1iQ40Brqt/1+Rv6pRQPiOEcwB5Bi6YyKJ6EKu0 +-> qU-grease ,?V >0a +KZSxLSsrGh7/U54MJzoLhszWoskuQAANf60alfqhUumwUCEzdRReg1iKWbqZyppz +DVkEmoLGwrItSacwDNuqRWv1DiNo+P71NBp6SvMN5RLvI6JQsheMZz3ADwaYSw +--- HI/LInQ7KkTsG15JUSfVEeCwAutBqU1SxrfA+5dZwag + pH̝ͫpָI-23Smg6u@Y0yAĵ], 4̱=%.s=HZKR[MYv \ No newline at end of file diff --git a/secrets/ds9OffsiteBackupSSH.age b/secrets/ds9OffsiteBackupSSH.age index b18c7bed236ca9f563ec3f85145b3f1b862f0adc..c358a66a723411dd39f0e402f0cecd658050fe37 100644 GIT binary patch delta 915 zcmaFEc9eaBPJOArMVNneJlr=zxKc2#IfX;qa|pj&Qmu%~-TRH$!uMUqQKW@>gsmPwd#IhU@TLUD11 zZfc5=si~o*LTS23czC&jkD+_8e^sJIdU#fbTaamnhnr`3kz-_~g`cBqs;hZLWm!Rb zdTM!LMQCLtm#3dgWqPh@s;8S%ab#MeV~DYdM_!giL~vxFS8%#{L4aj$zL{~jiC0eY z#E;_j=D`JyA)cP@9ub*I$wo$n&Pmys83lPBu2IhJd8OVJMb62FF2Mm&9*)Ia9=X|} zk!ikRIcfP><$e{(i2*4_ks&6@Mj=Ll2JXH^rOC;;#)e@gmf4;lpTud^)|l$17o{c^ zrz*HRBxXbx`a~&I<`;M&6?p~t zrw61aJDHUxR^%iXN2Z#4x>h)vl=>wW6_l1+`UT~BBzh(J<>jZj26}miaz*(D6;ZB?Xx}mm4Q#N0s{&bLr~pD!3-P2f3!W=U5a31_ee%Ipqacgp^eJS{jw*1l9W{ zmn5f{dlls*nTLA>mUG2_VJlN83r=@ciB48t5v-l?U;n_t>z4uxb$YpK((k)3OURW< z6L`cilR;BB%XGcrX16)d{vN85etq+y*p4ZBoiPU{y%hI)I9ETs>&u-RHXS!Ee&{^# z%XQwawXz3-ZcO-gN=M`D6^GmMc@}r|&mHfsf3fn<5!*Rx94A?S&d=Pi&$#XTtn%0U z=AV(C|J2{#c|qKZim;>M?dMrGJo;g}`1-lGW(Isw$0ZktieD>$*Y&IdQHymQI^OyXq`u({oeJLMGda1B0s@HSlv=C0af1ZDuTYjopm3xj?dZck$KxD4DZ-jPAPI0P%0hg|wLUD11 zZfc5=si~o*LTS23czC&jv0rMkYhXoHX;EfCxv`~xo|{pyS&EsPk+)N7L0Vo`RY6ol zWteYPfnT@@S58@;YmrYqWLatX z#E;_j`KcBWe#If$83s|Qj^)9YmL?_TM&22|o_;xId6C5#!3M!*?!n3W$p(>J`7ZvU z8D7Dr7A}bq{vPg*mX)O@CQ;f+xyJs58M)cvk=oi8*}lo{+7+Q7pJ-(2rWd6q7N;td z*eXRUIJ=~}6mw;oC54n1r}FVk#1eHWaM)~R+X$NI^`b7Dr zRb~_gWu%z9WF(eXg!)GMd8dTA1yD zIhq=>XBZun=+ln~zdPy3!3}TOSsu6V6x{O1$$nAZ>nz^D;6U3ym&2Tk_U@5h+Q0nA zr+SX$LxS-75I-FazL|xgu;Mw8my*DPF`|;X& zR_G7ENp7JJ`i&DxW}8$;ZLw?nFfU=>ul~F5t>xnC=S=Ya^(ILVcQrm;Sd)2@XJO#0AGeBUIIKxgIoM^&ZvEaQy5iog7q?<2DOWGrC)mWs zm!IXv<70Us;?mk+I}?_5J#RbPcPJX#-n?ff(BC1Quiw2q;ELiKG0mHdhH455=T=`4 zUQy<0m>YOQdUwXde{+APnBJC-ds=T*`kpN+tVFGI=d}%gKmG_&-c+>SZldX&rIY;s z$6cOhHqT|Ip0>MHC!?~dYgNUa<`UN~!{c&KDjuz!mO0f+dH04rj&2WMTJF9eK6}d} Von!mmj9Hz%>uSKp;F(J$0N)o%gxl!*E_?{y`a?9(lVgj+pMynm`m4Ap}06h zH#Nn`)YQ;Yp)}niJiJ_?z$`z*Ey>?BFeBg8%e=rN*R9OgEh@joCBwbkA}u4d%B;vOEx6DzASJiLuQa5fA~CqkEg-cjHz22c z;z#lNWRq~8aDNj6ix3Oyy)R$_&av4bErN?Zoh<#G^38qC zEGsMx3;aq;{roEpf}C7^jkL4#O})y(Jw6MdPJB zma}|XeQfeO=^Pj38heS(16Sv5Sf0HmaL?6E%kM6Dw?^pA2`+VgX`l8FrQrgPN*5Wp zExWOrUD9jq`tpY0*_SF`gfRxLSZ{mrb8yqEJML${pOzIpo07PDlVomX(a+}qb{NXY delta 587 zcmaFL(!e@Fr{1qT&!r+UzoIP4G`Gq<-P0n{(jp=~CABawsMOr3$ge85IKs@wD7VU> zoXcF>u+Tl+FU_SW-#fgjEUz%9I4M0h%s0g>G&0vK!_X9#2_dsFfHGus>-w6qbwqM z;z#lN6#XFA%wRL4EN5SBFEdO1((rUg&!`l~{GxE9Bv1XYoE(FQ><~YTWTRxRa9^J^ zU&km%-~95jJhSv&CDPYQw+OMPmKN_5kU zQWJ|)6`TSieHFZ&xx&ICbIX#<4MPgcit5V(@4E(&@ zlblLiUA>ci+#>z+lheww!o#z3%0rV&iXwR%|DuPn3u|4aU;H$nHSoO!-);fne8 ssh-ed25519 WceKOQ M3py3B6cVKa70y/2P/7IGd84gCnFkTuY5Eav2FHEdjE -3iODa4p5fxmORhz71XLov3EgVdCz3OXw4JFmcvryKbI --> ssh-ed25519 ugHWWw tORpqcjWk9OGNK9FU/RIWrLFpgilsRM10yPR/289F0c -nS8Hh1JSkgDy4Wzwt4XegwYvIrkCpm2gVal18uFK3Js --> ssh-ed25519 UU9RSA +dC9ZdLbum/pAsXCpqmCWkR6A9cRATSKiQZt9YxonTo -oJBIT5lM5Aqi3DB1lF/bIF1fwAaSHyYQCl1iEro9kZE --> cX}4N%W-grease -DphAyC4xwA7WxoDZ1fzuYajR+Pkn5ItjwWG48BVltOJ1qrHJiKxvpIXOZsfm/alF -baZr5hb4ZM9TG7/DiJ4WMpE/B9uCVyBZXWZOEng ---- B48/JaTdKI8drTxRmNeJD31a7sbyAztdpnsvk8t91GQ -GU8j-ّ8٠EBhAʨ8!YY)K \ No newline at end of file +-> ssh-ed25519 WceKOQ 7WC4xzrGVJ/QxJ783jHIYc/dE/bpISFoBh0qkydAhgs +E23G1Bu/5y/z1LGWTomgwrWl7pkEVHKhKGeVElThiW4 +-> ssh-ed25519 ugHWWw 2qsCCYr3hNKA5eFtEeq2FgHRHYAbVLtQL5vpWq4Zb2Q +g73nqZivYbGG32BriTXscR7wGNIpvyjwVxilfFJkAuU +-> ssh-ed25519 UU9RSA IV6dk4m5KDww0J8T8+7UsElqI/a2/FJh16MgAreMlwM +ruI+CosRy++bV1vASimIic7fVeKad3tFJ+iazJoOXvo +-> F`W-grease "?jH>\#2 ,;^35J d8E@S%n OwSYRTN +f6Yk3eBC2OhWTw +--- ddf26adLz8aelGPNJ8NVn7OXKOhC7qqqegjN0T/2UII +l;ϟ:3xA2B;Y:`JxHv;M zHO0u()X-9)G~FXSyj&qK#nP)VvCObM+c?xK#NEW-#kDLoBcPzn!rdbyv8pK9AlNW5 z&n?p}(>RdJ(>N+1J1omHDBRFQ-z+aD*DNPID9SLzD<{*p*v-*5!!f|Iz}qs)Im=|? zNAY@J|8#@Y%JSsY5R)Q(!vF&}e^0ZV%Jfw2;3Q{fPyh7D#8U4}QFWK-?Xd`FN^a_uv{y#fk#(~D9Q zi&GV9O?0?|N`nomGEK9KjY1vWy-h9k>$55&!ji*{!yNOfip(Rk%Yr@1LS2l@jXh1x z+(RR)xO8=O6{0dzfY~=T(J15*fB1X9F+4ftxFBVFRJma|je6w`IE;gCI8;cw~F3qpo zQU6uYmaVe5T7AE}eQx-z=9l~#{=I2iWo#1n)qmBSHPKWuTwUwi6#ir0eUscJyjxyd zeyiVW^XrI{m7>7cM;`@zL+-~U8ym?Agiku8<&exPV5}#&^=9Ys$cti&mGh#ScRimo zr*PAs)F|FVp^O!o3wGbp{L6Lsv8($revMU$8u~`pmIWoOSe`h6S-NoY_V1mRZ_j^H z@>p!|{O*4}S3|Yf3&2I{yuQA=_z4CragRk`O^?a|}yw zwM|OcI}weHxp}YutvNW?uZu;j`c}o-f*>n7Gqb)8DY8+&4qg8gQE=x@HPgOQIj(J@BHo@m*Zx9qFH^ zCNI#d$ofr=AKa6sf2Abj}C~^cC$pbM{d9QORRfvUgeDOe(GyUug9( z?9?gExSeKcH$}55r>wku*GGx(mnuKA)hm1MyDpL+XU#rWX7lEnM?vgbCBs(Rh8c%0 zGT+jXns@TnZ6@Ux+tdqLFUxjZfBEu6K-{rXsfiK4j6!{tx|+LRUYxm*{Y?aWx0iNq z+tm4Ci`|u&>pv^serq{FChMBsELMr~_4TvumWlm(o@~tbd$MrP{{Ztx2e%&nbwm7J zYrW#XJskH1{E~R@mblJ3sBQ1R;emeik-sfd6il-8dc7Js70X39&WMSHsB}&3(UZ%o zpV@V5TYb;o!tCxjEUuC^x_vqq)c5BaK9%XbD(N61)Bf;&=e)JpaL($b!*4+We5-h3)f@5KZCY@7d|kA?K#dRyAWH!t~|#d~3^8{3V#PqEyY zHh-hY9fgHf3*uLGddsXyV*G#U|DWkOZ|2P5U0=iYw)fVNmV}m8-Jg$c%T=wu<9+a9 z*6xJL!_4*PX3V+B&l&OcR%om%x9c9M6^6fK>O8Div&`#ft=aNEj)kLG`*C@<6lc0k z%(1Nz``*_cJbpl@*q=$Mt@u)zyYxPdah|0Xm}i7_hp^7uGo?h&1PQH7<>ugr`V$Bro~0;KJvYB zTYbWzl~PNqvmRD?6?K(Y^VnTY4yteH-?LR^@tLM|>V-4B-uLg_9dS*EVR~L;m(A&) z#d4uFXV^BZZ`F|(dYmV1CU3CEbaIhO_LezIx$~E)7j5BMFSBcv`J51$rpF(bmRs4` zz1VwlL5I*JE$x71yr19Xo|t|;+V1B0(p~lGZ(@I+xZAWS;-Ld`^6QpB$>sAV)un`g ztMA|E-96#?6NkDbsSAFcP82+MS1El#j8_C-LAGJMeU~VYx9g_X?0+lW_nS;lzxR22 z?q|;$-c^2USeAZcd9|}qxQJav!C^$JOBF#HIIUuN@)HA>_Ahar* zD=jqBC^*N*FUTW5(I?lb$S23rHN(r@J;}T{$*jb=%q7GpCCD$J$|5D5OV>`JxHv;M zHO0u()X-9)G~FXSyj;Po%-GSu%P=X(-`pa=xWuh2*|jhuDy%eE-#9BNq{ykPEYaWF z#iYzKDa(Ybyws&4HQ&RmL|fa%FQ+i1qAWSJuqfA~D%~a3*v&k|#Vsr+sN5jZ%PoK6 zNAY@(+;r!_BGbea*G>c6CVE2HmaL>w$QnwsWNAI-4N^cA8kg$;C%s{RT{|F=V z(5RHaGNOHE=!~ESsjNC1~ojqLr%Z&nz3`2@C%nMV@ z^bOLrvmAqrO8pX(xt=_*OPy-4EOpkMldmmRuPk3Mdz-BFcB}I{{rec#Rm-ZjZHQuG zc@tRlx-R-w{nNniy#j{JYF*`5g)eoS)SA0W>&yRI=_$gwFW+r8uAaJO_VSIj<`KWL zL+d|&E|iRCNMm*LWc|oBnOj|0!}_ZM)85O!ecuNzmB_rlekQwW@zqaT|LDKWzOBAR z=^=B)1;e(OpR%t-LVv|(2$yk*rT;m6zb|r^eEHJ1wH(o%caue4{^YT)tTH{tv%M}* zcS?%f`ht!}&-uTfv-rN`QXALo#Rb2oLq zghLQo^TG5V77AbMkA1eAcz5;|CgGoM0vk%a!vEe_xqofUl%n%4o+@)ZW}Z449L?w= zFriZR>XqT$Wz&~O ze==~pr8rNjF>))t&lvQHG7q2{gWgkUAYgx zWps?soRG2Gyl`$oU6JoHrouV%>u0}XVhWx8?`&;?z^5)r*~ibBv+JF*D!i)hc7^*U z?rlA>dhhvVm)xhGKFVTpS8|Q9+4aRw_N#nkbk{6Pi+<-*kdww$Tlx6u|3;qk$M3Ft zet|dbPWhT|YzH>4Vp^K^_^7F7@+pPzuSQL+-@eYfEp}@|f^~9iL6*I5iWcPS?(ayxpvx9329@Lay zaQN^&g2lDx{igeWPW)SNoX7La3%T_0r2@OR#BAInxgz7f@PRz1pvMO$C8{bgPtIS; z>Z$uRxZP!~@}+tiNw2rotPS(`-aKqBC;sNfG~2^f59TZ`JggkX*|JFC2j{y&S;H9z z=IxIcX=4fL>1|^Tu&?J#U&^_m)--&x0`JMG0`@DiTctIMb)3Kdjr>+{fkh*E+R+66 zQ#0m7_ZToA)e`u7d-9j87vJTz{eGnSXYzdge5vt$z1D%<`M_ z>k6;d?Qh3t>!t5znEGc^#sA_h%d4ZJ-9EJMbl|93ul05=-!nc0k?tIU`dTI4=bS%zcdT8$=!vp2WI$*3Rt#6MojZUh12+MAE7CTDHg5xWszv z-0bP`0*SNk&)@A|E&6MpPC4HNhiiG#J{wjS?amQ>&*B;PiLo$OQ7X};gxROnEc@uk zO(w|~=4Rd2=$rFDJpbct9f$29)U~hHm^X(W zdk~|oz9piVM_x7U=DBk9ZLgQV&sLOvbGULreQ3Sqv$vDETEF)%p01McO?8X2);`8p zQcwF#zs1?AZvVqRQ$20|r|G3mcPBLW{(skW_-OnD`_hE2_<5>@7gpyr)ZU$YFXGP? zWnF0{NrRheTyHM_;_SUUXW^?`K~J9v#(QU-Pd}k~I(KUSQ?(8DtBcKdY4CCAGVdtg zryO^yK%hIJJaO%oY_Sv5&Mdb3QutZ3K6JOpn_qvkpRRIPt-m@to_F)qN|7aIF-@zP zctnp*G?U-CX*HY5|ANqh&vuQIE?Ybio&D)i{9Q{f!CsBp*}udyHYD#kqtvs?_*RAW KgsD^C3IYJ5R>kB1 diff --git a/secrets/gitlabOTPFile.age b/secrets/gitlabOTPFile.age index f2374db6a722c60f99ebd3f212deb049aad8cd90..03440c667cf6f8ad1e9168030d720ef6c0eb3894 100644 GIT binary patch delta 526 zcmcc2a+qa;PJKv3S+JM3pQ)Llue(WsdqkdxzO##)scAu=Syhy$pHGC7WtgRti%D>{ zFPC$y|lc{r}zF%6Aw^Oi3uv?&$k#T52fn%k9Zd!_WzEOUt zpG#0gc7(GdS5AO)u77xXw!Vj3L8^ahkyCbPNltl@V`6SukY!<7mO)~0v1LV+d7g{! z#E;_jK|TS6m0rotX4-j`xxU`Tmf=zUF6AcLA&HqTu0@&oPJu!CK9NCACC>R=iT;%# z!6{`16>e#H{(b==*+Fi>m1%zEzJ}qM#c7@ep;`LrNv0;+zA2F)pV&p3rMjt<$LppS zr6v}qavA3aXlF(xnVb2TXZxi^n7Ni17S-ouC2Ln?COPKm8@N`u2AY|tCx%yqR~qJ| zy0|%)bLr~pDmVvtSQu7Wlv$b@J0=^LCFuv2W>y6mdUzV?TXIL@2Kf{xrv^44%pirJHK4<$CVXdpRnC5V06e16r z*oM8Vl(vu5@Ov`#yxhsIa`rECA9QV99$B<^1AnDK_J8{eOQTO@7{7~li?%KoeBXQh S=q;np*5sfAmiwL;`T_uR?7Zy& delta 542 zcmX@ia+zgjN3NHNKj!#fq`L!Q<=7_ zXJBMuo`InSSCB=pSypbMYo2$hMQC}YuStkwS!KAVqo=QBRi$s0XLf0zzJ7Ujn2%TJ z#E;_j*=eQ8nVwZfM&X6UxuzB&PWnj^RoUt00cMttMgB&iIj;WR*?E4xWiAF>9=<-w zg{k@h>CQ$$N$zEZKKVI020mVX`9YDc*%28=dBslJ-bH@7sVT)EpBU+;7o{c^rz&_V zlp8AOx^orz`g-Oj8>B}$`X)!^7*`Z&``4R0nIu=Z=DC?hlv-pP`veuZngkSQTNLNI zrxbXmJ3E&cmKRpJ<))Wrn(6Cvap~&nDtHIGrUw_67a5j0MP<1p2bMd#l^SPNnfsL# zg_T-bmX`(i7*?1SyM|cibD1*SX^HBr7Ad`)>hrLqagU5;ZLdn4#@V2W$Cn=DJgVqh zzN2hzo7wsQ_imqY+gt2t<9fU`SdKl~JAzrkkh|@b$Lqa2HukaKEfzgWO7=0Kv_v*kf&#bxqEIzxv5W-cZQj_QE`!lYgD#V zD3`anWmZsCWC}6`8(%0e)pEPNfy4m5#|==AMQ* zDG`NU&KXtuiILe+VWmL@9zjvz6*=V@c`jx}rLO+@p~*q|0hO*GpJ-cGSL>!1r6v}q zDwve2Ci;hGDVX@Dr$;IT6{hEL1sM1nmREX4m{hu!J6Dz^x;uvlxfYs7 z7<&|X2Ad^@q?_dV7lxrP*F1&0TFa(U`ltT&r@Hn#P<@Kl?Pg7aD=?pe)O+pw(1^O4wHZWzI$>mibYESwZe@1*YYm1-=>Km7#{|?m-@v=II7p6{P|C zVTC~{!G%Tn1?J@;>6Q6G#TgZbRTfE}p#>#A83lQUN!}$Hrj>yppC~!zXgTPn7o{c^ zrz+SeYE^Otdw8dKJ9!z0Wh5s1IJp^{8PpdUr}|k|nOSgp=w2BuY+-^EV6are5E_omYYZ*QzB zz4!U@s^ednca<$<_|a?7!@jZPpIhlIHg*n+c8`!~hA!^BfbacWiQ+l&dWx%g7yelL x;wQtb`HMsDc}~}o%y{-TyYkOA=eSqwx9 ssh-ed25519 WceKOQ DRQr3QCZ5LLySeGDmKrqDFrJ5q33IKD1In878dEFsyA -dPyzC+zamdwnyLIlbHJHr8hS72TEQUMGWbCehH8O8Hg --> ssh-ed25519 ugHWWw soOwkh841qpnWgcirZSEHk/KzgEqSRWQPO9w4hsCcmA -b/bLaU6Zn1owqP/ONvEJMys+aeU/pXXSJa2T1FppgcA --> ssh-ed25519 UU9RSA dsSrrUht6Wzplekaf4vhtvKpGwgzlLDsSFZKsvWqiiA -GHVmkuN4pJ0RIg11HXjQmzWzShbGAsPDSsCPNBKBQ8E --> ;(Ko;&-grease H}A R -RzUJa+bwqrE2S2dficADVL6Krr85qm7Iqskw6iPLYbZ6e0JVgMsdHV0/6Q ---- oMxnaewPxjwhhxFOJEuWP2NzyZDt8gcfoZj57+AmckU -x¯ p=ytU%,?E]Ʊ1m̀nU.I̸Nhs}Ͱ\V'U,yHI \ No newline at end of file +-> ssh-ed25519 WceKOQ 8d8HyUJjkB9EOGGhEZVNfynvk3eKCantalgxdmaLkBo +y2KGRQLZe8Gvu24PScvILyL4vV93FkexYwn6Ok5F64g +-> ssh-ed25519 ugHWWw pkc3SMj73eGC4NSIWaWdfGXLZapuPdIfFXpwEFMcMR0 +2BFAifWKMCD80VzZPUCQd5M+GxVE2G9Xv+t1yrJhC0E +-> ssh-ed25519 UU9RSA cmoqVr04Ib1/chCsf1qawzenGIWoWBzTJzEtg0oP7hs +cCuChiH5SroqPkfn0xxwwzMMO81TVXPIYteWsz5IyH4 +-> #gh9HH;k-grease +H9DftVHq+s+eHCPpAOLPMDeolhXZFL5p0uV90lkIFrn0nynT930VRyEDG9mzd/JT +ESNojwaJXiiV86NWXerwm/GTzuB4MjBOnvbjPSuYCvXONudOf+4do502S/6h5sI +--- AOpthzyHcx4saVdHISAc0mL2NXNdplXL10vbCTt2YSE +(3U%x0Y2%a#]=99Ssj$2y/7)ZǕX]8[649oRZ+ẻfN \ No newline at end of file diff --git a/secrets/nextcloudAdminPass.age b/secrets/nextcloudAdminPass.age index 6448561aeb48991cfc38059712c10797e15191b2..91f8b1e52d842005c014cccd62fcd79c08c232a3 100644 GIT binary patch delta 461 zcmbQr(#$eJr`|HRAfzNG&Ct;#H`2q**C;6>Biz|MIY&Rg!au;%B`~TWEZoS`C$+?> zn9DUX$TUCC!q+6HGN33tFD%zNq9n7tAlSRoAkD%x(7Y&8J0mnL#KJGpmrK`9p}06h zH#Nn`)YQ;Yp)}niJiJ_?z~4M8*rzf*II6VN(!;Yj&CMk$D=g9?)FjzG(m68KAiyut zQM<4-$T-ZGDDY7)GDyK}_&)K7V z;z#lN6z60=-*WAukR%t6qyiu9z~D-M=OD+TfGmBZL{~?D3!|t=*OaW1lqv%*Czqhq z0+%R#6aTU>eXof0LN~9_d;?c^OTXNd%xuq)OwTgs3`hTB@BCztPn611(v7RabkmDc z6N^(7%naVOjr`|lQI3wLJtJE_xquequJJ2xM)GX68pi)IYDpJT=le*{!0|qtwYPEH%$F#ZNmcJ21;EL+f)g($m~iEL}r1l{za)WqUcg`kQm{iv!S1q;7;1s@9=t`y(MjJ${l_wbNR-}KUw3^%igN^>_; zZ*Tv4ldPc7fc&&<6UUUi;EMFf{7Q?|OurnH$P8bjtjdx=l{Ah|}X=S6+M{TSmj=T~%zUuU{8Wtz;4g)Fgx8y2zD>sDLu)^HKB zS2}I8+vl)nMNM?$fzwNW^m6g^XYD<&^I1JgPNAYd&r>gpEjLCf#WwMg@YDH!*9Bhq m75IME_Ae*w5+ohfJ0>-%&y>@c{H(b8smpE+hRkV4uK@s|+1}9r delta 541 zcmeyuvX5ngPQ7z}woypAV^~$BOHol^X+g1jq_3q(np0+ltE)kIL7GKCzF}5+Kyp~Q zBbRxiZ`z)}+zkD#PTuSEY4 zGk1^ryfWwDi11?1$YA}*z{14Dg3yQ*mr|p`aFf!ca4vTvk1Xw=bS_<8T?Ox?a95M` z2*VPW{KAOb98+!M6qBsfa%b)E5=(FQbf>Je)CgZcU;pf~d@lbFQ)_R`R4ARapkT31 zuGxjQs_B>KoUwUo#yGJ<|K`uLKfS&b@!y!)u(JNiIs+xE1i8eHP38>;-<{lfu9_#p z)FIPqPZ@hr5Uc8*xhj37r~dLUJpRmo<@Q7K68>$}h%4u2xm%*^I>VrAPxgZF%Za>- zOH39n?0P1ebLDkqdJ{*KA%AqN*w<8cyCWv&T4HMq+me1Mn)@CQ`Ca;bJ6pjF-YD7D k>1@JFYE4gy{q}2lGCSc>Qu>;hHl2A2pPtSwt^4sD03MUh6951J diff --git a/secrets/paperlessAdminPW.age b/secrets/paperlessAdminPW.age index 46072a17..da31a8f8 100644 --- a/secrets/paperlessAdminPW.age +++ b/secrets/paperlessAdminPW.age @@ -1,11 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 IbXxfw R5AD+t/S4rz3t7F2YVMHqRtXwdkaEv8A5tMqCRoT218 -Q8KzZWjuxPTkqCY9s4hkSb7ijVk4iQ/174+kasXf7cM --> ssh-ed25519 ugHWWw FSmejSaccWyUa5ALkxLVC4qtPU528TAp1Q1tijRUEzM -9dc3WgC/3kSK3zb6uG+3gWNCli1tAk0k4K4o6GFy9WA --> ssh-ed25519 UU9RSA 0283kXKNQpMa04ZcDcD6M4ln5avF6gw/3qh48nYhemU -r5PZ/EZEzjp075i5FUt4iQXf6OkBr0WmDr/YlGTnbko --> ^E&)-grease O.r^p897 -p3mQhe+BojKl5+Gvpxy6F0BZuLWEY1wW0ybKd/RITiXZgDeMhw ---- xUsLTuxsE7ad8k2/o5i7t4iQPIOieFqHNsWOXk/d01s -쨗tx‹89YllTVPp DH1gz"d]'~t*h> \ No newline at end of file +-> ssh-ed25519 IbXxfw UW6LqQ3v8J1rqOSHizL/OErakPHGkNo12Bzw9YMDqSw +RXaNB8L4htMSwH3JZlUfetrMpZeJVL69F2zxVEd9dJM +-> ssh-ed25519 ugHWWw otkAeu94Olh6kSQJXSBQKnEP6elPRElQhrbkttVpHxQ +4AMes9WPXIJ2wlpx4nwaKIN483GIyJKbkKK+YFU8FC4 +-> ssh-ed25519 UU9RSA L5nDWEXhWjaLjpbCF1QiPjzPkvKiDP9b2Km2jZ0cTVk +Fwy+lP5J06Tl/eRfcgoXBiqRWU414zAJ9OqW8sDx0rI +-> -zj-grease C2W:~L T +Iyrfxg +--- 2JwVqVwEC9JO9O6jUnfZdi1yrR41U+jKyYCeeAVv44w +!K➉/qeP%e{%d1BD(R_T`kWIF \ No newline at end of file diff --git a/secrets/picardResticHealthCheckUrl.age b/secrets/picardResticHealthCheckUrl.age index e812f0f954a616c6941fd72dc665eb6f052908c0..151040374916c956103fd7521ed5270a5edb4c79 100644 GIT binary patch delta 568 zcmey#@|I5QD8}8X{fJdewv$4c2b0kQ+Z}oMPW*bf0*T2**daA84aa)Do{wx?-khOb*mXmW{fRcV>Y z#E;_j=_%RH1{Hy!#fA}u1|dE1!W|f`f~+(xVe?4Ri!4n1Z8O(I$F9%WJG!<8%CKrdYL7A<#?GC zR{1A~Wca1KWrcg1MRMut>MDenWT!a=hx%nWo4I9rBxSlgx@BY=l$V+NMwU2cq&sCe zCWjaKSX!ng8oP2`%~K9iuPvG7+11#wPG0!dq>>GLOqQI8To=7)@qTHRdhUdt&(@q1 zwtcW$;S{ z=6(i+S*30+?jDBurNt42kv@5D#^!z*US7clp5al3=9YP>DXyL%pOi%D>!uf_CKjhE zctyl21Sn)h);Lsim1LG?WSAR=Rl1kDWY?RPxOkTtyQb==R;7eRmZy3LI3=ErRxXgJ4JYvX61TE zr6u`TW||n7RrrOKg}E5`T7>19R7O=9hm>*Y>gp;~nPr*!_$5XqMwylyq?Tm_cob)b zJG%y$Tl!Y|rj>aG1(%fNMHGkUYX|vqP1< ssh-ed25519 WceKOQ k2R5Jitq8cEQPR6XFnucyYE3BDlBTnXeXakig5Rb6CQ -aXWMcZDMsC4UqpgkUywkOuHGTb5aeTHvpKNjxEUfTDo --> ssh-ed25519 ugHWWw 0CCoHYRYlYq5wFt8R26y5pSfSqTQzcR4jzdWl2E12TQ -6qjep1dn6B5DA2lcMZXItnAzxE2eHY/XSJYVyDGRwW4 --> ssh-ed25519 UU9RSA CMo9lkcazC9TXypP/o/majaFp0UP++XAbh65TYvEiDo -GD1/sNmjRM2+9RpPbCMoMU9Q0JQb2jsjji1Yt0+LR9w --> +!c:-grease zi]- eO\* -nKAD5+pPHB3K+HtpEHA+bDBG/P9ec6pb ---- 5x5Rpg23SqXQK/sSiUNEZ0tdXF+GxgBSTWVSbIOmmNw -IXnTBth|XwmӺS=SrMC萊{M…^HaWi -;} -,:t=rC||h$ \ No newline at end of file +-> ssh-ed25519 WceKOQ RwA4mxUnGSGTjRzwnsoKl3X8EpVwDSF/e3jC2NkvfDY +vIE7X5qYCK7ndyu4JcKlnSOIpHAmHBMW8zMsGHVJ0F4 +-> ssh-ed25519 ugHWWw NETKlsTyZsvJVSO+vMAnR3bD6j1reHyUA2QXpzRIEhM +qh2ricjY4XgRYnj5pROo9URUkgy8/6/SLSkenTxNVnE +-> ssh-ed25519 UU9RSA E8dytvN4FZ7uqDp6b+1jD7DcDisQ4mQhMrorHM9sHno +9YbTgKRVd7quVbhYY1EhJKFR621ajrflg5Hh2bHJqwo +-> paifQ-grease 3! pvk7' k"; of-g +5eXUYmAl9ASz +--- 1RZ5gqCnISWu2msk5KN2F0XZ76HC58y25g8Zt/zLKAo +oZO$P{"}zTl/Tymz:ȤqB˭"s'帔Bz/k5&@_n0#x \ No newline at end of file diff --git a/secrets/picardResticSSHKey.age b/secrets/picardResticSSHKey.age index 0dd651f57e0c7d683a76446f397003afa4b866d4..83c855fed9d3db2766133a75011d7cf87a672cd2 100644 GIT binary patch delta 944 zcmdnX{)l~oPQ7oEc4%mEX<$mOuccFVskwQTiKT~Unu~E!ZeFEto<%`KP*q~7uaSjE zIagp(aDbDkL1kcIP;Plpd0u9Tds#(pNm8Yme|l(AYEq_mdPHQluR%yfIhU@TLUD11 zZfc5=si~o*LTS23czC&jPqJHfkVUbxWqN+GbFqJAvYTU;sef5&X^>H6zuB{{9}$-lgICQQ^KO1y$Kxf##-u zQIX}oj^*iT?ny+Hht_);mbeFKYo|FHCOSvBxaWo@y6O9A>xa9$ zm6ZmWS`?QTW?1T*X8MM675cfPCRbHhlQtq?8xx>j#)P2W2~#r5L5V z6`5ptgofvPmFSl`rJB3vhNWdC`A3=h7*)FEa}`DSMsVrs>MBHdTZU!_8w6(gmDU%B zL|6nBxJMfKh6Wp%S6S#=WSUjFxw|-~6q^KRXh(7#@V)8ceKS8*JN?754y%)@9+PK^ zcSR{@9C$M?(fCTB#Pl~M6a1>AR{l)sU)ippcOv=Cl@v394St_Ee!ZOe=4AhStJr0? zuQ-2m3AwoCc)!i(w4?K08fsoiy|s1W3Y(ktK~whxzC3@ip7Dg|;dKlAbR?Qb5JAuWbd_A_xckGW^TySS=1uR& zcv6<=Z1|-9T=%s%{LXhc&csJIZ$3I>PV&XbxJd`N%+8oHCvDzsTgt=rJ&gaf!{i!< zTRYE4D*D{kzkgIK@>YMD{OcuqW>_|H{n}Wm^zdrKXWsQr`4cVIzSi;(oyF0WyJN*c zzuHfB%&Se^1Rfv$w&9%A@7mm}M;+|me0;bkX@CBTTeCIU_ol_?U07Q)|u*(}{?oc?#c o>cu48VFqq~8xk5gr( zD_5#Vp-WnFUa@~*SiXs4YPMrulBscaPGN{sR9a40d1RQQSypDTL1~I{AeXM4LUD11 zZfc5=si~o*LTS23czC%&NL5a@qn~%Vhf|bCmRC`JuA51QS!9X6NkvtFrKMxJhe57s zfUAF6Vo`(zm!VH!W{P2IMo30+c2IG7WkqO`aaBZWre|VBPM&j)M`}^Iw~J+XRhYZu z#E;_jX?Yf9-ueN~MrE!=F76Q-X=x$pVa}dK+K#Ce#r}Tgsg@Q|rI{(FMTQn!W&VL) zQT_pC-i1L%NhM+C208f^2AO%8j_HX}{)VApE{+w(mZ|y~xrSh$1gI#w=%yE?CKjhE zcyT#r=2iOUlv{=vR2nDw>br+j7zbsB)CUClxcTN9q?sC}_-1D%MVOiz8@l?J6cnZh zR5?0DWtcc77AE^R`ns2Kl~sg?y61*^`Z<~yI(qpUWE6R72S$}UFVk# zczINXxm1SxMwK~w<`{OX9jo0t2gY*c=w)qJ!0uy_9KVhPnB^8JblE5aYHOui$wWZCCwPqK`{&u-@0 z9$~lqg7RAYYVfV*+ z^s|;{nnL~6#FGrCc3oFr{%z|iNu_^ByVcYWYKv^|WIuf2wS{4|?)qA>r3=?_oR6B9 z!o4;kBG529V`mk|J9BQo-+#qF8$D-Ct6t!pK1U#FoxhvT!~JFFCZ;v|*fsuHe^e*3 z`uZ9nDUqNRi|^aC?THq z$CMuqUauAwYj9L>ua?Vd?{fCwM;Gc=syixe^))~1wefY)&wUSWWeKq<8$SR5F(z@> diff --git a/secrets/pulseLaunch.age b/secrets/pulseLaunch.age index c30f40e25713372326c5d7a26fe1d4195f2966a7..3ed81823a8a4d35d9a1038e8f306392ef4e40f16 100644 GIT binary patch delta 941 zcmX@WewuxPPJL>DvzeuNgs-nrc2JO6PIyLTM!9}idSrojX=-_TrJJi^nOAv9M6sEX z30J9Gv4>AkQdEA9e^_yZxp!8GYjHu5MR2mSep0SqPIjrcnWK@LS8#DvIhU@TLUD11 zZfc5=si~o*LTIREP_Uyyc!o(7jl zwpp=PZgRE-S7DiNc92=Rr+<)-hjy5`Z)R>rwt-hhv9@QDiIY!wPHwqDs)eFA*AUmth+rol$JCrum-3>( zFpF~cbQh4brB5J$vN| z*ORY_lG63>p9^L%iXO;zdvE{t#d{~lPtjf}eP)x(1!j1jp8S8(_JqX|n%;l+Fj?)6 zUfY!3c}w<1mG|>~Z|g%P7Ao-dE;;jYj>PN-vYQfi9u8}t-N-K2cx5A#X`vsN?K){* zr<2TY;@fjeI*AG_q7!}o(NUryfoA4 z)58;8B2h;cgjI%JPJRFVNKoD*hVq~#CZX8@{~joJ&E3lWZCRQ4qyVGmL7!@5kNj9| z{7W>!<8yGp>&LU?*2>h@-;k8)_;X3{b|>HayRANc{t1-{c1_mo(M&IuSGfE-mgKU% z>arip!LO1GMv>;~PQ6Kiqj^qXSV6w2scEH?c79GuMp$BizpIIxc}`-5Q+al-iD{UJw_}!j zC|8pTBXGS$2t2WJQ&iYnZEHc(O%sm}PKPm1ks;r=f+fe^G{UK9{bYLUD11 zZfc5=si~o*LTIREP_UzdXIWCDxrcLwONDE$vv0V!XMKgYlc7g?QiZ8$Rd!x@h<92+ zML~sudq8?1S9Y3tdWK;@uu-maRc2UWQF>TLNmWQzsAaLKk5hP9Xkl1owy8^mvA>fi z$U19h^MvG(lqlWwqSVCVRE2a;LvNG(+6;wUqq4AcuH53>ib`!K3+JHx@ZhSX{N&s; zqlol+4yPz6KgFYK$n>#svBZT9ZEk#tkC{Ct zZaLa9&2z72se{aeNllGX_rL6zAsUf#pr_i#Y5J$LX`dgOiiwsT*O>ch-;N1Ed)3sZ zO!&4%z4q6pJy9%5IZv1^ED!2jNiOr6@LjOFWa1jGI}GQq{5Y2r>pXdf-&{@kjkYaf zU7XWjTB#wF2Dak~7LuxZ+CN^%$A1zdgLw`uT+Y?h1t)!38Z!KeBNDVrud}3qXi7CR8eceYEI%Ei~UnVd; zW<|u~uiy7(?^-m;=S+}ZSC~{##+`M`1pIEUzqtG5!MPKRS8n+mG;4jLHuv{QM%_~$ z_brS_N<4eh!oKkPW5uiA{Hz_c%Wf zoc+Ws>T1!FDJu@|%uAemLAP)-@434Tt9dsD&F|YB(yd;(*}<$JXKipC`_!lDVKHs( zb~oodI=pvtFiYIVX^Vb~zdL^Zb7J=9nEa1dRU?hxHk`Iv^Y5`whECoF;R{^XrMH-P eXPq#N{-(6|o2$Pf&)a){@^XGXi`mH|PznH_(v3|3 diff --git a/secrets/ragonPasswd.age b/secrets/ragonPasswd.age index 4fd0eb56..6ad112de 100644 --- a/secrets/ragonPasswd.age +++ b/secrets/ragonPasswd.age @@ -1,16 +1,15 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw +FHwZvsw61Oz94pLCZI3Hf0MnKVrvBrZ5NIXA5pABjM -741DC7k+1yLIOl9Wc4A50kywIrK3BCuKEVZ9fP0l/EA --> ssh-ed25519 UU9RSA V2/HDc2w03ArHLZBccHOUVf6851VI9DtHwch9niHXXU -B9d3p6R7wGQmcpthbHi3I0/HCLDizohW8EiPaYKsp8U --> ssh-ed25519 IbXxfw LlZkMHSKYHdTtJvO6VBybmotdsVU8yplstUGeMKiA18 -4bu+TDWhkeSPycYBBcPoai+fCP4PppgBXewcqXYem5U --> ssh-ed25519 U2IFSw 16fypyHqQkH8W1RjDlDid6wpGygBYCtgqKYIn1KfYEU -6wevhYdYIoWlAcJ9ykkixo9RTx9YJ0qBkXJEqX0DB5E --> ssh-ed25519 WceKOQ QTMaAnkk+4cNTi8A4SeSKVMXbVQ2Pmd5mqM3DlcXHSU -L3ee5gcgJnN1OdsRbYiTmAWppgPoBG2uGcj7UhBaDPk --> p-grease i|i(!: }G: -zg ---- a5FUpvshJxUeYHfefzhscXawq2s/IT5eKrbf+jvY8wI -7 ߑFFX}&-=Y|d ͦqܑ -RL\Z&Ѝцip.y^kj gFljeeθ2{qvn&fey@Iӗ"hh$"qXfYH| \ No newline at end of file +-> ssh-ed25519 ugHWWw Yh7yZR7Mp5TuPD3r33rFcSIEuURgH1qKZuWWIw5z+1Q +NgGop95qQuLT/liGCPBCgNmKsRjrE9yokqhpUU2dYQU +-> ssh-ed25519 UU9RSA ALeQp7EnIcGH5Yl5C7RWfdE9CMhvbzRXCjKXSzqi7gI +vDGWh6S4EbJBeVQIuPPZP1TSaFP9uoW+shEstBzxjFs +-> ssh-ed25519 kKx7Qw XeJW2U6za78lTMIdduUjgYU2NFQBWL0O4AQPaXx5TCk +4NoBvjshDWswGc90Yb58X9kDceZRVVI4h45N0zG6Xow +-> ssh-ed25519 IbXxfw VJJ5Ndu8/8L3iqFIMtqGqyqYfZCQVdlmBmsvEgwxkmQ +XnzVDYZ8Bp6gaiqujswGB+q+BtSF10PPpjWGVjC710g +-> ssh-ed25519 WceKOQ q58TN4jXySWTsE+K/3xnN6MIMLfyv/3wx4mIOCquskw +BMSVu3HWrVgG54IaTagQN4Og4MJl3d++w0kPrZ2qpIY +-> 2Wr8^uaE-grease 8 RU&_6KOI +JOg +--- KJ9TUBOF7kG3MwHQAMqIKPKNsIFrT6Ddb4QDJba8ZEo + MPo5^¸8"*:}1tL˔@ыtd7ZȘY/(]*Q% [w+A:$L'D=_1y9uMhZ0ǯQ`5dp_ \ No newline at end of file diff --git a/secrets/rootPasswd.age b/secrets/rootPasswd.age index ffb517755c3fc1a7011e05f39cf1f0eae7693d72..dd05a3ce3ac035be94a40b26578dcc4e9a8a9657 100644 GIT binary patch delta 817 zcmey$_Kj_VPQ6ifN_x0KaDks+M1ilNM`DV$e`ID>nO|OEL_krPV`x#HcCwpMMO8>< zIafe-QgNA2q+hOyYlK-yS$V!;c0rI)PC!snuwRl{X?k9&@u0=&uvZa0` zx^>y!73P8E3c-dRUd}%HMW$I9e*TqJB`J=E?k>rdJ_TOs20kV^0R@q!M&?1zdEUi2 z`COIBE};ei#h$5oUiqFCe!=b;8Hoj!**=;2f$5Ps20@0UX{PCxmL}fL1`|JuhgXCo zXC}K8B?spi7gQ#emgeVY`;_ICcw|MGxw-j=m3aFkIyxI0XzS-%aD`grhUe!Pdxt0H zR|Q8I>zDayn^%Sh8fAo=R+#4&M`am%2D@bC8HOhpPd>{iUY}WE=8;zHlvrl$=wy)? z;#Lu5>1r8O;gX(P>|L2#ROx3HVrG#VWDu3-$mQf(=$YhZ8fxrQm0IPM>6Vq`T9RsM z>{3{eQj+QGnQa_tq#si06KNV;3<@RREG<>t^rFnP1&F7x7iOEV+K ziZEwa!{VHJlk~zwgF-_~k78%P;^a#0B>zamL<8e0M{|QLqip{OON*39f6JUezg#~* z1M}qEG*d3Ke7Az6GE39&$~?aiqd)`gi1Lak*QzR?+)(q7@-+Vpr%J;BzZ?TDU0q!T z&n)Li4-co(@{o`S{~Ti{cjp}Az(P;olC)6YqTs0d$PgcAceCOEf5XglE;HSqQhs}{ zm-*E_yk3{5$@yQNdG*w%bGYLlN;q$-jG58>y*MaKJjUBa`%nGK%oU~#EyYKKBM&QE zi52m=xCAU~dgSALy*@_mO7IhbFK>I^{9Ql2oL|Uex!Z$+cUGdy|6bNjx&KdY@!8G` kZeJPG1ah+EM9&v|{fNnGk0Ebf{TmS$7 delta 817 zcmeyy_LXgdPQ8nafpY1X|AKMX<}%lS%{xoR(6C*X@076WtvM`esE5D zHkV&TN^oIhc6oYVS!0dPE=}@UzSO!mvfYtBbTn7LUD11 zZfc5=si~o*LTIREP_UyyP(_+{sf$aPrA5A3Qe;NCxm!uPX?U7rP?&LY=6I$iReDFHb46tocqEn-diWS- z8Dv;yXJt4AX82@9MCMln<@g&#nI?xMndpa=x_MTXPd>{iULTs3^@S7{hzZc(1=RA^9XuoS4Dw2fhi-aNYGQG!f@xBsewJ&UwL+Xprd5ugGMAfi zs*j(Ec93U%u4`agQGQxtc7C{ishgQ&aY}Afj!$q{Zn}$mc&K?%QI@$$q(NwVTh@|ySKZOags}BQjvF{zEhEDKp>Z{uC79I zT2fYCsi|XGlxdKWUr}OVlt-{zetBX>m0Oybd!%2zdq7oTX=RCdRlXzF;*^-Pa30MLg}id@4NmnO&pi&L+3z zAMXV2Xkv;mFt9sbD#G;9_thdV^VZB+FWCf2Wi{doLcY#lpXSEg*WoLk%X+ArO~dN> iP1XsE6EeQ)h%B+lta|4Vu8M4d3d2)R7GW!Wqn4Dx2cO|g_&=0a;}+6kVkrX zWVUN)Vo6momuHoJqHBPwxj{j3o>@gmil2)~zCn3Veujl}rdf_*PF7WtL3Ti?N2rMj zx^>y!73P8E3L%c=&IMt~WyzIBJ_dm)rQTjH&e^#JQ7HlXC8cSB1`&Ct=03(H*~YHn z#ay{X{+?dpIpLPho>e|orGEJ)Nd@IjfyLRWUO`0>6(NQBCM8*w;c1a>1`|Juha0$f z1SEU8X9XH%`ui9KX`2TJ2RJ92=jDb*gt?m>DR2io@8bxKA6&0E~C3?C!8=FOzPd>{iUSAww5$X}_RblRz;_Me} z5LoKysPC5&6j2r!P*&j;6crho?w4y4R+tfJ!evt6R-BksWDshWAFG_TSi zv!r74{Pe&;Cv$zSLbLMJ2&WK(qEe@d!s2A(d{ZaCKvSLOcPk*iZ9d$8E>+%5rmb(nO delta 692 zcmcc0_LFsjPJKy$fl*SCd%BBfaeio$S+IVfzq?PqVTeUwS%J2Rho4WXv6Gv*Pg!`T zCznO4t8<1+NN!+RlBIukdSPXfi+8R?L4jXts(ZSAzCna(P*j;;gpYBMCzr0BLUD11 zZfc5=si~o*LTIREP_Uyya9F-!qD5dyo>5LkpjoA-ubXjNpj)J|Nv?KUXkM;GiMwTa zVOo^2LAX;sS6H}#ez|u+fskHWyvG;gP}@X|yhN3$FQF7vdA zY{#G=V-F`cA7_iAaI*k6Gb5MM?22@syznaLl%jH@q~xTG0`2@r46hh@x&@ajgd}Eq zX8P!d=USMX6ot72>$^D@6_*s{h8Xyl`*~!Rm}iz|dWMA>r-oIUaFuG8rl#s=rT7_V z7W!3{IlEaH_?a6PCzcl(Waqnhhn1HGW;r>Qxus?}PCm;hUT@-NSmNT9nPHZcY*18C zl2d9NQc&qzoMP_mk?CI;;+`H9>Ed3TlwRrR%Vm_8o?aZDoadZbY+2$Hn5XR;9#)te z>69FmQ&r@nt)1=c7wVK;8D(Hz4)RJ?Zb@;fb+LnPdQoa(ajJrQpqjd4owKh(a70mF ze7HiGvVuc>o}H_wTQpasiLX~sgnM#&K)G3JxRZI2mthf?uCA^^NO?tmvO!jfpKrEz zNJe39RYZWNXOW9RR$5NDp?j{Acam#Zv3XE&lz%#x{N($258NVojgL34+x5o&*qe;v zR|g;GJP4f1`$hdovus%2iZ#)yUaSk)+ZlN8Fx~7csujXhES-ioUT|k*kMEexh+` zVo;fZPgO-Ems43%gi)owL0Y!Hb7g6+N3e61S5=CBnsZTbQC_}BNJ&z0u6am!WRQ6_ zx^>y!73P8E3fY-O=9b}(DUqqJB?j8=CgI^89^T>R0Vcs_X_;C1sm4C0DaG1VrA}2j z7F-^o&XsOemf8hnMMgepnVBAji5AIKhA9RG7Dd4&URA#CWx1Ya77+yj`4c~ihkFHi zgnFiAS9qD31e=&dB?T22x_Y}t=9FjUR7Ip$c)FAn1Q&*dnWs2Aa^;$o6oyrV7o@lr zndE2tCFZ1*_*l56mH7Inq?z~>rkMmL`lXp#hDM|~PCm;hUZ0+n>=Y4_>JyTf65yL% zVo>aplj@XTRAKIGQ5xywlT(!#oKa$2X6#m8&Q%)ao*rS5YmjDYnOB|w8}is^t{r1k0RGpPtOR~%6zZ%GWQHuOMR~rvyw39D&xe` zlyH5Y0&T9cpz;c%pzNX?(~P3ROiSld!wBuLWV1k*O5e&5Kkcx@stW(4aHm4o^pNln zi}HXh18ooOQ2#_OU0q!Tuc}H9Q`gE!gJOfi5JR{6^6+rOZ2!DKcdsG~bI;^R|AN2@ z|3GJ>@D!J9E=AsY<#?y}2e(?z>Lj_>;P~ ziSDEmx8HLL`fl90w^3pKxqZym@){fyRf^ax-n?EJw)NFQ<;}@mRXg_ z6 zM!EY}6{ZAuhlNy>I%RqphFj*Ql!a$_7MO)NJ707QdpMbottHzpKEGj z>JjLj^|RqR*d65<$87;38T?_c7Q9%>rq zZ)sVS zp?_hjcCbl(vYCr(N@-Z4QC3E&c3`=AV3BdTS%H7CqfteEig92$m#(g^f<<7YTUAbO zq)%G1cBVn4c4SeCPjXN}W!xzr_HN5l@fY_xpT8-8i&eFCqq}*y(ZrwkxHubH uBTQf3KQGztDJAgqf|B0iloIwQM{ Date: Fri, 3 Jun 2022 02:31:16 +0200 Subject: [PATCH 066/525] add daedalusvm to flake --- flake.nix | 2 +- hosts/daedalusvm/default.nix | 2 ++ hosts/daedalusvm/hardware-configuration.nix | 10 +++++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index 5bd71f1e..48cfcbd9 100644 --- a/flake.nix +++ b/flake.nix @@ -138,7 +138,7 @@ nixosConfigurations = processConfigurations { picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; - backuppi = nixosSystem "aarch64-linux" [ ./hosts/backuppi/default.nix ]; + daedalusvm = nixosSystem "aarch64-linux" [ ./hosts/daedalusvm/default.nix ]; }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index 51e5aa02..c5badebe 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -18,10 +18,12 @@ in boot.loader.efi.canTouchEfiVariables = true; # Immutable users due to tmpfs users.mutableUsers = false; + services.openssh.forwardX11 = true; ragon = { cli.enable = true; user.enable = true; + system.security.enable = false; services = { docker.enable = true; diff --git a/hosts/daedalusvm/hardware-configuration.nix b/hosts/daedalusvm/hardware-configuration.nix index 338adfa3..384e7e2e 100644 --- a/hosts/daedalusvm/hardware-configuration.nix +++ b/hosts/daedalusvm/hardware-configuration.nix @@ -7,15 +7,15 @@ imports = [ "${modulesPath}/profiles/qemu-guest.nix" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" ]; - networking.interfaces.enp0s6.useDHCP = true; - swapDevices = [{ device = "/dev/disk/by-id/NIXOS_SWAP"; }]; + networking.interfaces.enp0s5.useDHCP = true; + swapDevices = [{ device = "/dev/disk/by-label/NIXOS_SWAP"; }]; fileSystems."/boot" = { - device = "/dev/disk/by-id/NIXOS_BOOT"; - fstype = "vfat"; + device = "/dev/disk/by-label/NIXOS_BOOT"; + fsType = "vfat"; }; fileSystems."/" = { - device = "/dev/disk/by-id/NIXOS_ROOT"; + device = "/dev/disk/by-label/NIXOS_ROOT"; fsType = "ext4"; }; } From aa1c642ec9407be016a7dccd249d77f8e3cebdec Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 3 Jun 2022 03:47:30 +0200 Subject: [PATCH 067/525] pubkey for daedalusvm --- data/pubkeys.nix | 1 + secrets/cloudflareAcme.age | 28 +++++++++++---------- secrets/ds9OffsiteBackupSSH.age | Bin 965 -> 1015 bytes secrets/gitlabDBFile.age | Bin 613 -> 748 bytes secrets/gitlabInitialRootPassword.age | 23 +++++++++-------- secrets/gitlabJWSFile.age | Bin 2178 -> 2261 bytes secrets/gitlabOTPFile.age | 24 ++++++++++-------- secrets/gitlabSecretFile.age | Bin 599 -> 770 bytes secrets/hedgedocSecret.age | 24 +++++++++--------- secrets/nextcloudAdminPass.age | Bin 515 -> 645 bytes secrets/nextshot.age | Bin 628 -> 712 bytes secrets/paperlessAdminPW.age | 22 +++++++++-------- secrets/picardResticHealthCheckUrl.age | 23 ++++++++--------- secrets/picardResticPassword.age | Bin 543 -> 674 bytes secrets/picardResticSSHKey.age | Bin 994 -> 1107 bytes secrets/pulseLaunch.age | Bin 971 -> 1101 bytes secrets/ragonPasswd.age | 33 ++++++++++++++----------- secrets/rootPasswd.age | Bin 886 -> 989 bytes secrets/tailscaleKey.age | 32 ++++++++++++------------ secrets/wpa_supplicant.age | Bin 919 -> 960 bytes 20 files changed, 115 insertions(+), 95 deletions(-) diff --git a/data/pubkeys.nix b/data/pubkeys.nix index 22c88af6..ccbbd21b 100644 --- a/data/pubkeys.nix +++ b/data/pubkeys.nix @@ -4,6 +4,7 @@ let user = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJwOH1b6xWmEr1VZh48kBIYhW11vtPFR3my8stAHlSi" # saurier "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIuwQJY0H/fdu1UmGXAut7VfcvAk2Dm78tJpkyyv2in2" # daedalus + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWd5d20Q3bmme9eVHbCphIJ7TvP/llTxXvRT1xYl6xm" # daedalusvm ]; server = user ++ hosts.ds9 ++ hosts.picard; client = user; diff --git a/secrets/cloudflareAcme.age b/secrets/cloudflareAcme.age index 00bb4dbd..45c01ea5 100644 --- a/secrets/cloudflareAcme.age +++ b/secrets/cloudflareAcme.age @@ -1,14 +1,16 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw ET4RvPlyRq0RHTvTgA51jqYE3hukU+5b9Pqu6TUoUkc -xt/0GMZserIOWPXfl9/r2u/IOEecJc+7tzFD+QhtPmo --> ssh-ed25519 UU9RSA ItHKphKY7MOaPcQ4zsUuqZFuhVoU0IYc6a7nxEnAs1M -IyxfKpwxoYSQdl0FzBZHx3SV2ye/CIWrNSf5zJXnuS8 --> ssh-ed25519 IbXxfw T3R7EbqDIO0cS0lNbojuaxWXF6A7E58oMO/EeriqyT4 -k72DGwseD3gWOgZCBGN8kBcxXG56DScf7A5HSFsXg1I --> ssh-ed25519 WceKOQ Aq02UlWhhy308Fz3iLz+l6L/kXd1e1PU+UW9Ts/gTDw -aVBId1iQ40Brqt/1+Rv6pRQPiOEcwB5Bi6YyKJ6EKu0 --> qU-grease ,?V >0a -KZSxLSsrGh7/U54MJzoLhszWoskuQAANf60alfqhUumwUCEzdRReg1iKWbqZyppz -DVkEmoLGwrItSacwDNuqRWv1DiNo+P71NBp6SvMN5RLvI6JQsheMZz3ADwaYSw ---- HI/LInQ7KkTsG15JUSfVEeCwAutBqU1SxrfA+5dZwag - pH̝ͫpָI-23Smg6u@Y0yAĵ], 4̱=%.s=HZKR[MYv \ No newline at end of file +-> ssh-ed25519 ugHWWw hzFIXT4uWsSArNSPjVNnOClT+XOvE8U15t1cpZmPnEU +1AgbzdLevGUOgXnIKWVGt98zJEQOGC09zVJBW+kqcm8 +-> ssh-ed25519 UU9RSA r40vz1JJ2ECE69P/D7XLxF0IEU4qMsQ2JVPecU9PJDE +BmF5sbC6mOwI4SOzrPkRu3kKwXvpgjMgCKWo8xi+bqI +-> ssh-ed25519 yqm35A ez9XBAlTlQR/JMIxUQNTM+fblQxPCyzLWFW10k98eEg ++PMY6uLDppvMxWeFgnLQGA51uDq9sFigPoWIkZViWz4 +-> ssh-ed25519 IbXxfw IGcrOj9wkjZxXZnXiYXQGX0bjDN5eQUyo4oRl6JkchQ +OMHxr5B+w+8nIehIXodoCXd/Bmb8Hln/oeLFkb+RIjA +-> ssh-ed25519 WceKOQ 40WykHZOx6WkMt4zOQ/W5gdV7Z2VMKckeOSF1gfQBUs +NdSh8ZtG8jnbPKidz3dYSe+uQzqOIoYsxMCtsN3v+wA +-> d=x-grease +lZdE1ufKM/rWirP1caToWWu+XtTha0PlsKS+bjLiuQ3dNW6cHlF2zL3DsaaGVXVd +LmGVcQB2nPLOICY0aBGf9hDCLr5syPJcQQAwkHu4HCg4uHqzmA4KHueiph4 +--- R9PR0H96twkKaldoAkxYMJTfuhT0FHTU4wJaKYUKlDM +Teڃw*݇<(} S(7}X#q&}bJ.1˨V5O{ne1Ks[X Q/LM'\ǧS2T \ No newline at end of file diff --git a/secrets/ds9OffsiteBackupSSH.age b/secrets/ds9OffsiteBackupSSH.age index c358a66a723411dd39f0e402f0cecd658050fe37..d8650334e36035f1c10e97eaa501ff048c3b6491 100644 GIT binary patch delta 964 zcmX@g{+)e-PQ8DQQDk9iXl1akM?_IUqD7g1mU+5cMw*9nc!s%$SC*xjVXB#bewcZ7 zF_&jxq(?-Fkzc4=L|%DLW_eDfPe6ESX_cFKQl({Bv2&DrgukIwv(POg5ir-f-^X$6+ z4-)lmhS`C6Sy86i8G$A)#rhTn5#Ci{>1hQ?NtuQj*#Y^!*^Ys(6~1OJ*^XRkkw(Rq z$*xh}=2@2M2Cf0-sZnNO*_j#TSwVh2KBeg?IR(WAiGJZFNfziHsVvMjHg!}eH>q@t zaP%mN@bEA3O7+$^ulM(=aQ1S_D|GVF_6jx#bIuAbh)Oaqb~H-niYPboagWFg_i;+j z&o|7;2r3T@Pp&Eo$P70Ra&dA?HYo}X%qWWTN-j$VS!WSe?Ur25>%Y z$fc{RtB_UbRbCwAn-<|27FAeiQI_fHonP$bk{ukC8DZgW?&xUjV^)|~Sz3`&%=N7G z@{zf&6L$$2>jy`;Nv14$BB^w6c63Yl)?4TA%-FS2$cfYKNq@y!*QUhd9dU`G9XD!f zm=YAGZMYcz^hEtp-|Mpuos0M4=Mnu}8t69n!LNtYk0=Qr%4>Y!%%Q6K|C#XJ2ZyIj z-`JQSap?80hWgp%Qy7z<_a%y;g zZeMxqsi@gg^yZ%5q9wm8Po$DnDd_P3H!hMnm0p+knDd`KwPAkw=YlHrDbsW`b82;G zieLWO{%KBKPU`2E3)xJwAFyec2(+F5W3IG2MMOAAJA?6}mG0Nrf`@HU*N(5-e|_uH zviG<1zHjdn=2WX&vG0GCgP;Eo=cfKit3+0cJYCGXdH=Q9VRMBZm+@YEYkj{#_d~(o rOZ8%}otW1>KFHu&S|`=~fi>ELf8rte<|dJ~fgOty^ruM*_=E!hEC_z< delta 914 zcmey)ew2NJPJOArMVNneJlr=zxKc2#IfX;qa|pj&Qmu%~-TRH$!uMUqQKW@>gsmPwd#IhU@TLUD11 zZfc5=si~o*LTS23czC&jkD+_8e^sJIdU#fbTaamnhpT6Jkz-_~g`cBqs;hZLWm!Rb zdTM!LMQCLtm#3dgWqPh@s;8S%ab#MeV~DYdM_!giL~vxFS8%#{L4aj$zL{~jiC50V z4-)m}!3B;Xo}TU=5t&KJMn;9sN!ghh1$iE>QO@pprQQ`q&dG)@!2wYoj>TLax!IwS zX})1OY57^@eig}y0Vzh2AtuR2Ax41)?!HB($;r9KhG8a_*`6Se#A(&mnChk%r6v}q zD!4l&W<(eIL@89}7kDUGsOUyGDdgIv*4uam#s_lcB}L{Jr)QTNM^u*iXIh38c?I~V z2c#xDnUyA1l$Kli1?74qdL{Yg<)^s@dU=O(MfnC5RpzD_ zB&L=n1(`aR8z*H)mHQNP>FVk#xF)&>xu&@1SQG>X1x7_VfPmjVlQdbw)S@4GKc$dyVH zc*HT2K~p%(biLtbw>i)L9;%Xlee6PEvIl~0O!#(6N8{`jhuiXb7I*c}9q+DxvGUIm+c|0+Cs}{a&)l%jxb6F_^4I(3 zpOK#b)ZgEELEMXqu%qGa=UFy9`eC~G`nk7e27FP+B^R1TSt-5olFaO=Vl;O7zDZ-E zLOAB zC|O}%d8gh$jVbAPu*$Yzx!c!#-=|hg-1+&1>kaeOGrwP{iT}vBEBgGOL#{DTpPr84 zSomn}w7sVz%2NLPdud_(z+Sq1_UGwrHX*Aw9AdHam;9^x{$TRG75yItTBn|Qx_X25 z+dXrpcxpTlo^g2n-u0J74X&yr?m07yS^D#WwR>9D%l_Z~B;3rewLqGacW+;YjK!gMVeQ5PKsZcnMGtyMsP}LXt-sdSye!xpQU-G zCs(1VTcoS6nR%YRab~{0r+Z+ePex@(MM-veMu~+-c2rJfN{V-eqi{cfLn!QcutmiuCKObVRoR4c3EzE zQf_{#K|s0%S6aAHaFKseMnynXMwnBQTT*USg-2Ohl8Z-BNr`V!nW;yTWwuLRX?~gO z#E;_jhB@Y$6;4K3ZZ57NWm#FKd6t2}QT|C$dC5sx1)uQ-{Y!;a0?BQFI<``mJ6lhvi?`fWzZ|Rp_P?cX)V40q1 z1SB%?O5y+Y*y}JX_)FXu(r5tbC;;}PW%SyAOxU|Q)}W|nX6Y@Xp}RuN?G?BwbZ8R=A# z&K1kf9MIa4zO||RpjB<9rhwh*<+tCj=hs=pZ^;$4^7~ZngfHisCaBI{W^tFmwAClu3MR}TU36zd6sXsf0%idqo2OJ zkFS5YWmH8zSD>dsP_bpEONM*7MOsE^m06KnT5zFbKuT_fUuj4|MPhK7TR>`6Za_}? z#E;_j$tK}G;r=ED79key;m#Rm!J)=ML2d>Seumxw`KkGqzQ*N=ZaER*`Wg9LSw2ze zl>q_8j)oq-!4;YL=7D)GxfK~Dp6Py;rIr;zX5QXW>4lczX2xKj)VS)V7o{c^rz(Wz z#47~4r&z@#1t~ZcDkLOFdIoWYxuu0T)+eXslo^zz2Dw^jn+22=TLc$-I$8QV<(vDO zSyosY7WkEx`uSHH1Ub3-8fjMA6aXcv~HxrDft zxkTi82bCu32NwDj>ZkaZ2kTo{hWI3zhnVIk=NMRIr*mz*as06t!-WBusnNB;GV0Smfv0QZjI2J6I|;0(mw4UO2Y*nl`b-H zTXthLyQJ6J_2mu0voBS?2xAOfvEKIL=isJScihi@KP@YIHYIWQCdu5&qMy$JVrR=V diff --git a/secrets/gitlabInitialRootPassword.age b/secrets/gitlabInitialRootPassword.age index af88bbe1..23e77f38 100644 --- a/secrets/gitlabInitialRootPassword.age +++ b/secrets/gitlabInitialRootPassword.age @@ -1,11 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ 7WC4xzrGVJ/QxJ783jHIYc/dE/bpISFoBh0qkydAhgs -E23G1Bu/5y/z1LGWTomgwrWl7pkEVHKhKGeVElThiW4 --> ssh-ed25519 ugHWWw 2qsCCYr3hNKA5eFtEeq2FgHRHYAbVLtQL5vpWq4Zb2Q -g73nqZivYbGG32BriTXscR7wGNIpvyjwVxilfFJkAuU --> ssh-ed25519 UU9RSA IV6dk4m5KDww0J8T8+7UsElqI/a2/FJh16MgAreMlwM -ruI+CosRy++bV1vASimIic7fVeKad3tFJ+iazJoOXvo --> F`W-grease "?jH>\#2 ,;^35J d8E@S%n OwSYRTN -f6Yk3eBC2OhWTw ---- ddf26adLz8aelGPNJ8NVn7OXKOhC7qqqegjN0T/2UII -l;ϟ:3xA2B;Y: ssh-ed25519 WceKOQ HnSTeecA1G2ThGp77AN98to9C3QjwzCt7N6D54SE7UY +1PCCeKakrrBhyb+8kXUQJo7vUDn2p5qwpvg2AgQmCCs +-> ssh-ed25519 ugHWWw CVjH7F0VJXctLcmN1wyVUYqLiLu7Q1S5Oy7R5M0AOwY +rLWzStYUMB/usygqSg8cLKpYS220YV14zJ2df/IEfCI +-> ssh-ed25519 UU9RSA +nu4a6ENQVqDu10rP6EvNLL+zlGVzlg7UGqkLnuBZRA ++cVW+qcqhhkllhMCL2cl+zRItHRSgEJC1odKR9ue57A +-> ssh-ed25519 yqm35A 4iaXVY7L97laymNOIMEuxJI+o8GPvwxU2d6xNoGXgR0 +45sqVdhf0uCQCFVFJaP8184JS/dxUcfC6UeO4CyUj/8 +-> 6fZXD-grease rZAB `*7*r0P 3]1ar +3RRJnfki6s3euKfZ046fFYFONDY4u0fofuFFPBr5PoW+As4WV5bZRF7bbT+GnBFv +ZA +--- HJJ0Z3NuDYLO40+Q5oeKPq39AKMUTTeBCS32PmgxCq0 + v([z`Ϋ?RrV[-^4ňj]~bv:~ \ No newline at end of file diff --git a/secrets/gitlabJWSFile.age b/secrets/gitlabJWSFile.age index 80b38ffb1c96618dce245628c9f1aa9c4f383d7e..1adaa4c0309b307e8e49c0fcbb3513229a0e80e2 100644 GIT binary patch delta 2221 zcmZn?yec?Br@kUL&>+kwBrPb%Gtk4LB-_HhC?u`G%riYJGNLToz}Y3m-PI@Guf)v5 zkt@{6$0EefGs88v*dQz;IiSoU&B80lG%Po$$}7<@*TmE`*VsKNyD}ixgiF^>p}06h zH#Nn`)YQ;Yp)}niJiJ_?!nMdL$~iUI!rv*##U(AW#LY0=Ga%okuqfZe$S|ik%GuP( z)iNz2u*@x=t1L7vCE3R_BB&}q&A2?kySS{-$0Nf#)!oo5)v?Mq#4*Fi%PBD1sW>Bf z;z#lNu-uST?Ysi7s!*?r3~d+F^h`hVFmofr%%pT}1Lxv`Qteb1GfS_+fbw!KcVFjl zZ?7c%Y;7|a$IPhI)Wp;xmx}V70`KsGf>c-6L=Vdxe^YIPfS_!2pHvp+8k;&QIO!V{ z7n_#{SR^Kv76hkPRMuyCmsA*MmlkE2lzN!uRi@_WmnMh%Scc^}a=DkMRRjfOCTUv+ zc!xL@RYVnM87G$HnxzM%8T*D6ItS)uJ5~l7o0gQgf~*U&h|*0jN=+2H`wF#> z7vs(3t_6vtn=K5l{~$7VvfGE1Tgx{*cq4N;yw6C_%*91?f+WwkfB#J;NglhRz9~rwY=3~eE3MjemRI1cN^(q#oT}P~m;CK2A~Rh)ku`wmSa=J>AS>DSi7l=H7lXuA zlP&u)H^jKydejw?^m3_{(xk(iD{hvseR8>SH8RR4nBCMslG}%`bIH-BzG5%UWyixe zh}dOuwj8e5w9IU)&+~%&^NLn-U9gb1Saw>lv!!;*Ih&^aYb5r4>q`@~WWK5|AK%XQ zw?6CdlN+o0g9@w!m$PTqe70kl@>|8uoYRWq%eMP+TMQR(89ec2mY7LnI3IgA2QW!h4WfN2`$yE-099)UnLr6 zJv~?+le%!tduO|by)%U7Y+b)P|8r)th`dR=WckvHx3A9sHQHhmT2;_?AxZCw_UgjF zi}Jqr{jywG^(y-QwcDa^Lq7dWIMBXlfA6BHQBna@x_x`Ntv@s|TshMwkhu7ELa5M- zKi{j&*v&+jO)IW9&;H$hcEd~Ot=ml`L5v5D*bK`Fvhy&9!@up9IV>o%b-JF=+>zA0u)t`U4qV!#-?0%V*tG2ivJHVIMX=xy&|0v{m+JUF% z+xe!hV|uqorzQ60)md#9xXYt>p9-uH_}4l6-L87)e;J;@$TZXy+u|w zjb2==Pgb{QNzdKhC%^K8Y?t4cvYd~8o=(Sl&TjuPIW*yh;sy7dbAp0STYrXMbF^Pp z|BJPpy3 zjwP}07G*kJ5U5Z48L#q9M$j^jIcv$QTTTo|1qFTkPMA*2S$K){;du{YezLw0 z_;WCAKt)Bb3Tlt#WV4{3RjsrJMAQ3dg2g SR+i^qBKOd6-IDaLQDOk+gZkwF delta 2138 zcmcaA*d#bXr#{!bAka74FDW9V(m%sJKwH}}$uKF?Cm_!vE!{80JUlGKI4mnNC&@Xi zm@C6IHPa=<$=}=1ImkIAH_Xi6DK$LV(%e_y(!$3l*EH1M)2PHOC_Ab$pG((Hp}06h zH#Nn`)YQ;Yp)}niJiJ^XFU8WUFtNxV%hNb2AUiC}Gbr59MBgkgC)X?|JSfUA#49J$x7f|mH^VW&vB29h$~ntq z;z#j%U;lK2)XMVY)DV**eZv3)H-AsFoXYf6?cgM5XHWn1$i!0bOjDDp^r~{MNKdDz z$fBgYAd76*yey~Eypj?N3-?O@!bI~x=g1&Olfdkxykt}D(0oUbPjc-uy}beob<>Md z6N^(7YE5*wf=Yu8sxnQpi;Y4Z-MvjM_3N`LBf^ryjl&%Cs*21bv&(`#%0gX?%Z)uv z&D=vHtGIM^brqsAQ-VWWBaCuN%p!bT^F2$F8&Q|5O99?e$9HZLxv)fjklJFII&Kv`ntlU z{$!Y={O!qW9vl8<-zlcu%JrQ=b$?0kKF=-3ZcVrumMdtVEZ}?Pw1YRJ+(*55<^UrZ zMU`KSv-D@@=Lb#sr)=c+q&p|vKO#oB?b-HQxi1zt>%~f8UDR#TV-q#_tk&Zn>Eo?GF)Bj+Z6s|-hGqYCA?c+ zTYjtGYxC=fla->t*GC@(d_(TXBpVya3WQHOq~(yzD`2cAxb*PflPs$dpej>hM`{38!J-H6cGq{h|DEmiY=^bP)l1Sw$FtqNme1;D)IIQ`w((tDr&;i^T^YWLX|CnDCB&*+@z_h;*mDApFH_Y_)*DYRkC+k-b^a47hh=g zFznPR&A6RrX*Wf)DyOWxeAh>b@0Th+v(+nm?z=9MA7{-zS7!6(nnywGS|!6)+lCp3 zE;8TJk(zh%)@>%`7u(beSue|WTz~oUL_plJQmKg%zl=hCmAaa{UtXNKko`>rd$*T% zZrjxPVT;|BnCm|)-+pU3K_=^(-Yiy$^7Zwz?UsrCdY){|_j|H%&;J1PM+dha{&hqA zU2DDKzdaoH1^kkD@0PgEI;d^$zu|#?^pU?UQxr_H^m@G-ITg!AIL?TPg{X8*?a`CV ztDo6*Yg>KK-ooteIV`S{HoAQ}7u5IX8a|cjyejD+BGdlxe&@YSf;?eA_J%L9-NTXS zHnYUIdA67;ay+D_O|!dk(Pv(R^6YEZp&4zzTSo?8#w-jf( zP0X>a5&PcP9z1?Pr{oC#6?OB2v)G?Wsjc`@nY;8puXezUlh5|Ci5(EBwEWU~!p=fC zUv$}zxedRj6}tMKJn}enPn5m-lJrwc%vN3f%YOCpRN;J3s>-8&&3~&3#s{ci<-HhsVE@4H}}-oh|qhj>I#z3rk;=G*W#wC6Qro#E&l; zo^jDdYhr3&vQDPefjQpt?m zaa(=Dp_NigtFsU$O7@mHOS$uxsTXbGS}(I}mHC_ynWo1dmzG=E z*}d3%azTgCBrWZLWxSu?2G3xpSat!DB__5bMot!K*{CvCe@{c zf2;4`=iNQw`4fk_C8-O3olX=ycULKWL5x=fUqQBEynUA_kGJcl*6e>P-S?YJPrvth zd+uk?8s1fYYgm?kV|lf+QMia*MZ=iuzgyPP%N#6sROJnPo1&f_aIIsWxy)nh|HTz!xz*NX| diff --git a/secrets/gitlabOTPFile.age b/secrets/gitlabOTPFile.age index 03440c66..eb036e44 100644 --- a/secrets/gitlabOTPFile.age +++ b/secrets/gitlabOTPFile.age @@ -1,11 +1,15 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ TXvSJ+N561MG4pGXnH/CDF55pQ6zZINLXB9V9BD4SkM -CwK0RYUaOI46Ui7fDr6HawoWd3QruNTxg1wkMuMefCQ --> ssh-ed25519 ugHWWw NGr9B5Ca/NfrKBSHSQB23UppAy/mfdKo2oUNDRXkXCA -lPCmOWgk/HFpeOerBkUtlwrAamvR9qfj0aSs9xZ7nDM --> ssh-ed25519 UU9RSA RLPqyJcC6+nymMKs9WZODw4+TaiDErioBQR/LYRBtCo -aOyTSdv0xFfnONPTkRFSyfNwM1WisfIpUj/gb54+MdY --> >Y6eF$w_-grease -3mP+iZb76L7kNfX6Et1rljc+xibAn/0ExEQ67gaWxWy1leDFCw ---- CPH81z8v953Ac06b/QuizR1HI2/8Kxui4QJBiZlFPM0 -|5I?>ϧ!Ԩq fS-B8G Y4Vy?Y(NɊwYry0k?Х[h3[F[;w2cR9qM \ No newline at end of file +-> ssh-ed25519 WceKOQ +sBJqRKn3AZh31l3U/EhdCsVbRSgBgIXn64usFRfKHw +r37VKFDrBJ706zPy6U6KJ78SjyGgv5D4xkfi2frzEP4 +-> ssh-ed25519 ugHWWw yxtLxKd7uHkMAqMTW6KvvuLCQP/Ea0U3N8Y/AXLzWyI +apuwjdZYzDBJfb44eX407MX0fHQ5+jNtDTs/27R2BaM +-> ssh-ed25519 UU9RSA UqGTfjzl3IOfiitYZLHNnhsjy91zkICxNHAcf2ib1xA +NQfBL0EsUa557GQPz0pv29hCG3dDfCxfZxcdIcdjeBI +-> ssh-ed25519 yqm35A xdMh1+Zc6n7QoFZCUQs2dU3MYYelbQqjlmPAd1YXG1U +7P6eK+66snIVcKEzQG6KwMS1Mbsph5beVLG2x/AbhFY +-> LX~z-grease XElpbSpw L+ K"xIk=Q ,0lfjjQ ++e9zOqaAWd3Eb1JGRgaXaVqmZJ1xuoJ1sNAWdy31pxU+YgRBtCSo3FAcUqBSDmHF +E0TbZ6AKkkRyZtoPfxt53Yk +--- 12AAv3OLwZVQW19+1VzPULRNH4F7G8gMU/8iiiAx+R4 +=wq/12Kim~;f!v<oD|J*@ua/M_-H6e=_ + MEDE8&S8T \ No newline at end of file diff --git a/secrets/gitlabSecretFile.age b/secrets/gitlabSecretFile.age index 95f24bd6bfe057b9428d19e0d924021ad676a0aa..44a7b2f3d2c0337842a823f1be3deed93a6d86e3 100644 GIT binary patch delta 718 zcmcc4(!@4Fr#`&G$J{ij%B3*T$DrJ|$}y)n#U!H0*vq9N-`6|a!_%VN!pt!z)G;R_ zkSj1frOL-YIUvh0IXEagz}dJUIZEHm$SloEKg2PlqAbZg(<0PAIXB%fkW1H2p}06h zH#Nn`)YQ;Yp)}niJiJ`NJK4B6JufZ7xGFm$Jtd^b+pQ?KOxx8rsLUfTJYU<$%p@c) zB}w1OAT-yNt0FtM#49(dOxwiU)zd6f+pN4YG1Jp8DJTy%fj&F zpx|uhNbTfOPs{MK$`Z2@uQGFwu*za@UsF?ezbK2~yr2}bu;65LpHvp+8k;&QSXSnS zniy3TCzh6nRXKX+rPP-Mx>p!^dK*QW26>kHdIVIaxK;R>q~%toa~b72>l=h;N9mgc zmlhVJdwO^pX9pN(xrBPS=li7RXnUG@IhsU-dI#o$t+UB4*G(@v-^#^wr~2O?bUX- o+2r5!zlxjlA0820n-|Y(on~R|`ta<}{*3Lf_cgVA3A>g70KtU-c>n+a delta 546 zcmZo-yUsE}r{2gtxVR`Sxzsl`GC8e0psXY@$kVgJ+&wp<+|(z^JHyP|sJO_&H7eUF zl*`-PGAk&_)gr#lk&5H^kp4JU=MWts<H&)D#Iu$ z*D;{TSG(MVE4?tHs50C$Bq_wnCBic~G{nQ#qarsmud=|fz{oQ+IM+1Sq{zH9#XP%s z;z#lNO3T2ANT=M4Ab00Kc*nr_zejO2=d_b5FyZ zl!!tv=Zq@-#K`QZu+pFckD#dVik$L{JQuT~Qdj@{(BvTffJ#@8PqeM8t98?hQWJ|) z6--K16aB-p6iocn(<2pv3e)paxpKTMwCgjB0u1~O%PT!2Oe$T=oh!={-JQdOTno)3 zj6I4xgUu2{(oORG@(mm-^0Nbt{T!>xxpZ}P6%s2;GCeEP&D~PnL(HloJ+<>IN-NwW zJwjc=v#QFyivp6&TtkYog2RJ7xjc0&)|*W{8{7I_c&g1t!Feqb_pIitZCKXh`Ajp= z$F#juSKY%yLw)z-Wp|w|d^DL=RU!_#FUv0Wy7qJ{L*?5|BJ);Qtw}tmvoU?HmB6;| lA5!1F-Vo ssh-ed25519 WceKOQ 8d8HyUJjkB9EOGGhEZVNfynvk3eKCantalgxdmaLkBo -y2KGRQLZe8Gvu24PScvILyL4vV93FkexYwn6Ok5F64g --> ssh-ed25519 ugHWWw pkc3SMj73eGC4NSIWaWdfGXLZapuPdIfFXpwEFMcMR0 -2BFAifWKMCD80VzZPUCQd5M+GxVE2G9Xv+t1yrJhC0E --> ssh-ed25519 UU9RSA cmoqVr04Ib1/chCsf1qawzenGIWoWBzTJzEtg0oP7hs -cCuChiH5SroqPkfn0xxwwzMMO81TVXPIYteWsz5IyH4 --> #gh9HH;k-grease -H9DftVHq+s+eHCPpAOLPMDeolhXZFL5p0uV90lkIFrn0nynT930VRyEDG9mzd/JT -ESNojwaJXiiV86NWXerwm/GTzuB4MjBOnvbjPSuYCvXONudOf+4do502S/6h5sI ---- AOpthzyHcx4saVdHISAc0mL2NXNdplXL10vbCTt2YSE -(3U%x0Y2%a#]=99Ssj$2y/7)ZǕX]8[649oRZ+ẻfN \ No newline at end of file +-> ssh-ed25519 WceKOQ ZRjPCZYkXGuUDRCuUKsNI961fh2gK2rYm+/Q/Ez+nXQ +tOpb0s0Wu3zL/CIgdYqI4oyjgwE6HdY/XZddLxhwt3Q +-> ssh-ed25519 ugHWWw /KQQRulVQWSFDBhhr9UzQQ50nKX4+/Wozgr9xqqQwgI +mf6NfTIGy6YeNDTXvyuaFZ/G0eK3VTKQMx6AwvZp2Vk +-> ssh-ed25519 UU9RSA E7KNhxjEMlmU7NEQumiz1CuRyiyW26Pl+5Epcz3es2g +jiWXAGXIlqzo7WissM7KnTSdZdF6OXMwvk4ZsoN+HKM +-> ssh-ed25519 yqm35A pgDhit71xNeu4AIfUqHLZa0S/UfAAEZDGqrvbHHJrk4 +yr1xX4m2K2bhUq1U0qAIT7JKzbogfowljaxVFjdV4cg +-> X{#[C!~-grease |yN/M`N `$ < y*h&A` +h3R1MGSrDskl3IS8qfC5nAMruAArhkrcIgWE6k4a4oRcnYQheydWFKCVbIiUWbqo +5w +--- 5GyColXYXfsIuLRVpkZZHvDucXZ3yXe6V3Ykgbyhzr0 +ߙ1H8^|[b^s/8( zly٣v Gc0~RƣI=?LBf? \ No newline at end of file diff --git a/secrets/nextcloudAdminPass.age b/secrets/nextcloudAdminPass.age index 91f8b1e52d842005c014cccd62fcd79c08c232a3..aa749438c205c15e8740754d366c8de6a2fade46 100644 GIT binary patch delta 592 zcmZo>X=R|X2`;A0jR z$dy}?l<8a*TH@`NWA19G9h{ZwT#yrxl4Wd^9u#I)Y~Y>l6k=p#7#Wc5%B5?kP+Xj$ zo0?)|YHDbyP@3)$9$v0cRpC(;8kw6}QW@ZA8CY)V;pS_QqwjB2W~N`9qFou7Qk;?D z?PlqhlwTFdRb`xF>E)M|?q6Eu;b@Q*ZmwUISD2OI=^9*|=H{1gU=R^lR;HcoqV4WD z@uPTsNKuNjW42j&s7qv?YmixXYI0C$K~%nhMO0LwYrbV#MnO&1gQ8M$9Zgf+5njr__2T(igp;aRd^V= zJNcDm(}wsb{FQ@993Fs>ET(N=H?QW6&7g`YLe_8=^UAA5a5^S zs9jhZWE|$p6%rY4;FuQa=;B^wTvcUOl%7)LSe#)P>XKqomhEcc6j>Tol~bne=j>5F z@uPTsigU7`Z@G3+NRo?3Qh|?lU~r|sbC6?EK$gByqN}67g;7+bYf4s0N|gbZlS@!) zflHLWiGNv`zE?zgp_^A|zJaT|rC)AJX0~TYre~RRhNFM6cYZR+CrV{0>Bd!Iy6Hu! ziN&c3=5>k+zIv9CSqgTQ`WChd>Pbb(Ts6Vz`CPiXx(b<2U|0CY4eqU0r)F~8&I@T!qiHEBieNMfpU zD3?c4Ktw=Bpkq{Jq@O`@MwGU8S)#9zMNUphmT_iePK8T_iI09>x}{}7GMBEMLUD11 zZfc5=si~o*LTIREP_UyyQf6dvy03|AT2NtxMP_K2cD=V}ctK)vNx7SoiKmHWhEGI} zr<-5CK~beES7oB9UvNN4mO)N=UO-5pzd@FHZiJV%aj->zeubZDN}!pxNm6Q5YM6E? zx^xyGiB3jPu0k%3NmMnOqV`sq<&dB#p@!6}AOt`^Q&?oJ_|RfQ?_>7gDa<$)#< zCS0MO!Bv$}9!?Q%N##j79wvqv#h!uAP7#^@1`(whCPj|Hrf$ilxe>WR1|aJ!bkmDc z6N^(70xT5r-TV~FxiXzyBLe-s%{}sR(o@X5^wSG145~^>)3igXObcDi%F7N$ zX`2;yAn07@nf+-+Z`a&EK9T8%|2M5>v@u)6TeFJS3{$*S#WC HH@X=BVcY=u delta 595 zcmX@X`h{hJPQ81!sY|#=kXcbmKvAW)TacGwL2yP&zIS+*f0C(*e~Pc0sas)`S5=x} zI#-}?QdUy9VYYdMzo&kIWocMRxJQ1NaiL3La$b5;Rz_HIns1hIMR1l{za)WqUcg`kQm{iv!S1q;7;1s@9=t`y(MjJ${l_wbNR-}KUw3^%igN^>_; zZ*Tv4ldPc7fc&&<6UUUi;EMFf{7Q?|OurnH$P8bjtjdx=l{Ah|}X=S6+M{TSmj=T~%zUuU{8Wtz;4g)Fgx8y2zD>sDLu)^HKB zS2}I8+vl)nMNM?$fzwNW^m6g^XYD<&^I1JgPNAYd&r>gpEjLCf#WwMg@YDH!*9Bhq m75IME_Ae*w5+ohfJ0>-%&y>@c{H(b8smpE+hRkV4uK@tNY2Mrb diff --git a/secrets/paperlessAdminPW.age b/secrets/paperlessAdminPW.age index da31a8f8..2851a1f3 100644 --- a/secrets/paperlessAdminPW.age +++ b/secrets/paperlessAdminPW.age @@ -1,11 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 IbXxfw UW6LqQ3v8J1rqOSHizL/OErakPHGkNo12Bzw9YMDqSw -RXaNB8L4htMSwH3JZlUfetrMpZeJVL69F2zxVEd9dJM --> ssh-ed25519 ugHWWw otkAeu94Olh6kSQJXSBQKnEP6elPRElQhrbkttVpHxQ -4AMes9WPXIJ2wlpx4nwaKIN483GIyJKbkKK+YFU8FC4 --> ssh-ed25519 UU9RSA L5nDWEXhWjaLjpbCF1QiPjzPkvKiDP9b2Km2jZ0cTVk -Fwy+lP5J06Tl/eRfcgoXBiqRWU414zAJ9OqW8sDx0rI --> -zj-grease C2W:~L T -Iyrfxg ---- 2JwVqVwEC9JO9O6jUnfZdi1yrR41U+jKyYCeeAVv44w -!K➉/qeP%e{%d1BD(R_T`kWIF \ No newline at end of file +-> ssh-ed25519 IbXxfw MLIADo/GLbjIyI62obNh3reteMZDuIyhc5NSLf9luX8 +FMFldWdWC1qfcUIIiD/0adaeTzFbGdZUlUCjuiZerak +-> ssh-ed25519 ugHWWw jscSvLcpnpPcsYDm/mvALRIhiNeTmbZkhvl7g1j8FHI +FdbZeOg8mvTFfIt4VZI0kGU26fI7u8W6lB9riHhKuTw +-> ssh-ed25519 UU9RSA BeK4NU2vEjBOuhC7jJrNdb7MlPrNFWJFwbuADkk7xXI +4Toc4RJoqqTWm1aGzA+T6PZe9ixdxWZNPYnDs5HCDRs +-> ssh-ed25519 yqm35A AHEsfoigf8CIjdONn1HZ/0ukFKI8P5BdWBZxRP+1thc +W+WB72cdPahRtEBCtGLV6f2tUH5jYJNiibaX7hBY600 +-> 2'Xg-grease (]!Lm H6 Koe0` LJd +6w/JMCu1+u6O7nFULdVYaNc/fTWoAe/k4BscHCaI6+KS +--- xGSSoJmXGOG8cMdbA6Q2tmkMiX7agTMZpMbliG+/7wM +?2 c\D7|HI?%e1M}(>6xILw \ No newline at end of file diff --git a/secrets/picardResticHealthCheckUrl.age b/secrets/picardResticHealthCheckUrl.age index 15104037..31b6d4f7 100644 --- a/secrets/picardResticHealthCheckUrl.age +++ b/secrets/picardResticHealthCheckUrl.age @@ -1,12 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ 5ShCYRk7sW2QtauUM9ofFLkbXDBwiZxqdtOv2n0EMSQ -NxPHjWGnpha/Pwo7wN+4/AoaDsAeGLhScUdxR7RkQl4 --> ssh-ed25519 ugHWWw Vl/RSvWWs/VRXrOh7qrRH1BrOGFNqidOskN3mAxwkB8 -74QNAQrkx9yPEa1fzWZSqpicpNU+I5ihMFtUctMzuv4 --> ssh-ed25519 UU9RSA gdkC0xQUs1Xq0TLlNmaJs5fRily9xBLdRrncRV5u0Vc -DTWWuhfTTJGiKgJer6YyaicsOoOrmjMQk23gNQpUdA8 --> s=[ZE[*\-grease -uApyAl6uvhiapXmD5bkmUp27gfCSwAQxHrHWewSLgWOCjRv2n9zi+dwVA56Rha5O -QHFFufzeaDRj+1A9GXhYIc1Z5AJ6cJlJ4qzOcThNgFjWI6Y ---- WtkfBSUNhC6FiHbiGAFhk0wv7MYtAhBhAcWrL99ea3E -n#R'}tIڒt4Y[ `; >BU^Dyfi"AVͪg{6_|@P2ωg+1 \ No newline at end of file +-> ssh-ed25519 WceKOQ 8297hwSXg08e7sWPDNiwSRJ4j33hhoPU1cl0ATWXfGI +mS5BfPNVmASPylII0CgfgHFnPFC6rOVU65GRriLS0sM +-> ssh-ed25519 ugHWWw w9aFXNkoGdDcTun8Z+CYlmmuj4986GRheZayPWlyhF0 +AZ0ZZwbfNPtr/KIXpzylnyjTPvf3JCtJE4jklfAXf9g +-> ssh-ed25519 UU9RSA 5b20hwkVuOOxVCQupMuOA88ks8gxJXBgQfBPG0rf1WU +MWW7C53HPHom0HxpL+/7wra95Cmc3XGirCK1O9SOazg +-> ssh-ed25519 yqm35A tjY4Us6TCqQeM9qS8o4bzUCnZ72nr32x0r3CFKfWHiQ ++cwI72482VjwPs98IxU+Xh1wiHQ0qrRa9dDxL+Gk7TM +-> %cb-grease "DS,BM9W +BxE +--- AJsSwh0bcsLIb+SlOlZli+OPSiookqE1PvdoVwYPdKs +e4+{#!St&VKtefE}R[1uJ'=]"9_q5v<NƂ \ No newline at end of file diff --git a/secrets/picardResticPassword.age b/secrets/picardResticPassword.age index 3742133dc54af7526a8b1b3987cb2a3680c8b2e1..d213edea239721375aec0d1938a74eae2df4ce35 100644 GIT binary patch delta 622 zcmbQwvWRtpPJNzvd8$WNR9U2Jfoqv#x}{;Zw!2TbpG8o3NJUyeWqQ6rNLH|KVQGb1 zC|6c$NLgu+OJ!AHnxj{?NmP(!W~Prxghgd)NRU&oZ(?agRd#+=khgzkB$uw8LUD11 zZfc5=si~o*LTS23czC%&iFZ;&UXn>+ct)9eo9hcm|3>x z#E;_jC1#$EW?p8-`bC~zSx(_)>0u^eMixQFrWu7EQSN@;6(0F!$%Vy5zMMs3nvquO<5ljO;u+zQ=wIRLmR?y}@0sjdY7r3bo)ucorK_u} z5Ezyko)Z=nneXBpQXC$blap##<>ON7rfuNJHQ^A8oI=GX zuFxGX_Mg4@aOnlNyWAn~E3(~frdZlDcvdB6T#BtYkXmfNpy}XQUf)8U`!^q^xTd`2 v)wbICwkhJFl1rxSnk~0AtK@ZqUoNf{QJnYx(k(IXM1u)Jr_4O3J3Ryd6q4G9 delta 490 zcmZ3)I-g~NPJK|hqe*T>Xr6npdq`GLRe4@UoQL0B}sH0I} zL_t-Mr)!2US7C-xQD$;hq)9}2P-I?~X+e;GzGY}oXm)y~g}#}7uupJyYFE1zMDdvTxVM!U0k%q1rUfym&W=4jISw(3%>82hTMoAuCh2{AmpA;l!rUmMz7o{c^ zrz#jLDioAuo2x5iD_JY#r|G71nWjdBM%L##=2$ugS8?g;>M9rpMVY1-I_G%?hnE`V z7H6A!`x&_zL`0dJc{rO|R2rG4TSS%USNV85=5uX)n7=)0zkjDnz`8rtyOeg;ZlAua z>g0p<^|wO$zHC~>pQC^CLdb*4+!?p4R_}Sc%WCzBC65aKO*rqg_4L|l|CLr2FIC_4 ibjK7)r-fB#|89`d&o)&PbP)Oy-@7dDl7Xc1r3wIQGPIWf diff --git a/secrets/picardResticSSHKey.age b/secrets/picardResticSSHKey.age index 83c855fed9d3db2766133a75011d7cf87a672cd2..1e6bd13aab264c1e6473da489080aa6a85fbd593 100644 GIT binary patch delta 1058 zcmaFFewkx}PJK$UQ$c2BMreeYsiB2uYF>(^mz!xoWmaHTxNAj*hgWcvgb7Db|MYg9|nyIOupIew=m4CKnL9u~;VX0w(OJ+t`W_V$lnSoF8 z#E;_jr6oRo+TNZX$t7h0`B90UDW)k#DY^Q_1s=iS$tK25sh*)F$!RI3+TosD-Y&t~ z5$>gVIsSouE{<;Hewq3ik!jifjv=Y0!R6Wd7H$zC28EvG;ohF;KB+9sH8yorFt!XZ zGDtMGa7rvH%XG?h^sbL^&PgvQ_VRI0c1<@hvGAy<2y+b#HZhMV=E}gkyP%r@K*BAeXMLu0nchXpx6;iFRg0agmR?L1vV% zQ-F_|Ww~>`e`0DtK~{QGKt7lHq)5~M5xL%PYu8LT91_v6tG8PEFI;L?nV#tVdiE4kg&&@Qk~1A_ zB)UJH2)JHVrj!4uGd(%aw&HV2T)6gz%zGjUg1gp5oaejpd(~I|@9*6kFU);ixV^)W h=i2R0c59+`WqxMmo}D>Y)hI5(th7&ZE60xq9{>(H6zuB{{9}$-lgICQQ^KO1y$Kxf##-u zQIX}oj^*iT?ny+Hht_);mbeFKYo|FHCOSvBxaWo@y6O9A>xa9$ zm6ZmWS`?QTW?1T*X8MM675cfPCRbHhlQtq?8xx>j#)P2W2~#r5L5V z6`5ptgofvPmFSl`rJB3vhNWdC`A3=h7*)FEa}`DSMsVrs>MBHdTZU!_8w6(gmDU%B zL|6nBxJMfKh6Wp%S6S#=WSUjFxw|-~6q^KRXh(7#@V)8ceKS8*JN?754y%)@9+PK^ zcSR{@9C$M?(fCTB#Pl~M6a1>AR{l)sU)ippcOv=Cl@v394St_Ee!ZOe=4AhStJr0? zuQ-2m3AwoCc)!i(w4?K08fsoiy|s1W3Y(ktK~whxzC3@ip7Dg|;dKlAbR?Qb5JAuWbd_A_xckGW^TySS=1uR& zcv6<=Z1|-9T=%s%{LXhc&csJIZ$3I>PV&XbxJd`N%+8oHCvDzsTgt=rJ&gaf!{i!< zTRYE4D*D{kzkgIK@>YMD{OcuqW>_|H{n}Wm^zdrKXWsQr`4cVIzSi;(oyF0WyJN*c zzuHfB%&Se^1Rfv$w&9%A@7mm}M;+|me0;bkX@CBTTeCIU_ol_?U07Q)|u*(}{?oc?#c o>crLS*lgWmQs; z1y^#SrK_p0Yl%xzm8-s?V^D5pN}0a4ez-}PnR8k}q(Nn}Ygk~Qqen(yIhU@TLUD11 zZfc5=si~o*LTIREP_UyysH4AoKvY?zUszd{L1t-|Z+)1*iKC;ZkyoK#cBH?%v3HxyGiB3Yn#be!dwd0TCHtM&Tx9+DXBcRpxoVKE>e~>7j)g7HO6BVJ-$isrMPECc{&^E z`;@0zM!1(+7CWUBrI)$8dIV$`lmusmI){WCWpL^0>ME3b2BhUjxEMO-l)4n^XPFkd zxE2H_x(69V_y@WMr$v?e=a+k@B_$U4hjN7(o>=eM^-FewP5tlHyQ`uvaT&!J@XF^0 zY+ZcvdjC(6|9+bMLVGzY{%wCA(pGf5K4*=3B`?>x1@qdz?QQB=w^&Tfv1t2)S4F!I zTJJh#f7jjNK-q_tHWe@Cofb>Kp7h(px6F8%pyl$@lg=*CY0xcl@>rS_AiVUZfGodn zf`cfteHhEbbI0o2&t5F9&#&thW)9{Ry=|0{DeoaFp)Hh}WbkX-H{R-UN#?d$UpF@f z`>uYLRW(^>brfsct8>TYT9+&ND|)EQcxl}`zv5-UiCMGPf1b7Ru&RUG%sZXuTkcA3 zyUrA{({km^OKWvzJ=^WAS5vcl@7<_bD;t7exK0+nBxa?!DC^Lx<%?GQKen`9z}&}n z{;Wx!UnbWuxnG&NwsQW3Qx7hsv+{pB^>F?AHwPxO`#lxtIG1Mm_n21il6kqlkB%On zclFcO^UW2PCvaKVed}CwV~N~E9@g!RZq*--_+8)C*fuB5h=1vYYQLv1@1Ll#3T!;` zo$s%E&NMA0L!GB{Dt^qmAoIR9wIY7ztBmIQNfGzLQ{D!i$tgP(E5GH?XP=!mw@z=- zyx_3&-Q#UR>mz-5j4v$K`qc2%=%vnt!@6rKH2A92=4%}J#d9~MTtaxG%Z-{1bG9%a zW1soRGwGc{EzhgwYb{Mr<2?oWZ?1}5bJsRXGTAqDvzeuNgs-nrc2JO6PIyLTM!9}idSrojX=-_TrJJi^nOAv9M6sEX z30J9Gv4>AkQdEA9e^_yZxp!8GYjHu5MR2mSep0SqPIjrcnWK@LS8#DvIhU@TLUD11 zZfc5=si~o*LTIREP_Uyyc!o(7jl zwpp=PZgRE-S7DiNc92=Rr+<)-hjy5`Z)R>rwt-hhv9@QDiIY!wPHwqDs)eFA*AUmth+rol$JCrum-3>( zFpF~cbQh4brB5J$vN| z*ORY_lG63>p9^L%iXO;zdvE{t#d{~lPtjf}eP)x(1!j1jp8S8(_JqX|n%;l+Fj?)6 zUfY!3c}w<1mG|>~Z|g%P7Ao-dE;;jYj>PN-vYQfi9u8}t-N-K2cx5A#X`vsN?K){* zr<2TY;@fjeI*AG_q7!}o(NUryfoA4 z)58;8B2h;cgjI%JPJRFVNKoD*hVq~#CZX8@{~joJ&E3lWZCRQ4qyVGmL7!@5kNj9| z{7W>!<8yGp>&LU?*2>h@-;k8)_;X3{b|>HayRANc{t1-{c1_mo(M&IuSGfE-mgKU% z>arip!LO1GMv> ssh-ed25519 ugHWWw Yh7yZR7Mp5TuPD3r33rFcSIEuURgH1qKZuWWIw5z+1Q -NgGop95qQuLT/liGCPBCgNmKsRjrE9yokqhpUU2dYQU --> ssh-ed25519 UU9RSA ALeQp7EnIcGH5Yl5C7RWfdE9CMhvbzRXCjKXSzqi7gI -vDGWh6S4EbJBeVQIuPPZP1TSaFP9uoW+shEstBzxjFs --> ssh-ed25519 kKx7Qw XeJW2U6za78lTMIdduUjgYU2NFQBWL0O4AQPaXx5TCk -4NoBvjshDWswGc90Yb58X9kDceZRVVI4h45N0zG6Xow --> ssh-ed25519 IbXxfw VJJ5Ndu8/8L3iqFIMtqGqyqYfZCQVdlmBmsvEgwxkmQ -XnzVDYZ8Bp6gaiqujswGB+q+BtSF10PPpjWGVjC710g --> ssh-ed25519 WceKOQ q58TN4jXySWTsE+K/3xnN6MIMLfyv/3wx4mIOCquskw -BMSVu3HWrVgG54IaTagQN4Og4MJl3d++w0kPrZ2qpIY --> 2Wr8^uaE-grease 8 RU&_6KOI -JOg ---- KJ9TUBOF7kG3MwHQAMqIKPKNsIFrT6Ddb4QDJba8ZEo - MPo5^¸8"*:}1tL˔@ыtd7ZȘY/(]*Q% [w+A:$L'D=_1y9uMhZ0ǯQ`5dp_ \ No newline at end of file +-> ssh-ed25519 ugHWWw 8egTTuhd8LpZp+uSdAoyEj0hPfkNyGQ2RzkOH1Fli10 +eXTe41nlzFwYmQEPyAxufW24i51JUSZ5i3IRoEsyPSQ +-> ssh-ed25519 UU9RSA siLibhApDmrrEK7EEMl4qCJQTHcbiX6/LMC7NY30XWw +CvNGbrZN1N3QKrImGI5y3/57QQmRq+iobX6CTVEqaqk +-> ssh-ed25519 yqm35A WTGh/ziFm32o5Uk0NNrrKIKoKXfcoJz//Ib3ZOzj2EE +ETnYHcqUi1j/mvAm8hWNKrQcPDo7Vlyn6NFa3uiqOfM +-> ssh-ed25519 kKx7Qw TaTI2LOIDfHk5gLun8sFg3ZIQy7iT45YgKGjl0GDVTQ +PTMVQlSxrNa4NNFQXqGCgQHhAm4Rt2M9ZNKweJSvwzU +-> ssh-ed25519 IbXxfw +mndey0h9m4j5zfuio7guYfKN9gMlRI4OhnjTT/xPi4 +sNpE+W1dceG0TlQcxZ0YYd2AGU4XVslvRs/iFHVavxY +-> ssh-ed25519 WceKOQ QChCNB1lj/SfatH4IeSKXKL5wGEsqS1GZpiX8ccUAlY +Ed69eum+z9kIqKEjt1PNrYi1LGMTt6tNGR8WnbdD6/s +-> qm!p-grease GV(B2~C D\.9ik wYo +6Wt/3VzFd1v3ZVIgE1SR6JbKpOopu8nGTjCDWJ8ILiaNfT4PJisHJCd8df+ss/Iv +XmU6DRRiiRKndFvOKB4 +--- BVnZKwgjLQHNHipLxPVC/dycASxolmrIqNAsSGe7/a4 +2TMJ@} lȻiE# / + um`@5O`:]>Ctf+A`.ܶ^DD!{~ + zزLd/ah>4)밓:Bвcpw -¹x \ No newline at end of file diff --git a/secrets/rootPasswd.age b/secrets/rootPasswd.age index dd05a3ce3ac035be94a40b26578dcc4e9a8a9657..5462405c207b43bd4c4cb08722e4c5eb0b1bc1ac 100644 GIT binary patch delta 902 zcmeyyc9(sEPJOUnzIJA+XMur_qq~1pN|lpuq-k1(M^I5}UQl*uc(Ad#c1E~Up^INm zIaffauer8MzH3IAaj{8SmQj?cV}_B7YgutoaYUIak+n*OH!&& zc7|J(V@_}}S3qi!VQOA#iCcJNv1>-Tv3p2bqN7hql3`UqQFfJ|XI^QAU$SGCPm*gS zx^xyGiB3c;q%NrB->o)+$*WkFemj>*Pe70gInui+%dQ@4YB{@}Ev;|PL5|34|ho`b2BlE$TAGgGqntG zD={rhb$^@yK`doP3s1yk0vb!n4e=vOLw>)x*ESuPWQm*VVu{qSV>D zC@ROm$vH14#KI>vGa$;foXaG`D=fm7e7$T$P5o zhDL6NW#QTd{zds|RT-%+MJATHnL%Y4*=b>+T)Mit3WbS5#Zjplxy3<|=_y%dev!Gs zg+}hKsioTa5d~HGp)RKR+NS08uGvodu3VCyx9+?6Sx%j8wL-W0(nOon`j1m9hpW@O-5IPt)Co(mFxW9PA2`Pa;q z&+Ot~^h035P7|{ox(jA~nV`7v>}y}{(j~8U&YxRvcgy$Q>%05Jssv{q7P-9cL$xs9 TpC$T!Z~MxBHXBSyV7dzcm83rM delta 818 zcmcc1{*7&dPQ6ifN_x0KaDks+M1ilNM`DV$e`ID>nO|OEL_krPV`x#HcCwpMMO8>< zIafe-QgNA2q+hOyYlK-yS$V!;c0rI)PC!snuwRl{X?k9&@u0=&uvZa3H znlQ%Gm~A4 zl7n-M3n~*!OY`%yeaiAmJhCFp+}!-bO1ym%9i5F0wDof>xI!&*!}D{Dy~7jptAeA9 z^~?OU%`3wLjWWVbE6j6?qq2-WgI%)n48xO)(Ss>GIn~=gP$9Fz%pmw9o%rJ0dq zMVPazVR4R0dSRkLp`oQmv9n)sa;0`sy?>-(qJeRhqq#wrQMP}CrA11lzhzFKU#_2@ zfq8OnnkkoAzFR?3nWbrXWu9M%QJ{f#M0rJ&YgLs`Zm4-kd76KQQ>9^mUycEnuCA_v zXO?rMhlf*Xc}Pfve~z(}yK|0lV4x?oS#f~BVP-m)neI=idcVEb z%lzsdUa!m3Io$CNC7d@^#?0vcUL2Gq9^>tz{il9q<_c4Wmf|DAk%yJ7 z#ESS_TmqIgJ@RqBULT`&CHRTJm$yA{{;r>1&M)M#-0eZZJ1f!Ue=qB%-2W%H_-y9| kx37$80y$Z7XAWDuIrXt=$C<`=i4V@docD<(KsTBN06=jdlK=n! diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age index 03ba0e07..66ba3ca4 100644 --- a/secrets/tailscaleKey.age +++ b/secrets/tailscaleKey.age @@ -1,17 +1,17 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw OPLyGwnZWcMQShr7ATWwwjoDArfaFs05OJEqJEUJBwc -gywghlIlp1ab4xo7GqQ6Vm2jcceqIJSydXMwdtPD2Uk --> ssh-ed25519 UU9RSA k5Hlap/1wWqFZxyZ9hlK5D9x6Mscm6DRHgwYkEUatzs -Iz/aEPE70psn6xTdND4o0wRoh8Ci6l1ljzb0kPuHU44 --> ssh-ed25519 kKx7Qw TAwCpVcvcy2L0QduKJDCkm0ZdP/tufQ0Xn7L3tk3EWs -mrOIJWlW9CIzLzuNo4bpwBQskeJRrXxTqo4tjyWfYF0 --> ssh-ed25519 IbXxfw 0DHPcJGjQ2iOL2R+7SSPCc7nmUXVG50uDfmxeoBYoBo -ZBlJFkGjyik18OdW4VmuwHhz3dA2Zi6rq5BaIFC36Yw --> ssh-ed25519 WceKOQ sP8UHSJx7NdCNS0QuAA/NdRXvQPvxJRZYUgNm4VqhQ4 -4pFsajr0U6jM8FdBV8jIQXmXGMAc8joCHFJ0gist89U --> QP'-grease !?dyb @cM C[ <@ -0qeC4d7KApprYeyNMq9bBnGC+F+BAsR7ESJaOfRkjF22XsxUUfJuR6bs7ogQQB7/ -q6weXBT0ruBxqsc3o5BNQ5JZCgnaMG4kS9+x6d7NmYpTbaFNRfkMppm4JPr+gQE ---- d/+/n1vvkKMa0IRB6zTtMtMH+bc/yWoLomgDZaE+2pw -B:Gc\ c7 -3K,ȃo/-4)>[Z59~5JbTĽuZZ* \ No newline at end of file +-> ssh-ed25519 ugHWWw mindsoOw/VEfQHrlsm0Z4Kh1vGzY+QF007lWs6YHz3A +iRDoyR5RUYp0erHWn5qKCJHcMaoonDvL4u0Y1YGCEYI +-> ssh-ed25519 UU9RSA /eq9/iIM2aPqXQeU7P4avvzM0etAz9TrC38lWs82zxA +SqY5FhrrfxB6gbsGuK/wynKx6iKhHRfjHmhGI/kg46s +-> ssh-ed25519 yqm35A QzpAv2ifUBh1gPBz5Qx91a2qP5umD/fgj0sV3cnVcQI +o9UFRn5DIw3yAg0ovONNvjI2CZ+i6LQ/vcQV0pXbjIQ +-> ssh-ed25519 kKx7Qw JdNXOcNT3t/G7fQFM6kBcUaecZjayLXc3IbfSTAkFn4 +mNbFfDRKF6hti5oE5RIvhMjCf0SdevNbxuIs6zGp7IQ +-> ssh-ed25519 IbXxfw o90RhqE0NHzyLBMeSTNUvqzJoRvA4ul8aALaiRCSaH8 +V/npCtbZnIO16ZVeXMnwMxRd8z10WM1nc1fPfMerdLc +-> ssh-ed25519 WceKOQ TmAMWSWQGi9mYJtDiv/jZNlY6J++qlsUfxN1OdeYVTc +UMmvWY3SErUzMPseiboLpcohy+fK9B6BM2fPWXWjX7k +-> 'oy1,Nx-grease )r)tqH(" +t05KVbenog5B/4agytm7yw +--- WWamvx+v3DW/uSWPXGXd9qlDSYo7tA8tUhYpADmU/YM +2Ǐ3[&GpҊz:FpSxU/w V^ވIXk61CU4] \ No newline at end of file diff --git a/secrets/wpa_supplicant.age b/secrets/wpa_supplicant.age index 0c768c4548ee4f89b82266e29e9a105ced3b60c7..cf6d43cd7efb214c837fc6ca056d3a06bf5c3832 100644 GIT binary patch delta 872 zcmbQvet>;~PQ81fnX6Z&pIdIRnPp~_QL$N|lWDF~NkmR*ae0uJp^sN`h*L_sTe(4C zHdnZ1KyHeOpPPqguA4dT3Qtc7b71 zy1S=ycyVPUmx+&CW~fuRiC?g`XQ{tMn5Sn(MvhN*KyJEml!>2DsBxHAT7iXMP+?Iv zx^xyGiB3Pl0VUTJjpq zo?L~VNmT(=S*aNzNnSq2rpBe&Imup@+Ig7mRJ@C_<9$)q~@9#R3)2b`Q{X5rG$y^f3(2*3Ng22rMqj zvWUz|%rP~HG%3mQ%%})14M{Dv^h_yBG1GVS}r4Kpwg^3E!AEvfJioqU#2ygoa~r69o3pe&;@Kg~DE%_HB;Ff||`$~4!{ z&$1#&J0mqPI5I>(q9iCNlq)PJEiXbpSKB#1AjcrvwIr~#EXg<1z^TH&$U8DS&@m@5 z%PhPiC@{*~6BGlMwfX7>K9QBW=|!oD#iusBuetx(duDTaKuJMQ#r5O6^^WXwSavQo-pXEGsJvj}#9ItAOlB?D zoxfp8XYs8qVmn)|JGS(n;V85_`o1T;@6zYkhx7la{?;YzaE{{;> zO1COY?Sir*BcHU)Ob^3Ei{vW96oUebqTmv*Dqr`qTu(ELh=PFp$!8hG>%D?JLOoNm zE4<81f=x`Kl7b2hUAGIn~=gP$4}j*(o9<)h8q|CBQek z#Gts|Cnwb@zo^38*P=Ai$tR~OF*u{dxXjqCyqv2v$~`^8BG(|z)H1I$*Udl7)F9u{ zSUb%)z&t;qFe*6TH7wUN-Nd^rG!SH+m2P@bYGQG!g0q67f=8TroQ}I&HkWZ>NV;cs zfkk0SuxU|dc%+-TNu*^}T4kPRdR}S1M}3iNs;6g!Yh}JydYOBMtEIkIiCIaQbCq#o zX-c@hPk}a9Sx|X}QBZbKj%h|wVWy>XsbPe6Sh885OQmmRh@W;?VpWBIQn*v0YkEj{ zh(&oomVvg1cBp?Mm#(g^f>%|ghpB62q(QMkVThqyd3d;CwtrrryH}Bgxo2{ue|jX94mJ5+%iUX-|MR(L6+U~V;2-n4$5rif#NJ#JDED0_Z~RH! z+eCNLiQDfv1${T}+}o%y|J*)iYk3Whi7G|x7H?j!jN6eY{pf_(THRH_&O26r5wOae zVAUhBpgvERyR}BG@5QG#`^~i`YPs=;_lT?Zw_n|FX6>`%y2$0fcP9xfIC{zZVXwVw TfQdngv{=LYMSA~_zZU=i)juk< From 51f967584341050a2075c5ac21a53afcd9d63336 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 15 Jun 2022 19:13:44 +0200 Subject: [PATCH 068/525] chore: add blog --- flake.lock | 21 +++++++++++++++++ flake.nix | 2 ++ hosts/picard/default.nix | 8 ++++--- hosts/picard/xynospace/index.html | 38 ------------------------------- 4 files changed, 28 insertions(+), 41 deletions(-) delete mode 100644 hosts/picard/xynospace/index.html diff --git a/flake.lock b/flake.lock index adec01c0..42df92fb 100644 --- a/flake.lock +++ b/flake.lock @@ -393,6 +393,7 @@ "pandoc-latex-template": "pandoc-latex-template", "rnix-lsp": "rnix-lsp", "utils": "utils_2", + "xynoblog": "xynoblog", "zsh-completions": "zsh-completions", "zsh-syntax-highlighting": "zsh-syntax-highlighting", "zsh-vim-mode": "zsh-vim-mode" @@ -428,6 +429,26 @@ "type": "github" } }, + "xynoblog": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1655313369, + "narHash": "sha256-F6E1aNHw0m2PwlCg3ATWJS+c/ovxpQ8HT8xWArzG/rA=", + "owner": "thexyno", + "repo": "blog", + "rev": "1e256bcd102937cdcd164e754a729e247b14447f", + "type": "github" + }, + "original": { + "owner": "thexyno", + "repo": "blog", + "type": "github" + } + }, "zsh-completions": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 48cfcbd9..9e6ee0fb 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,8 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; impermanence.url = "github:nix-community/impermanence"; impermanence.inputs.nixpkgs.follows = "nixpkgs"; + xynoblog.url = "github:thexyno/blog"; + xynoblog.inputs.nixpkgs.follows = "nixpkgs"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 81a2cb3b..4c6fe5eb 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -9,6 +9,7 @@ [ # Include the results of the hardware scan. ./hardware-configuration.nix + inputs.xynoblog.nixosModule ]; documentation.enable = false; @@ -48,7 +49,7 @@ services.nginx.virtualHosts."xyno.space" = { enableACME = true; forceSSL = true; - root = ./xynospace; + locations."/".proxyPass = "http://[::1]${config.services.xynoblog.listen}"; }; services.restic.backups."picard" = { @@ -83,16 +84,17 @@ enable = true; script = "${pkgs.curl}/bin/curl -fss -m 10 --retry 5 -o /dev/null $(cat ${config.age.secrets.picardResticHealthCheckUrl.path})/fail"; }; + services.xynoblog.enable = true; ragon = { cli.enable = true; user.enable = true; persist.enable = true; - persist.extraDirectories = [ "/var/lib/syncthing" ]; + persist.extraDirectories = [ "/var/lib/syncthing" "/var/lib/${config.services.xynoblog.stateDirectory}" ]; services = { ssh.enable = true; bitwarden.enable = true; - gitlab.enable = true; # TODO gitlab-runner + gitlab.enable = false; # TODO gitlab-runner synapse.enable = true; tailscale.enable = true; hedgedoc.enable = true; diff --git a/hosts/picard/xynospace/index.html b/hosts/picard/xynospace/index.html deleted file mode 100644 index e4bad90f..00000000 --- a/hosts/picard/xynospace/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - xynos space - - - - -

xynos space

-
-
-
-

links:

-
- GitHub - thexyno -
-
- Matrix - @me:ragon.xyz -
-
- Mastodon - @xyno@chaos.social - - From bc19fdb84b7ea3da315074734d914c471f180cdf Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 15 Jun 2022 19:33:06 +0200 Subject: [PATCH 069/525] update --- flake.lock | 161 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 114 insertions(+), 47 deletions(-) diff --git a/flake.lock b/flake.lock index 42df92fb..e00c7b6d 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1653710831, - "narHash": "sha256-fy/e1dmR5Q8evPpcaOgjxf4PLgOqMdw93aqYZbK+8IA=", + "lastModified": 1655204674, + "narHash": "sha256-bsrCvgQqIA4jD62PIcLwYdcBM+YLLKLI/x2H5c/bR50=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "042d0c7d0f3a29409347fe5c2b754f6686f16578", + "rev": "87e5dd692ec8ed7be25b15449fd0ab15a48bfb30", "type": "github" }, "original": { @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1653765690, - "narHash": "sha256-W34uZuE/QgVPvuO3xlg4BH/O50DIQUPz6NfFlU3sKcM=", + "lastModified": 1655290946, + "narHash": "sha256-MIumtZzaSSzomOchMTSKAiA/hCfqpaMGj3TX0TwAchE=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "e3994fc8b0cf4a1dc1080e697a09d33d9faa5e39", + "rev": "5a16283b229aa4e7403a35b01ef2cc538c33dc03", "type": "github" }, "original": { @@ -127,13 +127,29 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "locked": { - "lastModified": 1652776076, - "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -159,16 +175,20 @@ }, "home-manager": { "inputs": { + "flake-compat": "flake-compat", "nixpkgs": [ "nixpkgs" - ] + ], + "nmd": "nmd", + "nmt": "nmt", + "utils": "utils" }, "locked": { - "lastModified": 1653518057, - "narHash": "sha256-cam3Nfae5ADeEs6mRPzr0jXB7+DhyMIXz0/0Q13r/yk=", + "lastModified": 1655199284, + "narHash": "sha256-R/g2ZWplGWVOfm2TyB4kR+YcOE/uWkgjkYrl/RYgJ/U=", "owner": "nix-community", "repo": "home-manager", - "rev": "64831f938bd413cefde0b0cf871febc494afaa4f", + "rev": "87d30c164849a7471d99749aa4d2d28b81564f69", "type": "github" }, "original": { @@ -223,11 +243,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1653602345, - "narHash": "sha256-HJOCS3nrZn9XmdtrRYtE3c/THGSduROYN7c4eXkM6gY=", + "lastModified": 1655277632, + "narHash": "sha256-8kkFQneMC/mamq/hPqBIvPb4EVnnFvDffPYIai9w3jY=", "owner": "neovim", "repo": "neovim", - "rev": "e2940d3c79586503c0a645010ae56c7097ca7c3f", + "rev": "504d7decbdef55d58e62217a0a54cbee2a0944cc", "type": "github" }, "original": { @@ -239,18 +259,18 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "neovim-flake": "neovim-flake", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1653639429, - "narHash": "sha256-pzGqMCjWzluNLelTsEf6ZvNqfit8tRlOqoK3MsGZtgs=", + "lastModified": 1655281072, + "narHash": "sha256-lz4q1WLAXRKeheyQbpGX4g3hFwWN3lw7F/Y4iKGch5c=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b2cf1606e66564f1d277e76aec8bf7474ffffd04", + "rev": "734cf3649cbb8276301deb8edbddf735a73e0192", "type": "github" }, "original": { @@ -261,11 +281,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1653463224, - "narHash": "sha256-bUxKhqZhki2vPzFTl8HOo1m7pagF7WzY1MZiso8U5ws=", + "lastModified": 1654057797, + "narHash": "sha256-mXo7C4v7Jj2feBzcReu1Eu/3Rnw5b023E9kOyFsHZQw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "39a7bfc496d2ddfce73fe9542af1f2029ba4fe39", + "rev": "0cab18a48de7914ef8cad35dca0bb36868f3e1af", "type": "github" }, "original": { @@ -277,11 +297,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1653738054, - "narHash": "sha256-IaR8iLN4Ms3f5EjU1CJkXSc49ZzyS5qv03DtVAti6/s=", + "lastModified": 1655273078, + "narHash": "sha256-jlcD35mFKn7CQHUgUa0E79QrS5+5A+/Gh3BI2y/PC3U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17b62c338f2a0862a58bb6951556beecd98ccda9", + "rev": "29399e5ad1660668b61247c99894fc2fb97b4e74", "type": "github" }, "original": { @@ -291,11 +311,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1653713882, - "narHash": "sha256-e6AyJx04pPzGDDbaQr182wAKxr9MXlSwBVz49S5coTE=", + "lastModified": 1655318135, + "narHash": "sha256-kFs/bujjrbLqitmsHIOIarUSo9cHX4HMcfkOly4L0AE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c2efec21ca3c9ead79c9bd8d6d08ba5a957ba369", + "rev": "abb346a417c334bb093ac77e907a2920f8e3289d", "type": "github" }, "original": { @@ -307,11 +327,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1653495658, - "narHash": "sha256-66YwJ6nuDHRxpYRiKtNC3qA9QkrHHJn6c+cJriiOGZI=", + "lastModified": 1655221618, + "narHash": "sha256-ht8HRFthDKzYt+il+sGgkBwrv+Ex2l8jdGVpsrPfFME=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7fa8d8b2e206be87de8e4128441384f171c8a33b", + "rev": "6616de389ed55fba6eeba60377fc04732d5a207c", "type": "github" }, "original": { @@ -321,6 +341,38 @@ "type": "github" } }, + "nmd": { + "flake": false, + "locked": { + "lastModified": 1653339422, + "narHash": "sha256-8nc7lcYOgih3YEmRMlBwZaLLJYpLPYKBlewqHqx8ieg=", + "owner": "rycee", + "repo": "nmd", + "rev": "9e7a20e6ee3f6751f699f79c0b299390f81f7bcd", + "type": "gitlab" + }, + "original": { + "owner": "rycee", + "repo": "nmd", + "type": "gitlab" + } + }, + "nmt": { + "flake": false, + "locked": { + "lastModified": 1648075362, + "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", + "owner": "rycee", + "repo": "nmt", + "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", + "type": "gitlab" + }, + "original": { + "owner": "rycee", + "repo": "nmt", + "type": "gitlab" + } + }, "nnn-vim": { "flake": false, "locked": { @@ -359,14 +411,14 @@ "nixpkgs": [ "nixpkgs" ], - "utils": "utils" + "utils": "utils_2" }, "locked": { - "lastModified": 1651229115, - "narHash": "sha256-ic9hnLq3f7KIpr0uJXptHOImPv4CqznTE9yBM/LCiko=", + "lastModified": 1655204811, + "narHash": "sha256-XtEycAZBlYVuu78cWI0SCvsGWipXglxcUknLlcF7BiM=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "9736265eb4fd4d1488b34b229ad1ab589610740e", + "rev": "2e49c1f31d6ad46d3f2adbfc1863a896835e4dd0", "type": "github" }, "original": { @@ -392,7 +444,7 @@ "nnn-vim": "nnn-vim", "pandoc-latex-template": "pandoc-latex-template", "rnix-lsp": "rnix-lsp", - "utils": "utils_2", + "utils": "utils_3", "xynoblog": "xynoblog", "zsh-completions": "zsh-completions", "zsh-syntax-highlighting": "zsh-syntax-highlighting", @@ -400,6 +452,21 @@ } }, "utils": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_2": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", @@ -414,13 +481,13 @@ "type": "github" } }, - "utils_2": { + "utils_3": { "locked": { - "lastModified": 1652776076, - "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -436,11 +503,11 @@ ] }, "locked": { - "lastModified": 1655313369, - "narHash": "sha256-F6E1aNHw0m2PwlCg3ATWJS+c/ovxpQ8HT8xWArzG/rA=", + "lastModified": 1655318274, + "narHash": "sha256-QmWBzyMXOw4PS/I2ljCcOCGFXLQ4Id9G7ypTH1xPj1I=", "owner": "thexyno", "repo": "blog", - "rev": "1e256bcd102937cdcd164e754a729e247b14447f", + "rev": "690a241c7494090d713b55309541689016aadd05", "type": "github" }, "original": { @@ -452,11 +519,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1653264276, - "narHash": "sha256-PZeKul0MsRqRojFDH+Zs5t9CUrdKWJsfszfqzJ/U1oE=", + "lastModified": 1655214296, + "narHash": "sha256-PdqeudPZfOxByLPi5RVkHQD5vjkulEGhj2zXAy3eorc=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "2e3c3f6cf06bfdf0adf96a5b67f1eff2d67d85de", + "rev": "fcf490292e512061343bea10831b674adad12f4a", "type": "github" }, "original": { From 47b22d69c6043e039177884560140f5a354aad0d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 15 Jun 2022 20:52:09 +0200 Subject: [PATCH 070/525] update blog --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e00c7b6d..a311f118 100644 --- a/flake.lock +++ b/flake.lock @@ -503,11 +503,11 @@ ] }, "locked": { - "lastModified": 1655318274, - "narHash": "sha256-QmWBzyMXOw4PS/I2ljCcOCGFXLQ4Id9G7ypTH1xPj1I=", + "lastModified": 1655319100, + "narHash": "sha256-VHbaDVdBcINgROmTIu0XWtwNHs4Hzog7Kqwtpc1q6xM=", "owner": "thexyno", "repo": "blog", - "rev": "690a241c7494090d713b55309541689016aadd05", + "rev": "41be85a2b23f5e68bdf1a6d9c2a1fc052a32ee72", "type": "github" }, "original": { From 87d484016cfffffb712573e77382bafd292739d8 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 19 Jun 2022 13:41:37 +0200 Subject: [PATCH 071/525] add cmake for emacs on daedalus --- hosts/daedalus/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 6b45b815..71bb4401 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -60,6 +60,7 @@ with lib.my; terraform emacsNativeComp + cmake pandoc texlive.combined.scheme-full From 746af4aea4b0a172a050f6ec775ee22a920dd601 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 3 Jul 2022 03:10:37 +0200 Subject: [PATCH 072/525] update --- flake.lock | 131 +++++++---------------- hm-imports/cli.nix | 222 ++++++++++++++++++++------------------- hosts/picard/default.nix | 27 ++++- 3 files changed, 178 insertions(+), 202 deletions(-) diff --git a/flake.lock b/flake.lock index a311f118..70892c34 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1655290946, - "narHash": "sha256-MIumtZzaSSzomOchMTSKAiA/hCfqpaMGj3TX0TwAchE=", + "lastModified": 1656787767, + "narHash": "sha256-uMMSFTMfdTNOFd0VImM+9LT9V8gFygJx2XbjvuqWKrY=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "5a16283b229aa4e7403a35b01ef2cc538c33dc03", + "rev": "bfa98bb7e829b62c915e0652fff75564170e3a22", "type": "github" }, "original": { @@ -127,29 +127,13 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1656065134, + "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c", "type": "github" }, "original": { @@ -175,20 +159,17 @@ }, "home-manager": { "inputs": { - "flake-compat": "flake-compat", "nixpkgs": [ "nixpkgs" ], - "nmd": "nmd", - "nmt": "nmt", "utils": "utils" }, "locked": { - "lastModified": 1655199284, - "narHash": "sha256-R/g2ZWplGWVOfm2TyB4kR+YcOE/uWkgjkYrl/RYgJ/U=", + "lastModified": 1656367977, + "narHash": "sha256-0hV17V9Up9pnAtPJ+787FhrsPnawxoTPA/VxgjRMrjc=", "owner": "nix-community", "repo": "home-manager", - "rev": "87d30c164849a7471d99749aa4d2d28b81564f69", + "rev": "3bf16c0fd141c28312be52945d1543f9ce557bb1", "type": "github" }, "original": { @@ -243,11 +224,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1655277632, - "narHash": "sha256-8kkFQneMC/mamq/hPqBIvPb4EVnnFvDffPYIai9w3jY=", + "lastModified": 1656735907, + "narHash": "sha256-6tDUHALUyszphRnZFCD7c78eESphfRX2L6FnWCVVNIc=", "owner": "neovim", "repo": "neovim", - "rev": "504d7decbdef55d58e62217a0a54cbee2a0944cc", + "rev": "a9de89894a2ff43dd511b38f20ab2815d6c7e2bd", "type": "github" }, "original": { @@ -259,18 +240,18 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat", "neovim-flake": "neovim-flake", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1655281072, - "narHash": "sha256-lz4q1WLAXRKeheyQbpGX4g3hFwWN3lw7F/Y4iKGch5c=", + "lastModified": 1656749719, + "narHash": "sha256-r/3k68MkeV1T6lSp2R9ewT+Bj1a6N3ZjUXE4y7fjJLk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "734cf3649cbb8276301deb8edbddf735a73e0192", + "rev": "25b1177974a2d13c5bf3109f17940ce07c1cd043", "type": "github" }, "original": { @@ -281,11 +262,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1654057797, - "narHash": "sha256-mXo7C4v7Jj2feBzcReu1Eu/3Rnw5b023E9kOyFsHZQw=", + "lastModified": 1656702262, + "narHash": "sha256-BdVdx6LoGgAeIYrHnzk+AgbtkaVlV3JNcC6+vltLuh0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "0cab18a48de7914ef8cad35dca0bb36868f3e1af", + "rev": "c5308381432cdbf14d5b1128747a2845f5c6871e", "type": "github" }, "original": { @@ -297,11 +278,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1655273078, - "narHash": "sha256-jlcD35mFKn7CQHUgUa0E79QrS5+5A+/Gh3BI2y/PC3U=", + "lastModified": 1656755932, + "narHash": "sha256-TGThfOxr+HjFK464+UoUE6rClp2cwxjiKvHcBVdIGSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29399e5ad1660668b61247c99894fc2fb97b4e74", + "rev": "660ac43ff9ab1f12e28bfb31d4719795777fe152", "type": "github" }, "original": { @@ -311,11 +292,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1655318135, - "narHash": "sha256-kFs/bujjrbLqitmsHIOIarUSo9cHX4HMcfkOly4L0AE=", + "lastModified": 1656815032, + "narHash": "sha256-6w4aLQ4aVzTW7TMEi3t0wx+GUjr8bBiQu5A031LoWqI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "abb346a417c334bb093ac77e907a2920f8e3289d", + "rev": "fff5ad2010544057c8efbcd31278d3a9e828fdc3", "type": "github" }, "original": { @@ -327,11 +308,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1655221618, - "narHash": "sha256-ht8HRFthDKzYt+il+sGgkBwrv+Ex2l8jdGVpsrPfFME=", + "lastModified": 1656753965, + "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6616de389ed55fba6eeba60377fc04732d5a207c", + "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb", "type": "github" }, "original": { @@ -341,46 +322,14 @@ "type": "github" } }, - "nmd": { - "flake": false, - "locked": { - "lastModified": 1653339422, - "narHash": "sha256-8nc7lcYOgih3YEmRMlBwZaLLJYpLPYKBlewqHqx8ieg=", - "owner": "rycee", - "repo": "nmd", - "rev": "9e7a20e6ee3f6751f699f79c0b299390f81f7bcd", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmd", - "type": "gitlab" - } - }, - "nmt": { - "flake": false, - "locked": { - "lastModified": 1648075362, - "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", - "owner": "rycee", - "repo": "nmt", - "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmt", - "type": "gitlab" - } - }, "nnn-vim": { "flake": false, "locked": { - "lastModified": 1641252513, - "narHash": "sha256-ZWvTTioLoA+/HXTghp1EH2PH4A0mLDLtqzPKGsGB+ZY=", + "lastModified": 1656124614, + "narHash": "sha256-Zb9GAqwp2GoO1SpXqaRDm5K62OxG+SwJl9L2uTGnC2I=", "owner": "mcchrish", "repo": "nnn.vim", - "rev": "169951733371abd152d76d1ce65e2dd867156e2d", + "rev": "bc6e2e34d9114c93ce50782949d260b4d4f0e2b6", "type": "github" }, "original": { @@ -483,11 +432,11 @@ }, "utils_3": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1656065134, + "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c", "type": "github" }, "original": { @@ -503,11 +452,11 @@ ] }, "locked": { - "lastModified": 1655319100, - "narHash": "sha256-VHbaDVdBcINgROmTIu0XWtwNHs4Hzog7Kqwtpc1q6xM=", + "lastModified": 1656815045, + "narHash": "sha256-tyJN8h++L7WCxElY7vxmJqm80epsfRaKrY6GC5UCE9s=", "owner": "thexyno", "repo": "blog", - "rev": "41be85a2b23f5e68bdf1a6d9c2a1fc052a32ee72", + "rev": "c020d6752f6735721ca0107eb6e183929cd0e861", "type": "github" }, "original": { @@ -519,11 +468,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1655214296, - "narHash": "sha256-PdqeudPZfOxByLPi5RVkHQD5vjkulEGhj2zXAy3eorc=", + "lastModified": 1656752981, + "narHash": "sha256-qSobM4PRXjfsvoXY6ENqJGI9NEAaFFzlij6MPeTfT0o=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "fcf490292e512061343bea10831b674adad12f4a", + "rev": "0331b2908f93556453e45fa5a899aa21e0a7f64d", "type": "github" }, "original": { diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index 5e166364..fc335aa7 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -1,120 +1,122 @@ { inputs, config, lib, pkgs, ... }: { + + home.stateVersion = "21.05"; home.packages = with pkgs; [ - my.scripts - jq - nnn - bat - htop - exa - curl - fd - file - lorri - fzf - git - neofetch - ripgrep - direnv # needed for lorri - unzip - pv - killall - lefthook - yt-dlp - aria2 - libqalculate + my.scripts + jq + nnn + bat + htop + exa + curl + fd + file + lorri + fzf + git + neofetch + ripgrep + direnv # needed for lorri + unzip + pv + killall + lefthook + yt-dlp + aria2 + libqalculate ]; - home.shellAliases = { - v = "nvim"; - vim = "nvim"; - gpl = "git pull"; - gp = "git push"; - lg = "lazygit"; - gc = "git commit -v"; - kb = "git commit -m \"\$(curl -s http://whatthecommit.com/index.txt)\""; - gs = "git status -v"; - gfc = "git fetch && git checkout"; - gl = "git log --graph"; - l = "exa -la --git"; - la = "exa -la --git"; - ls = "exa"; - ll = "exa -l --git"; - cat = "bat"; + home.shellAliases = { + v = "nvim"; + vim = "nvim"; + gpl = "git pull"; + gp = "git push"; + lg = "lazygit"; + gc = "git commit -v"; + kb = "git commit -m \"\$(curl -s http://whatthecommit.com/index.txt)\""; + gs = "git status -v"; + gfc = "git fetch && git checkout"; + gl = "git log --graph"; + l = "exa -la --git"; + la = "exa -la --git"; + ls = "exa"; + ll = "exa -l --git"; + cat = "bat"; + }; + + programs = { + gpg = { + enable = true; + settings = { + cert-digest-algo = "SHA512"; + charset = "utf-8"; + default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; + fixed-list-mode = true; + keyserver = "hkps://keyserver.ubuntu.com:443"; + list-options = [ "show-uid-validity" "show-unusable-subkeys" ]; + no-comments = true; + no-emit-version = true; + no-greeting = true; + no-symkey-cache = true; + personal-cipher-preferences = "AES256 AES192 AES"; + personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; + personal-digest-preferences = "SHA512 SHA384 SHA256"; + require-cross-certification = true; + s2k-cipher-algo = "AES256"; + s2k-digest-algo = "SHA512"; + throw-keyids = true; + use-agent = true; + verbose = true; + verify-options = "show-uid-validity"; + with-fingerprint = true; + with-key-origin = true; + }; + }; + bat = { + enable = true; + config.theme = "gruvbox-dark"; + }; + fzf = { + enable = true; + enableZshIntegration = true; + defaultOptions = [ + "--height 40%" + "--layout=reverse" + "--border" + "--inline-info" + ]; + }; + git = { + enable = true; + lfs.enable = true; + + # Default configs + extraConfig = { + commit.gpgSign = true; + + user.name = "Philipp Hochkamp"; + user.email = "git@phochkamp.de"; + user.signingKey = "DA5D9235BD5BD4BD6F4C2EA868066BFF4EA525F1"; + + # Set default "git pull" behaviour so it doesn't try to default to + # either "git fetch; git merge" (default) or "git fetch; git rebase". + pull.ff = "only"; + }; + }; + # Htop configurations + htop = { + enable = true; + settings = { + hide_userland_threads = true; + highlight_base_name = true; + shadow_other_users = true; + show_program_path = false; + tree_view = false; + }; }; - programs = { - gpg = { - enable = true; - settings = { - cert-digest-algo = "SHA512"; - charset = "utf-8"; - default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; - fixed-list-mode = true; - keyserver = "hkps://keyserver.ubuntu.com:443"; - list-options = [ "show-uid-validity" "show-unusable-subkeys" ]; - no-comments = true; - no-emit-version = true; - no-greeting = true; - no-symkey-cache = true; - personal-cipher-preferences = "AES256 AES192 AES"; - personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; - personal-digest-preferences = "SHA512 SHA384 SHA256"; - require-cross-certification = true; - s2k-cipher-algo = "AES256"; - s2k-digest-algo = "SHA512"; - throw-keyids = true; - use-agent = true; - verbose = true; - verify-options = "show-uid-validity"; - with-fingerprint = true; - with-key-origin = true; - }; - }; - bat = { - enable = true; - config.theme = "gruvbox-dark"; - }; - fzf = { - enable = true; - enableZshIntegration = true; - defaultOptions = [ - "--height 40%" - "--layout=reverse" - "--border" - "--inline-info" - ]; - }; - git = { - enable = true; - lfs.enable = true; - # Default configs - extraConfig = { - commit.gpgSign = true; - - user.name = "Philipp Hochkamp"; - user.email = "git@phochkamp.de"; - user.signingKey = "DA5D9235BD5BD4BD6F4C2EA868066BFF4EA525F1"; - - # Set default "git pull" behaviour so it doesn't try to default to - # either "git fetch; git merge" (default) or "git fetch; git rebase". - pull.ff = "only"; - }; - }; - # Htop configurations - htop = { - enable = true; - settings = { - hide_userland_threads = true; - highlight_base_name = true; - shadow_other_users = true; - show_program_path = false; - tree_view = false; - }; - }; - - - }; + }; } diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 4c6fe5eb..95704f82 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -52,6 +52,31 @@ locations."/".proxyPass = "http://[::1]${config.services.xynoblog.listen}"; }; + services.nginx.appendHttpConfig = '' + map $remote_addr $ip_anonym1 { + default 0.0.0; + "~(?P(\d+)\.(\d+)\.(\d+))\.\d+" $ip; + "~(?P[^:]+:[^:]+):" $ip; + } + + map $remote_addr $ip_anonym2 { + default .0; + "~(?P(\d+)\.(\d+)\.(\d+))\.\d+" .0; + "~(?P[^:]+:[^:]+):" ::; + } + + map $ip_anonym1$ip_anonym2 $ip_anonymized { + default 0.0.0.0; + "~(?P.*)" $ip; + } + + log_format anonymized '$ip_anonymized - $remote_user [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent"'; + + access_log /var/log/nginx/access.log anonymized; + ''; + services.restic.backups."picard" = { passwordFile = config.age.secrets.picardResticPassword.path; extraOptions = [ @@ -97,7 +122,7 @@ gitlab.enable = false; # TODO gitlab-runner synapse.enable = true; tailscale.enable = true; - hedgedoc.enable = true; + hedgedoc.enable = false; ts3.enable = true; nginx.enable = true; nginx.domain = "ragon.xyz"; From b9ed5ff43c206d0490ca5236b3a5a52018b536b5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 3 Jul 2022 04:43:42 +0200 Subject: [PATCH 073/525] update --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 70892c34..f27aa121 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1656787767, - "narHash": "sha256-uMMSFTMfdTNOFd0VImM+9LT9V8gFygJx2XbjvuqWKrY=", + "lastModified": 1656820658, + "narHash": "sha256-nQxTUGtbXlKkeOaHVAQLOyBAy1bbIkEtV1LYHi22DCM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "bfa98bb7e829b62c915e0652fff75564170e3a22", + "rev": "7ac6aef457d59da09089754681ec8d642a5372be", "type": "github" }, "original": { @@ -292,11 +292,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1656815032, - "narHash": "sha256-6w4aLQ4aVzTW7TMEi3t0wx+GUjr8bBiQu5A031LoWqI=", + "lastModified": 1656825294, + "narHash": "sha256-CEd8xEAWHiyvbEnL5bo8/qP84ZOnc24vi/0M++x4fMc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fff5ad2010544057c8efbcd31278d3a9e828fdc3", + "rev": "2c9deba079ba6153b5f1dc6e5c62752655cdacee", "type": "github" }, "original": { @@ -452,11 +452,11 @@ ] }, "locked": { - "lastModified": 1656815045, - "narHash": "sha256-tyJN8h++L7WCxElY7vxmJqm80epsfRaKrY6GC5UCE9s=", + "lastModified": 1656825945, + "narHash": "sha256-OypNp8ezNc+lL3/AbrcmA5HNu+qW4Rl50mIGAH+xvRI=", "owner": "thexyno", "repo": "blog", - "rev": "c020d6752f6735721ca0107eb6e183929cd0e861", + "rev": "aba7397fb0df410f4ab8cb66556602564f31d328", "type": "github" }, "original": { From c2c03c42609954b083b3c5b8792e2223c39daeaf Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 5 Jul 2022 11:11:17 +0200 Subject: [PATCH 074/525] update --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index f27aa121..de48db0f 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1656820658, - "narHash": "sha256-nQxTUGtbXlKkeOaHVAQLOyBAy1bbIkEtV1LYHi22DCM=", + "lastModified": 1657016837, + "narHash": "sha256-knx83nZ0xax6U1zR3rEOwIz2matk85kntbVEJRQYNuw=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "7ac6aef457d59da09089754681ec8d642a5372be", + "rev": "beec877720e2b09b0b1a96450286459bcd7e6435", "type": "github" }, "original": { @@ -129,11 +129,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1656065134, - "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -165,11 +165,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1656367977, - "narHash": "sha256-0hV17V9Up9pnAtPJ+787FhrsPnawxoTPA/VxgjRMrjc=", + "lastModified": 1656927578, + "narHash": "sha256-ZSFrM/1PlJOqCb3mN88ZUh9dkQvNLU/nkoQ2tu02/FM=", "owner": "nix-community", "repo": "home-manager", - "rev": "3bf16c0fd141c28312be52945d1543f9ce557bb1", + "rev": "f2445620d177e295e711c1b2bc6c01ed6df26c16", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1656735907, - "narHash": "sha256-6tDUHALUyszphRnZFCD7c78eESphfRX2L6FnWCVVNIc=", + "lastModified": 1657006790, + "narHash": "sha256-/OAsHWvRJNe591udM69w1KhXm41WYNh25v83UBNWMHY=", "owner": "neovim", "repo": "neovim", - "rev": "a9de89894a2ff43dd511b38f20ab2815d6c7e2bd", + "rev": "eb814bdca0bad2a68e111d59fae62f79b8dbeef1", "type": "github" }, "original": { @@ -247,11 +247,11 @@ ] }, "locked": { - "lastModified": 1656749719, - "narHash": "sha256-r/3k68MkeV1T6lSp2R9ewT+Bj1a6N3ZjUXE4y7fjJLk=", + "lastModified": 1657008970, + "narHash": "sha256-c6HhbjGtsZfuD0IHg6Qv8NMajNPV3Tehrw9FU8F3s90=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "25b1177974a2d13c5bf3109f17940ce07c1cd043", + "rev": "4f3fe701f50810929c06cb5cf428a4780b0d37d0", "type": "github" }, "original": { @@ -262,11 +262,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1656702262, - "narHash": "sha256-BdVdx6LoGgAeIYrHnzk+AgbtkaVlV3JNcC6+vltLuh0=", + "lastModified": 1656933710, + "narHash": "sha256-SVG8EqY1OTJWBRY4hpct2ZR2Rk0L8hCFkug3m0ABoZE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "c5308381432cdbf14d5b1128747a2845f5c6871e", + "rev": "3bf48d3587d3f34f745a19ebc968b002ef5b5c5a", "type": "github" }, "original": { @@ -278,11 +278,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1656755932, - "narHash": "sha256-TGThfOxr+HjFK464+UoUE6rClp2cwxjiKvHcBVdIGSQ=", + "lastModified": 1656847440, + "narHash": "sha256-9LRlUrdU+TNAAp393hqDaKnwBssLLkxpRQEAzLSC2pM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "660ac43ff9ab1f12e28bfb31d4719795777fe152", + "rev": "d63774ae64431366be4d1f2aede50e52204c7d6c", "type": "github" }, "original": { @@ -292,11 +292,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1656825294, - "narHash": "sha256-CEd8xEAWHiyvbEnL5bo8/qP84ZOnc24vi/0M++x4fMc=", + "lastModified": 1657020478, + "narHash": "sha256-sU5hXEGcOcvz2xoPAuNLBQJLXjwvPpTkoddyXE8gw20=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c9deba079ba6153b5f1dc6e5c62752655cdacee", + "rev": "71a4f0dc3d80ba76f437c888c1c3d59f1df98163", "type": "github" }, "original": { @@ -432,11 +432,11 @@ }, "utils_3": { "locked": { - "lastModified": 1656065134, - "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -452,11 +452,11 @@ ] }, "locked": { - "lastModified": 1656825945, - "narHash": "sha256-OypNp8ezNc+lL3/AbrcmA5HNu+qW4Rl50mIGAH+xvRI=", + "lastModified": 1657020697, + "narHash": "sha256-A5xiLh63JUlvKgkQ97yA0/9T1kgdGhrXr2jQvUf6oAM=", "owner": "thexyno", "repo": "blog", - "rev": "aba7397fb0df410f4ab8cb66556602564f31d328", + "rev": "762118e6607fb6aad57aa36cdf0edf09a3f33845", "type": "github" }, "original": { From ba7f19a5bf28a2c14745b17498f92e4706b27f6e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 11 Jul 2022 15:15:09 +0200 Subject: [PATCH 075/525] tailscale stuff --- flake.lock | 66 ++++++------- hm-imports/cli.nix | 2 +- hosts/ds9/default.nix | 122 ++++++++++++------------- nixos-modules/networking/tailscale.nix | 5 +- secrets/tailscaleKey.age | 32 +++---- 5 files changed, 115 insertions(+), 112 deletions(-) diff --git a/flake.lock b/flake.lock index de48db0f..cbd48b79 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1657016837, - "narHash": "sha256-knx83nZ0xax6U1zR3rEOwIz2matk85kntbVEJRQYNuw=", + "lastModified": 1657536849, + "narHash": "sha256-xpKggtyxzs2bbs8NT5lPNv2engBn7v0yPgzHemf8Ga4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "beec877720e2b09b0b1a96450286459bcd7e6435", + "rev": "4f95fe202c5e2c796adab52afff568b23ffadda2", "type": "github" }, "original": { @@ -165,11 +165,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1656927578, - "narHash": "sha256-ZSFrM/1PlJOqCb3mN88ZUh9dkQvNLU/nkoQ2tu02/FM=", + "lastModified": 1657396086, + "narHash": "sha256-4cQ6hEuewWoFkTBlu211JGxPQQ1Zyli8oEq1cu7cVeA=", "owner": "nix-community", "repo": "home-manager", - "rev": "f2445620d177e295e711c1b2bc6c01ed6df26c16", + "rev": "c645cc9f82c7753450d1fa4d1bc73b64960a9d7a", "type": "github" }, "original": { @@ -201,11 +201,11 @@ ] }, "locked": { - "lastModified": 1639947939, - "narHash": "sha256-pGsM8haJadVP80GFq4xhnSpNitYNQpaXk4cnA796Cso=", + "lastModified": 1655042882, + "narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=", "owner": "nix-community", "repo": "naersk", - "rev": "2fc8ce9d3c025d59fee349c1f80be9785049d653", + "rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1657006790, - "narHash": "sha256-/OAsHWvRJNe591udM69w1KhXm41WYNh25v83UBNWMHY=", + "lastModified": 1657466803, + "narHash": "sha256-9WceMMKppZI/Z0bP0b7a+BzQIuieH8MNAk3wcmZAiVU=", "owner": "neovim", "repo": "neovim", - "rev": "eb814bdca0bad2a68e111d59fae62f79b8dbeef1", + "rev": "95c65a6b221fe6e1cf91e8322e7d7571dc511a71", "type": "github" }, "original": { @@ -247,11 +247,11 @@ ] }, "locked": { - "lastModified": 1657008970, - "narHash": "sha256-c6HhbjGtsZfuD0IHg6Qv8NMajNPV3Tehrw9FU8F3s90=", + "lastModified": 1657527462, + "narHash": "sha256-oK2maGETT52ES+J4bKUDgtq7kYHV4YZwF1tf8BKoNyA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4f3fe701f50810929c06cb5cf428a4780b0d37d0", + "rev": "0058638e7ae87b399e7cad52b7734f199c2ffa7f", "type": "github" }, "original": { @@ -278,11 +278,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1656847440, - "narHash": "sha256-9LRlUrdU+TNAAp393hqDaKnwBssLLkxpRQEAzLSC2pM=", + "lastModified": 1657502824, + "narHash": "sha256-q/56TxABu/So0mqrCiOnl9mWHC10XinFtmOHy6UeStM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d63774ae64431366be4d1f2aede50e52204c7d6c", + "rev": "f904e3562aabca382d12f8471ca2330b3f82899a", "type": "github" }, "original": { @@ -292,11 +292,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1657020478, - "narHash": "sha256-sU5hXEGcOcvz2xoPAuNLBQJLXjwvPpTkoddyXE8gw20=", + "lastModified": 1657544714, + "narHash": "sha256-lJu41CQadSbQLmpT5j3kjt2KrY6RTXBVVkdYGyBRrUA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "71a4f0dc3d80ba76f437c888c1c3d59f1df98163", + "rev": "63d729665c2835be0c507ced648ccc024620afb6", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1656753965, - "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", + "lastModified": 1657447684, + "narHash": "sha256-FCP9AuU1q6PE3vOeM5SFf58f/UKPBAsoSGDUGamNBbo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb", + "rev": "5f43d8b088d3771274bcfb69d3c7435b1121ac88", "type": "github" }, "original": { @@ -363,11 +363,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1655204811, - "narHash": "sha256-XtEycAZBlYVuu78cWI0SCvsGWipXglxcUknLlcF7BiM=", + "lastModified": 1657475948, + "narHash": "sha256-iOMjTTW2hQbBU3u4pFP5i4Hp4l+r1gkU86YzVfBCx6w=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "2e49c1f31d6ad46d3f2adbfc1863a896835e4dd0", + "rev": "0449f49a0468624128dd4f5e2d27d1a0e6f894f4", "type": "github" }, "original": { @@ -417,11 +417,11 @@ }, "utils_2": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "owner": "numtide", "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "type": "github" }, "original": { @@ -468,11 +468,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1656752981, - "narHash": "sha256-qSobM4PRXjfsvoXY6ENqJGI9NEAaFFzlij6MPeTfT0o=", + "lastModified": 1657090022, + "narHash": "sha256-RnG8YFTOrX6HSnHq27GfcO49ms/5rnakWbPU0MfaorU=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "0331b2908f93556453e45fa5a899aa21e0a7f64d", + "rev": "073379d9081da21b9e3aa32ea4ff4d15c2aaa6a9", "type": "github" }, "original": { diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index fc335aa7..8af83199 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -1,7 +1,7 @@ { inputs, config, lib, pkgs, ... }: { - home.stateVersion = "21.05"; + home.stateVersion = lib.mkDefault "21.05"; home.packages = with pkgs; [ my.scripts diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index ac369df7..e1c9e15d 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -115,68 +115,68 @@ in ''; # Webhook service to trigger scanning the ADF from HomeAssistant - systemd.services.scanhook = { - description = "webhook go server to trigger scanning"; - documentation = [ "https://github.com/adnanh/webhook" ]; - wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ bash ]; - serviceConfig = { - TemporaryFileSystem = "/:ro"; - BindReadOnlyPaths = [ - "/nix/store" - "-/etc/resolv.conf" - "-/etc/nsswitch.conf" - "-/etc/hosts" - "-/etc/localtime" - ]; - BindPaths = [ - "/data/applications/paperless-consumption" - ]; - LockPersonality = true; - NoNewPrivileges = true; - PrivateMounts = true; - PrivateTmp = true; - PrivateUsers = true; - ProcSubset = "pid"; - ProtectHome = true; - ProtectControlGroups = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - DynamicUser = true; - ExecStart = - let - scanScript = pkgs.writeScript "plscan.sh" '' - #!/usr/bin/env bash - export PATH=${lib.makeBinPath [ pkgs.strace pkgs.gnugrep pkgs.coreutils pkgs.sane-backends pkgs.sane-airscan pkgs.imagemagick ]} - export LD_LIBRARY_PATH=${config.environment.sessionVariables.LD_LIBRARY_PATH} # Adds SANE Libraries to the ld library path of this script - set -x - date="''$(date --iso-8601=seconds)" - filename="Scan ''$date.pdf" - tmpdir="''$(mktemp -d)" - pushd "''$tmpdir" - scanimage --batch=out%d.jpg --format=jpeg --mode Gray -d "airscan:e0:Canon MB5100 series" --source "ADF Duplex" --resolution 300 - for i in $(ls out*.jpg | grep 'out.*[24680]\.jpg'); do convert $i -rotate 180 $i; done # rotate even stuff - convert out*.jpg /data/applications/paperless-consumption/"''$filename" - chmod 666 /data/applications/paperless-consumption/"''$filename" - popd - rm -r "''$tmpdir" - ''; - hooksFile = pkgs.writeText "webhook.json" (builtins.toJSON [ - { - id = "scan-webhook"; - execute-command = "${scanScript}"; + #systemd.services.scanhook = { + # description = "webhook go server to trigger scanning"; + # documentation = [ "https://github.com/adnanh/webhook" ]; + # wantedBy = [ "multi-user.target" ]; + # path = with pkgs; [ bash ]; + # serviceConfig = { + # TemporaryFileSystem = "/:ro"; + # BindReadOnlyPaths = [ + # "/nix/store" + # "-/etc/resolv.conf" + # "-/etc/nsswitch.conf" + # "-/etc/hosts" + # "-/etc/localtime" + # ]; + # BindPaths = [ + # "/data/applications/paperless-consumption" + # ]; + # LockPersonality = true; + # NoNewPrivileges = true; + # PrivateMounts = true; + # PrivateTmp = true; + # PrivateUsers = true; + # ProcSubset = "pid"; + # ProtectHome = true; + # ProtectControlGroups = true; + # ProtectKernelLogs = true; + # ProtectKernelModules = true; + # ProtectKernelTunables = true; + # ProtectProc = "invisible"; + # RestrictNamespaces = true; + # RestrictRealtime = true; + # RestrictSUIDSGID = true; + # DynamicUser = true; + # ExecStart = + # let + # scanScript = pkgs.writeScript "plscan.sh" '' + # #!/usr/bin/env bash + # export PATH=${lib.makeBinPath [ pkgs.strace pkgs.gnugrep pkgs.coreutils pkgs.sane-backends pkgs.sane-airscan pkgs.imagemagick ]} + # export LD_LIBRARY_PATH=${config.environment.sessionVariables.LD_LIBRARY_PATH} # Adds SANE Libraries to the ld library path of this script + # set -x + # date="''$(date --iso-8601=seconds)" + # filename="Scan ''$date.pdf" + # tmpdir="''$(mktemp -d)" + # pushd "''$tmpdir" + # scanimage --batch=out%d.jpg --format=jpeg --mode Gray -d "airscan:e0:Canon MB5100 series" --source "ADF Duplex" --resolution 300 + # for i in $(ls out*.jpg | grep 'out.*[24680]\.jpg'); do convert $i -rotate 180 $i; done # rotate even stuff + # convert out*.jpg /data/applications/paperless-consumption/"''$filename" + # chmod 666 /data/applications/paperless-consumption/"''$filename" + # popd + # rm -r "''$tmpdir" + # ''; + # hooksFile = pkgs.writeText "webhook.json" (builtins.toJSON [ + # { + # id = "scan-webhook"; + # execute-command = "${scanScript}"; - } - ]); - in - "${pkgs.webhook}/bin/webhook -hooks ${hooksFile} -verbose"; - }; - }; + # } + # ]); + # in + # "${pkgs.webhook}/bin/webhook -hooks ${hooksFile} -verbose"; + # }; + #}; networking.firewall.allowedTCPPorts = [ 9000 ]; # Immutable users due to tmpfs diff --git a/nixos-modules/networking/tailscale.nix b/nixos-modules/networking/tailscale.nix index 9bbd96aa..52047305 100644 --- a/nixos-modules/networking/tailscale.nix +++ b/nixos-modules/networking/tailscale.nix @@ -6,8 +6,11 @@ in options.ragon.services.tailscale.enable = lib.mkEnableOption "Enables tailscale"; config = lib.mkIf cfg.enable { # enable the tailscale service + ragon.persist.extraDirectories = [ + "/var/lib/tailscale" + ]; services.tailscale.enable = true; - ragon.agenix.secrets.tailscaleKey = {}; + ragon.agenix.secrets.tailscaleKey = { }; networking.firewall = { # always allow traffic from your Tailscale network trustedInterfaces = [ "tailscale0" ]; diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age index 66ba3ca4..06b168d9 100644 --- a/secrets/tailscaleKey.age +++ b/secrets/tailscaleKey.age @@ -1,17 +1,17 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw mindsoOw/VEfQHrlsm0Z4Kh1vGzY+QF007lWs6YHz3A -iRDoyR5RUYp0erHWn5qKCJHcMaoonDvL4u0Y1YGCEYI --> ssh-ed25519 UU9RSA /eq9/iIM2aPqXQeU7P4avvzM0etAz9TrC38lWs82zxA -SqY5FhrrfxB6gbsGuK/wynKx6iKhHRfjHmhGI/kg46s --> ssh-ed25519 yqm35A QzpAv2ifUBh1gPBz5Qx91a2qP5umD/fgj0sV3cnVcQI -o9UFRn5DIw3yAg0ovONNvjI2CZ+i6LQ/vcQV0pXbjIQ --> ssh-ed25519 kKx7Qw JdNXOcNT3t/G7fQFM6kBcUaecZjayLXc3IbfSTAkFn4 -mNbFfDRKF6hti5oE5RIvhMjCf0SdevNbxuIs6zGp7IQ --> ssh-ed25519 IbXxfw o90RhqE0NHzyLBMeSTNUvqzJoRvA4ul8aALaiRCSaH8 -V/npCtbZnIO16ZVeXMnwMxRd8z10WM1nc1fPfMerdLc --> ssh-ed25519 WceKOQ TmAMWSWQGi9mYJtDiv/jZNlY6J++qlsUfxN1OdeYVTc -UMmvWY3SErUzMPseiboLpcohy+fK9B6BM2fPWXWjX7k --> 'oy1,Nx-grease )r)tqH(" -t05KVbenog5B/4agytm7yw ---- WWamvx+v3DW/uSWPXGXd9qlDSYo7tA8tUhYpADmU/YM -2Ǐ3[&GpҊz:FpSxU/w V^ވIXk61CU4] \ No newline at end of file +-> ssh-ed25519 ugHWWw lEYsog3suDaEm29deawF+QJ5ecGoAnULSyZ9Zx7rCWw +qvbMdlTATvEQ4XHBAqK9BecI30gS4t+E8i4LWUeg9Ns +-> ssh-ed25519 UU9RSA HA4dGg9YiDesbVsWu5A310ZTNpmBN1oxmtDGzG76lBY +iIfu/jwLWRpdi8+LsqKDYB3xLkiSUfmnoZlTqY2Lb1s +-> ssh-ed25519 yqm35A U4eHydfPgYXbjlknk08AQFacp9DlqBWWs2LGBbY+qFo +Ho/oYBpwzQPLXPLFH+Z3dcNI3KzetQPnlPLq4XeI1xM +-> ssh-ed25519 kKx7Qw gxgiXQF97nvLzNUHYab655qoDEKoddmw4Dp2JuJK0Wg +okYkX46Wuy7AJXW6vDXrU6ZJn9XMSwNLZi/Qj+kzeJo +-> ssh-ed25519 IbXxfw 9uAGCMt6sfJQ79WApL2u17xeqytYsDMqrb6AktYz1F8 +26194ECFzQkvdecym7qCaLsDfC0fyDWn44NtTjlUuqU +-> ssh-ed25519 WceKOQ Tm776jVswnnmIqaD7v7V47ik2uADBEW5eg35mzi+r2M +skXChK2fmc3+13Wm3nLhQX9VU8OAQbZxLWWjPKcpGek +-> K:lG-grease sjZ |3 kvquB:; +twd+UxT3/s9GQrFPXQRfmRj9+Eg +--- tuqN03osNyBnWR6Ck2pR6Kzd7lIJWfEumht/IG+9Dp8 +?t~HrEπaH'BSe@&źOcQ)e WAPGAjEī§wt Mha1 \ No newline at end of file From 2e8589c3fa97ec24f7de38b87cb04af33502184f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 12 Jul 2022 10:41:55 +0200 Subject: [PATCH 076/525] tailscale exit node --- hosts/ds9/default.nix | 2 ++ nixos-modules/networking/tailscale.nix | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index e1c9e15d..3ef293b1 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -224,6 +224,8 @@ in nginx.enable = true; jellyfin.enable = true; tailscale.enable = true; + tailscale.exitNode = true; + tailscale.extraUpCommands = "--advertise-routes=10.0.0.0/16"; grafana.enable = true; libvirt.enable = true; paperless.enable = true; diff --git a/nixos-modules/networking/tailscale.nix b/nixos-modules/networking/tailscale.nix index 52047305..bc1d1167 100644 --- a/nixos-modules/networking/tailscale.nix +++ b/nixos-modules/networking/tailscale.nix @@ -4,6 +4,8 @@ let in { options.ragon.services.tailscale.enable = lib.mkEnableOption "Enables tailscale"; + options.ragon.services.tailscale.exitNode = lib.mkEnableOption "Exit Node"; + options.ragon.services.tailscale.extraUpCommands = lib.my.mkOpt lib.types.str ""; config = lib.mkIf cfg.enable { # enable the tailscale service ragon.persist.extraDirectories = [ @@ -11,10 +13,16 @@ in ]; services.tailscale.enable = true; ragon.agenix.secrets.tailscaleKey = { }; + boot.kernel.sysctl = lib.mkIf cfg.exitNode { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; networking.firewall = { # always allow traffic from your Tailscale network trustedInterfaces = [ "tailscale0" ]; + + checkReversePath = lib.mkDefault "loose"; # allow the Tailscale UDP port through the firewall allowedUDPPorts = [ config.services.tailscale.port ]; }; @@ -41,7 +49,7 @@ in fi key=$(<${config.age.secrets.tailscaleKey.path}) # otherwise authenticate with tailscale - ${tailscale}/bin/tailscale up -authkey $key + ${tailscale}/bin/tailscale up -authkey $key ${lib.optionalString cfg.exitNode "--advertise-exit-node"} ${cfg.extraUpCommands} ''; }; }; From 7156bdc1beb04411be2d1b8be1ee0fc554c26f29 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 13 Jul 2022 09:50:59 +0200 Subject: [PATCH 077/525] add vm to build --- darwin-common.nix | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index e25149c2..ab8729fc 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -1,17 +1,28 @@ -{config, pkgs, ...}: { +{ config, pkgs, ... }: { programs.gnupg.agent.enable = true; services.nix-daemon.enable = true; nix.package = pkgs.nixFlakes; nix.buildCores = 0; # use all cores nix.maxJobs = 10; # use all cores nix.distributedBuilds = true; - nix.buildMachines = [ { - systems = ["x86_64-linux" "aarch64-linux"]; + nix.buildMachines = [{ + systems = [ "x86_64-linux" ]; + supportedFeatures = [ "kvm" "big-parallel" ]; sshUser = "ragon"; + maxJobs = 12; hostName = "ds9"; sshKey = "/Users/ragon/.ssh/id_ed25519"; publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUorQkJYdWZYQUpoeVVIVmZocWxrOFk0ekVLSmJLWGdKUXZzZEU0ODJscFYgcm9vdEBpc28K"; - }]; + } + { + systems = [ "aarch64-linux" ]; + supportedFeatures = [ "kvm" "big-parallel" ]; + sshUser = "ragon"; + maxJobs = 8; + hostName = "192.168.64.5"; + sshKey = "/Users/ragon/.ssh/id_ed25519"; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJMMm94ZEtha01Ka05iTExZK2xnNFkzd25jWnJwVE1sVHRBUWdsazVkVVEgcm9vdEBkYWVkYWx1c3ZtCg=="; + }]; nix.extraOptions = '' builders-use-substitutes = true ''; From 5f675f31bb2e123ce9fd20a56edb706fa5cf1eec Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 14 Jul 2022 00:43:07 +0200 Subject: [PATCH 078/525] update --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index cbd48b79..0ad7b898 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1657536849, - "narHash": "sha256-xpKggtyxzs2bbs8NT5lPNv2engBn7v0yPgzHemf8Ga4=", + "lastModified": 1657739074, + "narHash": "sha256-s7qlR7HyMrbDywk5RAJQ/YEXaMqcePSq9oOdYlUpCSA=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "4f95fe202c5e2c796adab52afff568b23ffadda2", + "rev": "6608997ad0224f59cae68b0c9db0eeb8c4c32e8f", "type": "github" }, "original": { @@ -165,11 +165,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1657396086, - "narHash": "sha256-4cQ6hEuewWoFkTBlu211JGxPQQ1Zyli8oEq1cu7cVeA=", + "lastModified": 1657719085, + "narHash": "sha256-nQt3MEBwKuKlmFKSRhdoh60AGlc+YlspV5e8kO/3y8U=", "owner": "nix-community", "repo": "home-manager", - "rev": "c645cc9f82c7753450d1fa4d1bc73b64960a9d7a", + "rev": "2c94b9801f1a11cde0fc97aa850687bb9137d42c", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1657466803, - "narHash": "sha256-9WceMMKppZI/Z0bP0b7a+BzQIuieH8MNAk3wcmZAiVU=", + "lastModified": 1657676295, + "narHash": "sha256-DFhwtt6pViWIJl7IGm3iC+M/qw3zgJkTHpv5bMVlvRU=", "owner": "neovim", "repo": "neovim", - "rev": "95c65a6b221fe6e1cf91e8322e7d7571dc511a71", + "rev": "778541067a2f0ec3ef4bc1b07def646323e852a9", "type": "github" }, "original": { @@ -247,11 +247,11 @@ ] }, "locked": { - "lastModified": 1657527462, - "narHash": "sha256-oK2maGETT52ES+J4bKUDgtq7kYHV4YZwF1tf8BKoNyA=", + "lastModified": 1657700215, + "narHash": "sha256-qLiVfuDROedqZusQhhCGv7JgHKIBudhKl8+sWOBG+8k=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0058638e7ae87b399e7cad52b7734f199c2ffa7f", + "rev": "28de4ebfc0ed628bfdfea83bd505ab6902a5c138", "type": "github" }, "original": { @@ -262,11 +262,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1656933710, - "narHash": "sha256-SVG8EqY1OTJWBRY4hpct2ZR2Rk0L8hCFkug3m0ABoZE=", + "lastModified": 1657738886, + "narHash": "sha256-lmAcczi6xyyNhrUcOaStekilDcS8e5tWB9ycwUFv/mQ=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3bf48d3587d3f34f745a19ebc968b002ef5b5c5a", + "rev": "14e9f7298c4201566a4597560d7e141d9ff402cf", "type": "github" }, "original": { @@ -278,11 +278,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1657502824, - "narHash": "sha256-q/56TxABu/So0mqrCiOnl9mWHC10XinFtmOHy6UeStM=", + "lastModified": 1657649905, + "narHash": "sha256-gth8ki7Sme/DjUc/hXBHpn+cvQSx9oTLCXUjQbbrn3M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f904e3562aabca382d12f8471ca2330b3f82899a", + "rev": "09066922296d9ef06bfadb937b2560524dd10785", "type": "github" }, "original": { @@ -292,11 +292,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1657544714, - "narHash": "sha256-lJu41CQadSbQLmpT5j3kjt2KrY6RTXBVVkdYGyBRrUA=", + "lastModified": 1657749366, + "narHash": "sha256-qDeuqcUVpMk2RC3MXGkWuwdtg9GvP8y3jVBZUyBWuHA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "63d729665c2835be0c507ced648ccc024620afb6", + "rev": "62b1c34ac6d163be7334dfd4d10ee4beeb631333", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1657447684, - "narHash": "sha256-FCP9AuU1q6PE3vOeM5SFf58f/UKPBAsoSGDUGamNBbo=", + "lastModified": 1657533762, + "narHash": "sha256-/cxTFSMmpAb8tBp1yVga1fj+i8LB9aAxnMjYFpRMuVs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5f43d8b088d3771274bcfb69d3c7435b1121ac88", + "rev": "38860c9e91cb00f4d8cd19c7b4e36c45680c89b5", "type": "github" }, "original": { @@ -452,11 +452,11 @@ ] }, "locked": { - "lastModified": 1657020697, - "narHash": "sha256-A5xiLh63JUlvKgkQ97yA0/9T1kgdGhrXr2jQvUf6oAM=", + "lastModified": 1657752049, + "narHash": "sha256-wM1RVTedT0u1+OapgMZjCxKMMWj0fhQvZSrJcPQ6psY=", "owner": "thexyno", "repo": "blog", - "rev": "762118e6607fb6aad57aa36cdf0edf09a3f33845", + "rev": "2d9bb1f9d1fa71b97d5243e5cbb479d21d471257", "type": "github" }, "original": { From 064848f34b6c5d5b7ed1b5bf5969e410a23f2d81 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 14 Jul 2022 10:57:27 +0200 Subject: [PATCH 079/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 0ad7b898..79663a3b 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1657739074, - "narHash": "sha256-s7qlR7HyMrbDywk5RAJQ/YEXaMqcePSq9oOdYlUpCSA=", + "lastModified": 1657769861, + "narHash": "sha256-id1oLAYQpaezrNHj7/2s/XPcaXftPbtiaHHIEywpCi4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "6608997ad0224f59cae68b0c9db0eeb8c4c32e8f", + "rev": "27297eece41ecca4b26cd7dcb0af665bf1fca0e4", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1657676295, - "narHash": "sha256-DFhwtt6pViWIJl7IGm3iC+M/qw3zgJkTHpv5bMVlvRU=", + "lastModified": 1657783262, + "narHash": "sha256-dKaxv6EqHRZ54lNuY449YL8VTwUgXLCBwBEUrCvgixE=", "owner": "neovim", "repo": "neovim", - "rev": "778541067a2f0ec3ef4bc1b07def646323e852a9", + "rev": "b81d1eb26502f403574113385a75444f8880828e", "type": "github" }, "original": { @@ -247,11 +247,11 @@ ] }, "locked": { - "lastModified": 1657700215, - "narHash": "sha256-qLiVfuDROedqZusQhhCGv7JgHKIBudhKl8+sWOBG+8k=", + "lastModified": 1657786622, + "narHash": "sha256-stsAKo9dnuU0YIKT7c6bV5a6F2yX7P2Rm5Acpa7pTfk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "28de4ebfc0ed628bfdfea83bd505ab6902a5c138", + "rev": "758fb91ada20563788d3081dc708d570a99e4c96", "type": "github" }, "original": { @@ -262,11 +262,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1657738886, - "narHash": "sha256-lmAcczi6xyyNhrUcOaStekilDcS8e5tWB9ycwUFv/mQ=", + "lastModified": 1657781616, + "narHash": "sha256-M/wl8+gRNELNhEmNjWTZVf61lfZIyiUn/NkyEqQAW80=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "14e9f7298c4201566a4597560d7e141d9ff402cf", + "rev": "76c9664813ed7082115ac7efb8a1619a804a631f", "type": "github" }, "original": { @@ -278,11 +278,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1657649905, - "narHash": "sha256-gth8ki7Sme/DjUc/hXBHpn+cvQSx9oTLCXUjQbbrn3M=", + "lastModified": 1657674999, + "narHash": "sha256-RRQLkC3aGEf4ySAUQT08K0EPnsf6IW02QIy8yPLD3jw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "09066922296d9ef06bfadb937b2560524dd10785", + "rev": "01b8587401f41aecd4b77aa9698c0cba65a38882", "type": "github" }, "original": { @@ -292,11 +292,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1657749366, - "narHash": "sha256-qDeuqcUVpMk2RC3MXGkWuwdtg9GvP8y3jVBZUyBWuHA=", + "lastModified": 1657788841, + "narHash": "sha256-ptRhna1IPv5NTPBUb9B0RdUoSBHL+iZM41Th1gzO3wE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "62b1c34ac6d163be7334dfd4d10ee4beeb631333", + "rev": "1f5af608e7bab7b67b47ceafcc5668e34afaae83", "type": "github" }, "original": { @@ -452,11 +452,11 @@ ] }, "locked": { - "lastModified": 1657752049, - "narHash": "sha256-wM1RVTedT0u1+OapgMZjCxKMMWj0fhQvZSrJcPQ6psY=", + "lastModified": 1657788831, + "narHash": "sha256-GV8eGOCHrlzViMLFbTbrLeLOYD7mwLoGNUNsVSFVj7Y=", "owner": "thexyno", "repo": "blog", - "rev": "2d9bb1f9d1fa71b97d5243e5cbb479d21d471257", + "rev": "696a626e1b6fd09c66f667c5caeaaa34e8e13c0c", "type": "github" }, "original": { From 55aa43585e8e4689106a4ca97b8dcbfcab7dd721 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 16 Jul 2022 14:30:56 +0200 Subject: [PATCH 080/525] nvim --- flake.lock | 120 ++++++------------------------ flake.nix | 39 ++++++---- hm-imports/nvim/default.nix | 142 ++++++++++++++++++------------------ 3 files changed, 116 insertions(+), 185 deletions(-) diff --git a/flake.lock b/flake.lock index 79663a3b..04f8ad2a 100644 --- a/flake.lock +++ b/flake.lock @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1651916036, - "narHash": "sha256-UuD9keUGm4IuVEV6wdSYbuRm7CwfXE63hVkzKDjVsh4=", + "lastModified": 1657835815, + "narHash": "sha256-CnZszAYpNKydh6N7+xg+eRtWNVoAAGqc6bg+Lpgq1xc=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "2f2bdf658d2b79bada78dc914af99c53cad37cba", + "rev": "54a24f042f93c79f5679f133faddedec61955cf2", "type": "github" }, "original": { @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1657769861, - "narHash": "sha256-id1oLAYQpaezrNHj7/2s/XPcaXftPbtiaHHIEywpCi4=", + "lastModified": 1657966905, + "narHash": "sha256-hx93a72CpMs+Bdag02m9qpw0fwcekbu3Icf6v3c4rU4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "27297eece41ecca4b26cd7dcb0af665bf1fca0e4", + "rev": "91804f38a4d3c41914d579ac1cb6a35785405c14", "type": "github" }, "original": { @@ -111,22 +111,6 @@ "type": "github" } }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { "locked": { "lastModified": 1656928814, @@ -142,21 +126,6 @@ "type": "github" } }, - "flake-utils_2": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -165,11 +134,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1657719085, - "narHash": "sha256-nQt3MEBwKuKlmFKSRhdoh60AGlc+YlspV5e8kO/3y8U=", + "lastModified": 1657887110, + "narHash": "sha256-8VV0/kZed2z8fGtEc2zr+WLxTow+JTIlMjnSisyv0GQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "2c94b9801f1a11cde0fc97aa850687bb9137d42c", + "rev": "4c5106ed0f3168ff2df21b646aef67e86cbfc11c", "type": "github" }, "original": { @@ -214,52 +183,6 @@ "type": "github" } }, - "neovim-flake": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "dir": "contrib", - "lastModified": 1657783262, - "narHash": "sha256-dKaxv6EqHRZ54lNuY449YL8VTwUgXLCBwBEUrCvgixE=", - "owner": "neovim", - "repo": "neovim", - "rev": "b81d1eb26502f403574113385a75444f8880828e", - "type": "github" - }, - "original": { - "dir": "contrib", - "owner": "neovim", - "repo": "neovim", - "type": "github" - } - }, - "neovim-nightly-overlay": { - "inputs": { - "flake-compat": "flake-compat", - "neovim-flake": "neovim-flake", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1657786622, - "narHash": "sha256-stsAKo9dnuU0YIKT7c6bV5a6F2yX7P2Rm5Acpa7pTfk=", - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "rev": "758fb91ada20563788d3081dc708d570a99e4c96", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "type": "github" - } - }, "nixos-hardware": { "locked": { "lastModified": 1657781616, @@ -278,11 +201,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1657674999, - "narHash": "sha256-RRQLkC3aGEf4ySAUQT08K0EPnsf6IW02QIy8yPLD3jw=", + "lastModified": 1657888067, + "narHash": "sha256-GnwJoFBTPfW3+mz7QEeJEEQ9OMHZOiIJ/qDhZxrlKh8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "01b8587401f41aecd4b77aa9698c0cba65a38882", + "rev": "65fae659e31098ca4ac825a6fef26d890aaf3f4e", "type": "github" }, "original": { @@ -292,11 +215,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1657788841, - "narHash": "sha256-ptRhna1IPv5NTPBUb9B0RdUoSBHL+iZM41Th1gzO3wE=", + "lastModified": 1657973174, + "narHash": "sha256-2te3Dfpo+OlhfswbH9uKwXb12gRE81F3Z7OBEwmAtpA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1f5af608e7bab7b67b47ceafcc5668e34afaae83", + "rev": "f2dba019c6617db6299b2f3138e19344daf730fd", "type": "github" }, "original": { @@ -308,11 +231,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1657533762, - "narHash": "sha256-/cxTFSMmpAb8tBp1yVga1fj+i8LB9aAxnMjYFpRMuVs=", + "lastModified": 1657802959, + "narHash": "sha256-9+JWARSdlL8KiH3ymnKDXltE1vM+/WEJ78F5B1kjXys=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "38860c9e91cb00f4d8cd19c7b4e36c45680c89b5", + "rev": "4a01ca36d6bfc133bc617e661916a81327c9bbc8", "type": "github" }, "original": { @@ -386,7 +309,6 @@ "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "impermanence": "impermanence", - "neovim-nightly-overlay": "neovim-nightly-overlay", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "nixpkgs-master": "nixpkgs-master", @@ -452,11 +374,11 @@ ] }, "locked": { - "lastModified": 1657788831, - "narHash": "sha256-GV8eGOCHrlzViMLFbTbrLeLOYD7mwLoGNUNsVSFVj7Y=", + "lastModified": 1657974444, + "narHash": "sha256-eoVxwb390esfsAnrebljxGK2LhuzARhMLrf3odGr3fI=", "owner": "thexyno", "repo": "blog", - "rev": "696a626e1b6fd09c66f667c5caeaaa34e8e13c0c", + "rev": "d3192ed59da0fc29b1505407317e6689c1dbbd7d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 9e6ee0fb..95e66102 100644 --- a/flake.nix +++ b/flake.nix @@ -19,8 +19,8 @@ emacs-overlay.url = "github:nix-community/emacs-overlay"; ## vim - neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; + #neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + #neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; coc-nvim.url = "github:neoclide/coc.nvim/release"; coc-nvim.flake = false; nnn-vim.url = "github:mcchrish/nnn.vim"; @@ -42,7 +42,19 @@ agkozak-zsh-prompt.flake = false; }; - outputs = inputs @ { self, nixpkgs, nixpkgs-master, agenix, home-manager, impermanence, darwin, utils, emacs-overlay, neovim-nightly-overlay, ... }: + outputs = + inputs @ { self + , nixpkgs + , nixpkgs-master + , agenix + , home-manager + , impermanence + , darwin + , utils + , emacs-overlay + , # neovim-nightly-overlay, + ... + }: let extraSystems = [ ]; lib = nixpkgs.lib.extend (self: super: { @@ -54,11 +66,8 @@ config.allowUnfree = true; overlays = [ self.overlay - neovim-nightly-overlay.overlay + # neovim-nightly-overlay.overlay emacs-overlay.overlay - (final: prev: { - my = self.packages.${prev.system}; - }) ]; }; @@ -84,7 +93,7 @@ networking.hostName = hostName; system.configurationRevision = rev; services.getty.greetingLine = - "<<< Welcome to ${config.system.nixos.label} @ ${rev} - Please leave\\l >>>"; + "<<< Welcome to ${config.system.nixos.label} @ ${rev} - Please leave \\l >>>"; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; @@ -147,11 +156,11 @@ }; } // utils.lib.eachDefaultSystem (system: - let pkgs = nixpkgs.legacyPackages.${system}; in - { - devShell = pkgs.mkShell { - buildInputs = with pkgs; [ lefthook nixpkgs-fmt ]; - }; - packages = lib.my.mapModules ./packages (p: pkgs.callPackage p { inputs = inputs; }); - }); + let pkgs = nixpkgs.legacyPackages.${system}; in + { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ lefthook nixpkgs-fmt ]; + }; + packages = lib.my.mapModules ./packages (p: pkgs.callPackage p { inputs = inputs; }); + }); } diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index fd541349..1a99ff39 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -1,73 +1,73 @@ -{pkgs, config, inputs, ...}: +{ pkgs, config, inputs, ... }: { - home.packages = with pkgs;[ - python3 # ultisnips - lazygit - nodejs - inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp - shfmt - shellcheck - vim-vint - nodePackages.write-good - ctags - ]; - home.file.".config/nvim".source = ./config; - home.file.".config/nvim".recursive = true; - programs.neovim = - let - conf = inputs.self.nixosConfigurations.enterprise.config.programs.neovim.configure; - in - { - enable = true; - package = pkgs.neovim-nightly; - extraConfig = '' - set runtimepath^=~/.config/nvim - lua dofile('${./config/nvim.lua}') - ''; - vimAlias = true; - viAlias = true; - plugins = - let - nnn-vim = pkgs.vimUtils.buildVimPlugin { - name = "nnn-vim"; - src = inputs.nnn-vim; - }; - coc-nvim = pkgs.vimUtils.buildVimPlugin { - name = "coc-nvim"; - src = inputs.coc-nvim; - }; - dart-vim = pkgs.vimUtils.buildVimPlugin { - name = "dart-vim"; - src = inputs.dart-vim; - }; - in - map (x: { plugin = x; }) (with pkgs.vimPlugins; [ - vim-tmux-navigator - galaxyline-nvim - nvim-web-devicons - nnn-vim - rainbow - vista-vim - polyglot - vim-commentary - vim-table-mode - vim-speeddating - vim-nix - gruvbox - incsearch-vim - vim-highlightedyank - vim-fugitive - fzf-vim - lualine-nvim - fzfWrapper - vim-devicons - toggleterm-nvim - undotree - vim-pandoc - vim-pandoc-syntax - ultisnips - coc-nvim - dart-vim - ]); - }; + home.packages = with pkgs;[ + python3 # ultisnips + lazygit + nodejs + inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + shfmt + shellcheck + vim-vint + nodePackages.write-good + ctags + ]; + home.file.".config/nvim".source = ./config; + home.file.".config/nvim".recursive = true; + programs.neovim = + let + conf = inputs.self.nixosConfigurations.enterprise.config.programs.neovim.configure; + in + { + enable = true; + #package = pkgs.neovim-nightly; + extraConfig = '' + set runtimepath^=~/.config/nvim + lua dofile('${./config/nvim.lua}') + ''; + vimAlias = true; + viAlias = true; + plugins = + let + nnn-vim = pkgs.vimUtils.buildVimPlugin { + name = "nnn-vim"; + src = inputs.nnn-vim; + }; + coc-nvim = pkgs.vimUtils.buildVimPlugin { + name = "coc-nvim"; + src = inputs.coc-nvim; + }; + dart-vim = pkgs.vimUtils.buildVimPlugin { + name = "dart-vim"; + src = inputs.dart-vim; + }; + in + map (x: { plugin = x; }) (with pkgs.vimPlugins; [ + vim-tmux-navigator + galaxyline-nvim + nvim-web-devicons + nnn-vim + rainbow + vista-vim + polyglot + vim-commentary + vim-table-mode + vim-speeddating + vim-nix + gruvbox + incsearch-vim + vim-highlightedyank + vim-fugitive + fzf-vim + lualine-nvim + fzfWrapper + vim-devicons + toggleterm-nvim + undotree + vim-pandoc + vim-pandoc-syntax + ultisnips + coc-nvim + dart-vim + ]); + }; } From 2e16f22d37460efe45b627d4c4df690050cccd84 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 24 Jul 2022 10:11:58 +0200 Subject: [PATCH 081/525] update --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 04f8ad2a..3380362c 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1657966905, - "narHash": "sha256-hx93a72CpMs+Bdag02m9qpw0fwcekbu3Icf6v3c4rU4=", + "lastModified": 1658637786, + "narHash": "sha256-8FtSpwj6k559s6pujsXM1o7pqrEk4TFAEGLZ4a59zLI=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "91804f38a4d3c41914d579ac1cb6a35785405c14", + "rev": "920e88c44073e2a5394d2731c1cac265c6cbf2dd", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1657887110, - "narHash": "sha256-8VV0/kZed2z8fGtEc2zr+WLxTow+JTIlMjnSisyv0GQ=", + "lastModified": 1658582894, + "narHash": "sha256-6iR8KSePwH9O2mClhu2RvDO/Gu5ISqNSB6t4YS/poaA=", "owner": "nix-community", "repo": "home-manager", - "rev": "4c5106ed0f3168ff2df21b646aef67e86cbfc11c", + "rev": "d86c189158cb345e351190e362672a8485a52117", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1657781616, - "narHash": "sha256-M/wl8+gRNELNhEmNjWTZVf61lfZIyiUn/NkyEqQAW80=", + "lastModified": 1658401027, + "narHash": "sha256-z/sDfzsFOoWNO9nZGfxDCNjHqXvSVZLDBDSgzr9qDXE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "76c9664813ed7082115ac7efb8a1619a804a631f", + "rev": "83009edccc2e24afe3d0165ed98b60ff7471a5f8", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1657888067, - "narHash": "sha256-GnwJoFBTPfW3+mz7QEeJEEQ9OMHZOiIJ/qDhZxrlKh8=", + "lastModified": 1658609390, + "narHash": "sha256-hMXHtPRNIeAYkBzZ66g+4Tryac/NNbpZvPwd5jvMftw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "65fae659e31098ca4ac825a6fef26d890aaf3f4e", + "rev": "f4a4245e55660d0a590c17bab40ed08a1d010787", "type": "github" }, "original": { @@ -215,11 +215,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1657973174, - "narHash": "sha256-2te3Dfpo+OlhfswbH9uKwXb12gRE81F3Z7OBEwmAtpA=", + "lastModified": 1658648081, + "narHash": "sha256-RL5nr4Xhp0zQeEGG/I3t3FmqaI9QrBg5PH31NF+7A/A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f2dba019c6617db6299b2f3138e19344daf730fd", + "rev": "e494a908e8895b9cba18e21d5fc83362f64b3f6a", "type": "github" }, "original": { @@ -231,11 +231,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1657802959, - "narHash": "sha256-9+JWARSdlL8KiH3ymnKDXltE1vM+/WEJ78F5B1kjXys=", + "lastModified": 1658557357, + "narHash": "sha256-0gqNef6skYQKJSS2vLojxrXOrc72zoX5VTDKUqEo6Gk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4a01ca36d6bfc133bc617e661916a81327c9bbc8", + "rev": "42ca9bef09e780eabe84328dd1b730cef978f098", "type": "github" }, "original": { @@ -286,11 +286,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1657475948, - "narHash": "sha256-iOMjTTW2hQbBU3u4pFP5i4Hp4l+r1gkU86YzVfBCx6w=", + "lastModified": 1658492037, + "narHash": "sha256-i4TL1Tb/q7Y+Jk5JWk6FRWWei6yH0WtYVTnmmAr9B0c=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "0449f49a0468624128dd4f5e2d27d1a0e6f894f4", + "rev": "e6a41cbd317a21763ba61a19e594a3e1bf1023ca", "type": "github" }, "original": { @@ -374,11 +374,11 @@ ] }, "locked": { - "lastModified": 1657974444, - "narHash": "sha256-eoVxwb390esfsAnrebljxGK2LhuzARhMLrf3odGr3fI=", + "lastModified": 1658650209, + "narHash": "sha256-TYIOstcitsH9WDTVhVPHGeCxwkapAvaMhPrkn2jJf9M=", "owner": "thexyno", "repo": "blog", - "rev": "d3192ed59da0fc29b1505407317e6689c1dbbd7d", + "rev": "61c61c1dfa910e6bdc8fcabc3a22365417347769", "type": "github" }, "original": { @@ -390,11 +390,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1657090022, - "narHash": "sha256-RnG8YFTOrX6HSnHq27GfcO49ms/5rnakWbPU0MfaorU=", + "lastModified": 1658238578, + "narHash": "sha256-bw3Fm/OOhHqrT7rAJtLAdFp3FV+9tDrK7+32HwYYpvU=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "073379d9081da21b9e3aa32ea4ff4d15c2aaa6a9", + "rev": "11258bcd48521b5bc7b683104bb0f5cb9375edee", "type": "github" }, "original": { From 054b18e7638fa7fb7bcf53bdfa19167a4ab67e2a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 25 Jul 2022 10:15:56 +0200 Subject: [PATCH 082/525] many many new things --- data/monitoring.toml | 33 +++++++------ flake.lock | 66 +++++++++++++------------- hm-imports/nvim/default.nix | 34 ++++++------- hosts/ds9/default.nix | 1 + nixos-modules/services/monitoring.nix | 12 ++++- nixos-modules/services/photoprism.nix | 44 +++++++++++++++++ secrets/photoprismEnv.age | Bin 0 -> 1465 bytes secrets/secrets.nix | 1 + 8 files changed, 125 insertions(+), 66 deletions(-) create mode 100644 nixos-modules/services/photoprism.nix create mode 100644 secrets/photoprismEnv.age diff --git a/data/monitoring.toml b/data/monitoring.toml index 3582a369..c2b5394c 100644 --- a/data/monitoring.toml +++ b/data/monitoring.toml @@ -1,31 +1,34 @@ [master] hostname = "ds9" -ip = "10.0.0.2" +ip = "100.83.96.25" # tailscale [hostOverrides] wormhole = "10.0.0.1" picard = "ragon.xyz" -[exporters.nginx] -hosts = [ - "ds9", - "wormhole" -] +#[exporters.nginx] +#hosts = [ +# "ds9", +# "wormhole" +#] [exporters.node] -hosts = [ "ds9", "wormhole" ] +hosts = [ "ds9", "picard" ] [exporters.smartctl] hosts = [ "ds9" ] -[exporters.dnsmasq] -hosts = [ "wormhole" ] +# [exporters.dnsmasq] +# hosts = [ "wormhole" ] +# +# [exporters.wireguard] +# hosts = [ "wormhole"] +# +# [exporters.smokeping] +# hosts = [ "wormhole"] -[exporters.wireguard] -hosts = [ "wormhole"] - -[exporters.smokeping] -hosts = [ "wormhole"] +[exporters.nginxlog] +hosts = [ "picard", "ds9" ] [promtail] -hosts = [ "wormhole", "ds9" ] +hosts = [ "picard", "ds9" ] diff --git a/flake.lock b/flake.lock index 3380362c..8bd1f314 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1655204674, - "narHash": "sha256-bsrCvgQqIA4jD62PIcLwYdcBM+YLLKLI/x2H5c/bR50=", + "lastModified": 1659818816, + "narHash": "sha256-HnlyhYTHgbtiKLLiNaPfzyhfKCTm4IFEErEZo+CkKxs=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "87e5dd692ec8ed7be25b15449fd0ab15a48bfb30", + "rev": "cf651a31736fc36c441bf307d2babff78280dd59", "type": "github" }, "original": { @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1658637786, - "narHash": "sha256-8FtSpwj6k559s6pujsXM1o7pqrEk4TFAEGLZ4a59zLI=", + "lastModified": 1659983351, + "narHash": "sha256-FsTn0f0t2B7AKAtCDOYd34ztKa+XOUtzRa4FtO8HgDw=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "920e88c44073e2a5394d2731c1cac265c6cbf2dd", + "rev": "a3770a9a619f508a0828df30cb10858663d4538b", "type": "github" }, "original": { @@ -113,11 +113,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1658582894, - "narHash": "sha256-6iR8KSePwH9O2mClhu2RvDO/Gu5ISqNSB6t4YS/poaA=", + "lastModified": 1659978484, + "narHash": "sha256-VkErPc8pXcuFQG7jkkaUOEMORe81oweRNlAYZJ2+aRI=", "owner": "nix-community", "repo": "home-manager", - "rev": "d86c189158cb345e351190e362672a8485a52117", + "rev": "c1addfdad3825f75a66f8d73ec7d2f68c78ba6f8", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1658401027, - "narHash": "sha256-z/sDfzsFOoWNO9nZGfxDCNjHqXvSVZLDBDSgzr9qDXE=", + "lastModified": 1659356074, + "narHash": "sha256-UwV6hZZEtchvtiTCCD/ODEv1226eam8kEgEyQb7xB0E=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "83009edccc2e24afe3d0165ed98b60ff7471a5f8", + "rev": "ea3efc80f8ab83cb73aec39f4e76fe87afb15a08", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1658609390, - "narHash": "sha256-hMXHtPRNIeAYkBzZ66g+4Tryac/NNbpZvPwd5jvMftw=", + "lastModified": 1659987637, + "narHash": "sha256-8l+5QiCkackVPu/F3vX7RCKHyYKxEsq/TKMuaG6UX5k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f4a4245e55660d0a590c17bab40ed08a1d010787", + "rev": "a47896bf817e7324471e687fc2bb2312fff682ce", "type": "github" }, "original": { @@ -215,11 +215,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1658648081, - "narHash": "sha256-RL5nr4Xhp0zQeEGG/I3t3FmqaI9QrBg5PH31NF+7A/A=", + "lastModified": 1660000355, + "narHash": "sha256-ht+tJwtceMYgiCs/OUkxXyV3veBJ1vfCRVwgWh7a/8A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e494a908e8895b9cba18e21d5fc83362f64b3f6a", + "rev": "c4e832986f335abf8665788f4d56375d93ac8f33", "type": "github" }, "original": { @@ -231,11 +231,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1658557357, - "narHash": "sha256-0gqNef6skYQKJSS2vLojxrXOrc72zoX5VTDKUqEo6Gk=", + "lastModified": 1659889440, + "narHash": "sha256-O8+FsHZzQIqjQjuh+VXbJtGrpPswm5ta2Z/eo72Lz2U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "42ca9bef09e780eabe84328dd1b730cef978f098", + "rev": "4bdf4169ad2896236895ca607a843f30c9680345", "type": "github" }, "original": { @@ -286,11 +286,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1658492037, - "narHash": "sha256-i4TL1Tb/q7Y+Jk5JWk6FRWWei6yH0WtYVTnmmAr9B0c=", + "lastModified": 1658963292, + "narHash": "sha256-4OIpATLdPQvryyhRQPELeqNYC0n6PCyjD6LCPdwOztc=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "e6a41cbd317a21763ba61a19e594a3e1bf1023ca", + "rev": "ff18e04551a39ccdab0ff9c83926db3807b23478", "type": "github" }, "original": { @@ -354,11 +354,11 @@ }, "utils_3": { "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -390,11 +390,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1658238578, - "narHash": "sha256-bw3Fm/OOhHqrT7rAJtLAdFp3FV+9tDrK7+32HwYYpvU=", + "lastModified": 1659881821, + "narHash": "sha256-Pa5Dm13j2yvGrNGSsIv6JHn2UkePRrRp/Im933MaYzs=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "11258bcd48521b5bc7b683104bb0f5cb9375edee", + "rev": "b5ba0051dcc849cc27be7faf766f5806d99f7884", "type": "github" }, "original": { diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 1a99ff39..446a0a02 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -2,14 +2,14 @@ { home.packages = with pkgs;[ python3 # ultisnips - lazygit - nodejs - inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp - shfmt - shellcheck - vim-vint - nodePackages.write-good - ctags + #lazygit + #nodejs + #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + #shfmt + #shellcheck + #vim-vint + #nodePackages.write-good + #ctags ]; home.file.".config/nvim".source = ./config; home.file.".config/nvim".recursive = true; @@ -32,10 +32,10 @@ name = "nnn-vim"; src = inputs.nnn-vim; }; - coc-nvim = pkgs.vimUtils.buildVimPlugin { - name = "coc-nvim"; - src = inputs.coc-nvim; - }; + # coc-nvim = pkgs.vimUtils.buildVimPlugin { + # name = "coc-nvim"; + # src = inputs.coc-nvim; + # }; dart-vim = pkgs.vimUtils.buildVimPlugin { name = "dart-vim"; src = inputs.dart-vim; @@ -62,11 +62,11 @@ fzfWrapper vim-devicons toggleterm-nvim - undotree - vim-pandoc - vim-pandoc-syntax - ultisnips - coc-nvim + # undotree + # vim-pandoc + # vim-pandoc-syntax + # ultisnips + # coc-nvim dart-vim ]); }; diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 3ef293b1..118ef4ef 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -223,6 +223,7 @@ in ssh.enable = true; nginx.enable = true; jellyfin.enable = true; + photoprism.enable = true; tailscale.enable = true; tailscale.exitNode = true; tailscale.extraUpCommands = "--advertise-routes=10.0.0.0/16"; diff --git a/nixos-modules/services/monitoring.nix b/nixos-modules/services/monitoring.nix index 289e0765..d0b24dee 100644 --- a/nixos-modules/services/monitoring.nix +++ b/nixos-modules/services/monitoring.nix @@ -115,9 +115,19 @@ in # some global settings services.prometheus.exporters.node.enabledCollectors = [ "systemd" ]; services.prometheus.exporters.dnsmasq.leasesPath = "/var/lib/dnsmasq/dnsmasq.leases"; + systemd.services."prometheus-smartctl-exporter".serviceConfig.DeviceAllow = [ "* r" ]; services.prometheus.exporters.smartctl.user = "root"; + services.prometheus.exporters.smartctl.group = "root"; services.prometheus.exporters.smokeping.hosts = [ "1.1.1.1" ]; - services.nginx.statusPage = true; + services.prometheus.exporters.nginxlog.user = "nginx"; + services.prometheus.exporters.nginxlog.group = "nginx"; + services.prometheus.exporters.nginxlog.settings = { + namespaces = [ { + name = "nginx"; + format = "$remote_addr - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\" \"$http_x_forwarded_for\""; + source.files = [ "/var/log/nginx/access.log" ]; + }]; + }; } (mkIf (builtins.elem hostName cfg.promtail.hosts) { services.promtail = { diff --git a/nixos-modules/services/photoprism.nix b/nixos-modules/services/photoprism.nix new file mode 100644 index 00000000..614c63fd --- /dev/null +++ b/nixos-modules/services/photoprism.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, ... }: +with lib; +with lib.my; +let + cfg = config.ragon.services.photoprism; + domain = config.ragon.services.nginx.domain; +in +{ + options.ragon.services.photoprism.enable = mkEnableOption "Enables the hedgedoc BitWarden Server"; + options.ragon.services.photoprism.domainPrefix = + mkOption { + type = lib.types.str; + default = "photos"; + }; + options.ragon.services.photoprism.port = + mkOption { + type = lib.types.str; + default = "28452"; + }; + config = lib.mkIf cfg.enable { + virtualisation.oci-containers.containers.photoprism = { + ports = [ "127.0.0.1:${cfg.port}:2342" ]; + image = "photoprism/photoprism:latest"; + environmentFiles = [ config.age.secrets.photoprismEnv.path ]; + workdir = "/photoprism"; # upstream says so + user = "1000:100"; + volumes = [ + "/data/pictures:/photoprism/originals" + "/data/applications/photoprismimport:/photoprism/import" + "/var/lib/photoprism:/photoprism/storage" + ]; + }; + ragon.agenix.secrets.photoprismEnv.owner = "root"; + services.nginx.virtualHosts."${cfg.domainPrefix}.${domain}" = { + forceSSL = true; + useACMEHost = "${domain}"; + locations."/".proxyWebsockets = true; + locations."/".proxyPass = "http://127.0.0.1:${cfg.port}"; + }; + ragon.persist.extraDirectories = [ + "/var/lib/photoprism" + ]; + }; +} diff --git a/secrets/photoprismEnv.age b/secrets/photoprismEnv.age new file mode 100644 index 0000000000000000000000000000000000000000..7bab35d8442bcb279713a0e863c44f5a4abff363 GIT binary patch literal 1465 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCUlOp2&TD_8Ig@lMkY z$;&J=HPcV=D{?DL^3K*SD{zWPbu$vydc*Dy!~?n z{d3%$g33X*d0Y5}>82N@CKjhEs7EQ(m20{Mx+s_`spXg?Wh)pcm1)&#xJPqUR7F&U zYNzX$XP7yfW(S#BFVk#ghy0Zq`O&$IhBSMWfcb(nfZn37nZvR8&!H+rg`Lt<|hSvB$kAEM+6pgu^sJC zm-#KC^J?mznVganwIiOC_Fw4DjFkAY=3D#{kE#}hg7dXIPv^F1bZQ72u6^)?ao!4T zwdVa*b=xcRo*euc^~j}qt<_?m`(bJRyjs1&Iw^-m-d%kDxg)D4+iQ~TIu_Ol=e)K4 z@#%+O*Id1^%;3AStkFX5n8I5U>Y0tJJWp?(cOy|VXG>Gaf}&Fwf94i=Ul&S>iqtAo z6wc$^dVki#gi@I^r?+1gIoSD6v?ud%Q@i(Co`dbDWG`K>li%Yf_UuF8`Ph}4j_((n zv#~}Y;ivE&#@HpdIN4Jc+<0&)H|AeGFZ<4>^qhB+^D2)otGXfG7ddmu+|SiBEV#0M zxx@*docB%RNjwD<9fy z@qK;M;-aKuZzqOdvB;SCVu_~w?n5tTXXO>#W}EfXJnh)qTNxW!Ym8hS%Is}TRbsa( znr>M3#L1N9#Pf2Yn)6YKlcv0W@c62b*|PYmWmgm!okZDJuDWFNXxZw#T?r+xayjm3 zyg9UqR(Q?X-JC8< zCFR1LoF<&>oBsP$gXXMfSNcU%HcjVyw)6Q%wF*67P6n=|n#bpOZ&tKE_c(Fc(CyGO zA?KrQYN8(byTwj^o5m@2JMHs?gyQ*i4L*rE@jF*9w{&DN^W0+=>>E9+MR?O{o3n@S zymrzy>LIY zQhr}sp87oYqqshUgVCx~lQ#x4K6$K(6qD76JgOG9wC~Qg?x3xaQ-rb(E3p5HIu>el zRy8nr@hdN5^X83_9q$#lov3RT`DT{Tvuzdk<-!jEuE7_Q*8F}V!1u2+t*D$kTlI?} PM^1;kl-f+joBiJazH(ul literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 0e2b541b..88738dba 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -10,6 +10,7 @@ in "ragonPasswd.age".publicKeys = pubkeys.ragon.computers; "tailscaleKey.age".publicKeys = pubkeys.ragon.computers; "paperlessAdminPW.age".publicKeys = pubkeys.ragon.host "ds9"; + "photoprismEnv.age".publicKeys = pubkeys.ragon.host "ds9"; "ds9OffsiteBackupSSH.age".publicKeys = pubkeys.ragon.host "ds9"; "hedgedocSecret.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabInitialRootPassword.age".publicKeys = pubkeys.ragon.host "picard"; From 5c5202f4d7d4cd9f0f57015024fdee23fd847b20 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 9 Aug 2022 01:57:01 +0200 Subject: [PATCH 083/525] close firewall on prometheus --- nixos-modules/services/monitoring.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos-modules/services/monitoring.nix b/nixos-modules/services/monitoring.nix index d0b24dee..c6008dc5 100644 --- a/nixos-modules/services/monitoring.nix +++ b/nixos-modules/services/monitoring.nix @@ -122,7 +122,7 @@ in services.prometheus.exporters.nginxlog.user = "nginx"; services.prometheus.exporters.nginxlog.group = "nginx"; services.prometheus.exporters.nginxlog.settings = { - namespaces = [ { + namespaces = [{ name = "nginx"; format = "$remote_addr - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\" \"$http_x_forwarded_for\""; source.files = [ "/var/log/nginx/access.log" ]; @@ -161,8 +161,8 @@ in (x: { services.prometheus.exporters.${x} = { enable = (builtins.elem hostName cfg.exporters.${x}.hosts); - openFirewall = (hostName != cfg.master.hostname); - firewallFilter = if (hostName != cfg.master.hostname) then "-p tcp -s ${cfg.master.ip} -m tcp --dport ${toString config.services.prometheus.exporters.${x}.port}" else null; + #openFirewall = (hostName != cfg.master.hostname); + #firewallFilter = if (hostName != cfg.master.hostname) then "-p tcp -s ${cfg.master.ip} -m tcp --dport ${toString config.services.prometheus.exporters.${x}.port}" else null; }; }) (builtins.attrNames cfg.exporters)) From 5b8e13008a4a4da028b9902e7e35aaf1747f1166 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 9 Aug 2022 02:06:28 +0200 Subject: [PATCH 084/525] close firewall on prometheus --- data/monitoring.toml | 12 +++++------- hosts/picard/default.nix | 2 +- nixos-modules/services/monitoring.nix | 6 +++--- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/data/monitoring.toml b/data/monitoring.toml index c2b5394c..74920572 100644 --- a/data/monitoring.toml +++ b/data/monitoring.toml @@ -3,14 +3,12 @@ hostname = "ds9" ip = "100.83.96.25" # tailscale [hostOverrides] -wormhole = "10.0.0.1" -picard = "ragon.xyz" -#[exporters.nginx] -#hosts = [ -# "ds9", -# "wormhole" -#] +[exporters.nginx] +hosts = [ + "ds9", + "picard" +] [exporters.node] hosts = [ "ds9", "picard" ] diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 95704f82..62bae801 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -70,7 +70,7 @@ "~(?P.*)" $ip; } - log_format anonymized '$ip_anonymized - $remote_user [$time_local] ' + log_format anonymized '$ip_anonymized - - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"'; diff --git a/nixos-modules/services/monitoring.nix b/nixos-modules/services/monitoring.nix index c6008dc5..ff2b8c95 100644 --- a/nixos-modules/services/monitoring.nix +++ b/nixos-modules/services/monitoring.nix @@ -11,7 +11,7 @@ let ( if (builtins.elem y (builtins.attrNames cfg.hostOverrides)) then cfg.hostOverrides.${y} - else "${y}.hailsatan.eu" + else y ) ); in @@ -124,7 +124,7 @@ in services.prometheus.exporters.nginxlog.settings = { namespaces = [{ name = "nginx"; - format = "$remote_addr - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\" \"$http_x_forwarded_for\""; + format = "$remote_addr - - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\" \"$http_x_forwarded_for\""; source.files = [ "/var/log/nginx/access.log" ]; }]; }; @@ -135,7 +135,7 @@ in configuration = { server.http_listen_port = 28183; positions.filename = "/tmp/positions.yaml"; - clients = [{ url = "http://${getHost cfg.master.hostname}:3100/loki/api/v1/push"; }]; + clients = [{ url = "http://${cfg.master.ip}:3100/loki/api/v1/push"; }]; scrape_configs = [ { job_name = "journal"; From 7c5150c6d831a3ac11d26f6cdcc178405635a5b5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 9 Aug 2022 02:08:47 +0200 Subject: [PATCH 085/525] nginxstatus --- nixos-modules/services/monitoring.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-modules/services/monitoring.nix b/nixos-modules/services/monitoring.nix index ff2b8c95..ce4ee23b 100644 --- a/nixos-modules/services/monitoring.nix +++ b/nixos-modules/services/monitoring.nix @@ -119,6 +119,7 @@ in services.prometheus.exporters.smartctl.user = "root"; services.prometheus.exporters.smartctl.group = "root"; services.prometheus.exporters.smokeping.hosts = [ "1.1.1.1" ]; + services.nginx.statusPage = mkDefault config.prometheus.exporters.nginx.enable; services.prometheus.exporters.nginxlog.user = "nginx"; services.prometheus.exporters.nginxlog.group = "nginx"; services.prometheus.exporters.nginxlog.settings = { From 43cae6649ca3e32859189f88b8243a50e368ea37 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 9 Aug 2022 02:09:19 +0200 Subject: [PATCH 086/525] nginxstatus --- nixos-modules/services/monitoring.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-modules/services/monitoring.nix b/nixos-modules/services/monitoring.nix index ce4ee23b..0bbf0055 100644 --- a/nixos-modules/services/monitoring.nix +++ b/nixos-modules/services/monitoring.nix @@ -119,7 +119,7 @@ in services.prometheus.exporters.smartctl.user = "root"; services.prometheus.exporters.smartctl.group = "root"; services.prometheus.exporters.smokeping.hosts = [ "1.1.1.1" ]; - services.nginx.statusPage = mkDefault config.prometheus.exporters.nginx.enable; + services.nginx.statusPage = mkDefault config.services.prometheus.exporters.nginx.enable; services.prometheus.exporters.nginxlog.user = "nginx"; services.prometheus.exporters.nginxlog.group = "nginx"; services.prometheus.exporters.nginxlog.settings = { From 70d1930701c0d87f409657893c6adbafebc46172 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 9 Aug 2022 02:15:18 +0200 Subject: [PATCH 087/525] nginxstatus --- hosts/picard/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 62bae801..95704f82 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -70,7 +70,7 @@ "~(?P.*)" $ip; } - log_format anonymized '$ip_anonymized - - $remote_user [$time_local] ' + log_format anonymized '$ip_anonymized - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"'; From 3551af3246ae3301130400e20440a700e875e223 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 9 Aug 2022 02:21:01 +0200 Subject: [PATCH 088/525] nginxstatus --- flake.lock | 36 +++++++++++++-------------- hosts/daedalusvm/default.nix | 3 +++ nixos-modules/services/monitoring.nix | 4 +-- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/flake.lock b/flake.lock index 8bd1f314..f6110ebe 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1659983351, - "narHash": "sha256-FsTn0f0t2B7AKAtCDOYd34ztKa+XOUtzRa4FtO8HgDw=", + "lastModified": 1660042366, + "narHash": "sha256-Gx6q2iyZ+ooBiNkc3yEQYebjvmBozILny/eo5dgOHhc=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "a3770a9a619f508a0828df30cb10858663d4538b", + "rev": "4ef493b8be95fd8c76dd660a1e4b11e6bc690e62", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1659356074, - "narHash": "sha256-UwV6hZZEtchvtiTCCD/ODEv1226eam8kEgEyQb7xB0E=", + "lastModified": 1660030916, + "narHash": "sha256-KeVTmST6vAS85uUaSYlzv6OWhveawfIGhqX1SMq+L30=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "ea3efc80f8ab83cb73aec39f4e76fe87afb15a08", + "rev": "3975d5158f00accda15a11180b2c08654cfb2807", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1659987637, - "narHash": "sha256-8l+5QiCkackVPu/F3vX7RCKHyYKxEsq/TKMuaG6UX5k=", + "lastModified": 1660017629, + "narHash": "sha256-Koz6/k7c6hx4qVz/bboxdR2QsBdkxjRWpNmsOWJtXZE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a47896bf817e7324471e687fc2bb2312fff682ce", + "rev": "9f15d6c3a74d2778c6e1af67947c95f100dc6fd2", "type": "github" }, "original": { @@ -215,11 +215,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1660000355, - "narHash": "sha256-ht+tJwtceMYgiCs/OUkxXyV3veBJ1vfCRVwgWh7a/8A=", + "lastModified": 1660061654, + "narHash": "sha256-QlwytzL2l6exY3NmXzXQHr6aWQJHfH/QCWnD/YMPNpc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c4e832986f335abf8665788f4d56375d93ac8f33", + "rev": "bbd9e0bfd03cfedaa17f9360daa2f39e613b40b2", "type": "github" }, "original": { @@ -231,11 +231,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1659889440, - "narHash": "sha256-O8+FsHZzQIqjQjuh+VXbJtGrpPswm5ta2Z/eo72Lz2U=", + "lastModified": 1659981942, + "narHash": "sha256-uCFiP/B/NXOWzhN6TKfMbSxtVMk1bVnCrnJRjCF6RmU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4bdf4169ad2896236895ca607a843f30c9680345", + "rev": "39d7f929fbcb1446ad7aa7441b04fb30625a4190", "type": "github" }, "original": { @@ -374,11 +374,11 @@ ] }, "locked": { - "lastModified": 1658650209, - "narHash": "sha256-TYIOstcitsH9WDTVhVPHGeCxwkapAvaMhPrkn2jJf9M=", + "lastModified": 1660063153, + "narHash": "sha256-a8j9MitZE0NdQqMmWEOaXsqvIEh0Y3Nr3nQNZnw/TQI=", "owner": "thexyno", "repo": "blog", - "rev": "61c61c1dfa910e6bdc8fcabc3a22365417347769", + "rev": "c382d379bec210e99da019d4b9335e4e20f7e7fb", "type": "github" }, "original": { diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index c5badebe..ac3e46c5 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -19,6 +19,9 @@ in # Immutable users due to tmpfs users.mutableUsers = false; services.openssh.forwardX11 = true; + services.rpcbind.enable = true; + boot.supportedFilesystems = [ "nfs" "nfs4" ]; + environment.systemPackages = [ pkgs.nfs-utils ]; ragon = { cli.enable = true; diff --git a/nixos-modules/services/monitoring.nix b/nixos-modules/services/monitoring.nix index 0bbf0055..c41ae4c1 100644 --- a/nixos-modules/services/monitoring.nix +++ b/nixos-modules/services/monitoring.nix @@ -124,8 +124,8 @@ in services.prometheus.exporters.nginxlog.group = "nginx"; services.prometheus.exporters.nginxlog.settings = { namespaces = [{ - name = "nginx"; - format = "$remote_addr - - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\" \"$http_x_forwarded_for\""; + name = "nginxlog"; + format = "$remote_addr - - [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\""; source.files = [ "/var/log/nginx/access.log" ]; }]; }; From f384de4b24e224a1ec5b02a6cf75eaf80c1c973c Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 11 Aug 2022 21:43:01 +0200 Subject: [PATCH 089/525] ds9 ssd --- hosts/ds9/default.nix | 5 +++-- hosts/ds9/hardware-configuration.nix | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 118ef4ef..cfbae7b7 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -27,8 +27,8 @@ in datasets = { backups = "rpool/content/local/backups"; data = "rpool/content/safe/data"; - ds9persist = "rpool/content/safe/persist"; - hassosvm = "rpool/content/safe/vms/hassos"; + ds9persist = "spool/safe/persist"; + hassosvm = "spool/safe/vms/hassos"; }; in builtins.mapAttrs (n: v: { target = "backup/${n}"; source = v; sendOptions = "w"; }) datasets; @@ -50,6 +50,7 @@ in enable = true; postCommands = '' zpool import rpool + zpool import spool echo "zfs load-key -a; killall zfs" >> /root/.profile ''; ssh = { diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix index 62d8f621..96fd2b7c 100644 --- a/hosts/ds9/hardware-configuration.nix +++ b/hosts/ds9/hardware-configuration.nix @@ -17,9 +17,9 @@ mediadata = false; swap = false; persistentSnapshot = false; - nix = "rpool/content/local/nix"; - varlog = "rpool/content/local/journal"; - persistent = "rpool/content/safe/persist"; + nix = "spool/local/nix"; + varlog = "spool/local/journal"; + persistent = "spool/safe/persist"; arcSize = 8; }; From e06b368828a835a609d41d839770fed4015c138e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 11 Aug 2022 23:13:05 +0200 Subject: [PATCH 090/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index f6110ebe..4af12701 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1659818816, - "narHash": "sha256-HnlyhYTHgbtiKLLiNaPfzyhfKCTm4IFEErEZo+CkKxs=", + "lastModified": 1660069039, + "narHash": "sha256-RUrjBQH8IvpPRuvizlCZl9aggGKeRtmMwyAl5AAvRzc=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "cf651a31736fc36c441bf307d2babff78280dd59", + "rev": "69f954eaebc0f15a0ff17b6d40e24aa1039d9334", "type": "github" }, "original": { @@ -98,11 +98,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1660042366, - "narHash": "sha256-Gx6q2iyZ+ooBiNkc3yEQYebjvmBozILny/eo5dgOHhc=", + "lastModified": 1660242581, + "narHash": "sha256-koLVNZS7qfk/eDcIRC221YqHnfI0YzochmA3IqZrbmE=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "4ef493b8be95fd8c76dd660a1e4b11e6bc690e62", + "rev": "ab5e238d6bc15e112beb82d898efab22426001bf", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1659978484, - "narHash": "sha256-VkErPc8pXcuFQG7jkkaUOEMORe81oweRNlAYZJ2+aRI=", + "lastModified": 1660252108, + "narHash": "sha256-fpY8X+eJmClJyVnMQJ7bpsNgn/CxPE9+UkkJ0FRIKQ8=", "owner": "nix-community", "repo": "home-manager", - "rev": "c1addfdad3825f75a66f8d73ec7d2f68c78ba6f8", + "rev": "324fedcf9f1c475e2f522d03af029528e65969bc", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1660017629, - "narHash": "sha256-Koz6/k7c6hx4qVz/bboxdR2QsBdkxjRWpNmsOWJtXZE=", + "lastModified": 1660227034, + "narHash": "sha256-bXMlG/YU0IjAod6M625XT1YbUG+/3L9ypk9llYpKeuM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f15d6c3a74d2778c6e1af67947c95f100dc6fd2", + "rev": "964d60ff2e6bc76c0618962da52859603784fa78", "type": "github" }, "original": { @@ -215,11 +215,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1660061654, - "narHash": "sha256-QlwytzL2l6exY3NmXzXQHr6aWQJHfH/QCWnD/YMPNpc=", + "lastModified": 1660252182, + "narHash": "sha256-cbJ09RYPovttTgIEyhe83YZZv5rajLjFtz3bxV2Wqc0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bbd9e0bfd03cfedaa17f9360daa2f39e613b40b2", + "rev": "300c5c98c6e1558ec977c0f6f0b8a8af71fbd0e8", "type": "github" }, "original": { @@ -231,11 +231,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1659981942, - "narHash": "sha256-uCFiP/B/NXOWzhN6TKfMbSxtVMk1bVnCrnJRjCF6RmU=", + "lastModified": 1660162369, + "narHash": "sha256-pZukMP4zCA1FaBg0xHxf7KdE/Nv/C5YbDID7h2L8O7A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "39d7f929fbcb1446ad7aa7441b04fb30625a4190", + "rev": "3a11db5f408095b8f08b098ec2066947f4b72ce2", "type": "github" }, "original": { @@ -390,11 +390,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1659881821, - "narHash": "sha256-Pa5Dm13j2yvGrNGSsIv6JHn2UkePRrRp/Im933MaYzs=", + "lastModified": 1660204457, + "narHash": "sha256-f1tm7q5Aw73K/R74T6YiecUH435g/LPjtwrDATcAhvg=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "b5ba0051dcc849cc27be7faf766f5806d99f7884", + "rev": "b131623ee4c46aa9a781213a3ba0e4cfd020b810", "type": "github" }, "original": { From 995e9617d80afca6575c4802811bd9e1f6ac3227 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 13 Aug 2022 07:03:33 +0200 Subject: [PATCH 091/525] update --- darwin-common.nix | 2 ++ hosts/daedalus/default.nix | 2 +- nixos-modules/services/synapse.nix | 2 ++ secrets/matrixSecrets.age | Bin 0 -> 743 bytes secrets/secrets.nix | 1 + 5 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 secrets/matrixSecrets.age diff --git a/darwin-common.nix b/darwin-common.nix index ab8729fc..7547af6f 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -1,5 +1,7 @@ { config, pkgs, ... }: { programs.gnupg.agent.enable = true; + programs.zsh.enable = true; + environment.pathsToLink = [ "/share/zsh" ]; services.nix-daemon.enable = true; nix.package = pkgs.nixFlakes; nix.buildCores = 0; # use all cores diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 71bb4401..f3376435 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -52,7 +52,7 @@ with lib.my; home.sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; - PATH = "$PATH:$HOME/go/bin:/etc/profiles/per-user/ragon/bin/:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/system/sw/bin:/nix/var/nix/profiles/per-user/ragon/home-manager/home-path/bin/"; + PATH = "$PATH:$HOME/go/bin:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin"; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; }; home.packages = with pkgs; [ diff --git a/nixos-modules/services/synapse.nix b/nixos-modules/services/synapse.nix index e654e64b..302960e4 100644 --- a/nixos-modules/services/synapse.nix +++ b/nixos-modules/services/synapse.nix @@ -28,6 +28,7 @@ in config = lib.mkIf cfg.enable { services.matrix-synapse = { enable = true; + extraConfigFiles = [ config.age.secrets.matrixSecrets.path ]; settings.server_name = serverName; settings.listeners = [ { @@ -47,6 +48,7 @@ in }; + ragon.agenix.secrets."matrixSecrets" = { owner = "matrix-synapse"; }; services.postgresql = { enable = true; }; diff --git a/secrets/matrixSecrets.age b/secrets/matrixSecrets.age new file mode 100644 index 0000000000000000000000000000000000000000..ea08d948e3989e02ed9922582368b664f0a92f03 GIT binary patch literal 743 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+Pfqpr4^)UuF9@+r zF7wDw^e-{UaxXI}(XVohEUPGSb@TCbF3$-xa7&I1)6UL{Nape|kE$vPsBm=+N{=*5 z&j?BN@lJR4DkyR>*Y`6`Nh>Wc^{_BEP0A=w@OoeJ9U+FIP)*3-7#SOJ|qV z!mv`;%>06=s)~rr;z)GcDhqRsO&t|13%#>FGb1cZLL*Ea9Sh8|DgxX>BJ#b$O(Wb3 z)6I(Yo%1t;Q(b&Qf(^L5^bLz0jl3gsd~^K6%RL<ZTW^CKjhEq`B$%N4hCgnW-n{7HBJ^a2c6qhxrwSmSlx`8>i)E zMELrKm>ZRa=UbGPRD~24>SqO)n3{T~ri5mAml@qhLjY!7;1Y*IdM4^ zxdsK4Cx^LdM-=A=I962#ghjZP`jtB;`Q=6idYOj?L~`ls>MEp! zSmsrDWb3<_I)}LUhFBC?MCON^WVuwDYFAje`MYOCnglz#85!r9rE~rCRt<46jg0$a zsu$y2Eu3L-?azGIQ}SP9%C5$rcA4e9I?jyY$YIs32Ur7+gmOfftmAwgRc&p*d9QB! j Date: Wed, 17 Aug 2022 06:42:19 +0200 Subject: [PATCH 092/525] daedalusvm gui --- hosts/daedalusvm/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index ac3e46c5..d9e848ae 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -21,7 +21,11 @@ in services.openssh.forwardX11 = true; services.rpcbind.enable = true; boot.supportedFilesystems = [ "nfs" "nfs4" ]; - environment.systemPackages = [ pkgs.nfs-utils ]; + environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager ]; + + services.xserver.desktopManager.gnome.enable = true; + services.xserver.displayManager.gdm.enable = true; + ragon = { cli.enable = true; From c57ad4632e7895c36357b5610d0a3e246f0c5a20 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 17 Aug 2022 06:46:58 +0200 Subject: [PATCH 093/525] daedalusvm gui --- hosts/daedalusvm/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index d9e848ae..f9c3a8c9 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -21,10 +21,16 @@ in services.openssh.forwardX11 = true; services.rpcbind.enable = true; boot.supportedFilesystems = [ "nfs" "nfs4" ]; - environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager ]; + environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager pkgs.firefox ]; + + services.qemuGuest.enable = true; services.xserver.desktopManager.gnome.enable = true; services.xserver.displayManager.gdm.enable = true; + services.xserver.enable = true; + services.spice-vdagentd.enable = true; + programs.gnome-terminal.enable = true; + services.gvfs.enable = true; ragon = { From 44f14d497f070291c64c2d63af83b521f581a363 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 18 Aug 2022 12:08:31 +0200 Subject: [PATCH 094/525] changes --- hm-imports/cli.nix | 3 +++ hosts/daedalus/default.nix | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index 8af83199..489e06ca 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -48,6 +48,9 @@ programs = { gpg = { enable = true; + scdaemonSettings = { + reader-port = "Yubico YubiKey OTP+FIDO+CCID"; + }; settings = { cert-digest-algo = "SHA512"; charset = "utf-8"; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index f3376435..9371356c 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -28,18 +28,18 @@ with lib.my; "parsec" "element" ]; - masApps = { - # Install Mac App Store apps (install them manually and then do `mas list` to get the id) - "AdGuard for Safari" = 1440147259; - "Xcode" = 497799835; - "Home Assistant" = 1099568401; - "WireGuard" = 1451685025; - "UTM" = 1538878817; - "Bitwarden" = 1352778147; - "Shareful" = 1522267256; - "app.seashore" = 1448648921; - "Tailscale" = 1475387142; - }; + #masApps = { + # # Install Mac App Store apps (install them manually and then do `mas list` to get the id) + # "AdGuard for Safari" = 1440147259; + # "Xcode" = 497799835; + # "Home Assistant" = 1099568401; + # "WireGuard" = 1451685025; + # "UTM" = 1538878817; + # "Bitwarden" = 1352778147; + # "Shareful" = 1522267256; + # "app.seashore" = 1448648921; + # "Tailscale" = 1475387142; + #}; }; programs.gnupg.agent.enable = true; From dba07a05b8fbed1eaec74cef7fa44694e02834cb Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 18 Aug 2022 12:21:30 +0200 Subject: [PATCH 095/525] fix --- hm-imports/cli.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index 489e06ca..ce3f8cdd 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -48,13 +48,11 @@ programs = { gpg = { enable = true; - scdaemonSettings = { - reader-port = "Yubico YubiKey OTP+FIDO+CCID"; - }; settings = { cert-digest-algo = "SHA512"; charset = "utf-8"; default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; + auto-key-retrieve = true; fixed-list-mode = true; keyserver = "hkps://keyserver.ubuntu.com:443"; list-options = [ "show-uid-validity" "show-unusable-subkeys" ]; From 9bbbba60492c879e43d2ac8829071dda30605095 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 19 Aug 2022 10:05:00 +0200 Subject: [PATCH 096/525] added octopine --- flake.lock | 102 +++++++++++++------------------- flake.nix | 38 ++++++++---- hm-imports/nvim/config/nvim.lua | 2 +- hm-imports/nvim/default.nix | 10 ++-- hosts/octopine/default.nix | 27 +++++++++ 5 files changed, 103 insertions(+), 76 deletions(-) create mode 100644 hosts/octopine/default.nix diff --git a/flake.lock b/flake.lock index 4af12701..c0550962 100644 --- a/flake.lock +++ b/flake.lock @@ -37,40 +37,6 @@ "type": "github" } }, - "coc-nvim": { - "flake": false, - "locked": { - "lastModified": 1660069039, - "narHash": "sha256-RUrjBQH8IvpPRuvizlCZl9aggGKeRtmMwyAl5AAvRzc=", - "owner": "neoclide", - "repo": "coc.nvim", - "rev": "69f954eaebc0f15a0ff17b6d40e24aa1039d9334", - "type": "github" - }, - "original": { - "owner": "neoclide", - "ref": "release", - "repo": "coc.nvim", - "type": "github" - } - }, - "dart-vim": { - "flake": false, - "locked": { - "lastModified": 1653333307, - "narHash": "sha256-NkmOlwVxObva/ka6xT54oYqIUSD2A9rZ9aMq5seOKHY=", - "owner": "dart-lang", - "repo": "dart-vim-plugin", - "rev": "81e50e80329e5eac2c115f45585b1838a614d07a", - "type": "github" - }, - "original": { - "owner": "dart-lang", - "ref": "master", - "repo": "dart-vim-plugin", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -78,11 +44,11 @@ ] }, "locked": { - "lastModified": 1657835815, - "narHash": "sha256-CnZszAYpNKydh6N7+xg+eRtWNVoAAGqc6bg+Lpgq1xc=", + "lastModified": 1660649317, + "narHash": "sha256-16sWaj3cTZOQQgrmzlvBSRaBFKLrHJrfYh1k7/sSWok=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "54a24f042f93c79f5679f133faddedec61955cf2", + "rev": "80871c71edb3da76d40bdff9cae007a2a035c074", "type": "github" }, "original": { @@ -98,11 +64,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1660242581, - "narHash": "sha256-koLVNZS7qfk/eDcIRC221YqHnfI0YzochmA3IqZrbmE=", + "lastModified": 1660882264, + "narHash": "sha256-nVxe7sZPpexElHJnFj3TrkOpHr6w/xfthnhMUH8kahA=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "ab5e238d6bc15e112beb82d898efab22426001bf", + "rev": "3bc69e76fc1004c85a1e337656a6d4a6eb0ca260", "type": "github" }, "original": { @@ -134,11 +100,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1660252108, - "narHash": "sha256-fpY8X+eJmClJyVnMQJ7bpsNgn/CxPE9+UkkJ0FRIKQ8=", + "lastModified": 1660574517, + "narHash": "sha256-Lp5D2pAPrM3iAc1eeR0iGwz5rM+SYOWzVxI3p17nlrU=", "owner": "nix-community", "repo": "home-manager", - "rev": "324fedcf9f1c475e2f522d03af029528e65969bc", + "rev": "688e5c85b7537f308b82167c8eb4ecfb70a49861", "type": "github" }, "original": { @@ -162,6 +128,23 @@ "type": "github" } }, + "mobile-nixos": { + "flake": false, + "locked": { + "lastModified": 1656299939, + "narHash": "sha256-gODt71CCv0gnMNeU4GYdSBJkxsfmBy0uNv8owQC1oPs=", + "owner": "NixOS", + "repo": "mobile-nixos", + "rev": "de9a88a70f0ae5fc0839ff94bf29e8a30af399f8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "mobile-nixos", + "rev": "de9a88a70f0ae5fc0839ff94bf29e8a30af399f8", + "type": "github" + } + }, "naersk": { "inputs": { "nixpkgs": [ @@ -185,11 +168,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1660030916, - "narHash": "sha256-KeVTmST6vAS85uUaSYlzv6OWhveawfIGhqX1SMq+L30=", + "lastModified": 1660407119, + "narHash": "sha256-04lWO0pDbhAXFdL4v2VzzwgxrZ5IefKn+TmZPiPeKxg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3975d5158f00accda15a11180b2c08654cfb2807", + "rev": "12620020f76b1b5d2b0e6fbbda831ed4f5fe56e1", "type": "github" }, "original": { @@ -201,11 +184,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1660227034, - "narHash": "sha256-bXMlG/YU0IjAod6M625XT1YbUG+/3L9ypk9llYpKeuM=", + "lastModified": 1660639432, + "narHash": "sha256-2WDiboOCfB0LhvnDVMXOAr8ZLDfm3WdO54CkoDPwN1A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "964d60ff2e6bc76c0618962da52859603784fa78", + "rev": "6c6409e965a6c883677be7b9d87a95fab6c3472e", "type": "github" }, "original": { @@ -215,11 +198,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1660252182, - "narHash": "sha256-cbJ09RYPovttTgIEyhe83YZZv5rajLjFtz3bxV2Wqc0=", + "lastModified": 1660897467, + "narHash": "sha256-9J+xkVBi5ZIHTLPP2Wio/lxb/Er/v+TcNK1080RXvxw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "300c5c98c6e1558ec977c0f6f0b8a8af71fbd0e8", + "rev": "f99c37f463fbfcec612ee1491a1b0c4afab5e407", "type": "github" }, "original": { @@ -231,11 +214,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1660162369, - "narHash": "sha256-pZukMP4zCA1FaBg0xHxf7KdE/Nv/C5YbDID7h2L8O7A=", + "lastModified": 1660819943, + "narHash": "sha256-TRZV/mlW1eYuojqDC3ueYWj7jsTKXJCtyMLNYX/Ybtw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3a11db5f408095b8f08b098ec2066947f4b72ce2", + "rev": "8ea014acc33da95ea56c902229957d8225005163", "type": "github" }, "original": { @@ -303,12 +286,11 @@ "inputs": { "agenix": "agenix", "agkozak-zsh-prompt": "agkozak-zsh-prompt", - "coc-nvim": "coc-nvim", - "dart-vim": "dart-vim", "darwin": "darwin", "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "impermanence": "impermanence", + "mobile-nixos": "mobile-nixos", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "nixpkgs-master": "nixpkgs-master", @@ -390,11 +372,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1660204457, - "narHash": "sha256-f1tm7q5Aw73K/R74T6YiecUH435g/LPjtwrDATcAhvg=", + "lastModified": 1660413053, + "narHash": "sha256-17Gs1HbujMufl43GEGQlOHbX5z48pRx6bkBGsgUyFng=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "b131623ee4c46aa9a781213a3ba0e4cfd020b810", + "rev": "f360827b882e0b651ff85ce27dc2a6287351fc22", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 95e66102..4e2844c5 100644 --- a/flake.nix +++ b/flake.nix @@ -15,18 +15,23 @@ darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; utils.url = "github:numtide/flake-utils"; + + #pinephone + mobile-nixos.url = "github:NixOS/mobile-nixos?rev=de9a88a70f0ae5fc0839ff94bf29e8a30af399f8"; + mobile-nixos.flake = false; # whyever this isn't a flake + ## emacs emacs-overlay.url = "github:nix-community/emacs-overlay"; ## vim #neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; #neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; - coc-nvim.url = "github:neoclide/coc.nvim/release"; - coc-nvim.flake = false; + #coc-nvim.url = "github:neoclide/coc.nvim/release"; + #coc-nvim.flake = false; nnn-vim.url = "github:mcchrish/nnn.vim"; nnn-vim.flake = false; - dart-vim.url = "github:dart-lang/dart-vim-plugin/master"; - dart-vim.flake = false; + #dart-vim.url = "github:dart-lang/dart-vim-plugin/master"; + #dart-vim.flake = false; rnix-lsp.url = "github:nix-community/rnix-lsp"; rnix-lsp.inputs.nixpkgs.follows = "nixpkgs"; pandoc-latex-template.url = "github:Wandmalfarbe/pandoc-latex-template"; @@ -49,6 +54,7 @@ , agenix , home-manager , impermanence + , mobile-nixos , darwin , utils , emacs-overlay @@ -64,12 +70,12 @@ genPkgs = system: import nixpkgs { inherit system; config.allowUnfree = true; + }; overlays = [ - self.overlay - # neovim-nightly-overlay.overlay + self.overlays.default emacs-overlay.overlay ]; - }; + hmConfig = { hm, pkgs, inputs, config, ... }: { imports = (lib.my.mapModulesRec' ./hm-imports (x: x)) ++ [ "${impermanence}/home-manager.nix" ]; @@ -84,12 +90,15 @@ nixpkgs.lib.nixosSystem rec { inherit system; - specialArgs = { inherit lib inputs pkgs system; }; + specialArgs = { inherit lib; }; modules = [ agenix.nixosModules.age impermanence.nixosModules.impermanence home-manager.nixosModules.home-manager ({ config, ... }: lib.mkMerge [{ + _module.args = { inherit inputs; }; + nixpkgs.pkgs = pkgs; + nixpkgs.overlays = overlays; networking.hostName = hostName; system.configurationRevision = rev; services.getty.greetingLine = @@ -113,12 +122,15 @@ darwin.lib.darwinSystem { inherit system; - specialArgs = { inherit darwin lib pkgs inputs self; }; + specialArgs = { inherit lib; }; modules = [ home-manager.darwinModules.home-manager ({ config, inputs, self, ... }: { config = { #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; + _module.args = { inherit lib inputs self darwin; }; + nixpkgs.pkgs = pkgs; + nixpkgs.overlays = overlays; networking.hostName = hostName; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; @@ -136,7 +148,7 @@ in { lib = lib.my; - overlay = final: prev: { + overlays.default = final: prev: { unstable = import nixpkgs-master { system = prev.system; config.allowUnfree = true; @@ -150,6 +162,12 @@ picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; daedalusvm = nixosSystem "aarch64-linux" [ ./hosts/daedalusvm/default.nix ]; + octopine = nixosSystem "aarch64-linux" [ + ./hosts/octopine/default.nix + (import "${mobile-nixos}/lib/configuration.nix" { + device = "pine64-pinephone"; + }) + ]; }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index 7ab3155e..adf425f0 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -9,7 +9,7 @@ require('plugin.rainbow') require('plugin.terminal') -- plugins - coc -vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua +-- vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua -- terminal vim.cmd 'source ~/.config/nvim/terminal.vim' -- too lazy to convert all the shit to lua diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 446a0a02..acbfed02 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -36,10 +36,10 @@ # name = "coc-nvim"; # src = inputs.coc-nvim; # }; - dart-vim = pkgs.vimUtils.buildVimPlugin { - name = "dart-vim"; - src = inputs.dart-vim; - }; + #dart-vim = pkgs.vimUtils.buildVimPlugin { + # name = "dart-vim"; + # src = inputs.dart-vim; + #}; in map (x: { plugin = x; }) (with pkgs.vimPlugins; [ vim-tmux-navigator @@ -67,7 +67,7 @@ # vim-pandoc-syntax # ultisnips # coc-nvim - dart-vim + #dart-vim ]); }; } diff --git a/hosts/octopine/default.nix b/hosts/octopine/default.nix new file mode 100644 index 00000000..7a71b4ae --- /dev/null +++ b/hosts/octopine/default.nix @@ -0,0 +1,27 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, inputs, pkgs, lib, ... }: +{ + imports = + [ + ]; + + services.octoprint = { + enable = true; + }; + + services.mjpg-streamer.enable = true; + + ragon = { + cli.enable = true; + user.enable = true; + system.security.enable = false; + + services = { + docker.enable = true; + ssh.enable = true; + }; + }; +} From d339ee4c07c5aadd04135a17409080a3f301d84c Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 19 Aug 2022 17:12:21 +0200 Subject: [PATCH 097/525] feat: added octoprint --- flake.lock | 41 +++++++++++++++++++--- flake.nix | 38 ++++++++++---------- hosts/octopine/default.nix | 72 +++++++++++++++++++++++++++++++++++++- nixos-common.nix | 4 +-- 4 files changed, 130 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index c0550962..f175046a 100644 --- a/flake.lock +++ b/flake.lock @@ -131,17 +131,16 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1656299939, - "narHash": "sha256-gODt71CCv0gnMNeU4GYdSBJkxsfmBy0uNv8owQC1oPs=", + "lastModified": 1659299256, + "narHash": "sha256-MzeeBiULuqsj8TpaWWxI44ciYjrR6H3CwljJDwkT6TU=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "de9a88a70f0ae5fc0839ff94bf29e8a30af399f8", + "rev": "87e579471c42def38f719028ad6c5d746f26027b", "type": "github" }, "original": { "owner": "NixOS", "repo": "mobile-nixos", - "rev": "de9a88a70f0ae5fc0839ff94bf29e8a30af399f8", "type": "github" } }, @@ -244,6 +243,38 @@ "type": "github" } }, + "octoprint-spoolmanager": { + "flake": false, + "locked": { + "lastModified": 1647619589, + "narHash": "sha256-JKPegbnv7nxyhAi8AqF/TDQVaj67JTlcWYHhetX5AGQ=", + "owner": "OllisGit", + "repo": "OctoPrint-SpoolManager", + "rev": "dea8d64c1849c970f3616e158260c4c6fef5a4b7", + "type": "github" + }, + "original": { + "owner": "OllisGit", + "repo": "OctoPrint-SpoolManager", + "type": "github" + } + }, + "octoprint-telegram": { + "flake": false, + "locked": { + "lastModified": 1646577349, + "narHash": "sha256-z/Nhixz83pikM616OEn+bK1889DTdC8F1E7WiBy8gsY=", + "owner": "fabianonline", + "repo": "OctoPrint-Telegram", + "rev": "d8fa9ac4a65600a25deacad9bc0d3e9cc0167751", + "type": "github" + }, + "original": { + "owner": "fabianonline", + "repo": "OctoPrint-Telegram", + "type": "github" + } + }, "pandoc-latex-template": { "flake": false, "locked": { @@ -295,6 +326,8 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", + "octoprint-spoolmanager": "octoprint-spoolmanager", + "octoprint-telegram": "octoprint-telegram", "pandoc-latex-template": "pandoc-latex-template", "rnix-lsp": "rnix-lsp", "utils": "utils_3", diff --git a/flake.nix b/flake.nix index 4e2844c5..6fe05fb1 100644 --- a/flake.nix +++ b/flake.nix @@ -17,8 +17,12 @@ utils.url = "github:numtide/flake-utils"; #pinephone - mobile-nixos.url = "github:NixOS/mobile-nixos?rev=de9a88a70f0ae5fc0839ff94bf29e8a30af399f8"; + mobile-nixos.url = "github:NixOS/mobile-nixos"; mobile-nixos.flake = false; # whyever this isn't a flake + octoprint-telegram.url = "github:fabianonline/OctoPrint-Telegram"; + octoprint-telegram.flake = false; + octoprint-spoolmanager.url = "github:OllisGit/OctoPrint-SpoolManager"; + octoprint-spoolmanager.flake = false; ## emacs emacs-overlay.url = "github:nix-community/emacs-overlay"; @@ -71,10 +75,10 @@ inherit system; config.allowUnfree = true; }; - overlays = [ - self.overlays.default - emacs-overlay.overlay - ]; + overlays = [ + self.overlays.default + emacs-overlay.overlay + ]; hmConfig = { hm, pkgs, inputs, config, ... }: { @@ -125,19 +129,17 @@ specialArgs = { inherit lib; }; modules = [ home-manager.darwinModules.home-manager - ({ config, inputs, self, ... }: { - config = { - #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; - _module.args = { inherit lib inputs self darwin; }; - nixpkgs.pkgs = pkgs; - nixpkgs.overlays = overlays; - networking.hostName = hostName; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.ragon = hmConfig; - }; - }) + { + #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; + _module.args = { inherit lib inputs self darwin; }; + nixpkgs.pkgs = pkgs; + nixpkgs.overlays = overlays; + networking.hostName = hostName; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.ragon = hmConfig; + } ./darwin-common.nix ] ++ (lib.my.mapModulesRec' (toString ./darwin-modules) import) ++ extraModules; }; diff --git a/hosts/octopine/default.nix b/hosts/octopine/default.nix index 7a71b4ae..f0e1005f 100644 --- a/hosts/octopine/default.nix +++ b/hosts/octopine/default.nix @@ -3,6 +3,10 @@ # and in the NixOS manual (accessible by running ‘nixos-help’). { config, inputs, pkgs, lib, ... }: +with lib; +let + compressLargeArtifacts = false; +in { imports = [ @@ -10,9 +14,76 @@ services.octoprint = { enable = true; + plugins = plugins: with plugins; [ telegram ]; }; + mobile.generatedFilesystems.rootfs = { + type = "ext4"; + label = "NIXOS_SYSTEM"; + id = "44444444-4444-4444-8888-888888888888"; + populateCommands = + let + closureInfo = pkgs.buildPackages.closureInfo { rootPaths = config.system.build.toplevel; }; + in + '' + mkdir -p ./nix/store + echo "Copying system closure..." + while IFS= read -r path; do + echo " Copying $path" + cp -prf "$path" ./nix/store + done < "${closureInfo}/store-paths" + echo "Done copying system closure..." + cp -v ${closureInfo}/registration ./nix-path-registration + ''; + + # Give some headroom for initial mounting. + extraPadding = pkgs.imageBuilder.size.MiB 600; # without this much of a padding inodes are too small for some reason + + # FIXME: See #117, move compression into the image builder. + # Zstd can take a long time to complete successfully at high compression + # levels. Increasing the compression level could lead to timeouts. + postProcess = optionalString compressLargeArtifacts '' + (PS4=" $ "; set -x + PATH="$PATH:${buildPackages.zstd}/bin" + cd $out + ls -lh + time zstd -10 --rm "$filename" + ls -lh + ) + '' + '' + (PS4=" $ "; set -x + mkdir $out/nix-support + cat < $out/nix-support/hydra-build-products + file rootfs${optionalString compressLargeArtifacts "-zstd"} $out/$filename${optionalString compressLargeArtifacts ".zst"} + EOF + ) + ''; + + zstd = compressLargeArtifacts; + }; + + networking.useDHCP = true; services.mjpg-streamer.enable = true; + services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 640x480 -f 15 -u"; + hardware.opengl.enable = true; + services.getty.autologinUser = "ragon"; + home-manager.users.ragon = ({ config, pkgs, ... }: { + programs.zsh.loginExtra = '' + [ "$(tty)" = "/dev/tty1" ] && exec sway + ''; + + }); + + security.sudo.wheelNeedsPassword = false; + programs.sway = { + enable = true; + }; + networking.firewall.allowedTCPPorts = [ 5000 5050 ]; + environment.etc."sway/config".text = '' + output DSI-1 transform 90 anticlockwise # widescreen + exec swayidle timeout 1805 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' + exec ${pkgs.chromium}/bin/chromium http://localhost:5000 --start-fullscreen --kiosk + ''; ragon = { cli.enable = true; @@ -20,7 +91,6 @@ system.security.enable = false; services = { - docker.enable = true; ssh.enable = true; }; }; diff --git a/nixos-common.nix b/nixos-common.nix index c7cfb9b0..93d991f2 100644 --- a/nixos-common.nix +++ b/nixos-common.nix @@ -49,13 +49,13 @@ in registry = registryInputs // { conf.flake = inputs.self; }; }; system.configurationRevision = with inputs; mkIf (self ? rev) self.rev; - system.stateVersion = "21.05"; + system.stateVersion = "22.05"; ## Some reasonable, global defaults # This is here to appease 'nix flake check' for generic hosts with no # hardware-configuration.nix or fileSystem config. - fileSystems."/".device = mkDefault "/dev/disk/by-label/nixos"; + boot = { loader = { From 3cb8c3359d9938afe5a392d6a301f61d6a3b3f14 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 22 Aug 2022 22:51:02 +0200 Subject: [PATCH 098/525] update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index f175046a..dffca9be 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1660649317, - "narHash": "sha256-16sWaj3cTZOQQgrmzlvBSRaBFKLrHJrfYh1k7/sSWok=", + "lastModified": 1661154924, + "narHash": "sha256-zwkShc4VZ9feLeIrWjdm6YkZBoobzXETF5xIIgi++Ec=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "80871c71edb3da76d40bdff9cae007a2a035c074", + "rev": "5af1aa51f63d734284bf6728a21d2c9c31eb7492", "type": "github" }, "original": { @@ -64,11 +64,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1660882264, - "narHash": "sha256-nVxe7sZPpexElHJnFj3TrkOpHr6w/xfthnhMUH8kahA=", + "lastModified": 1661195877, + "narHash": "sha256-yWCEloPk7ZsZ8YQ9qjDh0fXEjQbqIdDcVL/EwyB4j3o=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "3bc69e76fc1004c85a1e337656a6d4a6eb0ca260", + "rev": "f274dc1c9c898f140755c5d8061b21cff1219445", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1660574517, - "narHash": "sha256-Lp5D2pAPrM3iAc1eeR0iGwz5rM+SYOWzVxI3p17nlrU=", + "lastModified": 1661201353, + "narHash": "sha256-hee34c72DNz1Otj86b2NEc4s1JQ+qnIb1XyWuUD4v6o=", "owner": "nix-community", "repo": "home-manager", - "rev": "688e5c85b7537f308b82167c8eb4ecfb70a49861", + "rev": "0160a0cef076294127f8cc0750019410ab94370d", "type": "github" }, "original": { @@ -115,11 +115,11 @@ }, "impermanence": { "locked": { - "lastModified": 1646131459, - "narHash": "sha256-GPmgxvUFvQ1GmsGfWHy9+rcxWrczeDhS9XnAIPHi9XQ=", + "lastModified": 1661155543, + "narHash": "sha256-6PJ4wqDuFMIw34gM/LxQ9qZPw8vPls4xC7UCeweSvKs=", "owner": "nix-community", "repo": "impermanence", - "rev": "2f39baeb7d039fda5fc8225111bb79474138e6f4", + "rev": "e7c6fbbe9076109263175ef992ca6edc1050973c", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1660639432, - "narHash": "sha256-2WDiboOCfB0LhvnDVMXOAr8ZLDfm3WdO54CkoDPwN1A=", + "lastModified": 1661151577, + "narHash": "sha256-++S0TuJtuz9IpqP8rKktWyHZKpgdyrzDFUXVY07MTRI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c6409e965a6c883677be7b9d87a95fab6c3472e", + "rev": "54060e816971276da05970a983487a25810c38a7", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1660897467, - "narHash": "sha256-9J+xkVBi5ZIHTLPP2Wio/lxb/Er/v+TcNK1080RXvxw=", + "lastModified": 1661201344, + "narHash": "sha256-bORTKM+cM+ryG4C6vCHirJ/XZxsddTzqgF5M0X7LrVI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f99c37f463fbfcec612ee1491a1b0c4afab5e407", + "rev": "97d1ae99de3d753307ae55487ab3311aebbce129", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1660819943, - "narHash": "sha256-TRZV/mlW1eYuojqDC3ueYWj7jsTKXJCtyMLNYX/Ybtw=", + "lastModified": 1661088761, + "narHash": "sha256-5DGKX81wIPAAiLwUmUYECpA3vop94AHHR7WmGXSsQok=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8ea014acc33da95ea56c902229957d8225005163", + "rev": "a7855f2235a1876f97473a76151fec2afa02b287", "type": "github" }, "original": { @@ -389,11 +389,11 @@ ] }, "locked": { - "lastModified": 1660063153, - "narHash": "sha256-a8j9MitZE0NdQqMmWEOaXsqvIEh0Y3Nr3nQNZnw/TQI=", + "lastModified": 1661201375, + "narHash": "sha256-a3n07lBtCYk/YW2pJ+Kem7x/2iyd1YB5Uvqj6dzCMIE=", "owner": "thexyno", "repo": "blog", - "rev": "c382d379bec210e99da019d4b9335e4e20f7e7fb", + "rev": "c5c73d669cf0ff59594a23048c43232e717173d7", "type": "github" }, "original": { From a1f11cd2ca5bb9430e8934a13deb02cc95b23ae9 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 22 Aug 2022 22:53:15 +0200 Subject: [PATCH 099/525] update --- flake.nix | 5 +++-- hosts/picard/default.nix | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 6fe05fb1..040bedea 100644 --- a/flake.nix +++ b/flake.nix @@ -62,8 +62,8 @@ , darwin , utils , emacs-overlay - , # neovim-nightly-overlay, - ... + , xynoblog + , ... }: let extraSystems = [ ]; @@ -78,6 +78,7 @@ overlays = [ self.overlays.default emacs-overlay.overlay + xynoblog.overlays.default ]; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 95704f82..329c21a8 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -9,7 +9,6 @@ [ # Include the results of the hardware scan. ./hardware-configuration.nix - inputs.xynoblog.nixosModule ]; documentation.enable = false; From 12358a6dff9094f2f74593e451a470a7724f44d6 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 22 Aug 2022 22:54:46 +0200 Subject: [PATCH 100/525] update --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 040bedea..ab688be4 100644 --- a/flake.nix +++ b/flake.nix @@ -78,7 +78,6 @@ overlays = [ self.overlays.default emacs-overlay.overlay - xynoblog.overlays.default ]; @@ -100,6 +99,7 @@ agenix.nixosModules.age impermanence.nixosModules.impermanence home-manager.nixosModules.home-manager + xynoblog.nixosModule ({ config, ... }: lib.mkMerge [{ _module.args = { inherit inputs; }; nixpkgs.pkgs = pkgs; From f8716d8a92c96b297534fcdb33b1e3eeb202ff56 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 23 Aug 2022 18:18:45 +0200 Subject: [PATCH 101/525] update --- flake.lock | 36 ++++++++++++++++++------------------ hosts/octopine/default.nix | 3 ++- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index dffca9be..8cf653ee 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1661154924, - "narHash": "sha256-zwkShc4VZ9feLeIrWjdm6YkZBoobzXETF5xIIgi++Ec=", + "lastModified": 1661264599, + "narHash": "sha256-TnpHCTTMrINokMH4xUNisp74UcvBAToRSUfCuAOFw/E=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "5af1aa51f63d734284bf6728a21d2c9c31eb7492", + "rev": "2f3c9bb364a3add2a2649f720b359ee9b8012094", "type": "github" }, "original": { @@ -64,11 +64,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1661195877, - "narHash": "sha256-yWCEloPk7ZsZ8YQ9qjDh0fXEjQbqIdDcVL/EwyB4j3o=", + "lastModified": 1661253750, + "narHash": "sha256-Ks9PBoR0nV5IgUwX5AX2dNAc0HEQGDU1Qpbd3RvRsEM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "f274dc1c9c898f140755c5d8061b21cff1219445", + "rev": "2cd8b574051e77161ea028d37fe5f43aa733e27e", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1661151577, - "narHash": "sha256-++S0TuJtuz9IpqP8rKktWyHZKpgdyrzDFUXVY07MTRI=", + "lastModified": 1661239106, + "narHash": "sha256-C5OCLnrv2c4CHs9DMEtYKkjJmGL7ySAZ1PqPkHBonxQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "54060e816971276da05970a983487a25810c38a7", + "rev": "963d27a0767422be9b8686a8493dcade6acee992", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1661201344, - "narHash": "sha256-bORTKM+cM+ryG4C6vCHirJ/XZxsddTzqgF5M0X7LrVI=", + "lastModified": 1661271521, + "narHash": "sha256-2tawoJUF0wDIdqgW76B3Xc85BiQZB/RR0usuxpQNeks=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "97d1ae99de3d753307ae55487ab3311aebbce129", + "rev": "5b90944c5c24f29281f94b297117626a9fa23ba9", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1661088761, - "narHash": "sha256-5DGKX81wIPAAiLwUmUYECpA3vop94AHHR7WmGXSsQok=", + "lastModified": 1661239211, + "narHash": "sha256-pNJzBlSNpWEiFJZnLF2oETYq8cGWx1DJPW33aMtG6n8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a7855f2235a1876f97473a76151fec2afa02b287", + "rev": "5e804cd8a27f835a402b22e086e36e797716ef8b", "type": "github" }, "original": { @@ -389,11 +389,11 @@ ] }, "locked": { - "lastModified": 1661201375, - "narHash": "sha256-a3n07lBtCYk/YW2pJ+Kem7x/2iyd1YB5Uvqj6dzCMIE=", + "lastModified": 1661271582, + "narHash": "sha256-o3wwylMcN0L8IwF6d4dYYyxB/xag1LGUDtVF/9HLMzA=", "owner": "thexyno", "repo": "blog", - "rev": "c5c73d669cf0ff59594a23048c43232e717173d7", + "rev": "77a53920f79aaf0867720cbb13fca21f6eedc97f", "type": "github" }, "original": { diff --git a/hosts/octopine/default.nix b/hosts/octopine/default.nix index f0e1005f..df9feb00 100644 --- a/hosts/octopine/default.nix +++ b/hosts/octopine/default.nix @@ -17,6 +17,7 @@ in plugins = plugins: with plugins; [ telegram ]; }; + mobile.boot.stage-1.kernel.modular = true; mobile.generatedFilesystems.rootfs = { type = "ext4"; label = "NIXOS_SYSTEM"; @@ -80,7 +81,7 @@ in }; networking.firewall.allowedTCPPorts = [ 5000 5050 ]; environment.etc."sway/config".text = '' - output DSI-1 transform 90 anticlockwise # widescreen + output DSI-1 transform 270 clockwise # widescreen exec swayidle timeout 1805 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' exec ${pkgs.chromium}/bin/chromium http://localhost:5000 --start-fullscreen --kiosk ''; From 602ede18ada6450136a868ed858b14239fb65630 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 30 Aug 2022 05:41:24 +0200 Subject: [PATCH 102/525] octopine wifi --- hosts/octopine/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/octopine/default.nix b/hosts/octopine/default.nix index df9feb00..a58b83b9 100644 --- a/hosts/octopine/default.nix +++ b/hosts/octopine/default.nix @@ -63,9 +63,13 @@ in zstd = compressLargeArtifacts; }; + networking.wireless.enable = true; networking.useDHCP = true; services.mjpg-streamer.enable = true; services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 640x480 -f 15 -u"; + services.xserver.desktopManager.phosh.enable = true; + services.xserver.desktopManager.phosh.user = "ragon"; + services.xserver.desktopManager.phosh.group = "wheel"; hardware.opengl.enable = true; services.getty.autologinUser = "ragon"; home-manager.users.ragon = ({ config, pkgs, ... }: { From 0ce3335cdd2c7b51b7db2bd4434e9a24b91375bd Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 30 Aug 2022 08:20:02 +0200 Subject: [PATCH 103/525] update --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 8cf653ee..13359206 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1661264599, - "narHash": "sha256-TnpHCTTMrINokMH4xUNisp74UcvBAToRSUfCuAOFw/E=", + "lastModified": 1661762118, + "narHash": "sha256-+kQvys2HuLwQBkpN2AoVl4pFQx2MQ7o0jjNdGu2dIV4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "2f3c9bb364a3add2a2649f720b359ee9b8012094", + "rev": "157a3c3c4ea482317a4eb4ea2c41db4f16c82420", "type": "github" }, "original": { @@ -64,11 +64,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1661253750, - "narHash": "sha256-Ks9PBoR0nV5IgUwX5AX2dNAc0HEQGDU1Qpbd3RvRsEM=", + "lastModified": 1661832453, + "narHash": "sha256-dBXlnUPa9RT3gXsUboJ5bznvOXQwWmAQZ/oP3idrpMM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "2cd8b574051e77161ea028d37fe5f43aa733e27e", + "rev": "c507c22745155a848b5928a5051c9aad28994d78", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1661201353, - "narHash": "sha256-hee34c72DNz1Otj86b2NEc4s1JQ+qnIb1XyWuUD4v6o=", + "lastModified": 1661824092, + "narHash": "sha256-nSWLWytlXbeLrx5A+r5Pso7CvVrX5EgmIIXW/EXvPHQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "0160a0cef076294127f8cc0750019410ab94370d", + "rev": "5bd66dc6cd967033489c69d486402b75d338eeb6", "type": "github" }, "original": { @@ -115,11 +115,11 @@ }, "impermanence": { "locked": { - "lastModified": 1661155543, - "narHash": "sha256-6PJ4wqDuFMIw34gM/LxQ9qZPw8vPls4xC7UCeweSvKs=", + "lastModified": 1661590580, + "narHash": "sha256-XoPSucNvccnT50LWme/7BiENZDwr8tArEg36OGQFFnA=", "owner": "nix-community", "repo": "impermanence", - "rev": "e7c6fbbe9076109263175ef992ca6edc1050973c", + "rev": "2237ad28093cb53ad2eb0fd1a9f870997287e0fa", "type": "github" }, "original": { @@ -131,11 +131,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1659299256, - "narHash": "sha256-MzeeBiULuqsj8TpaWWxI44ciYjrR6H3CwljJDwkT6TU=", + "lastModified": 1661716773, + "narHash": "sha256-uxf0aC+kx8av3/IT8/UecxSMElC9i4UQvH25RHFwna4=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "87e579471c42def38f719028ad6c5d746f26027b", + "rev": "09e388c42298fa777caa7738cd8d8d2b6d1ac8db", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1661239106, - "narHash": "sha256-C5OCLnrv2c4CHs9DMEtYKkjJmGL7ySAZ1PqPkHBonxQ=", + "lastModified": 1661353537, + "narHash": "sha256-1E2IGPajOsrkR49mM5h55OtYnU0dGyre6gl60NXKITE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "963d27a0767422be9b8686a8493dcade6acee992", + "rev": "0e304ff0d9db453a4b230e9386418fd974d5804a", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1661271521, - "narHash": "sha256-2tawoJUF0wDIdqgW76B3Xc85BiQZB/RR0usuxpQNeks=", + "lastModified": 1661839252, + "narHash": "sha256-wtHBnsgeEKW/OyI/VxrN1pUfyIOxAIkbuijWesUbmv8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b90944c5c24f29281f94b297117626a9fa23ba9", + "rev": "30897d37099e1c59f5eab50e7ddfd3cd6b39ba7f", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1661239211, - "narHash": "sha256-pNJzBlSNpWEiFJZnLF2oETYq8cGWx1DJPW33aMtG6n8=", + "lastModified": 1661720780, + "narHash": "sha256-AJNGyaB2eKZAYaPNjBZOzap87yL+F9ZLaFzzMkvega0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e804cd8a27f835a402b22e086e36e797716ef8b", + "rev": "a63021a330d8d33d862a8e29924b42d73037dd37", "type": "github" }, "original": { @@ -230,11 +230,11 @@ "nnn-vim": { "flake": false, "locked": { - "lastModified": 1656124614, - "narHash": "sha256-Zb9GAqwp2GoO1SpXqaRDm5K62OxG+SwJl9L2uTGnC2I=", + "lastModified": 1661779055, + "narHash": "sha256-OLghcQP0vQ0ZceFja1SbFqkevjREzNPCMBGRVnVbt/s=", "owner": "mcchrish", "repo": "nnn.vim", - "rev": "bc6e2e34d9114c93ce50782949d260b4d4f0e2b6", + "rev": "46bb8355a3bbe7df9f466bb116534dda4f257895", "type": "github" }, "original": { @@ -389,11 +389,11 @@ ] }, "locked": { - "lastModified": 1661271582, - "narHash": "sha256-o3wwylMcN0L8IwF6d4dYYyxB/xag1LGUDtVF/9HLMzA=", + "lastModified": 1661838653, + "narHash": "sha256-Q/GwZcl9z2Hwov4zfReo7Si1CsmjWvegZrXZgp3VrhE=", "owner": "thexyno", "repo": "blog", - "rev": "77a53920f79aaf0867720cbb13fca21f6eedc97f", + "rev": "a3838e2513d3e1c624252af1edb7f69cb89c6aca", "type": "github" }, "original": { @@ -405,11 +405,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1660413053, - "narHash": "sha256-17Gs1HbujMufl43GEGQlOHbX5z48pRx6bkBGsgUyFng=", + "lastModified": 1661758121, + "narHash": "sha256-pMgZkGWYhj0mbK3Uxo1yihaIAkp3EEDBGRtoRQXr2ns=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "f360827b882e0b651ff85ce27dc2a6287351fc22", + "rev": "53f2eab090d054a877d45092d6f90562fa663d1a", "type": "github" }, "original": { From 50adba0f932e8ab4e1b4337c97b06dae9edd2a62 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 30 Aug 2022 08:25:22 +0200 Subject: [PATCH 104/525] update --- hosts/octopine/default.nix | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/hosts/octopine/default.nix b/hosts/octopine/default.nix index a58b83b9..e6e6bb80 100644 --- a/hosts/octopine/default.nix +++ b/hosts/octopine/default.nix @@ -63,32 +63,21 @@ in zstd = compressLargeArtifacts; }; + mobile.boot.stage-1.kernel.additionalModules = [ "ftdi_sio" ]; networking.wireless.enable = true; networking.useDHCP = true; + networking.networkmanager.enable = mkForce false; services.mjpg-streamer.enable = true; services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 640x480 -f 15 -u"; services.xserver.desktopManager.phosh.enable = true; services.xserver.desktopManager.phosh.user = "ragon"; services.xserver.desktopManager.phosh.group = "wheel"; + services.xserver.displayManager.autoLogin.user = "ragon"; hardware.opengl.enable = true; - services.getty.autologinUser = "ragon"; - home-manager.users.ragon = ({ config, pkgs, ... }: { - programs.zsh.loginExtra = '' - [ "$(tty)" = "/dev/tty1" ] && exec sway - ''; - - }); + environment.systemPackages = [ pkgs.epiphany ]; security.sudo.wheelNeedsPassword = false; - programs.sway = { - enable = true; - }; networking.firewall.allowedTCPPorts = [ 5000 5050 ]; - environment.etc."sway/config".text = '' - output DSI-1 transform 270 clockwise # widescreen - exec swayidle timeout 1805 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' - exec ${pkgs.chromium}/bin/chromium http://localhost:5000 --start-fullscreen --kiosk - ''; ragon = { cli.enable = true; From ae980aa07b6ccfa893f9d35740bafef274ddeb64 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 30 Aug 2022 09:03:18 +0200 Subject: [PATCH 105/525] update --- flake.lock | 12 ++++++------ hosts/octopine/default.nix | 2 +- packages/scripts/nosrebuild | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 13359206..d1adada2 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1661839252, - "narHash": "sha256-wtHBnsgeEKW/OyI/VxrN1pUfyIOxAIkbuijWesUbmv8=", + "lastModified": 1661842206, + "narHash": "sha256-6xJAFeZ9voQJ4kNYSVodNQ3VlEnj9RKJ0kpYhCSIFNQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30897d37099e1c59f5eab50e7ddfd3cd6b39ba7f", + "rev": "5b76ccbfc320b305e7500cbd56e034ed6ba233a3", "type": "github" }, "original": { @@ -389,11 +389,11 @@ ] }, "locked": { - "lastModified": 1661838653, - "narHash": "sha256-Q/GwZcl9z2Hwov4zfReo7Si1CsmjWvegZrXZgp3VrhE=", + "lastModified": 1661842962, + "narHash": "sha256-RQhGwEMOvpDbwDh4IH8ZlSsSKUjwu1Y/9ifiVUxFlYY=", "owner": "thexyno", "repo": "blog", - "rev": "a3838e2513d3e1c624252af1edb7f69cb89c6aca", + "rev": "814412507e95f3c5348f8080fb46088878e30dc4", "type": "github" }, "original": { diff --git a/hosts/octopine/default.nix b/hosts/octopine/default.nix index e6e6bb80..c3bce3c9 100644 --- a/hosts/octopine/default.nix +++ b/hosts/octopine/default.nix @@ -68,7 +68,7 @@ in networking.useDHCP = true; networking.networkmanager.enable = mkForce false; services.mjpg-streamer.enable = true; - services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 640x480 -f 15 -u"; + services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 1280x720 -f 15 -u"; services.xserver.desktopManager.phosh.enable = true; services.xserver.desktopManager.phosh.user = "ragon"; services.xserver.desktopManager.phosh.group = "wheel"; diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild index dbc77786..66c64421 100755 --- a/packages/scripts/nosrebuild +++ b/packages/scripts/nosrebuild @@ -5,7 +5,7 @@ set -euo pipefail REV=$(curl https://api.github.com/repos/thexyno/nixos-config/branches/main | jq -r .commit.sha) if [[ $(uname) == "Linux" ]]; then - sudo nixos-rebuild switch --flake "github:ragon000/nixos-config?rev=$REV" + sudo nixos-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" else # Darwin - /nix/var/nix/profiles/system/sw/bin/darwin-rebuild switch --flake "github:ragon000/nixos-config?rev=$REV" + /nix/var/nix/profiles/system/sw/bin/darwin-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" fi From b32498e5d0a0ace9be1d5c823a3658b78eea8063 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 30 Aug 2022 09:09:51 +0200 Subject: [PATCH 106/525] fix-darwin --- darwin-common.nix | 6 +++--- flake.nix | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index 7547af6f..d9c286cf 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -4,12 +4,12 @@ environment.pathsToLink = [ "/share/zsh" ]; services.nix-daemon.enable = true; nix.package = pkgs.nixFlakes; - nix.buildCores = 0; # use all cores - nix.maxJobs = 10; # use all cores + nix.settings.cores = 0; # use all cores + nix.settings.max-jobs = 10; # use all cores nix.distributedBuilds = true; nix.buildMachines = [{ systems = [ "x86_64-linux" ]; - supportedFeatures = [ "kvm" "big-parallel" ]; + supportedFeatures = [ "kvm" "big-parallel" ]; sshUser = "ragon"; maxJobs = 12; hostName = "ds9"; diff --git a/flake.nix b/flake.nix index ab688be4..79ef42eb 100644 --- a/flake.nix +++ b/flake.nix @@ -79,6 +79,10 @@ self.overlays.default emacs-overlay.overlay ]; + genPkgsWithOverlays = system: import nixpkgs { + inherit system overlays; + config.allowUnfree = true; + }; hmConfig = { hm, pkgs, inputs, config, ... }: { @@ -122,19 +126,16 @@ }; darwinSystem = system: extraModules: hostName: let - pkgs = genPkgs system; + pkgs = genPkgsWithOverlays system; in darwin.lib.darwinSystem { inherit system; - specialArgs = { inherit lib; }; + specialArgs = { inherit lib pkgs inputs self darwin; }; modules = [ home-manager.darwinModules.home-manager { #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; - _module.args = { inherit lib inputs self darwin; }; - nixpkgs.pkgs = pkgs; - nixpkgs.overlays = overlays; networking.hostName = hostName; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; From 8af7ea5958d83d9f6b491e1a59da9b18a23cd3ed Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 5 Sep 2022 04:38:58 +0200 Subject: [PATCH 107/525] daedalusvm rosetta --- darwin-common.nix | 5 +++-- hosts/daedalusvm/default.nix | 11 +++++++++++ hosts/daedalusvm/hardware-configuration.nix | 8 ++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index d9c286cf..eca5d282 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -17,11 +17,12 @@ publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUorQkJYdWZYQUpoeVVIVmZocWxrOFk0ekVLSmJLWGdKUXZzZEU0ODJscFYgcm9vdEBpc28K"; } { - systems = [ "aarch64-linux" ]; + systems = [ "aarch64-linux" "x86_64-linux" ]; + speedFactor = 2; supportedFeatures = [ "kvm" "big-parallel" ]; sshUser = "ragon"; maxJobs = 8; - hostName = "192.168.64.5"; + hostName = "192.168.64.7"; sshKey = "/Users/ragon/.ssh/id_ed25519"; publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJMMm94ZEtha01Ka05iTExZK2xnNFkzd25jWnJwVE1sVHRBUWdsazVkVVEgcm9vdEBkYWVkYWx1c3ZtCg=="; }]; diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index f9c3a8c9..a60f23c3 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -23,6 +23,17 @@ in boot.supportedFilesystems = [ "nfs" "nfs4" ]; environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager pkgs.firefox ]; + nix.settings.extra-platforms = [ "x86_64-linux" ]; + nix.settings.extra-sandbox-paths = [ "/tmp/rosetta" "/run/binfmt" ]; + boot.binfmt.registrations."rosetta" = { + interpreter = "/tmp/rosetta/rosetta"; + fixBinary = true; + wrapInterpreterInShell = false; + matchCredentials = true; + magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00''; + mask = ''\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; + }; + services.qemuGuest.enable = true; services.xserver.desktopManager.gnome.enable = true; diff --git a/hosts/daedalusvm/hardware-configuration.nix b/hosts/daedalusvm/hardware-configuration.nix index 384e7e2e..23bb9890 100644 --- a/hosts/daedalusvm/hardware-configuration.nix +++ b/hosts/daedalusvm/hardware-configuration.nix @@ -5,14 +5,18 @@ { imports = [ "${modulesPath}/profiles/qemu-guest.nix" ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" "virtiofs" ]; - networking.interfaces.enp0s5.useDHCP = true; + networking.interfaces.enp0s1.useDHCP = true; swapDevices = [{ device = "/dev/disk/by-label/NIXOS_SWAP"; }]; fileSystems."/boot" = { device = "/dev/disk/by-label/NIXOS_BOOT"; fsType = "vfat"; }; + fileSystems."/tmp/rosetta" = { + device = "rosetta"; + fsType = "virtiofs"; + }; fileSystems."/" = { device = "/dev/disk/by-label/NIXOS_ROOT"; From 03789095893784eeafc087141dfb4ae612fd3d9a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 5 Sep 2022 21:30:29 +0200 Subject: [PATCH 108/525] emacs server --- hm-imports/cli.nix | 58 +++++++-------- hm-imports/zsh/zshrc | 6 ++ hosts/daedalus/default.nix | 129 +++++++++++++++++++-------------- hosts/daedalus/hammerspoon.lua | 3 + 4 files changed, 112 insertions(+), 84 deletions(-) diff --git a/hm-imports/cli.nix b/hm-imports/cli.nix index ce3f8cdd..203108fd 100644 --- a/hm-imports/cli.nix +++ b/hm-imports/cli.nix @@ -1,7 +1,7 @@ { inputs, config, lib, pkgs, ... }: { - home.stateVersion = lib.mkDefault "21.05"; + home.stateVersion = lib.mkDefault "22.05"; home.packages = with pkgs; [ my.scripts @@ -46,34 +46,34 @@ }; programs = { - gpg = { - enable = true; - settings = { - cert-digest-algo = "SHA512"; - charset = "utf-8"; - default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; - auto-key-retrieve = true; - fixed-list-mode = true; - keyserver = "hkps://keyserver.ubuntu.com:443"; - list-options = [ "show-uid-validity" "show-unusable-subkeys" ]; - no-comments = true; - no-emit-version = true; - no-greeting = true; - no-symkey-cache = true; - personal-cipher-preferences = "AES256 AES192 AES"; - personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; - personal-digest-preferences = "SHA512 SHA384 SHA256"; - require-cross-certification = true; - s2k-cipher-algo = "AES256"; - s2k-digest-algo = "SHA512"; - throw-keyids = true; - use-agent = true; - verbose = true; - verify-options = "show-uid-validity"; - with-fingerprint = true; - with-key-origin = true; - }; - }; + # gpg = { + # enable = true; + # settings = { + # cert-digest-algo = "SHA512"; + # charset = "utf-8"; + # default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed"; + # auto-key-retrieve = true; + # fixed-list-mode = true; + # keyserver = "hkps://keyserver.ubuntu.com:443"; + # list-options = [ "show-uid-validity" "show-unusable-subkeys" ]; + # no-comments = true; + # no-emit-version = true; + # no-greeting = true; + # no-symkey-cache = true; + # personal-cipher-preferences = "AES256 AES192 AES"; + # personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; + # personal-digest-preferences = "SHA512 SHA384 SHA256"; + # require-cross-certification = true; + # s2k-cipher-algo = "AES256"; + # s2k-digest-algo = "SHA512"; + # throw-keyids = true; + # use-agent = true; + # verbose = true; + # verify-options = "show-uid-validity"; + # with-fingerprint = true; + # with-key-origin = true; + # }; + # }; bat = { enable = true; config.theme = "gruvbox-dark"; diff --git a/hm-imports/zsh/zshrc b/hm-imports/zsh/zshrc index f45c86aa..ad991e35 100644 --- a/hm-imports/zsh/zshrc +++ b/hm-imports/zsh/zshrc @@ -47,3 +47,9 @@ n () rm -f "$NNN_TMPFILE" > /dev/null fi } + +ORIGTMPDIR=$TMPDIR # nix-shell overrides tmpdir, but we want to save it +emacsclient () +{ + command emacsclient -s $ORIGTMPDIR/emacs$(id -u)/server "$@" +} diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 9371356c..30043c36 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -1,12 +1,18 @@ { pkgs, inputs, lib, ... }: with lib; with lib.my; + let + myEmacs = pkgs.emacsNativeComp; + in { users.users.ragon = { name = "ragon"; home = "/Users/ragon"; }; + environment.systemPackages = [ + myEmacs + ]; homebrew = { enable = true; @@ -42,61 +48,74 @@ with lib.my; #}; }; - programs.gnupg.agent.enable = true; - home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { - home.file.".hammerspoon/init.lua".source = ./hammerspoon.lua; - - programs.home-manager.enable = true; - home.stateVersion = "21.11"; - - home.sessionVariables = { - EDITOR = "nvim"; - VISUAL = "nvim"; - PATH = "$PATH:$HOME/go/bin:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin"; - JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; - }; - home.packages = with pkgs; [ - terraform-ls - terraform - - emacsNativeComp - cmake - - pandoc - texlive.combined.scheme-full - - yabai - - google-cloud-sdk - ]; - - home.activation = { - aliasApplications = - let - apps = pkgs.buildEnv { - name = "home-manager-applications"; - paths = config.home.packages; - pathsToLink = "/Applications"; - }; - in - lib.hm.dag.entryAfter [ "writeBoundary" ] '' - # Install MacOS applications to the user environment. - HM_APPS="$HOME/Applications/Home Manager Apps" - - # Reset current state - [ -e "$HM_APPS" ] && $DRY_RUN_CMD rm -r "$HM_APPS" - $DRY_RUN_CMD mkdir -p "$HM_APPS" - - # .app dirs need to be actual directories for Finder to detect them as Apps. - # The files inside them can be symlinks though. - $DRY_RUN_CMD cp --recursive --symbolic-link --no-preserve=mode -H ${apps}/Applications/* "$HM_APPS" || true # can fail if no apps exist - # Modes need to be stripped because otherwise the dirs wouldn't have +w, - # preventing us from deleting them again - # In the env of Apps we build, the .apps are symlinks. We pass all of them as - # arguments to cp and make it dereference those using -H - ''; - }; - + launchd.user.agents.emacsdaemon = { + script = "${myEmacs}/Applications/Emacs.app/Contents/MacOS/Emacs --daemon"; + serviceConfig.RunAtLoad = true; + serviceConfig.UserName = "ragon"; + serviceConfig.KeepAlive = true; + serviceConfig.WorkingDirectory = "/Users/ragon"; }; + programs.gnupg.agent.enable = true; + home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: + { + home.file.".hammerspoon/init.lua".source = + pkgs.substituteAll { + src = ./hammerspoon.lua; inherit myEmacs; }; + + programs.home-manager.enable = true; + home.stateVersion = "21.11"; + + home.shellAliases = { + v = lib.mkForce "emacsclient -t"; + vv = lib.mkForce "emacsclient -c"; + }; + home.sessionVariables = { + EDITOR = "emacsclient -t"; + VISUAL = "emacsclient -c"; + PATH = "$PATH:$HOME/go/bin:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin"; + JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; + }; + home.packages = with pkgs; [ + terraform-ls + terraform + + cmake + + pandoc + texlive.combined.scheme-full + + yabai + + google-cloud-sdk + ]; + + home.activation = { + aliasApplications = + let + apps = pkgs.buildEnv { + name = "home-manager-applications"; + paths = config.home.packages; + pathsToLink = "/Applications"; + }; + in + lib.hm.dag.entryAfter [ "writeBoundary" ] '' + # Install MacOS applications to the user environment. + HM_APPS="$HOME/Applications/Home Manager Apps" + + # Reset current state + [ -e "$HM_APPS" ] && $DRY_RUN_CMD rm -r "$HM_APPS" + $DRY_RUN_CMD mkdir -p "$HM_APPS" + + # .app dirs need to be actual directories for Finder to detect them as Apps. + # The files inside them can be symlinks though. + $DRY_RUN_CMD cp --recursive --symbolic-link --no-preserve=mode -H ${apps}/Applications/* "$HM_APPS" || true # can fail if no apps exist + # Modes need to be stripped because otherwise the dirs wouldn't have +w, + # preventing us from deleting them again + # In the env of Apps we build, the .apps are symlinks. We pass all of them as + # arguments to cp and make it dereference those using -H + ''; + }; + + }; } diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 5da882bd..37c06b50 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -88,9 +88,12 @@ function showHideBundleId(bundleId) end local hyperModifier = {"cmd", "shift", "ctrl", "alt"} +local cmdShiftModifier = {"cmd", "shift"} hs.hotkey.bind(hyperModifier, "b", function() showHideBundleId("com.bitwarden.desktop") end) hs.hotkey.bind(hyperModifier, "p", function() showHideBundleId("com.timeular.zei") end) hs.hotkey.bind(hyperModifier, "l", function() showHideBundleId("com.electron.logseq") end) +hs.hotkey.bind(hyperModifier, "e", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-c"}):start() end) +hs.hotkey.bind(hyperModifier, "i", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"--eval", "(emacs-everywhere)"}):start() end) ---------------------------------------------------------------------------------------------------- -- Tiling From f83f1f35241cd71feeffc97ce49bdb928fef0b70 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 6 Sep 2022 08:34:16 +0200 Subject: [PATCH 109/525] feat: dns provider changes --- flake.lock | 60 ++++++++++++++--------------- nixos-modules/services/libvirt.nix | 1 + nixos-modules/services/nginx.nix | 2 +- secrets/cloudflareAcme.age | Bin 857 -> 863 bytes 4 files changed, 32 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index d1adada2..1be33a6e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1652712410, - "narHash": "sha256-hMJ2TqLt0DleEnQFGUHK9sV2aAzJPU8pZeiZoqRozbE=", + "lastModified": 1662241716, + "narHash": "sha256-urqPvSvvGUhkwzTDxUI8N1nsdMysbAfjmBNZaTYBZRU=", "owner": "ryantm", "repo": "agenix", - "rev": "7e5e58b98c3dcbf497543ff6f22591552ebfe65b", + "rev": "c96da5835b76d3d8e8d99a0fec6fe32f8539ee2e", "type": "github" }, "original": { @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1661762118, - "narHash": "sha256-+kQvys2HuLwQBkpN2AoVl4pFQx2MQ7o0jjNdGu2dIV4=", + "lastModified": 1661882940, + "narHash": "sha256-4LaVFnV22WrOA0aolqqk9dXrM8crikcrLQt29G18F7M=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "157a3c3c4ea482317a4eb4ea2c41db4f16c82420", + "rev": "80cec5115aae74accc4ccfb9f84306d7863f0632", "type": "github" }, "original": { @@ -64,11 +64,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1661832453, - "narHash": "sha256-dBXlnUPa9RT3gXsUboJ5bznvOXQwWmAQZ/oP3idrpMM=", + "lastModified": 1662434261, + "narHash": "sha256-+bf55NhDopbwEU9taYsfzYkyhTYDkaEkClL+eR55drg=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "c507c22745155a848b5928a5051c9aad28994d78", + "rev": "817a33003090677244ad5157d3148911e14372af", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1661824092, - "narHash": "sha256-nSWLWytlXbeLrx5A+r5Pso7CvVrX5EgmIIXW/EXvPHQ=", + "lastModified": 1662396970, + "narHash": "sha256-N1LKxBqKmWSM/YFSROAmhotZVTUt0d6yF3opFc/XcN8=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bd66dc6cd967033489c69d486402b75d338eeb6", + "rev": "583a99f0166e3e5df9539b972091830bb9faf6b8", "type": "github" }, "original": { @@ -115,11 +115,11 @@ }, "impermanence": { "locked": { - "lastModified": 1661590580, - "narHash": "sha256-XoPSucNvccnT50LWme/7BiENZDwr8tArEg36OGQFFnA=", + "lastModified": 1661933071, + "narHash": "sha256-RFgfzldpbCvS+H2qwH+EvNejvqs+NhPVD5j1I7HQQPY=", "owner": "nix-community", "repo": "impermanence", - "rev": "2237ad28093cb53ad2eb0fd1a9f870997287e0fa", + "rev": "def994adbdfc28974e87b0e4c949e776207d5557", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1660407119, - "narHash": "sha256-04lWO0pDbhAXFdL4v2VzzwgxrZ5IefKn+TmZPiPeKxg=", + "lastModified": 1662092548, + "narHash": "sha256-nmAbyJ5+DBXcNJ2Rcy/Gx84maqtLdr6xEe82+AXCaY8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "12620020f76b1b5d2b0e6fbbda831ed4f5fe56e1", + "rev": "786633331724f36967853b98d9100b5cfaa4d798", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1661353537, - "narHash": "sha256-1E2IGPajOsrkR49mM5h55OtYnU0dGyre6gl60NXKITE=", + "lastModified": 1662096612, + "narHash": "sha256-R+Q8l5JuyJryRPdiIaYpO5O3A55rT+/pItBrKcy7LM4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e304ff0d9db453a4b230e9386418fd974d5804a", + "rev": "21de2b973f9fee595a7a1ac4693efff791245c34", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1661842206, - "narHash": "sha256-6xJAFeZ9voQJ4kNYSVodNQ3VlEnj9RKJ0kpYhCSIFNQ=", + "lastModified": 1662443381, + "narHash": "sha256-ZsYmfRM2WupizlS2QgEaWmgtowEm3uVi2wD2CFt8jMI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b76ccbfc320b305e7500cbd56e034ed6ba233a3", + "rev": "58db1157a7f184bc0cd2a5a5bf8cd9bc3d524402", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1661720780, - "narHash": "sha256-AJNGyaB2eKZAYaPNjBZOzap87yL+F9ZLaFzzMkvega0=", + "lastModified": 1662019588, + "narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a63021a330d8d33d862a8e29924b42d73037dd37", + "rev": "2da64a81275b68fdad38af669afeda43d401e94b", "type": "github" }, "original": { @@ -389,11 +389,11 @@ ] }, "locked": { - "lastModified": 1661842962, - "narHash": "sha256-RQhGwEMOvpDbwDh4IH8ZlSsSKUjwu1Y/9ifiVUxFlYY=", + "lastModified": 1662445645, + "narHash": "sha256-g1+vRkxJe5wGxIOJYXO1Lg4C8h9al/tL8vQtZGXEv1A=", "owner": "thexyno", "repo": "blog", - "rev": "814412507e95f3c5348f8080fb46088878e30dc4", + "rev": "047775f2a50ac0a7c6bdb21f2493e699ed44f4cb", "type": "github" }, "original": { diff --git a/nixos-modules/services/libvirt.nix b/nixos-modules/services/libvirt.nix index ecdf0d48..25e1dcf8 100644 --- a/nixos-modules/services/libvirt.nix +++ b/nixos-modules/services/libvirt.nix @@ -10,6 +10,7 @@ in enable = true; }; ragon.user.extraGroups = [ "kvm" "libvirtd" ]; + security.polkit.enable = true; ragon.persist.extraDirectories = [ "/var/lib/libvirt" ]; diff --git a/nixos-modules/services/nginx.nix b/nixos-modules/services/nginx.nix index 37c867af..0cf37784 100644 --- a/nixos-modules/services/nginx.nix +++ b/nixos-modules/services/nginx.nix @@ -21,7 +21,7 @@ in security.acme.defaults.email = "nixosacme@phochkamp.de"; security.acme.acceptTerms = true; security.acme.certs."${cfg.domain}" = { - dnsProvider = "cloudflare"; + dnsProvider = "ionos"; dnsResolver = "1.1.1.1:53"; group = "nginx"; extraDomainNames = [ diff --git a/secrets/cloudflareAcme.age b/secrets/cloudflareAcme.age index 45c01ea5f2e713231dc94074a01a4dcdde3d0f2f..9da05dec8b776515661373eb51d54895644abfa5 100644 GIT binary patch delta 774 zcmcb~cAss6PJN!CTY0FLTSdNkaxhKflGmVZhol0t3{5FtA%%!QI&RaXr8A@QfRrhMWTE1 z#E;_P=Ghq`QGSVru7TQ7CT0FbE{Q4Gj=>=%Aw^;3-fo_uK}M#I;T4AZsTmerVP<9J zKEXbfA(>GrPTr1&#fhesE)`W}ZYH70p%LL_N&e2D;~B-n{jyDpyi<}3 z3JO!*gG15`BMZvhE4_{Mlgdm|U0q5uD%~SWa}$d~(hMEBatnQnU7~`V3d=pri$Ws; zJwh_WQnR!JlEO3JEid%nR^y4i9xQb2Uvea1JQX zHB9lZ%nCHi&MS2G4A(9O#Xv-MLTspRdQoa(ajHT^X{n{MLMB&`MPZ`3rGZy@UV2$^ zd1$?{TYyVgXsBtnXK10Pkym7ZU!ZGHkXJ#7d3LUOqPM4$Z?>5?m#(g^f^(3$xoMiQ zMXt7wca%|ixUr>AnO8_?x<#sGc#3miNr`(vW^ss7ZemI~*EWAe?M>USo(PFJE5T>P zptLpgu6Fpj1^*2-BRGX7WH!vVua7JB)Yh6?`;oUmjqQ`vzHqPbE2`xmUAgtQ=QNo; zTtD;tvOoIY8HJYH>o8`V-Xt-H^ZPfx`rf+D9>?Ua@A-C>|2A*0%K7}Z6MOgO=l(pT zTJl=?+;N$hFa3%u;)0$UTm6^&zwRCf@3%+F?+X*TOb!XF&Odq3Skrh}tg%w)lo>Cz J_cnZF1^_r^5{Uo+ delta 768 zcmcc5c9U&_PJKp|n`cCbNoja-uw#*5a6nd=U!K2nPKb7df0?UAsG(_zVRAuKZa|)E zD3_sQdQw%2PimQasDFAyo~L(sn0tw(MU|IppufAbfn`;gms7ZQc42a^1(&X!LUD11 zZfc5=si~o*LTIREP_Uyyk%>WBm7$lHk*l+-nPq^!i<^0bPlcO-r)#K5p>J`Zkylti zYI3M$fR~Fams75rX>pRXS+0M%r%AAXRZ&28P^odYcX>ovL3);Ny0dq9zC}f*c2c3| z#E;_Psa2K{PL4StIe|g?UcR0cp@DuOzS?O?Ie`@c&XrX@;cnrE2HBPtsjlf<+5x_i zW~DwZ1qEfk72&CF>3KeZ?vAF0r7ne*#crAD0r}yc*->Gc;Z-J+;~B-nJ>8Rw{Ie{} zv$LWqBBJslG9x1b-6IT=vRwR3Qv*XQ^G))Da?HH4lQROj{CzzticFof%e5`?JX13~ zBl1)7og-58opO^bJaY2%^HY7?vXiufJhL1ppJf!UH!%pW%=U=#uP_VG_AN1~@(7PW2CVGfYnlbP6rz@=FQMu!t&gx5&y%3h>TMsWMK93{KT94Xi5k z_sowhuJCm(DfTli(=K-e#XyQ}g>HILYGQFJS58!lt6^!Hx37LtcxF+6VRB+fet3AP zc0_$iNJgSTKu)oDuy#_GPiASLaf)BKS+Yltn^BdIu}g7cqI+0GSPGXNNUHe z<{f`~pOkCuyW4JaL8De7Si`(F;_0O~my}l)E`F}|tCnxaw Date: Tue, 6 Sep 2022 08:57:25 +0200 Subject: [PATCH 110/525] feat: mail --- flake.nix | 4 ++-- hm-imports/zsh/zshrc | 2 +- hosts/ds9/default.nix | 22 ++++++++++++++++++++++ hosts/picard/default.nix | 3 +++ nixos-modules/services/msmtp.nix | 21 +++++++++++++++++++++ secrets/aliases.age | 17 +++++++++++++++++ secrets/msmtprc.age | Bin 0 -> 1045 bytes secrets/secrets.nix | 2 ++ 8 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 nixos-modules/services/msmtp.nix create mode 100644 secrets/aliases.age create mode 100644 secrets/msmtprc.age diff --git a/flake.nix b/flake.nix index 79ef42eb..caca5151 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; impermanence.url = "github:nix-community/impermanence"; - impermanence.inputs.nixpkgs.follows = "nixpkgs"; + #impermanence.inputs.nixpkgs.follows = "nixpkgs"; xynoblog.url = "github:thexyno/blog"; xynoblog.inputs.nixpkgs.follows = "nixpkgs"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; @@ -181,7 +181,7 @@ let pkgs = nixpkgs.legacyPackages.${system}; in { devShell = pkgs.mkShell { - buildInputs = with pkgs; [ lefthook nixpkgs-fmt ]; + buildInputs = with pkgs; [ lefthook nixpkgs-fmt inputs.agenix.packages.${system}.agenix ]; }; packages = lib.my.mapModules ./packages (p: pkgs.callPackage p { inputs = inputs; }); }); diff --git a/hm-imports/zsh/zshrc b/hm-imports/zsh/zshrc index ad991e35..5fde09bd 100644 --- a/hm-imports/zsh/zshrc +++ b/hm-imports/zsh/zshrc @@ -48,7 +48,7 @@ n () fi } -ORIGTMPDIR=$TMPDIR # nix-shell overrides tmpdir, but we want to save it +export ORIGTMPDIR=${TMPDIR:-$(mktemp -d)} # nix-shell overrides tmpdir, but we want to save it emacsclient () { command emacsclient -s $ORIGTMPDIR/emacs$(id -u)/server "$@" diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index cfbae7b7..c09f0084 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -196,6 +196,27 @@ in fruit:metadata = stream ''; + services.smartd = { + enable = true; + }; + nixpkgs.overlays = [ + (self: super: { + zfs = super.zfs.override {enableMail = true;}; + }) + ]; + + services.zfs.zed.settings = { + ZED_EMAIL_ADDR = [ "root" ]; + ZED_EMAIL_PROG = "${pkgs.msmtp}/bin/msmtp"; + ZED_EMAIL_OPTS = "@ADDRESS@"; + + ZED_NOTIFY_INTERVAL_SECS = 3600; + ZED_NOTIFY_VERBOSE = true; + + ZED_USE_ENCLOSURE_LEDS = true; + ZED_SCRUB_AFTER_RESILVER = true; + }; + ragon = { cli.enable = true; user.enable = true; @@ -223,6 +244,7 @@ in docker.enable = true; ssh.enable = true; nginx.enable = true; + msmtp.enable = true; jellyfin.enable = true; photoprism.enable = true; tailscale.enable = true; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 329c21a8..ccb56479 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -109,6 +109,8 @@ script = "${pkgs.curl}/bin/curl -fss -m 10 --retry 5 -o /dev/null $(cat ${config.age.secrets.picardResticHealthCheckUrl.path})/fail"; }; services.xynoblog.enable = true; + boot.zfs.package = lib.mkForce (pkgs.zfs.override { enableMail = true; }); + services.zfs.zed.enableMail = true; ragon = { cli.enable = true; user.enable = true; @@ -117,6 +119,7 @@ services = { ssh.enable = true; + msmtp.enable = true; bitwarden.enable = true; gitlab.enable = false; # TODO gitlab-runner synapse.enable = true; diff --git a/nixos-modules/services/msmtp.nix b/nixos-modules/services/msmtp.nix new file mode 100644 index 00000000..af73f191 --- /dev/null +++ b/nixos-modules/services/msmtp.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.ragon.services.msmtp; +in +{ + options.ragon.services.msmtp.enable = lib.mkEnableOption "Enables msmtp"; + config = lib.mkIf cfg.enable { + programs.msmtp = { + enable = true; + }; + environment.etc."msmtprc".enable = false; + ragon.agenix.secrets.msmtprc = { + path = "/etc/msmtprc"; + mode = "0644"; + }; + ragon.agenix.secrets.aliases = { + path = "/etc/aliases"; + mode = "0644"; + }; + }; +} diff --git a/secrets/aliases.age b/secrets/aliases.age new file mode 100644 index 00000000..1f8d2eed --- /dev/null +++ b/secrets/aliases.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 ugHWWw VTuKkXWunXbu2WTd+E2waGeEl7g0f/oNTACPNgntGBo +CvOioqM2nxtGvVWH5XTpNm4+cxCweXScY0C5pFFyLqg +-> ssh-ed25519 UU9RSA 7uNSJZ2tIRNHh7MgWlvZ6hZbax6fZWvs6ZCCfCqTvic +NwwrPDbpEbeVW98xByYbOq3B4ZY1q9Bot5cAZYk45sw +-> ssh-ed25519 yqm35A ESh3UDixa7eo8WT4s4OLUl2hZ2aO+YFKOqlCp/T9cx4 +26DziZ1brodjCZrAYDCMBxWlXe+RMnKIz+hBoSKG0t8 +-> ssh-ed25519 kKx7Qw s23jAaybkI40kC2DaXYdOVuYp5DR09fC+ynrs4l7RVE +K8HfhCN4Eua0U/Ib1azxikqdB9ipWzqvZ2U6vdffIgs +-> ssh-ed25519 IbXxfw Ixc96Krq/ibCSOWhF5Ckx5TlcufTkYb6xngZoPJ1+Wo +mAtp5p0voszNxWadJRXZm5rvtJEti83suoBhoqDFHT8 +-> ssh-ed25519 WceKOQ 5QRwNWuOae6DCekv9bBwZEwDtPTL8W9a93xWfsMcRAU +TzK0g3FVBuujYsB5kplMyWluIboEigKI9rWll3FmVGw +-> p>C-grease Yy'> M#H; +o+PSejuhm+hthXQFewLLcU9ENoHKAeKnplvPIPFFtYBFR1Vy7ffnBY5GFHQ +--- QaSqQ3aLEQzEPEPJ14H4l49c+PvV1F8/r1H/d86vlhY +eQ沆pפŸRO'XD/z#HYsafxK \ No newline at end of file diff --git a/secrets/msmtprc.age b/secrets/msmtprc.age new file mode 100644 index 0000000000000000000000000000000000000000..26df2e3fa48c8a0bbfcaae0d3c4c62858a2ad969 GIT binary patch literal 1045 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIT8^4y|(b zObT-}2rUk(2#hQ@35?7NH>oHsE2?k~EH3gZ3C*-fPY?5Vcjbx<^hnN#GRP}%FDff{ zHgHdLb<~ftFfWO!aP~H-NDU27uXHmq$qq5d@EXd#8)q=~kI3mQ@z}GRLqS!bj$luR3r=TdY z$kN?BDLlAbJ1aHGBiB2t#7#TGr5xS1%EDY@Q%40$ZPSp5U}NI|%Q9Evu;h&JM34M3 zqsUwfkFda`O3TWm{4@(^7Y`#($3U(^S1fb!h3vQTu}vb`(J1IrasJ@YCPeLc(^19OX#(yRQ;D@&4mDhmAF9CH&Z zP5naB{k_~hBfYXh^9;Buv-2~(wTnY@oV9&|%nVc9O|!fVGYg8#EF+R#{c`<0O-QlN8rPIOS+h;9JUToP6)Jveb~g;hlR`zO0BcP6M#uC{#iS)T2PSc|OF-P57pbA7w7cH5d6zi76R zd$!K~|I@TOx1c$bE%FPe=TFMe`}8G8gTv{wLRQBr$6JT)O*zn-b7zuX=EQ4%Pjn~7 z@R}XpFT34l8-MF{%RPOet-;@wY){p04|hqObZ|e@w3qLrp1Awnd7hT@di&o-Q%>Dh I{_r2a0OXE=xBvhE literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 9882c3ba..66c1df64 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -6,6 +6,8 @@ in "nextshot.age".publicKeys = pubkeys.ragon.client; "pulseLaunch.age".publicKeys = pubkeys.ragon.client; "rootPasswd.age".publicKeys = pubkeys.ragon.computers; + "msmtprc.age".publicKeys = pubkeys.ragon.computers; + "aliases.age".publicKeys = pubkeys.ragon.computers; "wpa_supplicant.age".publicKeys = pubkeys.ragon.computers; "ragonPasswd.age".publicKeys = pubkeys.ragon.computers; "tailscaleKey.age".publicKeys = pubkeys.ragon.computers; From e7535dfa03e4d5fd3a7334afc4818a22a7fc2c4b Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 7 Sep 2022 15:24:43 +0200 Subject: [PATCH 111/525] update --- flake.lock | 36 ++++++++++++++++++------------------ hosts/picard/default.nix | 9 ++++++--- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 1be33a6e..53d154f8 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1661882940, - "narHash": "sha256-4LaVFnV22WrOA0aolqqk9dXrM8crikcrLQt29G18F7M=", + "lastModified": 1662478528, + "narHash": "sha256-Myjd0HPL5lXri3NXOcJ6gP7IKod2eMweQBKM4uxgEGw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "80cec5115aae74accc4ccfb9f84306d7863f0632", + "rev": "3b69bf3cc26ae19de847bfe54d6ab22d7381a90a", "type": "github" }, "original": { @@ -64,11 +64,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1662434261, - "narHash": "sha256-+bf55NhDopbwEU9taYsfzYkyhTYDkaEkClL+eR55drg=", + "lastModified": 1662502665, + "narHash": "sha256-2Ok8NSGmGP+qLCsDfIsUWyMNqLWt8U4Lcu86KbjgN9s=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "817a33003090677244ad5157d3148911e14372af", + "rev": "ae5528c72a1e1afbbcb7be7e813f4b3598f919ed", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1662396970, - "narHash": "sha256-N1LKxBqKmWSM/YFSROAmhotZVTUt0d6yF3opFc/XcN8=", + "lastModified": 1662472236, + "narHash": "sha256-epA5KzVUxw9ZV+st2aU4oFfJGyIcYleTpX28wsCQQP4=", "owner": "nix-community", "repo": "home-manager", - "rev": "583a99f0166e3e5df9539b972091830bb9faf6b8", + "rev": "de94878b6b83f7f2cfda9cdff005417a6d7ac82c", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1662092548, - "narHash": "sha256-nmAbyJ5+DBXcNJ2Rcy/Gx84maqtLdr6xEe82+AXCaY8=", + "lastModified": 1662458987, + "narHash": "sha256-hcDwRlsXZMp2Er3vQk1JEUZWhBPLVC9vTT4xHvhpcE0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "786633331724f36967853b98d9100b5cfaa4d798", + "rev": "504b32caf83986b7e6b9c79c1c13008f83290f19", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1662443381, - "narHash": "sha256-ZsYmfRM2WupizlS2QgEaWmgtowEm3uVi2wD2CFt8jMI=", + "lastModified": 1662556621, + "narHash": "sha256-9K/E3k261ksOje0SsSug2AiykuEwu8BaLgHFhTHr3+w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58db1157a7f184bc0cd2a5a5bf8cd9bc3d524402", + "rev": "c66b76594310df647f99a653e98e8e59e842d0c6", "type": "github" }, "original": { @@ -389,11 +389,11 @@ ] }, "locked": { - "lastModified": 1662445645, - "narHash": "sha256-g1+vRkxJe5wGxIOJYXO1Lg4C8h9al/tL8vQtZGXEv1A=", + "lastModified": 1662554860, + "narHash": "sha256-DtEPb4FDkAsb9/hSz1O/uDjd/dZMtn9F5azPBVHX6lE=", "owner": "thexyno", "repo": "blog", - "rev": "047775f2a50ac0a7c6bdb21f2493e699ed44f4cb", + "rev": "036cd246ba17c917fa7aca1b33aa40a440406988", "type": "github" }, "original": { diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index ccb56479..13454e2e 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -2,7 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ inputs, config, pkgs, ... }: +{ inputs, config, pkgs, lib, ... }: { imports = @@ -108,9 +108,12 @@ enable = true; script = "${pkgs.curl}/bin/curl -fss -m 10 --retry 5 -o /dev/null $(cat ${config.age.secrets.picardResticHealthCheckUrl.path})/fail"; }; + nixpkgs.overlays = [ + (self: super: { + zfs = super.zfs.override {enableMail = true;}; + }) + ]; services.xynoblog.enable = true; - boot.zfs.package = lib.mkForce (pkgs.zfs.override { enableMail = true; }); - services.zfs.zed.enableMail = true; ragon = { cli.enable = true; user.enable = true; From 1c13d0d3b85072637cd9d605a4c035fe56891e5d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 10 Sep 2022 01:02:18 +0200 Subject: [PATCH 112/525] unifi ws --- nixos-modules/services/unifi.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-modules/services/unifi.nix b/nixos-modules/services/unifi.nix index 2007f4dc..8c67f7b6 100644 --- a/nixos-modules/services/unifi.nix +++ b/nixos-modules/services/unifi.nix @@ -19,6 +19,7 @@ in forceSSL = true; useACMEHost = "${domain}"; locations."/".proxyPass = "https://127.0.0.1:8443"; + locations."/".proxyWebsockets = true; }; ragon.persist.extraDirectories = [ "/var/lib/unifi" From f8be7905e8c0992613631b527ecc1fc35db4e3c5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 11 Sep 2022 09:35:28 +0200 Subject: [PATCH 113/525] power --- hosts/ds9/hardware-configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix index 96fd2b7c..a9129bed 100644 --- a/hosts/ds9/hardware-configuration.nix +++ b/hosts/ds9/hardware-configuration.nix @@ -9,7 +9,9 @@ boot.initrd.availableKernelModules = [ "r8169" "ahci" "vfio-pci" "xhci_pci" "ehci_pci" "nvme" "usbhid" "sd_mod" "sr_mod" ]; boot.kernelModules = [ "kvm-amd" ]; nix.settings.max-jobs = lib.mkDefault 12; - powerManagement.cpuFreqGovernor = "performance"; + powerManagement.cpuFreqGovernor = "ondemand"; + powerManagement.scsiLinkPolicy = "min_power"; + powerManagement.powertop.enable = true; services.zfs.autoScrub.enable = true; ragon.system.fs = { From a25ea1f4aaff03b75600f8c070dcefde538e1023 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 11 Sep 2022 23:24:13 +0200 Subject: [PATCH 114/525] power --- hosts/ds9/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index c09f0084..866ec7b6 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -38,7 +38,14 @@ in networking.bridges."br0".interfaces = [ ]; networking.hostId = "7b4c2932"; boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv7l-linux" ]; + services.nginx.appendHttpConfig = '' + allow 10.0.0.0/8; + allow 100.64.0.0/10; + ''; services.nginx.virtualHosts."h.hailsatan.eu" = { + extraConfig = '' + allow all; + ''; useACMEHost = "hailsatan.eu"; addSSL = true; locations = { @@ -86,6 +93,7 @@ in ]; }; + # Enable Scanning hardware.sane.enable = true; hardware.sane.extraBackends = [ pkgs.sane-airscan ]; @@ -201,7 +209,7 @@ in }; nixpkgs.overlays = [ (self: super: { - zfs = super.zfs.override {enableMail = true;}; + zfs = super.zfs.override { enableMail = true; }; }) ]; @@ -245,7 +253,6 @@ in ssh.enable = true; nginx.enable = true; msmtp.enable = true; - jellyfin.enable = true; photoprism.enable = true; tailscale.enable = true; tailscale.exitNode = true; From 2f749ac51cddadad2a6d3654f0363d2526911d49 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 11 Sep 2022 23:55:01 +0200 Subject: [PATCH 115/525] emacs flake --- flake.lock | 76 +++++++++++++++++++++++------------------------------- flake.nix | 1 + 2 files changed, 33 insertions(+), 44 deletions(-) diff --git a/flake.lock b/flake.lock index 53d154f8..e2740fe1 100644 --- a/flake.lock +++ b/flake.lock @@ -61,14 +61,16 @@ "emacs-overlay": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { - "lastModified": 1662502665, - "narHash": "sha256-2Ok8NSGmGP+qLCsDfIsUWyMNqLWt8U4Lcu86KbjgN9s=", + "lastModified": 1662923143, + "narHash": "sha256-NXJHGctp+O9TwnKEq0u8KbJLS2gCVmemQCDZzGHJRxM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "ae5528c72a1e1afbbcb7be7e813f4b3598f919ed", + "rev": "9d1492fb30447b52d195dbb230c0ee708b772342", "type": "github" }, "original": { @@ -100,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1662472236, - "narHash": "sha256-epA5KzVUxw9ZV+st2aU4oFfJGyIcYleTpX28wsCQQP4=", + "lastModified": 1662759269, + "narHash": "sha256-lt8bAfEZudCQb+MxoNKmenhMTXhu3RCCyLYxU9t5FFk=", "owner": "nix-community", "repo": "home-manager", - "rev": "de94878b6b83f7f2cfda9cdff005417a6d7ac82c", + "rev": "9f7fe353b613d0e45d7a5cdbd1f13c96c15803dd", "type": "github" }, "original": { @@ -167,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1662458987, - "narHash": "sha256-hcDwRlsXZMp2Er3vQk1JEUZWhBPLVC9vTT4xHvhpcE0=", + "lastModified": 1662714967, + "narHash": "sha256-IOTq5tAGGmBFj7tQbkcyLE261JUeTUucEE3p0WLZ4qM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "504b32caf83986b7e6b9c79c1c13008f83290f19", + "rev": "1fec8fda86dac5701146c77d5f8a414b14ed1ff6", "type": "github" }, "original": { @@ -183,41 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1662096612, - "narHash": "sha256-R+Q8l5JuyJryRPdiIaYpO5O3A55rT+/pItBrKcy7LM4=", + "lastModified": 1662821606, + "narHash": "sha256-Z9z9iSH+tgJ0iyRcBfEQRwELgjnhpVXsktiWiFe3SuY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "21de2b973f9fee595a7a1ac4693efff791245c34", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs-master": { - "locked": { - "lastModified": 1662556621, - "narHash": "sha256-9K/E3k261ksOje0SsSug2AiykuEwu8BaLgHFhTHr3+w=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c66b76594310df647f99a653e98e8e59e842d0c6", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1662019588, - "narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2da64a81275b68fdad38af669afeda43d401e94b", + "rev": "93a0067a9c85c17764f7755947e6ecf52dc47d8a", "type": "github" }, "original": { @@ -227,6 +199,22 @@ "type": "github" } }, + "nixpkgs-master": { + "locked": { + "lastModified": 1662932725, + "narHash": "sha256-WmMjM/5/LInDOVE5fwVAvMlzcCK5PPYkATMkQlIaJ0Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9974dcfc2030f9c09048278083f3a068e05b0964", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, "nnn-vim": { "flake": false, "locked": { @@ -323,7 +311,7 @@ "impermanence": "impermanence", "mobile-nixos": "mobile-nixos", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", "octoprint-spoolmanager": "octoprint-spoolmanager", diff --git a/flake.nix b/flake.nix index caca5151..149d4c8b 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,7 @@ ## emacs emacs-overlay.url = "github:nix-community/emacs-overlay"; + emacs-overlay.inputs.nixpkgs.follows = "nixpkgs"; ## vim #neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; From 7c78aecb78fbed40698ed268ce821551956ef4a4 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 11 Sep 2022 23:57:26 +0200 Subject: [PATCH 116/525] emacs flake --- hosts/ds9/default.nix | 11 +- nixos-modules/paperless-override.nix | 319 +++++++++++++++++++++++++++ nixos-modules/services/paperless.nix | 3 +- 3 files changed, 325 insertions(+), 8 deletions(-) create mode 100644 nixos-modules/paperless-override.nix diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 866ec7b6..3578ebd1 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -38,14 +38,11 @@ in networking.bridges."br0".interfaces = [ ]; networking.hostId = "7b4c2932"; boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv7l-linux" ]; - services.nginx.appendHttpConfig = '' - allow 10.0.0.0/8; - allow 100.64.0.0/10; - ''; + services.nginx.defaultListenAddresses = [ "100.83.96.25" ]; + services.nginx.virtualHosts."_". + listenAddresses = [ "0.0.0.0" "[::0]" ]; services.nginx.virtualHosts."h.hailsatan.eu" = { - extraConfig = '' - allow all; - ''; + listenAddresses = [ "0.0.0.0" "[::0]" ]; useACMEHost = "hailsatan.eu"; addSSL = true; locations = { diff --git a/nixos-modules/paperless-override.nix b/nixos-modules/paperless-override.nix new file mode 100644 index 00000000..08955050 --- /dev/null +++ b/nixos-modules/paperless-override.nix @@ -0,0 +1,319 @@ +{ config, pkgs, lib, ... }: + +with lib; +let + cfg = config.services.paperless-override; + pkg = cfg.package; + + defaultUser = "paperless"; + + # Don't start a redis instance if the user sets a custom redis connection + enableRedis = !hasAttr "PAPERLESS_REDIS" cfg.extraConfig; + redisServer = config.services.redis.servers.paperless; + + env = { + PAPERLESS_DATA_DIR = cfg.dataDir; + PAPERLESS_MEDIA_ROOT = cfg.mediaDir; + PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir; + GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}"; + } // optionalAttrs (config.time.timeZone != null) { + PAPERLESS_TIME_ZONE = config.time.timeZone; + } // optionalAttrs enableRedis { + PAPERLESS_REDIS = "unix://${redisServer.unixSocket}"; + } // ( + lib.mapAttrs (_: toString) cfg.extraConfig + ); + + manage = let + setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env); + in pkgs.writeShellScript "manage" '' + ${setupEnv} + exec ${pkg}/bin/paperless-ngx "$@" + ''; + + # Secure the services + defaultServiceConfig = { + TemporaryFileSystem = "/:ro"; + BindReadOnlyPaths = [ + "/nix/store" + "-/etc/resolv.conf" + "-/etc/nsswitch.conf" + "-/etc/hosts" + "-/etc/localtime" + "-/run/postgresql" + ] ++ (optional enableRedis redisServer.unixSocket); + BindPaths = [ + cfg.consumptionDir + cfg.dataDir + cfg.mediaDir + ]; + CapabilityBoundingSet = ""; + # ProtectClock adds DeviceAllow=char-rtc r + DeviceAllow = ""; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateNetwork = true; + PrivateTmp = true; + PrivateUsers = true; + ProtectClock = true; + # Breaks if the home dir of the user is in /home + # Also does not add much value in combination with the TemporaryFileSystem. + # ProtectHome = true; + ProtectHostname = true; + # Would re-mount paths ignored by temporary root + #ProtectSystem = "strict"; + ProtectControlGroups = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + # Don't restrict ProcSubset because django-q requires read access to /proc/stat + # to query CPU and memory information. + # Note that /proc only contains processes of user `paperless`, so this is safe. + # ProcSubset = "pid"; + RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SupplementaryGroups = optional enableRedis redisServer.user; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ]; + # Does not work well with the temporary root + #UMask = "0066"; + }; +in +{ + meta.maintainers = with maintainers; [ erikarvstedt Flakebi ]; + + options.services.paperless-override = { + enable = mkOption { + type = lib.types.bool; + default = false; + description = lib.mdDoc '' + Enable Paperless. + + When started, the Paperless database is automatically created if it doesn't + exist and updated if the Paperless package has changed. + Both tasks are achieved by running a Django migration. + + A script to manage the Paperless instance (by wrapping Django's manage.py) is linked to + `''${dataDir}/paperless-manage`. + ''; + }; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/paperless"; + description = lib.mdDoc "Directory to store the Paperless data."; + }; + + mediaDir = mkOption { + type = types.str; + default = "${cfg.dataDir}/media"; + defaultText = literalExpression ''"''${dataDir}/media"''; + description = lib.mdDoc "Directory to store the Paperless documents."; + }; + + consumptionDir = mkOption { + type = types.str; + default = "${cfg.dataDir}/consume"; + defaultText = literalExpression ''"''${dataDir}/consume"''; + description = lib.mdDoc "Directory from which new documents are imported."; + }; + + consumptionDirIsPublic = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc "Whether all users can write to the consumption dir."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/keys/paperless-password"; + description = lib.mdDoc '' + A file containing the superuser password. + + A superuser is required to access the web interface. + If unset, you can create a superuser manually by running + `''${dataDir}/paperless-manage createsuperuser`. + + The default superuser name is `admin`. To change it, set + option {option}`extraConfig.PAPERLESS_ADMIN_USER`. + WARNING: When changing the superuser name after the initial setup, the old superuser + will continue to exist. + + To disable login for the web interface, set the following: + `extraConfig.PAPERLESS_AUTO_LOGIN_USERNAME = "admin";`. + WARNING: Only use this on a trusted system without internet access to Paperless. + ''; + }; + + address = mkOption { + type = types.str; + default = "localhost"; + description = lib.mdDoc "Web interface address."; + }; + + port = mkOption { + type = types.port; + default = 28981; + description = lib.mdDoc "Web interface port."; + }; + + extraConfig = mkOption { + type = types.attrs; + default = {}; + description = lib.mdDoc '' + Extra paperless config options. + + See [the documentation](https://paperless-ngx.readthedocs.io/en/latest/configuration.html) + for available options. + ''; + example = { + PAPERLESS_OCR_LANGUAGE = "deu+eng"; + PAPERLESS_DBHOST = "/run/postgresql"; + }; + }; + + user = mkOption { + type = types.str; + default = defaultUser; + description = lib.mdDoc "User under which Paperless runs."; + }; + + package = mkOption { + type = types.package; + default = pkgs.paperless-ngx; + defaultText = literalExpression "pkgs.paperless-ngx"; + description = lib.mdDoc "The Paperless package to use."; + }; + }; + + config = mkIf cfg.enable { + services.redis.servers.paperless.enable = mkIf enableRedis true; + + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" + "d '${cfg.mediaDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" + (if cfg.consumptionDirIsPublic then + "d '${cfg.consumptionDir}' 777 - - - -" + else + "d '${cfg.consumptionDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" + ) + ]; + + systemd.services.paperless-scheduler = { + description = "Paperless scheduler"; + serviceConfig = defaultServiceConfig // { + User = cfg.user; + ExecStart = "${pkg}/bin/paperless-ngx qcluster"; + Restart = "on-failure"; + # The `mbind` syscall is needed for running the classifier. + SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ]; + # Needs to talk to mail server for automated import rules + PrivateNetwork = false; + }; + environment = env; + wantedBy = [ "multi-user.target" ]; + wants = [ "paperless-consumer.service" "paperless-web.service" ]; + + preStart = '' + ln -sf ${manage} ${cfg.dataDir}/paperless-manage + + # Auto-migrate on first run or if the package has changed + versionFile="${cfg.dataDir}/src-version" + if [[ $(cat "$versionFile" 2>/dev/null) != ${pkg} ]]; then + ${pkg}/bin/paperless-ngx migrate + echo ${pkg} > "$versionFile" + fi + '' + + optionalString (cfg.passwordFile != null) '' + export PAPERLESS_ADMIN_USER="''${PAPERLESS_ADMIN_USER:-admin}" + export PAPERLESS_ADMIN_PASSWORD=$(cat "${cfg.dataDir}/superuser-password") + superuserState="$PAPERLESS_ADMIN_USER:$PAPERLESS_ADMIN_PASSWORD" + superuserStateFile="${cfg.dataDir}/superuser-state" + + if [[ $(cat "$superuserStateFile" 2>/dev/null) != $superuserState ]]; then + ${pkg}/bin/paperless-ngx manage_superuser + echo "$superuserState" > "$superuserStateFile" + fi + ''; + } // optionalAttrs enableRedis { + after = [ "redis-paperless.service" ]; + }; + + # Reading the user-provided password file requires root access + systemd.services.paperless-copy-password = mkIf (cfg.passwordFile != null) { + requiredBy = [ "paperless-scheduler.service" ]; + before = [ "paperless-scheduler.service" ]; + serviceConfig = { + ExecStart = '' + ${pkgs.coreutils}/bin/install --mode 600 --owner '${cfg.user}' --compare \ + '${cfg.passwordFile}' '${cfg.dataDir}/superuser-password' + ''; + Type = "oneshot"; + }; + }; + + systemd.services.paperless-consumer = { + description = "Paperless document consumer"; + serviceConfig = defaultServiceConfig // { + User = cfg.user; + ExecStart = "${pkg}/bin/paperless-ngx document_consumer"; + Restart = "on-failure"; + }; + environment = env; + # Bind to `paperless-scheduler` so that the consumer never runs + # during migrations + bindsTo = [ "paperless-scheduler.service" ]; + after = [ "paperless-scheduler.service" ]; + }; + + systemd.services.paperless-web = { + description = "Paperless web server"; + serviceConfig = defaultServiceConfig // { + User = cfg.user; + ExecStart = '' + ${pkgs.python3Packages.gunicorn}/bin/gunicorn \ + -c ${pkg}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application + ''; + Restart = "on-failure"; + + # gunicorn needs setuid, liblapack needs mbind + SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "@setuid mbind" ]; + # Needs to serve web page + PrivateNetwork = false; + } // lib.optionalAttrs (cfg.port < 1024) { + AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; + CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ]; + }; + environment = env // { + PATH = mkForce pkg.path; + PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/paperless-ngx/src"; + }; + # Allow the web interface to access the private /tmp directory of the server. + # This is required to support uploading files via the web interface. + unitConfig.JoinsNamespaceOf = "paperless-scheduler.service"; + # Bind to `paperless-scheduler` so that the web server never runs + # during migrations + bindsTo = [ "paperless-scheduler.service" ]; + after = [ "paperless-scheduler.service" ]; + }; + + users = optionalAttrs (cfg.user == defaultUser) { + users.${defaultUser} = { + group = defaultUser; + uid = config.ids.uids.paperless; + home = cfg.dataDir; + }; + + groups.${defaultUser} = { + gid = config.ids.gids.paperless; + }; + }; + }; +} diff --git a/nixos-modules/services/paperless.nix b/nixos-modules/services/paperless.nix index 66b35e8b..1c740147 100644 --- a/nixos-modules/services/paperless.nix +++ b/nixos-modules/services/paperless.nix @@ -13,7 +13,7 @@ in default = "paperless"; }; config = mkIf cfg.enable { - services.paperless = { + services.paperless-override = { enable = true; mediaDir = mkDefault "/data/documents/paperless"; consumptionDir = "/data/applications/paperless-consumption"; @@ -21,6 +21,7 @@ in passwordFile = "${config.age.secrets.paperlessAdminPW.path}"; extraConfig = { PAPERLESS_OCR_LANGUAGE = "deu+eng"; + PAPERLESS_TIME_ZONE = config.time.timeZone; }; }; ragon.agenix.secrets.paperlessAdminPW = { group = "${config.services.paperless.user}"; mode = "0440"; }; From 4d253644e857e654b0be677777af8a7a2fcce803 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 17 Sep 2022 09:55:51 +0200 Subject: [PATCH 117/525] feat: plex --- hosts/ds9/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 3578ebd1..687362f2 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -40,7 +40,7 @@ in boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv7l-linux" ]; services.nginx.defaultListenAddresses = [ "100.83.96.25" ]; services.nginx.virtualHosts."_". - listenAddresses = [ "0.0.0.0" "[::0]" ]; + listenAddresses = [ "0.0.0.0" "[::0]" ]; services.nginx.virtualHosts."h.hailsatan.eu" = { listenAddresses = [ "0.0.0.0" "[::0]" ]; useACMEHost = "hailsatan.eu"; @@ -222,11 +222,18 @@ in ZED_SCRUB_AFTER_RESILVER = true; }; + services.plex = { + enable = true; + openFirewall = true; + user = "ragon"; + group = "users"; + }; + ragon = { cli.enable = true; user.enable = true; persist.enable = true; - persist.extraDirectories = [ "/var/lib/syncthing" ]; + persist.extraDirectories = [ "/var/lib/syncthing" config.services.plex.dataDir ]; services = { samba.enable = true; From de52d23fcaa025b0006f4e8725b929a35a93ace0 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 23 Sep 2022 21:39:54 +0200 Subject: [PATCH 118/525] fix: emacs term --- hosts/daedalus/default.nix | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 30043c36..6ff59487 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -1,9 +1,9 @@ { pkgs, inputs, lib, ... }: with lib; with lib.my; - let - myEmacs = pkgs.emacsNativeComp; - in +let + myEmacs = pkgs.emacsNativeComp; +in { users.users.ragon = { @@ -11,7 +11,7 @@ with lib.my; home = "/Users/ragon"; }; environment.systemPackages = [ - myEmacs + myEmacs ]; homebrew = { @@ -60,18 +60,20 @@ with lib.my; { home.file.".hammerspoon/init.lua".source = pkgs.substituteAll { - src = ./hammerspoon.lua; inherit myEmacs; }; + src = ./hammerspoon.lua; inherit myEmacs; + }; programs.home-manager.enable = true; home.stateVersion = "21.11"; home.shellAliases = { - v = lib.mkForce "emacsclient -t"; - vv = lib.mkForce "emacsclient -c"; + v = lib.mkForce "emacsclient -t"; + vv = lib.mkForce "emacsclient -c"; }; home.sessionVariables = { - EDITOR = "emacsclient -t"; - VISUAL = "emacsclient -c"; + #EDITOR = "emacsclient -t"; + #VISUAL = "emacsclient -c"; + COLORTERM = "truecolor"; # emacs tty fix PATH = "$PATH:$HOME/go/bin:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin"; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; }; From 97362705acda77314d77feb47b3692a5a65cd862 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 25 Sep 2022 19:45:15 +0200 Subject: [PATCH 119/525] update --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index e2740fe1..e369205b 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1662478528, - "narHash": "sha256-Myjd0HPL5lXri3NXOcJ6gP7IKod2eMweQBKM4uxgEGw=", + "lastModified": 1663677921, + "narHash": "sha256-NfQnUfRrjv8DXeugdbQC5El+MMhShP42ohc8iM+UAdM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "3b69bf3cc26ae19de847bfe54d6ab22d7381a90a", + "rev": "088c98a584a38b5f844bb9e9cd32eb28479ca6d7", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1662923143, - "narHash": "sha256-NXJHGctp+O9TwnKEq0u8KbJLS2gCVmemQCDZzGHJRxM=", + "lastModified": 1664101348, + "narHash": "sha256-C7Q3IIMKf50aLy5Sr2YNJFsi1XZLVoRoetzOjMk6oO8=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "9d1492fb30447b52d195dbb230c0ee708b772342", + "rev": "c847b622f1f93833cffde28fb7787b85ada85510", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1662759269, - "narHash": "sha256-lt8bAfEZudCQb+MxoNKmenhMTXhu3RCCyLYxU9t5FFk=", + "lastModified": 1663932797, + "narHash": "sha256-IH8ZBW99W2k7wKLS+Sat9HiKX1TPZjFTnsPizK5crok=", "owner": "nix-community", "repo": "home-manager", - "rev": "9f7fe353b613d0e45d7a5cdbd1f13c96c15803dd", + "rev": "de3758e31a3a1bc79d569f5deb5dac39791bf9b6", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1662714967, - "narHash": "sha256-IOTq5tAGGmBFj7tQbkcyLE261JUeTUucEE3p0WLZ4qM=", + "lastModified": 1663229557, + "narHash": "sha256-1uU4nsDLXKG0AHc/VCsNBAEPkTA/07juYhcEWRb1O1E=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "1fec8fda86dac5701146c77d5f8a414b14ed1ff6", + "rev": "a0df6cd6e199df4a78c833c273781ea92fa62cfb", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1662821606, - "narHash": "sha256-Z9z9iSH+tgJ0iyRcBfEQRwELgjnhpVXsktiWiFe3SuY=", + "lastModified": 1664017330, + "narHash": "sha256-919WZKBTxFdTkzIK6uJXE7hwSPQb7e/ekybxxWaotR4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "93a0067a9c85c17764f7755947e6ecf52dc47d8a", + "rev": "fde244a8c7655bc28616864e2290ad9c95409c2c", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1662932725, - "narHash": "sha256-WmMjM/5/LInDOVE5fwVAvMlzcCK5PPYkATMkQlIaJ0Y=", + "lastModified": 1664124419, + "narHash": "sha256-5vkoxAzg1cB9lix9nx5+cU1e4UZm8mHJvdeM1LyzOxc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9974dcfc2030f9c09048278083f3a068e05b0964", + "rev": "2ff1d7bf8a92b6468d3647684aa03945fbbe3b08", "type": "github" }, "original": { @@ -288,11 +288,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1658963292, - "narHash": "sha256-4OIpATLdPQvryyhRQPELeqNYC0n6PCyjD6LCPdwOztc=", + "lastModified": 1663380950, + "narHash": "sha256-OKLyIXIXhUnRB3Xw+7zI3u6XkwF7Mrbfz1XaasV6i7Q=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "ff18e04551a39ccdab0ff9c83926db3807b23478", + "rev": "6925256babec4307479a4080b44f2be38056f210", "type": "github" }, "original": { @@ -327,11 +327,11 @@ }, "utils": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -377,11 +377,11 @@ ] }, "locked": { - "lastModified": 1662554860, - "narHash": "sha256-DtEPb4FDkAsb9/hSz1O/uDjd/dZMtn9F5azPBVHX6lE=", + "lastModified": 1664127781, + "narHash": "sha256-c6b1kQVK2Q5uNYxmCHU4jMfmx8oUAG8gcQ5l4r0VyrQ=", "owner": "thexyno", "repo": "blog", - "rev": "036cd246ba17c917fa7aca1b33aa40a440406988", + "rev": "7202c1221add45986e97c4aa35de82e7c1036fa3", "type": "github" }, "original": { @@ -393,11 +393,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1661758121, - "narHash": "sha256-pMgZkGWYhj0mbK3Uxo1yihaIAkp3EEDBGRtoRQXr2ns=", + "lastModified": 1663687630, + "narHash": "sha256-1oOuazjCcExjiPruDvnLj9J/EnAH65o/okpXRmL/k08=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "53f2eab090d054a877d45092d6f90562fa663d1a", + "rev": "57330ba11b1d10ba6abba35c2d79973834fb65a6", "type": "github" }, "original": { @@ -409,11 +409,11 @@ "zsh-syntax-highlighting": { "flake": false, "locked": { - "lastModified": 1652554093, - "narHash": "sha256-YV9lpJ0X2vN9uIdroDWEize+cp9HoKegS3sZiSpNk50=", + "lastModified": 1663979624, + "narHash": "sha256-ffD0iHf9WVuE6QzZCkuDgIWj+BY/BRxtYNMi8osJohI=", "owner": "zsh-users", "repo": "zsh-syntax-highlighting", - "rev": "caa749d030d22168445c4cb97befd406d2828db0", + "rev": "122dc464392302114556b53ec01a1390c54f739f", "type": "github" }, "original": { From 7c8fd7f6584b5e9b2e0ef21e08f31b1553159f56 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 25 Sep 2022 19:47:58 +0200 Subject: [PATCH 120/525] update --- flake.lock | 12 ++++++------ nixos-common.nix | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index e369205b..2f866a2a 100644 --- a/flake.lock +++ b/flake.lock @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1664124419, - "narHash": "sha256-5vkoxAzg1cB9lix9nx5+cU1e4UZm8mHJvdeM1LyzOxc=", + "lastModified": 1664128284, + "narHash": "sha256-V2SjmKFVL9rGOo/wflAUzMd7x4PHnO1y5FI8B4U+WDc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2ff1d7bf8a92b6468d3647684aa03945fbbe3b08", + "rev": "7f013504b706e9b7bbaf60dca5a886fcc579b882", "type": "github" }, "original": { @@ -377,11 +377,11 @@ ] }, "locked": { - "lastModified": 1664127781, - "narHash": "sha256-c6b1kQVK2Q5uNYxmCHU4jMfmx8oUAG8gcQ5l4r0VyrQ=", + "lastModified": 1664128805, + "narHash": "sha256-ZH+T929Fb2AE3tvudXBtLmcLtYYD3o7ZPFk1i0y0rME=", "owner": "thexyno", "repo": "blog", - "rev": "7202c1221add45986e97c4aa35de82e7c1036fa3", + "rev": "ca28752feda68b1f8d138d6ec6643adb9dd25e35", "type": "github" }, "original": { diff --git a/nixos-common.nix b/nixos-common.nix index 93d991f2..c0ae51b5 100644 --- a/nixos-common.nix +++ b/nixos-common.nix @@ -30,7 +30,7 @@ in registryInputs = mapAttrs (_: v: { flake = v; }) filteredInputs; in { - package = pkgs.unstable.nixFlakes; + package = pkgs.nixVersions.stable; settings = { trusted-users = mkDefault [ "root" "@wheel" ]; allowed-users = mkDefault [ "root" "@wheel" ]; From 3ba72b101b8da91f98f29c5516eb0bb9a4a589e5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 4 Oct 2022 15:04:22 +0200 Subject: [PATCH 121/525] update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 2f866a2a..0af96f89 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1662241716, - "narHash": "sha256-urqPvSvvGUhkwzTDxUI8N1nsdMysbAfjmBNZaTYBZRU=", + "lastModified": 1664140963, + "narHash": "sha256-pFxDtOLduRFlol0Y4ShE+soRQX4kbhaCNBtDOvx7ykw=", "owner": "ryantm", "repo": "agenix", - "rev": "c96da5835b76d3d8e8d99a0fec6fe32f8539ee2e", + "rev": "6acb1fe5f8597d5ce63fc82bc7fcac7774b1cdf0", "type": "github" }, "original": { @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1663677921, - "narHash": "sha256-NfQnUfRrjv8DXeugdbQC5El+MMhShP42ohc8iM+UAdM=", + "lastModified": 1664210064, + "narHash": "sha256-df6nKVZe/yAhmJ9csirTPahc0dldwm3HBhCVNA6qWr0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "088c98a584a38b5f844bb9e9cd32eb28479ca6d7", + "rev": "02d2551c927b7d65ded1b3c7cd13da5cc7ae3fcf", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1664101348, - "narHash": "sha256-C7Q3IIMKf50aLy5Sr2YNJFsi1XZLVoRoetzOjMk6oO8=", + "lastModified": 1664884292, + "narHash": "sha256-bOMphgtwxL4pNFov96e9ooaX/Dz5+zr2IZB7NXb8ZO4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "c847b622f1f93833cffde28fb7787b85ada85510", + "rev": "078ea145c926a5a12269a8cba43282802e3dd1d0", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1663932797, - "narHash": "sha256-IH8ZBW99W2k7wKLS+Sat9HiKX1TPZjFTnsPizK5crok=", + "lastModified": 1664783440, + "narHash": "sha256-KlMwR7mUf5h8MPnzV7nGFUAt6ih/euW5xgvZ5x+hwvI=", "owner": "nix-community", "repo": "home-manager", - "rev": "de3758e31a3a1bc79d569f5deb5dac39791bf9b6", + "rev": "e4e639dd4dc3e431aa5b5f95325f9a66ac7e0dd9", "type": "github" }, "original": { @@ -133,11 +133,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1661716773, - "narHash": "sha256-uxf0aC+kx8av3/IT8/UecxSMElC9i4UQvH25RHFwna4=", + "lastModified": 1664852186, + "narHash": "sha256-t0FhmTf3qRs8ScR8H9Rq7FAxptNELLSpxZG2ALL1HnE=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "09e388c42298fa777caa7738cd8d8d2b6d1ac8db", + "rev": "ca872f1a617674c4045e880aab8a45037e73700b", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1663229557, - "narHash": "sha256-1uU4nsDLXKG0AHc/VCsNBAEPkTA/07juYhcEWRb1O1E=", + "lastModified": 1664628729, + "narHash": "sha256-A1J0ZPhBfZZiWI6ipjKJ8+RpMllzOMu/An/8Tk3t4oo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "a0df6cd6e199df4a78c833c273781ea92fa62cfb", + "rev": "3024c67a2e9a35450558426c42e7419ab37efd95", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1664017330, - "narHash": "sha256-919WZKBTxFdTkzIK6uJXE7hwSPQb7e/ekybxxWaotR4=", + "lastModified": 1664780719, + "narHash": "sha256-Oxe6la5dSqRfJogjtY4sRzJjDDqvroJIVkcGEOT87MA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fde244a8c7655bc28616864e2290ad9c95409c2c", + "rev": "fd54651f5ffb4a36e8463e0c327a78442b26cbe7", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1664128284, - "narHash": "sha256-V2SjmKFVL9rGOo/wflAUzMd7x4PHnO1y5FI8B4U+WDc=", + "lastModified": 1664887064, + "narHash": "sha256-rzOOcLndesjhokPy4FIXDqnGrHI+d/E3yapJwgogcCw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7f013504b706e9b7bbaf60dca5a886fcc579b882", + "rev": "0fff3a2530fc1c91c0863a4938da1db5537d5173", "type": "github" }, "original": { From 8b13ef95c8b6abfc082cf5924fe83c3d93a3200a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 4 Oct 2022 16:17:30 +0200 Subject: [PATCH 122/525] update --- darwin-common.nix | 2 +- hosts/daedalus/default.nix | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index eca5d282..75c3c36b 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -3,7 +3,7 @@ programs.zsh.enable = true; environment.pathsToLink = [ "/share/zsh" ]; services.nix-daemon.enable = true; - nix.package = pkgs.nixFlakes; + nix.package = pkgs.nixVersions.stable; nix.settings.cores = 0; # use all cores nix.settings.max-jobs = 10; # use all cores nix.distributedBuilds = true; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 6ff59487..a683d573 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -16,7 +16,6 @@ in homebrew = { enable = true; - autoUpdate = true; brews = [ "pam-reattach" ]; From 69a99fc934a756501928e837129432bcb8408fb7 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 4 Oct 2022 20:30:42 +0200 Subject: [PATCH 123/525] update --- hosts/daedalus/default.nix | 1 + hosts/ds9/default.nix | 1 + hosts/picard/default.nix | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index a683d573..99ed5a02 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -78,6 +78,7 @@ in }; home.packages = with pkgs; [ terraform-ls + mosh terraform cmake diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 687362f2..1605d8e4 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -33,6 +33,7 @@ in in builtins.mapAttrs (n: v: { target = "backup/${n}"; source = v; sendOptions = "w"; }) datasets; + programs.mosh.enable = true; security.sudo.wheelNeedsPassword = false; networking.useDHCP = true; networking.bridges."br0".interfaces = [ ]; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 13454e2e..ff470453 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -110,10 +110,11 @@ }; nixpkgs.overlays = [ (self: super: { - zfs = super.zfs.override {enableMail = true;}; + zfs = super.zfs.override { enableMail = true; }; }) ]; services.xynoblog.enable = true; + programs.mosh.enable = true; ragon = { cli.enable = true; user.enable = true; From 8e0143a9cbe8a8b366cce3bd71faaf4f3590feb2 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 4 Oct 2022 20:32:03 +0200 Subject: [PATCH 124/525] update --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 0af96f89..0f6c8b0d 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1664884292, - "narHash": "sha256-bOMphgtwxL4pNFov96e9ooaX/Dz5+zr2IZB7NXb8ZO4=", + "lastModified": 1664904447, + "narHash": "sha256-8w4ARpE6MvYCSDwdkaDYUM6PIKx3kauyS1ov3ko4ltI=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "078ea145c926a5a12269a8cba43282802e3dd1d0", + "rev": "d0c070ee87cfabfc54dab3f4b4585ee02cb2be14", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1664887064, - "narHash": "sha256-rzOOcLndesjhokPy4FIXDqnGrHI+d/E3yapJwgogcCw=", + "lastModified": 1664904529, + "narHash": "sha256-mGlB/SQR4E9jb7fOOxCTJlwL6Mk1Dpyvi4UrOXL6C18=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0fff3a2530fc1c91c0863a4938da1db5537d5173", + "rev": "b7a47253e0c8cb04c0a3f8ed3149e90229e62884", "type": "github" }, "original": { @@ -393,11 +393,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1663687630, - "narHash": "sha256-1oOuazjCcExjiPruDvnLj9J/EnAH65o/okpXRmL/k08=", + "lastModified": 1664892950, + "narHash": "sha256-gI2sakd44nC4OeTfqwvUBRUNdm2DVyoWhsmGLlNfeoU=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "57330ba11b1d10ba6abba35c2d79973834fb65a6", + "rev": "879f4b6515d3e7808e8d97d65c679ed8d044f57a", "type": "github" }, "original": { From a8560c8738703a16fa3f7743fcea828dbaccc536 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 4 Oct 2022 20:32:46 +0200 Subject: [PATCH 125/525] update --- hm-imports/nvim/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index acbfed02..28e2ef8b 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -29,7 +29,7 @@ plugins = let nnn-vim = pkgs.vimUtils.buildVimPlugin { - name = "nnn-vim"; + pname = "nnn-vim"; src = inputs.nnn-vim; }; # coc-nvim = pkgs.vimUtils.buildVimPlugin { From 14af1ab2bff3d40e3a0df3bd8cfd6a642231c53a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 4 Oct 2022 20:33:13 +0200 Subject: [PATCH 126/525] update --- hm-imports/nvim/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 28e2ef8b..ba203e71 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -30,6 +30,7 @@ let nnn-vim = pkgs.vimUtils.buildVimPlugin { pname = "nnn-vim"; + version = "1.0.0"; src = inputs.nnn-vim; }; # coc-nvim = pkgs.vimUtils.buildVimPlugin { From f03fe0e5429070c317845fef64c8803cd6ca3897 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 6 Oct 2022 15:53:33 +0200 Subject: [PATCH 127/525] a --- hosts/daedalus/default.nix | 2 ++ hosts/daedalus/finicky.js | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 hosts/daedalus/finicky.js diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 99ed5a02..8b245101 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -29,6 +29,7 @@ in "lens" "logseq" "discord" + "finicky" "vlc" "parsec" "element" @@ -61,6 +62,7 @@ in pkgs.substituteAll { src = ./hammerspoon.lua; inherit myEmacs; }; + home.file.".finicky.js".source = ./finicky.js; programs.home-manager.enable = true; home.stateVersion = "21.11"; diff --git a/hosts/daedalus/finicky.js b/hosts/daedalus/finicky.js new file mode 100644 index 00000000..52fd3e2e --- /dev/null +++ b/hosts/daedalus/finicky.js @@ -0,0 +1,17 @@ +module.exports = { + defaultBrowser: "Safari", + handlers: [ + { + match: /^https?:\/\/gitlab\.com\/.*$/, + browser: "Vivaldi.app" + }, + { + match: /^https?:\/\/.*\.atlassian\.com\/.*$/, + browser: "Vivaldi.app" + }, + { + match: undefined, + browser: "Safari" + } + ] +} From 0812d40e354321849d5172f31d0f4df2c425af75 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 6 Oct 2022 15:55:30 +0200 Subject: [PATCH 128/525] a --- hosts/daedalus/finicky.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hosts/daedalus/finicky.js b/hosts/daedalus/finicky.js index 52fd3e2e..d5dae2f0 100644 --- a/hosts/daedalus/finicky.js +++ b/hosts/daedalus/finicky.js @@ -8,10 +8,6 @@ module.exports = { { match: /^https?:\/\/.*\.atlassian\.com\/.*$/, browser: "Vivaldi.app" - }, - { - match: undefined, - browser: "Safari" } ] } From 0fcef04e5cb2b1f6b2c300775fb08650b9f37bf3 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 12 Oct 2022 09:24:36 +0200 Subject: [PATCH 129/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 0f6c8b0d..01b7dcd6 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1664210064, - "narHash": "sha256-df6nKVZe/yAhmJ9csirTPahc0dldwm3HBhCVNA6qWr0=", + "lastModified": 1665392861, + "narHash": "sha256-bCd8fYJMAb0LzabsiXl4nxECDoz483bJOCa2hjox7N0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "02d2551c927b7d65ded1b3c7cd13da5cc7ae3fcf", + "rev": "ef56fd8979b5f4e800c4716f62076e00600b1172", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1664904447, - "narHash": "sha256-8w4ARpE6MvYCSDwdkaDYUM6PIKx3kauyS1ov3ko4ltI=", + "lastModified": 1665550628, + "narHash": "sha256-KCkoHJa1/aQ8brnWkZAPiIR22cnr0fM1Thlz0GbWF/U=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "d0c070ee87cfabfc54dab3f4b4585ee02cb2be14", + "rev": "b1fcd0a5edc39918762441fa7ccf3be24d663336", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1664783440, - "narHash": "sha256-KlMwR7mUf5h8MPnzV7nGFUAt6ih/euW5xgvZ5x+hwvI=", + "lastModified": 1665520899, + "narHash": "sha256-N8BYMgvrAYhiXeyrcEeLgngZZaU6MVVocSa+tIfyMyg=", "owner": "nix-community", "repo": "home-manager", - "rev": "e4e639dd4dc3e431aa5b5f95325f9a66ac7e0dd9", + "rev": "5597b3a7425a9e3f41128308cb1105d3e780f633", "type": "github" }, "original": { @@ -133,11 +133,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1664852186, - "narHash": "sha256-t0FhmTf3qRs8ScR8H9Rq7FAxptNELLSpxZG2ALL1HnE=", + "lastModified": 1665363107, + "narHash": "sha256-Am7j/83uBAZudIhHuoNNO2Hyr7LegWxyL6JJBhjrm4g=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "ca872f1a617674c4045e880aab8a45037e73700b", + "rev": "0bf9b6da8c4d0ee31c3e988c99893de4da7df74a", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1664628729, - "narHash": "sha256-A1J0ZPhBfZZiWI6ipjKJ8+RpMllzOMu/An/8Tk3t4oo=", + "lastModified": 1665321371, + "narHash": "sha256-0SO6MTW0bX6lxZmz1AZW/Xmk+hnTd7/hp1vF7Tp7jg0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3024c67a2e9a35450558426c42e7419ab37efd95", + "rev": "236ba4df714131059945d7754c0aa3fbe9d2f74c", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1664780719, - "narHash": "sha256-Oxe6la5dSqRfJogjtY4sRzJjDDqvroJIVkcGEOT87MA=", + "lastModified": 1665349835, + "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd54651f5ffb4a36e8463e0c327a78442b26cbe7", + "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1664904529, - "narHash": "sha256-mGlB/SQR4E9jb7fOOxCTJlwL6Mk1Dpyvi4UrOXL6C18=", + "lastModified": 1665559082, + "narHash": "sha256-Hqpp6r+WDucjuAW0zx2ko0PRQH60ju+bhI8+BO0NNv8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b7a47253e0c8cb04c0a3f8ed3149e90229e62884", + "rev": "317439f7fc0f278f645fbf9c0a93fcdf740b1b0b", "type": "github" }, "original": { From dbf3186cc2172f4faca2ba81ca39a22ed6e688a3 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 15 Oct 2022 10:08:14 +0200 Subject: [PATCH 130/525] fix: nvim --- hosts/daedalus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 8b245101..5aebd70e 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -72,8 +72,8 @@ in vv = lib.mkForce "emacsclient -c"; }; home.sessionVariables = { - #EDITOR = "emacsclient -t"; - #VISUAL = "emacsclient -c"; + EDITOR = "nvim"; + VISUAL = "nvim"; COLORTERM = "truecolor"; # emacs tty fix PATH = "$PATH:$HOME/go/bin:$HOME/development/flutter/bin:/Applications/Android Studio.app/Contents/bin/:/Applications/Docker.app/Contents/Resources/bin:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin"; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; From 184b0b0e7f2ce83270732c98d8a8b1d8e604b4fd Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 16 Oct 2022 08:33:05 +0200 Subject: [PATCH 131/525] new hammerspoon config --- hosts/daedalus/hammerspoon.lua | 439 +++++++++++++++++++++++++++++---- 1 file changed, 389 insertions(+), 50 deletions(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 37c06b50..6f2fe8bf 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -1,3 +1,4 @@ + ---------------------------------------------------------------------------------------------------- -- Settings ---------------------------------------------------------------------------------------------------- @@ -10,71 +11,246 @@ hs.uploadCrashData(false) hs.window.animationDuration = 0 -local log = hs.logger.new('init', 'debug') +configWatcher = hs.pathwatcher.new(hs.configdir, hs.reload) +configWatcher:start() -configWatcher = hs.pathwatcher.new(hs.configdir, hs.reload):start() +local moonlanderMode = false +local maximizeMode = true +---------------------------------------------------------------------------------------------------- +-- Utilities +---------------------------------------------------------------------------------------------------- + +local modifier = { + cmd = "cmd", + shift = "shift", + ctrl = "ctrl", + option = "alt", +} + +local modifiers = { + hyper = { modifier.cmd, modifier.shift, modifier.ctrl, modifier.option }, + window = { modifier.ctrl, modifier.option }, + clipboard = { modifier.ctrl, modifier.cmd } +} + +local bundleID = { + activityMonitor = "com.apple.ActivityMonitor", + finder = "com.apple.finder", + firefox = "org.mozilla.firefox", + emacs = "org.gnu.emacs", + iterm = "com.googlecode.iterm2", + safari = "com.apple.Safari", + safariTechnologyPreview = "com.apple.SafariTechnologyPreview", + spotify = "com.spotify.client", + bitwarden = "com.bitwarden.desktop", + teams = "com.microsoft.teams", + timeular = "com.timeular.zei", + logseq = "com.electron.logseq" +} + +local usbDevice = { + moonlander = "Moonlander Mark I" +} + +local function languageIsGerman() return hs.host.locale.preferredLanguages()[1]:sub(0, 2) == "de" end + +local function maximizeCurrentWindow() hs.window.focusedWindow():maximize() end + +local function centerCurrentWindow() hs.window.focusedWindow():centerOnScreen() end + +local function moveCurrentWindowToLeftHalf() + local win = hs.window.focusedWindow() + local screenFrame = win:screen():frame() + local newFrame = hs.geometry.rect(screenFrame.x, screenFrame.y, screenFrame.w / 2, screenFrame.h) + win:setFrame(newFrame) +end + +local function moveCurrentWindowToRightHalf() + local win = hs.window.focusedWindow() + local screenFrame = win:screen():frame() + local newFrame = hs.geometry.rect(screenFrame.x + screenFrame.w / 2, screenFrame.y, screenFrame.w / 2, screenFrame.h) + win:setFrame(newFrame) +end + +local function moveCurentWindowToNextScreen() + local win = hs.window.focusedWindow() + win:moveToScreen(win:screen():next()) +end + +local function moveMouseToWindowCenter() + local windowCenter = hs.window.frontmostWindow():frame().center + hs.mouse.absolutePosition(windowCenter) +end + +local function moveMouseToUpperLeft() + local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() + local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w / 4, screenFrame.y + screenFrame.h / 4) + hs.mouse.absolutePosition(newPoint) +end + +local function moveMouseToUpperRight() + local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() + local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w * 3 / 4, screenFrame.y + screenFrame.h / 4) + hs.mouse.absolutePosition(newPoint) +end + +local function moveMouseToLowerLeft() + local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() + local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w / 4, screenFrame.y + screenFrame.h * 3 / 4) + hs.mouse.absolutePosition(newPoint) +end + +local function moveMouseToLowerRight() + local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() + local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w * 3 / 4, screenFrame.y + screenFrame.h * 3 / 4) + hs.mouse.absolutePosition(newPoint) +end + +---------------------------------------------------------------------------------------------------- +-- Menu +---------------------------------------------------------------------------------------------------- + +local function menuItems() + return { + { + title = "Hammerspoon " .. hs.processInfo.version, + disabled = true + }, + { title = "-" }, + { + title = "Moonlander Mode", + checked = moonlanderMode, + fn = function() moonlanderDetected(not moonlanderMode) end + }, + { + title = "Maximize Mode", + checked = maximizeMode, + fn = function() maximizeMode = not maximizeMode end + }, + { title = "-" }, + { + title = "Reload", + fn = hs.reload + }, + { + title = "Console...", + fn = hs.openConsole + }, + { title = "-" }, + { + title = "Quit", + fn = function() hs.application.get(hs.processInfo.processID):kill() end + } + } +end + +menu = hs.menubar.new() +menu:setMenu(menuItems) ---------------------------------------------------------------------------------------------------- -- Moonlander Detection ---------------------------------------------------------------------------------------------------- -function isDeviceMoonlander(device) - return device.productName == "Moonlander Mark I" -end +local moonlanderModeConfig = { + [false] = { + keyboardLayout = "Colemak DH ISO copy", + icon = hs.configdir .. "/assets/statusicon_off.tiff" + }, + [true] = { + keyboardLayout = "EurKEY v1.2", + icon = hs.configdir .. "/assets/statusicon_on.tiff" + } +} + +local function isDeviceMoonlander(device) return device.productName == usbDevice.moonlander end function moonlanderDetected(connected) - if connected then - hs.keycodes.setLayout("EurKEY v1.2") - else - hs.keycodes.setLayout("Colemak DH ISO copy") - end + moonlanderMode = connected + hs.keycodes.setLayout(moonlanderModeConfig[connected].keyboardLayout) + menu:setIcon(moonlanderModeConfig[connected].icon) end -function searchMoonlander() - local usbDevices = hs.usb.attachedDevices() - local moonlanderConnected = hs.fnutils.find(usbDevices, isDeviceMoonlander) ~= nil - - moonlanderDetected(moonlanderConnected) +local function searchMoonlander() + local usbDevices = hs.usb.attachedDevices() + local moonlanderConnected = hs.fnutils.find(usbDevices, isDeviceMoonlander) ~= nil + + moonlanderDetected(moonlanderConnected) end searchMoonlander() usbWatcher = hs.usb.watcher.new(function(event) - if event.productName == "Moonlander Mark I" then - moonlanderDetected(event.eventType == "added") - end -end):start() + if event.productName == usbDevice.moonlander then + moonlanderDetected(event.eventType == "added") + end +end) +usbWatcher:start() caffeinateWatcher = hs.caffeinate.watcher.new(function(event) - if event == hs.caffeinate.watcher.systemDidWake then - searchMoonlander() - end -end):start() - + if event == hs.caffeinate.watcher.systemDidWake then + searchMoonlander() + end +end) +caffeinateWatcher:start() ---------------------------------------------------------------------------------------------------- --- mount ds9 via tailscale +-- Window Management ---------------------------------------------------------------------------------------------------- --- kaputti ---function mountDS9() --- local ssid = hs.wifi.currentNetwork() --- if ssid ~= nil and ssid ~= 'vim' then -- not at home --- if os.execute("mount | grep //ragon@ds9._smb._tcp.local/data") == nil then -- check if mounted via mdns --- os.execute("diskutil umount /Volumes/data") -- umount share if it exists --- hs.osascript.applescript('mount volume "smb://ragon@ds9.ragon000.github.beta.tailscale.net/data"') -- mount share via tailscale --- end --- end ---end --- ---mountDS9() --- ---hs.wifi.watcher.new(function(watcher, message, interface) --- mountDS9() ---end):start() + +hs.window.filter.ignoreAlways = { + ["Mail Web Content"] = true, + ["Mail-Webinhalt"] = true, + ["QLPreviewGenerationExtension (Finder)"] = true, + ["Reeder Web Content"] = true, + ["Reeder-Webinhalt"] = true, + ["Safari Web Content (Cached)"] = true, + ["Safari Web Content (Prewarmed)"] = true, + ["Safari Web Content"] = true, + ["Safari Technology Preview Web Content (Cached)"] = true, + ["Safari Technology Preview Web Content (Prewarmed)"] = true, + ["Safari Technology Preview Web Content"] = true, + ["Safari-Webinhalt (im Cache)"] = true, + ["Safari-Webinhalt (vorgeladen)"] = true, + ["Safari-Webinhalt"] = true, + ["Strongbox (Safari)"] = true, +} +windowFilter = hs.window.filter.new({ + "App Store", + "Code", + "DataGrip", + "Firefox", + "Fork", + "Fotos", + "Google Chrome", + "Vivaldi", + "IntelliJ IDEA", + "Mail", + "Emacs", + "Microsoft Outlook", + "Microsoft Teams", + "Music", + "Musik", + "Photos", + "Postman", + "Reeder", + "Safari", + "Safari Technology Preview", + "Spotify", + "Strongbox", + "BitWarden", + "Logseq", + "Timeular", + "Tower", +}) +windowFilter:subscribe({ hs.window.filter.windowCreated, hs.window.filter.windowFocused }, function(window) + if maximizeMode and window ~= nil and window:isStandard() and window:frame().h > 500 then + window:maximize() + end +end) ---------------------------------------------------------------------------------------------------- --- Scratchpad +-- Keyboard Shortcuts ---------------------------------------------------------------------------------------------------- function showHideBundleId(bundleId) @@ -87,14 +263,177 @@ function showHideBundleId(bundleId) end end -local hyperModifier = {"cmd", "shift", "ctrl", "alt"} -local cmdShiftModifier = {"cmd", "shift"} -hs.hotkey.bind(hyperModifier, "b", function() showHideBundleId("com.bitwarden.desktop") end) -hs.hotkey.bind(hyperModifier, "p", function() showHideBundleId("com.timeular.zei") end) -hs.hotkey.bind(hyperModifier, "l", function() showHideBundleId("com.electron.logseq") end) -hs.hotkey.bind(hyperModifier, "e", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-c"}):start() end) -hs.hotkey.bind(hyperModifier, "i", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"--eval", "(emacs-everywhere)"}):start() end) +hs.hotkey.bind(modifiers.window, hs.keycodes.map.left, moveCurrentWindowToLeftHalf) +hs.hotkey.bind(modifiers.window, hs.keycodes.map.right, moveCurrentWindowToRightHalf) +hs.hotkey.bind(modifiers.window, hs.keycodes.map.down, moveCurentWindowToNextScreen) +hs.hotkey.bind(modifiers.window, hs.keycodes.map["return"], maximizeCurrentWindow) +hs.hotkey.bind(modifiers.window, "c", centerCurrentWindow) + +hs.hotkey.bind(modifiers.hyper, "[", moveMouseToWindowCenter) +hs.hotkey.bind(modifiers.hyper, "m", moveMouseToUpperLeft) +hs.hotkey.bind(modifiers.hyper, "o", moveMouseToUpperRight) +hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.up, moveMouseToLowerLeft) +hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.down, moveMouseToLowerRight) +hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.delete, function() hs.caffeinate.lockScreen() end) +hs.hotkey.bind(modifiers.hyper, "a", function() showHideBundleId(bundleID.activityMonitor) end) +hs.hotkey.bind(modifiers.hyper, "c", function() showHideBundleId(bundleID.safari) end) +hs.hotkey.bind(modifiers.hyper, "f", function() showHideBundleId(bundleID.finder) end) +hs.hotkey.bind(modifiers.hyper, "e", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-c"}):start() end) +hs.hotkey.bind(modifiers.hyper, "i", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"--eval", "(emacs-everywhere)"}):start() end) +hs.hotkey.bind(modifiers.hyper, "p", function() showHideBundleId(bundleID.timeular) end) +hs.hotkey.bind(modifiers.hyper, "b", function() showHideBundleId(bundleID.bitwarden) end) +hs.hotkey.bind(modifiers.hyper, "t", function() showHideBundleId(bundleID.iterm) end) +hs.hotkey.bind({ modifier.cmd }, "\\", function() + local application = hs.application.frontmostApplication() + + if application:bundleID() == bundleID.bitwarden then + application:hide() + else + hs.application.launchOrFocusByBundleID(bundleID.bitwarden) + end +end) ---------------------------------------------------------------------------------------------------- --- Tiling +-- Mouse Shortcuts ---------------------------------------------------------------------------------------------------- + +local function handleMouse2() + local application = hs.application.frontmostApplication() + + -- Safari: Close tab + if application:bundleID() == bundleID.safari then + hs.eventtap.keyStroke({ modifier.cmd }, "w") + + -- Safari Technology Preview: Close tab + elseif application:bundleID() == bundleID.safariTechnologyPreview then + hs.eventtap.keyStroke({ modifier.cmd }, "w") + + -- Google Chrome: Close tab + elseif application:bundleID() == bundleID.googleChrome then + hs.eventtap.keyStroke({ modifier.cmd }, "w") + + -- Firefox: Close tab + elseif application:bundleID() == bundleID.firefox then + hs.eventtap.keyStroke({ modifier.cmd }, "w") + + -- Teams: End call + elseif application:bundleID() == bundleID.teams then + hs.eventtap.keyStroke({ modifier.cmd, modifier.shift }, "h") + + -- Spotify: Toggle play + elseif application:bundleID() == bundleID.spotify then + hs.eventtap.keyStroke({}, "space") + end +end + +local function handleMouse3() + local application = hs.application.frontmostApplication() + + -- Safari: Back + if application:bundleID() == bundleID.safari then + if languageIsGerman() then + application:selectMenuItem({ "Verlauf", "Zurück" }) + else + application:selectMenuItem({ "History", "Back" }) + end + + -- Safari Technology Preview: Back + elseif application:bundleID() == bundleID.safariTechnologyPreview then + application:selectMenuItem({ "History", "Back" }) + + -- Google Chrome: Back + elseif application:bundleID() == bundleID.googleChrome then + if languageIsGerman() then + application:selectMenuItem({ "Verlauf", "Zurück" }) + else + application:selectMenuItem({ "History", "Back" }) + end + + -- Firefox: Back + elseif application:bundleID() == bundleID.firefox then + hs.eventtap.keyStroke({ modifier.cmd }, "left") + + -- Teams: Toggle mute + elseif application:bundleID() == bundleID.teams then + hs.eventtap.keyStroke({ modifier.cmd, modifier.shift }, "m") + + -- Spotify: Next + elseif application:bundleID() == bundleID.spotify then + hs.eventtap.keyStroke({ modifier.cmd }, "right") + + -- Reeder: Open in Safari + elseif application:bundleID() == bundleID.reeder then + hs.eventtap.keyStroke({}, "b") + + -- Other: Copy to clipboard + else + hs.eventtap.keyStroke({ "cmd" }, "c") + end +end + +local function handleMouse4() + local application = hs.application.frontmostApplication() + + -- Safari: Forward + if application:bundleID() == bundleID.safari then + if languageIsGerman() then + application:selectMenuItem({ "Verlauf", "Vorwärts" }) + else + application:selectMenuItem({ "History", "Forward" }) + end + + -- Safari Technology Preview: Forward + elseif application:bundleID() == bundleID.safariTechnologyPreview then + application:selectMenuItem({ "History", "Forward" }) + + -- Google Chrome: Forward + elseif application:bundleID() == bundleID.googleChrome then + if languageIsGerman() then + application:selectMenuItem({ "Verlauf", "Vorwärts" }) + else + application:selectMenuItem({ "History", "Forward" }) + end + + -- Firefox: Forward + elseif application:bundleID() == bundleID.firefox then + hs.eventtap.keyStroke({ modifier.cmd }, "right") + + -- Teams: Toggle video + elseif application:bundleID() == bundleID.teams then + hs.eventtap.keyStroke({ modifier.cmd, modifier.shift }, "o") + + -- Spotify: Previous + elseif application:bundleID() == bundleID.spotify then + hs.eventtap.keyStroke({ modifier.cmd }, "left") + + -- Reeder: Mark all as read + elseif application:bundleID() == bundleID.reeder then + hs.eventtap.keyStroke({}, "a") + + -- Other: Paste from clipboard + else + hs.eventtap.keyStroke({ modifier.cmd }, "v") + end +end + +mouseTap = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function(event) + if event:getButtonState(2) then + handleMouse2() + elseif event:getButtonState(3) then + handleMouse3() + elseif event:getButtonState(4) then + handleMouse4() + end + return true +end) +mouseTap:start() + +---------------------------------------------------------------------------------------------------- +-- Clipboard Manager +---------------------------------------------------------------------------------------------------- + +-- clipboard = require("clipboard") +-- clipboard:start() +-- +-- hs.hotkey.bind(modifiers.clipboard, "v", function() clipboard:toggleClipboard() end) +-- hs.hotkey.bind(modifiers.clipboard, hs.keycodes.map.delete, function() clipboard:clearAll() end) From 40045e7478f9b011f7617738bb3b8c44a8085ed4 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 21 Oct 2022 16:55:16 +0200 Subject: [PATCH 132/525] ay --- hosts/daedalus/hammerspoon.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 6f2fe8bf..b5a24e0f 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -426,7 +426,7 @@ mouseTap = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function( end return true end) -mouseTap:start() +-- mouseTap:start() ---------------------------------------------------------------------------------------------------- -- Clipboard Manager From 4e463149a535ea15f12df4519d1a942b2255b6e1 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 25 Oct 2022 19:00:59 +0200 Subject: [PATCH 133/525] facilethings --- hosts/daedalus/hammerspoon.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index b5a24e0f..e3e907f6 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -45,6 +45,7 @@ local bundleID = { spotify = "com.spotify.client", bitwarden = "com.bitwarden.desktop", teams = "com.microsoft.teams", + faclieThings = "com.electron.nativefier.facilethings-nativefier-cf88de", timeular = "com.timeular.zei", logseq = "com.electron.logseq" } @@ -277,7 +278,7 @@ hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.down, moveMouseToLowerRight) hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.delete, function() hs.caffeinate.lockScreen() end) hs.hotkey.bind(modifiers.hyper, "a", function() showHideBundleId(bundleID.activityMonitor) end) hs.hotkey.bind(modifiers.hyper, "c", function() showHideBundleId(bundleID.safari) end) -hs.hotkey.bind(modifiers.hyper, "f", function() showHideBundleId(bundleID.finder) end) +hs.hotkey.bind(modifiers.hyper, "f", function() showHideBundleId(bundleID.faclieThings) end) hs.hotkey.bind(modifiers.hyper, "e", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-c"}):start() end) hs.hotkey.bind(modifiers.hyper, "i", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"--eval", "(emacs-everywhere)"}):start() end) hs.hotkey.bind(modifiers.hyper, "p", function() showHideBundleId(bundleID.timeular) end) From acd17514fda832aa7569e1079663976d7e0dcde3 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 26 Oct 2022 17:14:53 +0200 Subject: [PATCH 134/525] facilethings capture prompt --- hosts/daedalus/hammerspoon.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index e3e907f6..43351128 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -438,3 +438,30 @@ end) -- -- hs.hotkey.bind(modifiers.clipboard, "v", function() clipboard:toggleClipboard() end) -- hs.hotkey.bind(modifiers.clipboard, hs.keycodes.map.delete, function() clipboard:clearAll() end) + +---------------------------------------------------------------------------------------------------- +-- Facilethings paste +---------------------------------------------------------------------------------------------------- + +local function facileCaptpure() + ok,text = hs.dialog.textPrompt("Facilethings","Capture") + if ok then + hs.osascript.applescript(string.format([[ +tell application "Mail" + + ##Create the message + set theMessage to make new outgoing message with properties {subject:"%s", content:"", visible:true} + + ##Set a recipient + tell theMessage + make new to recipient with properties {name:"inbox@facilethings.com", address:"inbox@facilethings.com"} + + ##Send the Message + send + + end tell +end tell +]], text)) + end +end +hs.hotkey.bind(modifiers.window, "f",facileCaptpure) From f3c11facc8400409b4eed96cad53269755f77e1e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 26 Oct 2022 21:01:10 +0200 Subject: [PATCH 135/525] new vm --- data/pubkeys.nix | 2 +- hosts/daedalusvm/hardware-configuration.nix | 38 +++++++++++++------- secrets/aliases.age | 33 ++++++++--------- secrets/cloudflareAcme.age | Bin 863 -> 901 bytes secrets/ds9OffsiteBackupSSH.age | Bin 1015 -> 1072 bytes secrets/gitlabDBFile.age | Bin 748 -> 739 bytes secrets/gitlabInitialRootPassword.age | 25 +++++++------ secrets/gitlabJWSFile.age | Bin 2261 -> 2287 bytes secrets/gitlabOTPFile.age | Bin 751 -> 781 bytes secrets/gitlabSecretFile.age | 26 +++++++------- secrets/hedgedocSecret.age | Bin 692 -> 644 bytes secrets/matrixSecrets.age | Bin 743 -> 729 bytes secrets/msmtprc.age | Bin 1045 -> 1075 bytes secrets/nextcloudAdminPass.age | 24 ++++++------- secrets/nextshot.age | Bin 712 -> 655 bytes secrets/paperlessAdminPW.age | 25 ++++++------- secrets/photoprismEnv.age | Bin 1465 -> 1338 bytes secrets/picardResticHealthCheckUrl.age | 25 ++++++------- secrets/picardResticPassword.age | Bin 674 -> 679 bytes secrets/picardResticSSHKey.age | Bin 1107 -> 1045 bytes secrets/pulseLaunch.age | Bin 1101 -> 1111 bytes secrets/ragonPasswd.age | 37 ++++++++++--------- secrets/rootPasswd.age | 36 +++++++++---------- secrets/tailscaleKey.age | Bin 861 -> 860 bytes secrets/wpa_supplicant.age | Bin 960 -> 921 bytes 25 files changed, 143 insertions(+), 128 deletions(-) diff --git a/data/pubkeys.nix b/data/pubkeys.nix index ccbbd21b..17376852 100644 --- a/data/pubkeys.nix +++ b/data/pubkeys.nix @@ -11,7 +11,7 @@ let hosts = { ds9 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+BBXufXAJhyUHVfhqlk8Y4zEKJbKXgJQvsdE482lpV" ]; picard = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAm3UXZaN95WBUaS9SiHLNEuI1tP1x1w07qnYxPe+vdr" ]; - daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLjCl98zeOF9lk2eELpyvUMfivjhvYU8uvc9j6zWwZy" ]; + daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMmScjeua/5JC1vKeV0jDMC9ravORscENZVvshEJ1X0u" ]; }; in { diff --git a/hosts/daedalusvm/hardware-configuration.nix b/hosts/daedalusvm/hardware-configuration.nix index 23bb9890..5df831a4 100644 --- a/hosts/daedalusvm/hardware-configuration.nix +++ b/hosts/daedalusvm/hardware-configuration.nix @@ -4,22 +4,36 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = [ "${modulesPath}/profiles/qemu-guest.nix" ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" "virtiofs" ]; + imports = + [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - networking.interfaces.enp0s1.useDHCP = true; - swapDevices = [{ device = "/dev/disk/by-label/NIXOS_SWAP"; }]; - fileSystems."/boot" = { - device = "/dev/disk/by-label/NIXOS_BOOT"; - fsType = "vfat"; - }; + boot.initrd.availableKernelModules = [ "virtio_pci" "xhci_pci" "usb_storage" "usbhid" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { + device = "/dev/disk/by-uuid/14a6e16d-ee41-4ad9-bd97-e7a96ca9fa61"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/1695-4C0D"; + fsType = "vfat"; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/c7a01b09-8ae7-43c1-b09c-550df57eb3a1"; }]; fileSystems."/tmp/rosetta" = { device = "rosetta"; fsType = "virtiofs"; }; + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s1.useDHCP = lib.mkDefault true; - fileSystems."/" = { - device = "/dev/disk/by-label/NIXOS_ROOT"; - fsType = "ext4"; - }; + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; } diff --git a/secrets/aliases.age b/secrets/aliases.age index 1f8d2eed..58c0cfdd 100644 --- a/secrets/aliases.age +++ b/secrets/aliases.age @@ -1,17 +1,18 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw VTuKkXWunXbu2WTd+E2waGeEl7g0f/oNTACPNgntGBo -CvOioqM2nxtGvVWH5XTpNm4+cxCweXScY0C5pFFyLqg --> ssh-ed25519 UU9RSA 7uNSJZ2tIRNHh7MgWlvZ6hZbax6fZWvs6ZCCfCqTvic -NwwrPDbpEbeVW98xByYbOq3B4ZY1q9Bot5cAZYk45sw --> ssh-ed25519 yqm35A ESh3UDixa7eo8WT4s4OLUl2hZ2aO+YFKOqlCp/T9cx4 -26DziZ1brodjCZrAYDCMBxWlXe+RMnKIz+hBoSKG0t8 --> ssh-ed25519 kKx7Qw s23jAaybkI40kC2DaXYdOVuYp5DR09fC+ynrs4l7RVE -K8HfhCN4Eua0U/Ib1azxikqdB9ipWzqvZ2U6vdffIgs --> ssh-ed25519 IbXxfw Ixc96Krq/ibCSOWhF5Ckx5TlcufTkYb6xngZoPJ1+Wo -mAtp5p0voszNxWadJRXZm5rvtJEti83suoBhoqDFHT8 --> ssh-ed25519 WceKOQ 5QRwNWuOae6DCekv9bBwZEwDtPTL8W9a93xWfsMcRAU -TzK0g3FVBuujYsB5kplMyWluIboEigKI9rWll3FmVGw --> p>C-grease Yy'> M#H; -o+PSejuhm+hthXQFewLLcU9ENoHKAeKnplvPIPFFtYBFR1Vy7ffnBY5GFHQ ---- QaSqQ3aLEQzEPEPJ14H4l49c+PvV1F8/r1H/d86vlhY -eQ沆pפŸRO'XD/z#HYsafxK \ No newline at end of file +-> ssh-ed25519 ugHWWw vwzTW+25avcAK+ajnnSGIap1Dngca18C6LkNu0wcCi0 +LcBCD4NO31d20/xVlXZrFYICwNI0FmqVZd6r8GMkNf4 +-> ssh-ed25519 UU9RSA X/2lWLmVGBXTE1Sj91O+qlLLJV9TyY+nvy5o8VdBFGk +RvNi3sSjvvv+M4298Jz4TsJk6+jCv7SneCm6KE8lozQ +-> ssh-ed25519 yqm35A T3RypfD9XjDMkwkDm3zmjKc6bcYBWRMDPznSmkyeNgI +dimZHbaOLMfBJE5Xr6FWYIVfErjaIhW2qrcANgI2TVc +-> ssh-ed25519 DSOydg LvLrH8OzS2UgZ6d70CxjIVXMfv+w/OIePRX7yXkDczc +XCbT5BffjhCduN1dUixa+aoC2sFV4M2KX9H0gPCuEl0 +-> ssh-ed25519 IbXxfw 7qzwI4PMDXft5ausc5EmGjEpjVAQoT8CxBH1ivMdLwk +ZbtIs4rvuR+0PBrLqvMyXAeEwqwuR6bAd+KHKAXlDlQ +-> ssh-ed25519 WceKOQ jRIMvWV5GBB2F4ao0MoRLdNeMquXKZFH+zjmJtBWkAI +reGHSTvIJqorgRaRaniQ7+c3mw+f5Vus1h6Mi5P32XA +-> 8Q!-grease Ko}yrCO tc>8^,X s^i0i +V6T7pVqCbxNcMRT7H71p9uYdc1jx5JdyI6lvDgJVsA +--- YNFbsLhY4LsdG79FaaDYrDKVSwu2W7684JcTAgy3WE8 +kXp}@j/`Ũ D -Z9]$߼'cx +"M \ No newline at end of file diff --git a/secrets/cloudflareAcme.age b/secrets/cloudflareAcme.age index 9da05dec8b776515661373eb51d54895644abfa5..24ec73cb93f3fb4f7dbe39a5454ef67adc97bd4d 100644 GIT binary patch delta 813 zcmcc5*2+FXr#>k((LLY7*Uit^#L20oqA)D7EZn3l!pJAj!_Ocw$hg!b(mCBfHKfu# zpUbr**C!}4qsX$rG%_>U)VDM%*t?|A(b&a3z%nW{%|F<@u%skE(8WKjoJ-eEp}06h zH#Nn`)YQ;YAvDx7DA-ZK#W6e5sl?pJ*)h=|G9WU)%*`aTBC|Z-JkrBb-_l<{#JRk} zwZz${+%?>Q%iPtmGSodY(A3!9uRy!hGt^x_MBA@8*Ec*gGc2saC^a)J%GlX4HzV6% z;z#lDGnlZ;?LZTf(?ipznZb`-# z1wOuk$yHHBS^B}|VFA8o9_cBiLFR!Tp^h0|!G=|qRUv^~=BbvM0e;3F7DfT(`jMr+ z-mXdhj={wt*~VVZZYkxy-f0nmg~6_-2EOH!&oYYF=Vj%Wl@vL-1UQK@$+C;OGhtvwo*EVuo&(qJDu70#~VRPH- z^(+CrKet42*c9x!))P8KgR$%GqoAD+zx+rPFrFxR`m3hBw&m4%%koUuWUH$i=ij~X w$n@*V{VIN;zx9jydRY$7UOqdB|MaT}Q;Vp8@}kFH7djr?To(FM?*0Y|03V+yD*ylh delta 774 zcmZo=zt1*7r#{cntvuArts>t%IoQd~$jmp*vobk2Br4D=#WBm$(Wl(d$tlas#Us+) zkt-RMBg9fWDzG9v)2-MuI43*6DaA!*Ftf69 zpJ1QLkj$tQCvQi?;zZL*mx`(~Hf(e%U5P-YLli z1%;{Z!69jekp*S$mEK1BNo6Lft}dk+mF^Lxxrs#~X@-tmxrM&PE>S^Fh2H`~mcOIKG{!8yp>+%(PD zB3IkTJIbg$+}P5m%qt``-6GX8JjFS%q{KZSvpB>kH!-E0Yn#8K_NMJuPlQCAmEbdC zP}&-LS3CUNg8zn^5u8F3G8^XG*TOuH5?DbDGQ^ zuAg~+*&qGyj6%!pbr>^FZ<3h9`TZMTeQ(`nk7IJz_k6p`f19^g<$QkIiM@OCbAKLE zEqSec?zl|Mmwv?+aY0Xwt^UjXUw4m#_uC`o_l1dECWnMo=bt=itZBR~)>tWY%8ZxV JdmBD70{}f^5;gz; diff --git a/secrets/ds9OffsiteBackupSSH.age b/secrets/ds9OffsiteBackupSSH.age index d8650334e36035f1c10e97eaa501ff048c3b6491..51ef40d201e6ad35f418cc1d15092521f76d111d 100644 GIT binary patch delta 1004 zcmey)zJX(cPQ7_rNn}oTK}eB%d1h6ZXQh{yVN`ISdqkqEOJ25@dz!1Gn{Qc8d8A{I z0auiMKzfpXQhrLViN0Z;p`W9XM|N3JVTgOUMPzPZwoj&Cj-iv2Nl9L@374*&LUD11 zZfc5=si~o*LTS23czC%&Q9y36k5^b=dY*rPX>z5xiJMEXd1!@8Vs?^$qM2uSVo*eJ zk)>CZM}BBISE^~DMPP_;fn~b8pLS%KaiG6pp|g>DiHC_tWr&BLZ(feGk!L|cdX%Zb z#E;_PDL$52iKS^i`576d;l}xCp)Qq)Ne1Snj#-{AMjpB5mf7Y0&Z+r9p>8Hz?vDQX zX=z3N0Y;fdr8(j5i9XIoP8KOfjz%u2eik|U6-I$>Zdt`SkzV=;}YkQ?riROFnK;_4dVR+Lg$kZtJi zY2@hXS?p&P~<0?^SOZ>06@j9^esWXk5(o zz-UV0+S3ni(qT61nm)p91r;oZMY{?v-2GYA5UqOX;yQTW_0NCc-IOnYHuv zvWSH@?4|C7pU=5#T5(yj=F-74JKikgIBDh5dzHO+&4iVwPJT#OG)XMv(}e>MG~O=U zCm_QrGH?6hY2H^mf7_o7RoCTzEk51y zWmIyc&#fgDFItbv%-HeFZuY4^i{e8TzxnRIb=rqJroU(IV5nl(xb1i1;5L?>QB&`6 zFNo6cnwGip(UO9{)8yxUS?Hlr&7oo+@Oo;oeboj(pCXS-l6(*T`c@WA{AXGG_VY#u wXSdgv`|Ib<|Dqmw>&`Qs?@!McosjAJ6wIn2^ZCf8>?-fwv(POg5ir-f-^Xxk< z#E;_PZid-`d0A1W+8Kc+F2(v51rgp=Vd-fFNlBT88QB5(zS)j}t`)v!F4>M;X^}?7 zmdUPB-sV}B=?1O==BZI;VcD4(~K0c-CDLDnj28n**B}o>O;~B;4%S|dBBOE^9^${ zg31HKldFmXGQ-V-T%6pJO^QMTGm4_TlFO1op=1$O?Ur25>%Y$fc{R ztB_UbRbCwAn-<|27FAeiQI_fHonP$bk{ukC8DZgW?&xUjV^)|~Sz3`&%=N7G@{zf& z6L$$2>jy`;Nv14$BB^w6c63Yl)?4TA%-FS2$cfYKNq@y!*QUhd^&N4Eq8&GCYM2rf zrfs+w{`ACA-|Mpuos0M4=Mnu}8t69n!LNtYk0=Qr%4>Y!%%Q6K|C#XJ2ZyIj-`JQS zap?80hWgp%Qy7z<_a%y;gZeMxq zsi@gg^yZ%5q9wm8Po$DnDd_P3H!hMnm0p+knDd`KwPAkw=YlHrDbsW`b82;Giq~KM z+5TxxT~6xfmkZfUvmdZ&3$&g8W3IG2MMOAAJA?6}mG0Nrf`@HU*N(5-e|_uHviG<1 zzHjdn=2WX&vG0GCgP;Eo=cfKit3+0cJYCGXdH=Q9VRMBZm+@YEYkj{#_d~(oOZ8%} ootW1>KFHu&S|`=~fi>ELf8rte<|dJ~fgOty*z~7K3iyNr0P=o%4*&oF diff --git a/secrets/gitlabDBFile.age b/secrets/gitlabDBFile.age index d7fce2cc5b811cbb6a79daffe1a0d6bc6ea986ba..ccc3fa67b3841bd4dbea32aabd61377013522f60 100644 GIT binary patch delta 668 zcmaFE`j~ZsPQ7KMS3sJdxnr<*WO$Z)VxD86L0M3Vv8Sb1VVFf=KzUw?pQC$WT11*t zI#*Jeu~C3ak#e3Uk+xBim#Mo+U{!@#c6o|VWl5&5bCid<374*&LUD11 zZfc5=si~o*LTS23czC%&h-ZnfX?}o(Ym%p5RIrPAshgpHwo6)ZPOe*2T1aW6TS#I` zW_YQ#zo|gdB*8Q0p-btepP8+WoeoDW%{LI$xd#Lk*UQgrP;ZrS((0E`W6MH zzTRPlnc2BXfdS6`#p&5ai5WT0RUVF|r6vA(Az5iDsos@drV%ES;~B;4Gs?ZvGhMy2 zlgx7pJ#xHKa*L88jlJ9~O!6&q!VE0T4T8hHq71@}b3DqqLbHs*GAlxTqD-}ea`QvH z0!n=YgQ614vx5A6Dp`VkT=Wdp6>XhZ~tzV+ApP3vHXj&B&UXhe;WKxk^V3?WV zpXD8vryWpU<{gr2>TXaTQ0AOkRZ^DaS}J97o{H_=BOPW5}BXOb!BVWj^1X^3@!cV z#%tAr<#K#H`wvCuJytPmnHwGQ{N*FZkNXy}K6B}|c56KOY2GF;X5IHK_DN#rrPx;V zy~&w+d(EC>&vo@QIk@y!*k*_due@rrewLqGacW+;YjK!gMVeQ5PKsZcnMGtyMsP}LXt-sdSye!xpQU-G zCs(1VTcoS6nR%YRab~{0r+Z+ePex@(MM-veMu~+-c2rJfN{V-eqi{cfLn!QcutmiuCKObVRoR4c3EzE zQf_{#K|s0%S6aAHaFKseMnynXMwnBQTT*USg-2Ohl8Z-BNr`V!nW;yTWwuLRX?~gO z#E;_PhB@Y$6;4K3ZZ57NWm#FKd6t2}QT|C$dC5sx1)lgq07T%rmr zoDEC7G7B?u!pnnwOcN{9)7;&v!rgtmiVKTDp%mq9YL}v$UX+?xoT^X|ZN%kWSXmZO zm}TG^W)@sg5S5ziYFVFQY!;a0?BQFI<``mJ6lhxIX`Y&I>6czmm0wg~nVx9mXqoC( zVp>t26X4{><>Kz?XISj*SnLyQR_1-h6S(iJ5deHW^Nauh diff --git a/secrets/gitlabInitialRootPassword.age b/secrets/gitlabInitialRootPassword.age index 23e77f38..7f8d0a84 100644 --- a/secrets/gitlabInitialRootPassword.age +++ b/secrets/gitlabInitialRootPassword.age @@ -1,14 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ HnSTeecA1G2ThGp77AN98to9C3QjwzCt7N6D54SE7UY -1PCCeKakrrBhyb+8kXUQJo7vUDn2p5qwpvg2AgQmCCs --> ssh-ed25519 ugHWWw CVjH7F0VJXctLcmN1wyVUYqLiLu7Q1S5Oy7R5M0AOwY -rLWzStYUMB/usygqSg8cLKpYS220YV14zJ2df/IEfCI --> ssh-ed25519 UU9RSA +nu4a6ENQVqDu10rP6EvNLL+zlGVzlg7UGqkLnuBZRA -+cVW+qcqhhkllhMCL2cl+zRItHRSgEJC1odKR9ue57A --> ssh-ed25519 yqm35A 4iaXVY7L97laymNOIMEuxJI+o8GPvwxU2d6xNoGXgR0 -45sqVdhf0uCQCFVFJaP8184JS/dxUcfC6UeO4CyUj/8 --> 6fZXD-grease rZAB `*7*r0P 3]1ar -3RRJnfki6s3euKfZ046fFYFONDY4u0fofuFFPBr5PoW+As4WV5bZRF7bbT+GnBFv -ZA ---- HJJ0Z3NuDYLO40+Q5oeKPq39AKMUTTeBCS32PmgxCq0 - v([z`Ϋ?RrV[-^4ňj]~bv:~ \ No newline at end of file +-> ssh-ed25519 WceKOQ jF7DKZeB4cckNkL79WClrotyN/MAOw6SNR7afS1dZAM +DdcmWJEBulQ9+48hzKZ+WL20b3QdwJSsniHGEJu0Bpw +-> ssh-ed25519 ugHWWw CfQbVlxnQQ0bdyDOJD70Ro8aXkAT3yjPrIjm/9LDBEI +d5MifL5/EfCtFTN0J4HF+2j0vypV3o8jaJYKiCImEI0 +-> ssh-ed25519 UU9RSA PMySw6CpB3u7avlvRjNPheDblvD5wWbmgYFdez45Ei8 +eDfnX+l75AZI4fdmPBvRQz7kwoeGaQLJh32vlU1NxD0 +-> ssh-ed25519 yqm35A ukwhDffou6q4dHvxgr1NHBsEJ3KEzHmft5DOvkJwgFs +i4ygxay+19uwd5kMose1wCfXiTM+G2pvDqmarJH9qpk +-> n6?iO,-grease [u--b*i~ EmiqG$? +6QoXqBZozYzHK/Tkt4LyC6fKLHdmZfybIkYJZibly4PjqnBG +--- dnFscfjyhnS7Du0hLL5EUPffafTSao478635hXM6Q9U +E;NS"C %"k ,U`yMApEg)rDYFXMLso \ No newline at end of file diff --git a/secrets/gitlabJWSFile.age b/secrets/gitlabJWSFile.age index 1adaa4c0309b307e8e49c0fcbb3513229a0e80e2..bad020c1e409979ae7cb7c07ec54e4ec1c3266e4 100644 GIT binary patch delta 2229 zcmcaA_+D^=PJL-%P*s(IXGKv&W@d4fucupNd46S9a8+b*Wudu8Qg~T%dO%8nVNg+d zF_%$(qCt7Gc|e4Is-=0Bv14+ixv`_ag+-*NN4Bx2n|X1exqqc;s6jzmGMBEMLUD11 zZfc5=si~o*LTS23czC&jd9Zt;cSTWnBlDJi9)#fgR5fvFW$$^HdV;eo+fA!YhWVa1+qq29ie;~B;4i%gP@e9a@v z3X7|}eD%w6BZ6JhTr3>TO3K2*OoM$Rax9z-a!W%iEV7EZ3Y|@-s_IeJZm-p%fA9=;9OUp_^Wmnpm95RS{U^;+T<~ z?x7#4U1U(2<7^R`W>oK=W8#+KYG9UD8e$R_;^pd^Vdj@=o^2MKo11Ku&!wxYt6=71 z;bT7SinoF3>{66Il-QW;t96khI~qMzjB%Jofu!_f<@8s7Rh zWx{8=xj$JX;`1oh$8wACs|oT}1z2RBLdn+f{ODJCR zs&z=+sJC~8RMe^BORMDjE(*u~{Oy zTWc1{?vfNL@i)$HJsBL#UJ1OKyl{x26~)~vgBynEW2Q{^ECwO^Ih z+ih-85igPKlWR*haESVS;DCeTuFqLt_NuEbv$@F6!-4kkiqIDPeY89 zTn{aJp!UW+>3|<+j?t_6m6qAt_AYI1Jsf%ae)z8POWl$R(F@Ci8$r0HEXVWTiRX`G^@XMxTefQ!eUgq5L^4g~G zm=kVIk7pUNaTa}y_;u!$=qBN(ON8sWHcM^ZTl8UWSZLa=6G1P8?q9g4$+n8^eVT_v z*{dn@YMhme)7QD{ZfNSWU!yoJ+huEna;@b84YOP2LisW-jfSQtQ_>d(JUy&=AZS}) zu(g@$S5bB>*}lr4_7)LnsJitZNVR(3+GaH z>EBxsH0`*6N{WK3x!93A^0|FArJvrHXlNfv(l_61YT(P!Z4$h7-mT@Wh266u-qSe|Ch91k*vRU*6OJ}tCza`QYld0FO>It^3r;)wQDEtQ5W**l;aEC z^-AX4pM59zYdyH;?U}jAsxr%mga2|_YQ&)mq2G%uD_mv$jzk4iE!`=(>%pXw1DiJf zv@HngpVqP}Vf#`U2Br5biu^n?`V3~vzAg&; zKZVt8i^>|i-C^==kxoMG^?vi(R`*8+*&6a35>B4*VUo+sLn#^up1gPw@`pRo@g(c? zwCLi$Gp{dVRV-fqhViAsww2l{CDPiHCY@0>YyG?Sj?dfc@@w)Po^Gs4bMd~HS)jvY z62<4YO6~@$&&eLnZlgDIRd>7O2Ih(w#Y_v1`lrD)&s)O9_4ox2)@_^2QYz|?9N8;) z`cE-eZ-v(ztHi!?4{61nN!$-)Ighh@TjeHay!fu~ZtQkGU4e6Q(zyi!#mkO$N%-Ao zPdayI&zzN0A79Ln_H6Ks(G1)Z5aQ9t)Uf~9HutF_Eyt7iQoNqYuKNBxS5cQI(qC@n ztlH=wt-sFwcb$G{2D?DKroPIgHLo)E)hFlGPATuKJ(<=2x$-h5Oi^7CITNMaAy`H@P_sQ3LVr7HHezweNzpA@S-rCvY@N)fRo?~kc?5pvO6ZH<- zAA3`seX01j;PX?<=G0|=J-Xwp5$n8%{C8AVi(Zy}Sf^;de94gj-w&1+_ty$7E-*3O z-*oEmS;HUa&)l$da+T;@+_AT_X3pH_OpD$!)i7(9$!XNHt}T^)zM|*uiMV)rt?oeym`Pq!ZF77Aot0# znu`(fTe(svE;;J6r#@tp-U9vj_dk{$o-?WG@{(|igA-LU&&>H~`|e)lxpS=7udLeB z?OSZ#lOOE&`5)i^#^Q39^Sh7A-d?q`=gQ?~7OwoJ!Zj7PQS9gcH6-PoxEA2C?`izC zx*aU%0+n@NUkp(VpLOA&?eq1=gqs?-7e4W_JN%%?dfC>q;fuAMC*I+csPB*u3RqiV z-Ssiybbe!hNE}yHd$N0P?yPI?*S6mlLZd_I+ zYQ?0aWVz~0q51+Zz1%Mgk6&2hIscgMoNHg6F)AOo{(f|3smA0#XNyW-%(~&a^U6Ms l&dqTTj?CSiByR_Q+WnP+-dWJFoEfwN1ByQ@#WUx}HA zBUh-Ck41=|XNGHTu|ZfyazL3ynuS-8X;^Mhl~uCaSkc4a`W374*&LUD11 zZfc5=si~o*LTS23czC%&g=>*hlyhpZg}+mfi%VK$iJM`#XF$G7VNt$`kzr18l(VUm zt7Te5V3}J!S6OIUO0th6w1!Vdh4LnMvu|2F}F=rP`@3W|m%s0p;af?!M09 z-d;)i+1h3WHW1*xvCi5`|Y{-)Xn0YTZ5;~B;4o%9Wgi_Oae zED{q-3xd-tDzm&xDvYyBi?U2gJ2{=W*yp3Rbc?hMOQt1|hb zS-d~0GX(uu^JEI$W!46;x9g?_?rBwi=rSvA)`YZ0CNGm#++OsMqgVF1@B1S28NvRu zKdTxF@7X80-k0^k!xd+&d~SWJZ+WZ3`0$ayfxREA)y{=|J+pC-&m+!dCi@pMOcL0T zb1`8W|Mt8I27gXSJ-WM~!uw)0caQ?cHedYz*f>pPdDqde-r*6CLZKeCk-le;&e#naN`usYu zK2OZ5``>rjrq3H!D(QTlQsc zh;g~~s4FDt@HW*GTO9)|Vz|$$V8`KE9ppZ`R)@ zH&*or6<7%_XV0wpY{xL=w~C#~t$C;C%9$N@bgyc^mHReinct4pYWn6(EEoD?F5LhB zKQ#H3bGIpl875s zwJILhXJnj7sb~D)w7vbrp@n-@4*V~fGdW)#&UOuZX9&&Nx_)*3=gedgd6Ra@@}(7TU!DJJw8bX0s-W#clHL{V)rEf-<$dq_ zWx25GRrLL9w?*HEeEOGgpncE&-bGWRqynaN`}S~Ke`sR3a;8n7K5_BwgixUuf4*0l zv73o5n^tU|{k#3_hL_ICYkw;I)Cx-!lDU+Z{c0^&&G|>6Y?s&Ct%`BpQ}cAD-Q5-1 z=h|Z)Jz6+jmhry(H7kb$CeHd7dw4G`|J7ZUyYTTMyDC4+ zr`6h7^$m+c=gwv;S+YDJAR=(``Ml1WYxf*K39{|`V7+Xy!}hi7ZQ`_FGF__gys+(d z%C%2*#z|QZhu-G4;`S3Y&V85tmL2Ok^mE~qFM+3hPt>p7 zU!Z-&#&GgAOzZ{W2?8ZE-zzfG@Ap(m+W6QONPM15eMl^G#jH z^lpz%OYF_7v)V3jmq+nF6<8tguXFahUG>iYGCX;e4$IwXI+n8H-Nj{li>z!Ky|`GP ztZvVep1ZwIe&q+*F265jIUoHzosRXK-Tq^8Xnn#B#S88^=L7|vw*Cyi=4ij{7mM-C zQk5Lb!sz{5Z2GcxeOef?HF<~7*F$r1es}K|;kG-WvrYWxaf=&TLWaH5o~iz;+3@v# zk(`iO+}&3T=621MVHSSD=H>GG)|$ze8}s^Pm!}*)=<={@^G#Ok4lmz`$iq!Rl6{jI z);?q^WD}^UUwqc!h2YMu^10ptH8XP4t{Zo@&scM3w}6*uXgkwow?*ep@2?2qXFHMl zMcF&z?6Nezs|+*dKQFqy{g?15xwKaYA}?QU-Y4O4F2KBJV)J#+SfBP?ZF^6o7kt&w zcTT_1`1jWvGiJVw87g`EmaqpeW&8gprv1v&`0rvzj+=%~;mN6AGUsJa)s?W797|%~ zEy{GdAdvPmUgevNpk*9$){7Ue=Y?paa?{{Ie_rBN6UfbIgj1M-|crLEKDOoOA-!Pe7#bBZOowr7< zyVA=8pWNIUIxSj#j&738?|LSSBj?VaJ)0ZuZM>LOuk(k@u7$g<+Q@WiZJJ&z-P+oB z{NKgOJ#R{asus@JE^2i{F-73ZW9uFAlHbLGTSK~h&r(Ft;nfKRuZD&W-o5q=6?Eg z;8p6|$VZ=Sm+!py>F6=j-8Vn4c)sE85mt{mlNK6ox-hS;_4O=y?iqJ|+rO6n7q4R# zkejf|`E%9}hiJn#Gk2ruwW&)|-?$##B%dR_ciG%q<=&F{OG4yJH|ZS}j!n6&EYH70 N?xEqjCFx(I!~i3<_9g%T diff --git a/secrets/gitlabOTPFile.age b/secrets/gitlabOTPFile.age index eb036e44d534a975bb71c1dcf1079cc06f426c52..a77fbc2eadfbf15aebb4071b212c0229a972b522 100644 GIT binary patch delta 711 zcmaFQ+RHXUr{1)p$|AMWII^@TKs(4kB-_h3F(M_$y{t4PqP#TJ+chBE#5mE{(l{{0 zg3H_4$0^g;G{o6A%fiUJpjbc8yU4se%cMNrFtng5+~3zfw?o z^Wr4KR1b>+N6Vs$s2odwPwl+Kl-$zn5+{=^H)nrKrz9hPODEsS@r>g2k!I$Zkp)r4 zg(Ys@j;U1vVfp1nX`b00ZmE_z28N!F9%E#}U z-rAnp8AV~~Sp`Ljf!^iedBtf}J{C@u9{$;&P_ogB@T=8LFG@`;PF1Mz@pmm!k1tio z56#z6P_g4G49cqXO{~v14KQ=B3d=Gr2rvmwiYzNgGqMN@F$v8{jV!AOG4~D$t_sr+ zuPU~1^Qa6piYzzLH;&ARFg0|};|fmA3y-SwF?9;ftISBvcg^+pDKaTcPKzoq%F1{2 z%uDlf@plVL&IJw v&YF4RWa6hQRY|d~LcLPv9*?I#xO{KRiehUn3kAuFUGWD_g(TUyU*`k>%xe5e delta 680 zcmeBWd(S#Sr(V0*$*VBPJI~lLD#O??$2e5qH6z8jI4mhBINd4TGa}E-q_o&AD9ziW zoU6##Jj~n8rO3(4+`z0VpwcYV%-hS{A~>tkJ-y7-#iSxTEz>BisLD0KgiF^>p}06h zH#Nn`)YQ;Yp)}niJiJ_?vZBPN!aK#h)Fa#1vCuap+|A6ptgO_>IWR!qHPIl{*v}$T z-!a0cD!kH@E3u%oJS!zCvdYEDD=o>yBsIdsz}z>&Ak8DtR6EPB#3iIy-^e`3$SKix z;z#lD&_ef+w5+NeV^9CI%*>L=C?5~Myo}R432L@r>g26)CE{IH3&(HGIR9K&JL=KD#;H>t0*xw zj?CuL)zwunG;(w-Gxql>j|vM6H?-6?466zV^$GIxFmW??x2R6{4b`{E%*=GG&<--; znsD2;yt#1tF@AkRBM$G(`?)vjPFbgY{-IcABm8$#{+2ae{4QU&)p#w{Vsnrz{V#s+ zeB#S(5B2xH`S;Iva=dQ0huM~6?>bU# ssh-ed25519 WceKOQ WxL75bzDqaL0wMzAlsd4Xr3JDxoMKkHI8w86AlUAlXQ -QgdzLOcPj1cSRkPC3pcZ/626fJ/TATxvb7i8UOcmg1Q --> ssh-ed25519 ugHWWw Kc3sgnfX3zkXgdTrKrmv+EMRvHnWo+264Tndb/B0UmE -xkmtJmZv+4KEI6i+6wyaiINbVS9naZXOSG1OwegD9F8 --> ssh-ed25519 UU9RSA HP02tGjaNmGxh+C9QlHg2TYCSwWEnB4p/vhDSQ+US3g -9qWcRSkCY+cuI9Wvyt6tJv7HVysKM55GNZ8SnRd6VSc --> ssh-ed25519 yqm35A 9ymU42zsauwVzAKndtQGx2IK2Y5RIuMHPydFxN4fmyg -2mC/0WkZ/4SuqpgIHI3kP3jDUHGoLgl+I6JA4XUKQmc --> D!7!⮒=>ה߁+J݃4!on_ ;f83Eh뾂Vh \ No newline at end of file +-> ssh-ed25519 WceKOQ NS+SVJP+SDDy93trbgEBd1JiXExKTwrICq+1PaKrwiU +CD3G+7lS3Tj8TTnq7SvJ6IUeXI3C2yBG5gur4BzszK8 +-> ssh-ed25519 ugHWWw pT2c1JZF6fW0H8XuaaPZm+dfKZZpCI4db6w787TOimY +LzT9/b3hdWBzFVOF8rfauoqn7YIsOCRBXrwcHfRm0Ao +-> ssh-ed25519 UU9RSA XrMi7VVFGlfOJA8PXVMnYB1zA68rWM3piU3PmbfeEyM +N1hnA0YuHmXSwEDAW/bf1vBi1KNqqu/9AyKiuE32iiI +-> ssh-ed25519 yqm35A mRFibCplrXdrjyM0r4TLZNXoG4HYZ/hvQQlNSTXooX8 +gHBsmbatCf8uXRpbNV5hyv7ZJipLOXIk5YcriTZ1frk +-> $:M:-grease +Jb1j7WgSsNXxCMiVCCg7Jxs9RxC+QCX/YiDIFdqcDNJ/MkwpduBTZkuJmnAXLRbI +OFRQclYQScnEGuaWzx3Vkm4vslhPGxQa +--- ZTwwjiMWAxpxtrQME6N4TvWSyLhilBfOkK9od9RRYRU +Kfyp=63B=+\%]6$ gǴ@_quIo&zgyExK2KQ+nA+%eTC zpQ}7I(=^pA+&t0Cufj5?G9}0_J*mp}06h zH#Nn`)YQ;Yp)}niJiJ`N!Ym~()gUj?IUvlfR6DUE#mz0%Eyuts*f7!Gxxz0!Fx4_3 z$J;n7Biq=OE4!>JDAd?3BtN7$(9$w6GR(rfGPkm%u)r+cC9pilwL&{M+08vi+uPfB z;z#jt_fpT$2-gx5Lv5F;C=Vka&x&wU<75|KXXlEL!iqrsvht+F0JlK@f~-)kz^vk; z2uJh6a6^x57t?}L_kx0mh;-v@6XTTh5Ywg2DMcX>e!0ay zMMjb3mL+akDNa!Z2A;`|+NPNv;hCNRnUz_7*`;pUnV}|JNv@$r?%J6~q4}XH2HH8M z!BvJ%xgJJUu0}7nKZP8O9(27bZ876I9yP)gHHFG@`;PF1K*DJoVdPFD^~RaY?A zj#Kb6%a79FGK&nzO{$N`D^Ir!@ixe`D9H>CiFC~j(y`mj{eQ( MIYfW%y|{`808VDgMF0Q* delta 621 zcmZo+-NHISr#>nuE5JD_GCRV(G}I-?xir+f*w53_%rGs(DBatrC^A=DKTzMbN;@wi zkgLSMAjzQEAiUJL%17VXGd(4;(9UpCB>&AqrAj8kW1H2p}06h zH#Nn`)YQ;Yp)}niJiJ^%-#aics5B=mFg)1J#VI4B$jvgeDlpL0AkRC(L|Z>Rzbd`R zvZAmsusq$9D>u!|FD=B=z0xc))z2j)qO7ts(Je~f-5}N5I4s0F(6_?OvAis*z$h$x z;z#jtS95Q_jEXE*-<;e~b3fO>(%j4{L+8?<%FN1eBeQ@UZBy5Rg21?essnI-0i z6@ICuCXSwIp@kkkQHch@`k`r#j;>KI?uA8VNgf_vMcF1?l|_aX5hl4t-bP6op@oK_ z28E8EA?9A*RZ02jY5C4ZdoZ|CduibP>QHlj&@e8(@if*O)O4TsHybR_f7Cq zNKjF*QK;0)P;*S+%BVLEGW2y1E^;Z(&N223wkS+S=p_AK=Y3ME6BVV1M$ty9RYZ`#=Ajdu;JcPh0yte|#4I`{Z;W H&At}^W31WM diff --git a/secrets/matrixSecrets.age b/secrets/matrixSecrets.age index ea08d948e3989e02ed9922582368b664f0a92f03..a6485a07d35451e6d0d3394d1c564ad7cb3ae976 100644 GIT binary patch delta 658 zcmaFPdXsg6PJLm4V_v9%X;x8bNLEh1ez~u!p>I)SDLANgtMh(Swy;HT2*RAMX6h5QDA09N~m#qD3`9CLUD11 zZfc5=si~o*LTS23czC&jzH3rIxMPV&puTftj*oM(zngDTa&lTuRGz+ZQk8jPp?PJ# zW1g9%Nq&U^mv30Ae|CVOZ<29%YNkt3YM5b&r+Ha;NU)hlcx9n?X;oHUj!{@yK}4Cw z#E;_P9wv!KX5}W|pITySSeR#FY!({qR+wjE?psw9S>jibuI-)| zT)>rXmK2y1m=dU38tE&)Fl~Yh;kr?Q$9qtm4>E;nyQ4#DD1%z?A%*w&j91q!7vD4e`2Nb3@blJv#$RG5d1Y+a t<{Vo0M{n5_9r57&eSxp{bGmZ8{^WhWbEc+4HLHi&)+Nk0&WOs-0RW|e<-Y&` delta 672 zcmcb~`kZxwPJLv0L5O8?nMZ!2e~CesdzndzewAZnSw)Gfn~$e+c}}2#TXJNWc6L@o zGM9&WR8>(xg{x~&dZb}`Mo6lUce=AzL6M8OzMpAIT4{NyhlROmQbu`_Czr0BLUD11 zZfc5=si~o*LTS23czC%&S&6qnK~a&3b83!@lbdl?q+3vaj&_NYS&?^fQi`XGOIndd zdaz$$Mn;G$S7xDiewLq~Z<>i$QDv1^QgL3ewwakpv1?UmPFQJLq`p&8MuBf;K!kJl z#E;_Pg&q-+21OYeeg#Gq1-_ZSN#*4(UM4Bp29D`mfljW8 zIVA!9CPB`TZu(B1`ChJ;<`&+0$(GJ8sfA&su9^7-QB@TYnZ=Ql;~B;4EepM~Ju@RL zOF|<|9UTkIvMK`HLL&0L!c8OG3)9Vt^_}xGgHv66LV^vryz~u=9gVyrb9{6B!^=G# zBTCb&{7Rynl9SCNt4vG0irmwq3Y~*;J6k1=B73yuAmX{IX>l;6Y17nn&Dk$ zkms12L}pZ0PW*mwuUVMW~afpRrfIc|b){p+TCzVQNWaMUh8UxT|GJa(-coWmT1lqhU$$ z#E;_j?#AAw=1zfLUfM>971{Yo7Kz1v0Y#DNj*gxI0WLv_QAU}@`920&hQ|3^j)ql% zVW}3SmIi75VI~$?#istQks-d7LH4m{5VMW?$>7fSbK5+^5uS`i-Fsw3; zERVDZEs8MHFSpe9&T$C5)OIUMOm+0NNO37MNis6XvB(IBoP3s1yxugmBsbM4pv*Zn+{E29 zJ11W|sItHy%q7G((#a@SJ0RcB!_>qirzkbTfGfx`$KNBsuPi+(z1TM|&9~gc$1>Q@ zJGdZAKQ-7O*R0SYH7(fDGrOb=BT~YXQ@#BI6^c9pD?)<;olV@#j0%0da-8Zjyv+?V z-Td_(^K(+1N-A;<%$-9jLh=jUlesFY3Jdd{O59RiD+0<3L-M^U-QDypa!gz;OR55s z%0og5%e=CyJTnVRz}7`*6#2R7rWd6q7N;s$g(@gsJPZr?`dXhE`hE=SCViC0jUh>FVk#q~sJOTKHQgmRRJQg6h`vl4m>F&e|O} z{VJ*Yd&#e|WqEt_pKbl4{89JfnaafnBdzaCKeE5;>3CT=(d&e5RP3X}GM_kd%6vAh N|0y+V<4LQpiU95GfC~Ts delta 977 zcmdnYF_mM2PJN|wXqB^PQkbJbXmLqkfcyc}Y}-v$sh_YG`&OwR6K88*PWdY^6Wo4o0KFRj3Fb^zONcGIC zO!W0Ia}3NaN=mQtGk2>jN%E;E@ON{}O{_Ha3rY9)a`%k%$_mXh;Hu2d&-B(V4$X1a z_6agGOmR2O@-oaUC@!;%NOtwh_471w$xMqf4bC(%nS7Q}yxz>xGt1JoB($Q;GdVxa z%QVEOpfJ+XG~dxQEhsoUKfE|R(6rR0(9hL4lq)+U+ceGFDBCSRsVXDQw8YCN)5plS z%D^Pl$JaNtBBIPaSKq?NJv_iD8Qm-4$*JD{feMDs6=uFECOJvrl`d8Ko`IG1xvAy` z<~ac-9>$RduE`OGsri*&W@gDLm9AWA>0x<}k(Dlq>DiS9`R0*6ktX>rMuy2@nFYon zMLr>pl>z=P21Z4e71aI$+TTCfWw|p!b#k@k zqtEheN5ooWo$j6v{hsUFeYM-x%=ksKjohJ zpB1t?Ryp1}bZ^Rm)|@+&^fD)2`+K50F~*eF?D&4!?Ka!^Td!O0=?iTQ{;p(us&;$0 jOX{S9`{41-S5uxw4B%5|2CR(>bCNS|M&#}p2u&g diff --git a/secrets/nextcloudAdminPass.age b/secrets/nextcloudAdminPass.age index aa749438..369dc9b6 100644 --- a/secrets/nextcloudAdminPass.age +++ b/secrets/nextcloudAdminPass.age @@ -1,13 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ zd0vuYHu+eh1D14PHB/8IHvhZzBms52BadCGsAPL6VQ -mtbiCzUtKFl7E1+SjeCplPdj32gRV6s0KgBT221YPkE --> ssh-ed25519 ugHWWw zxHzUYmityPA9Qw9HM0l/O2v6/sd+yQdshhKF9NbozQ -z3d9JNjgOurHA0jW7/znqjhIESsfFNo00XQvv+cD+GA --> ssh-ed25519 UU9RSA TrdCAk6wUDYnER6kecRUpZo08ZZqEo9fhhyN7dzZaX0 -+maixfEbiYVTyz0BxaBUSlRSkGf4gRVkDnB/o6M+mMk --> ssh-ed25519 yqm35A mKXitN2gyBrkrqYrO4enWm0RewqRZdmA5eFaHEzlN24 -6oGZp0b23efXBbjQe1lJugW+qhxJcu5JpHS2NvPEjf8 --> <~y/YPU-grease ndX-P(. dNnf,PPL -WvG M) -6vr82KRYQSo7fMMyCzQ ---- bxH2GBNvho7aT8BhQK1GLnJSNIJptf2x0x0+x2pKWCU -]O iI;Z[zt3U\v#~ 1sCA~뤫N1' \ No newline at end of file +-> ssh-ed25519 WceKOQ dnWu4l3NWzlN3TsZgbT5nn1tLPPznhKgtirZyVncRQo +NBlxp4WIGKr8WMwrjWhmwUwRUiYhmJazTiDCeGBgfps +-> ssh-ed25519 ugHWWw 8y0PPGkXTGozHrzkl5VQ4trlfkerJ5XpZEsf4lpNWzU +PtX779upYtIy7lAD+AEia8iuZ/7mys4X1KxqjIHR79Y +-> ssh-ed25519 UU9RSA HL7RDGsoGH60TlPACYttifhePGr7BIeYIHvFW2lIpVk +bO+RcBrb7VvcoX6peuU3KX2bjm+Mmw3lmWPz5t+wmrc +-> ssh-ed25519 yqm35A 52DLFqx1HlBJX9tzpt3ptzwsAotA486ONA7gZJ5gd2Q +hCSkxhAMaQDjC2Q2uTJpNlk9qaL/VChVTru8KyWQ2C0 +-> Z8gJV-grease V +Yi9hZNEQws55nB6boez0XJyoDOzUTU6zcsqpIFTM +--- uHgE4jTxXH3Hrv+9lgqigfayMqnhHRuH4SpktWiJMPE +-!12 3$'#-]`Yk66>d`KW=:"yBa6u^6 \ No newline at end of file diff --git a/secrets/nextshot.age b/secrets/nextshot.age index 7ebf792a1eb3b011a59fddf9630d9d18236154af..29295289efe1e035fd54a32c2603a65917891b4a 100644 GIT binary patch delta 603 zcmX@X+Rr*cr#{%l*Dxr}+t1m=-_JcW+}R_=CDqX{$<@g)QQO7M!Z|IiqN>uYq@dC% zl*`L4Kflz%JWxL}+dV(q(Zwk+t5jP**grGJ(J0xgsIVd|*uc{y!z8pYnM>DBp}06h zH#Nn`)YQ;YAvDx7DA-ZKIkniO+{xeE+`Qb)I8fiq$IUA#BFR71u-qWnI4dKx!ZRr| zI50HZKOifRE7ChXswmRW&B#eR!mB9MGuSCL-#g1M$i>IlBR{Rs)2K4cFuOR&F(5yC z;z#j%Gs}pAJkRiwJcFc?Lc(7Df4|&(x3uD*FpCJcf}nD)Jj=4& zGOxnqY*T|&Z&TOM5c5Pwqa5?RN*C7xqY@9ZstltlOS7!-H~Ci(Rz+_0!WF1Dyg&lCw>? zbaizV3X;o{GD7n$qP#o|jLJ>53(Jz6oPq)z-MxK1{SyoF$^#v<$|jrKg(OP2!cdKX>z-nz;PM@y`Y8Cb%~AT(y|2=i0@7<9FTl z`s9QQe=K(Q%I$o++E_ksL23OWk<7>CYJIYuRT5s!A76aGb<{j^>bC;FkH5;Ug&8W! zpHEoc-y?oePKx8gtmb)_OQc^)tlQ|V6kkwa9yqD}nE$o6F8s9-yo|?q7*032JiVCS uyt(0W{vzHP!lzcwc1)Ff9o?&*u{eL@Mbocq^KNtPWxjv*4k!P$NoY~hpu delta 660 zcmeBYJ;6Fbr#{a+N57)n&@|F3BPBm6+ut-G+bAvHE2kvL(#u;ryDY%FGTgN!Br(-F zl*=P2AR-_m&@rkq($63{BT8GlEYa7DBp}06h zH#Nn`)YQ;YAvDx7DA-XUDKoM--Pgo5EvPWUA~Q5h+s)fEydW{Tq}6vHT23+F6%rx4Go!j$w-kCO60lL!;8P|x71 z$|w(~2)Cs2q#O?u!;E6jKxe0jOn-xj(hQR#$6!;p|>+&?~%>4*O}t!Cvn?j=eKpRV^=D{p!8eFS^;qK=(2EoD`07|YLJ=w>(_ ztoDhsUc)8oqSjZ3U3XUhJmmKF@%^KPQ3vL@I2XS55|>xL!OYs^8bWB2+iJ831|X B`{@7x diff --git a/secrets/paperlessAdminPW.age b/secrets/paperlessAdminPW.age index 2851a1f3..db8749b4 100644 --- a/secrets/paperlessAdminPW.age +++ b/secrets/paperlessAdminPW.age @@ -1,13 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 IbXxfw MLIADo/GLbjIyI62obNh3reteMZDuIyhc5NSLf9luX8 -FMFldWdWC1qfcUIIiD/0adaeTzFbGdZUlUCjuiZerak --> ssh-ed25519 ugHWWw jscSvLcpnpPcsYDm/mvALRIhiNeTmbZkhvl7g1j8FHI -FdbZeOg8mvTFfIt4VZI0kGU26fI7u8W6lB9riHhKuTw --> ssh-ed25519 UU9RSA BeK4NU2vEjBOuhC7jJrNdb7MlPrNFWJFwbuADkk7xXI -4Toc4RJoqqTWm1aGzA+T6PZe9ixdxWZNPYnDs5HCDRs --> ssh-ed25519 yqm35A AHEsfoigf8CIjdONn1HZ/0ukFKI8P5BdWBZxRP+1thc -W+WB72cdPahRtEBCtGLV6f2tUH5jYJNiibaX7hBY600 --> 2'Xg-grease (]!Lm H6 Koe0` LJd -6w/JMCu1+u6O7nFULdVYaNc/fTWoAe/k4BscHCaI6+KS ---- xGSSoJmXGOG8cMdbA6Q2tmkMiX7agTMZpMbliG+/7wM -?2 c\D7|HI?%e1M}(>6xILw \ No newline at end of file +-> ssh-ed25519 IbXxfw orJYVdHo5rWgNM13FJJCVbqfkzBLzsksP+EdK2ft9Wg +QobeyKq4f4SKhBnW1MvdSEx5T0YH59JWfITNKHaRApg +-> ssh-ed25519 ugHWWw vnBLMl05Q4DhDTp9FJ92fyEmJ2Ju5EiLJp1GB/6vlFU +8JKEnRoufElFBsHdYqliKJfuhcpWQ80ovjsWDlcSDxA +-> ssh-ed25519 UU9RSA qX+hCh7/m2T39yKzNgdCihN8CdTq29esdCcqTvLg+0M +hSp7ILtP6iUNDZD5yjP0lBuRdpDGkcaGi5zHBGnR9FQ +-> ssh-ed25519 yqm35A XcSFkASOxS6n7eHRa6k4xfdXJfMSW8II8VmKdsRhDwY +/E5GTSlWVZEr2hJ+iWu8bPUi9VpJbn2uTUKpoHT75XA +-> fpO-grease l >* +UTBlg3SNceOt+whK1GODl4r9/fcBHGFG+ij1hK0ZDHDUEeaCokRm9Wv8ZfnusBzr +JNCyu+hbPZqg+AX4/5+MPr3WIm9Wkjj4BJOAdodsggcPfybHrnhLq4VK +--- I0Fe+eCyM7X+BqnQULaRfdC1FqgFV8EFaOnqGI96qXM +L&m!4+Usf2!BRvGljJ!@<( \ No newline at end of file diff --git a/secrets/photoprismEnv.age b/secrets/photoprismEnv.age index 7bab35d8442bcb279713a0e863c44f5a4abff363..640951f30868cbd4b3387ac1c0344ee918434678 100644 GIT binary patch delta 1272 zcmdnVy^CvtPQ9CpZ?bP$rGAiQM2=gkYjLS|X0~r&VWFv!zG+E%l2?**MOr{)rJse9 z0at!_ig&tcZly^^kfpYfS8zsXL19KkfQP?fYC)7qvAbzbilMKYiG^=vAeXM4LUD11 zZfc5=si~o*LTS23czC&jp;?t_MX6Ozg=MBrB_ZDVX;F?OmiX~3nc ztE-S56`oaPQW5N&>s23~pKWFuoS1HC=xk9{8RBVJkXuxyZ=i4L@1O6LpBTvHwRrD^ ztGaKVztPP7^{b8RvYzP2i@Ps9F|YoSSLN4V{61zsV}WALh2Q&|mkLC&mhS%lN>Ix7 z(3=~pZ%1s8vW`6|wD+krNA2an&EXf>GsSr0Qg^PGh<3UB_S?+Yd&N2H^IfOfc63RY zgnbH@PxgMjPyC5^^r=)CqhW+KitzyZNZ&jV& zoSnD7syy$e*7KA*Dj&ODLKeNPuwVW1_fFZotDb7Y|9Xo}KKi9g1{W3SPP_c%$IDFz zCNC4!(%{<9#`UYdh*#6&`%0M)IrU#Ya^@b?TC=Tu-n2ss)u*->)Gj|LKW#==L|dWC z(waJkf18ZF`4x9w-}&FT`E{%9yV@x)3~!xXF4AuDAx6M|{^Z4ndN;3Ex@Wxc*+=P} zSM>i*vFyovC-fose%20K-x;5l@kF$rT5V!3&2c$A(Pi=Wt>L$BeEsq^{15ZQkdWh> zCe;7De^2*FM9!vypgC`!TSbIuUeT6K66!wrvSQ=z`a_9_7A$SG2xpyS$K)v#YEfiz z-P76isdwOm=){Mg86Io!K+>Ma)F`=FjUUSs3tX z^S|)V6u;N&(lCw8b>M%#EKIscBPqkC`JSZg?TVW@ba zs=UXiGseh9GVT0p^MFf7S6^Rw=y3ZLd8<1@(;Nk+r37bRNl$+t;GK|kDz0p`N~+aY zhl3SY8kMtWr)b4SuHm&OlE!B<8nsp8E2bcwqzOg9&?>q{KBiZp5OJui__YB VoZ2^L{@Ru+w*JG%tc0RVb*EL{Kq delta 1400 zcmdnRwUc{-PQ7P{cbaxcUS^r8nSP32ky~MsceZv}fm1}PqhYv3dPP-vNpe_zPMT#< zGFPrql$Uu%ZoZ*mV3Ju_q*;WoTT)QAb40miL|LV_xlxIit5=#?MRr7FAeXM4LUD11 zZfc5=si~o*LTS23czC&jM~J>tc356=ScG|bxM^lepj%>8X@EzVONC=pq>F#3t7lO} zdZBY(hIwT%mrsGae_?n*u79Aui%~{sS&2nxiBDx>rK3w_ai*DeR8B}huv0;ae`#6r z#E;_PC4OaI;a-L=<`w0E!Jgi(k*0;du7;U@e(9-Rl}Sl%S;nRLQB@WGKE{q*re*1Q zmU-zu1!V^MF8T$@{>DDR+Gb8hjuBO6frgfqCT3;Hi6Q=$W|oeV;~B;4{jzhs^0GpG z(}PSZi_Ef;(%jO*!jf_VOj5E90}@RQv)psiEnN(g{j)>4B0`GO@(lvZ-Af()6CI7+ zi~Y>Z(-XbSoFkF~qH^6mD!l!31O0Q{oPx?hq2z7h7p9wDl$uzas-PaFP*<+$7U-g2 zs-%`qVH4@P*fh4SfOuOmgVjpQW_SJ;mZ}`=;=~o6cS*Wl$Y!165yZVn`Ic} zol+8-=ILl`>|aonoa~q6>SmA{p3bGKtE&(mQDKqpW*O#G8d_hJRUBMo<`<@4SneKd zROxM*=8+$opA_toSQ6$P5m?N{cCtEqcta!O9rj(Aeqf1x)sQsT>+Z}Ce! zs#+8Z&e!fdo!g?(sUd8*_Q4azc`LNln)g@LZLiFGa`0!=BbVy6R*QY^ho$-RYV`{1 zq#PD`ck%h>j;xw&uSxZ`>sVMLob%TD$EP2DU32xuGK25RvPKKJV+wCcsAo2=@;tqD z-i<`foGncu3yMx%{Fz(eeO)LiDpIRVQ8-|{|6G~;yoZfy}XMNzSW0zO3qobYJAmC38Pl&#>Ui`sETQd~)75jVlR-e*N#AC6f!@9((MyU#N<6 zmhQfZfgXAK9v5V)o7R3>xL}nIXIZS~>_@viH%50ZI^Hm~LH6XMoMk#Q^Pjty2|I1e zXvu#4@$sXs4`(JaYu33<{t4FX-KJ=|Vc8QWQXOZ)WvlacC6v6%<+!8q=FldNbGj^*lnZlmnsBaf`tMT>nzNo==@(JiG@b9+ z&gUQ1D)f9g8Mu;a9-rgAS<(937 zHTWdv#P3|a+|rT7%yW-fuy6FN7U4~+ZO$IP^V&(6&P8}sKah;h1MeecNk7Zw-Rv2z$qNcnwjdFu1nkK+0a4o0g|P2L#H_~fxB zQcPAO@~B$a(!M*}y1j$8MotmRI;_C{E9zLN(OK2N&5p tLeI8U+?NYK1h@uYNLuszi2&cf&a|R(?rhaBh8#H^?ow(q8E^J~0{~DbQF8zQ diff --git a/secrets/picardResticHealthCheckUrl.age b/secrets/picardResticHealthCheckUrl.age index 31b6d4f7..c433317f 100644 --- a/secrets/picardResticHealthCheckUrl.age +++ b/secrets/picardResticHealthCheckUrl.age @@ -1,13 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ 8297hwSXg08e7sWPDNiwSRJ4j33hhoPU1cl0ATWXfGI -mS5BfPNVmASPylII0CgfgHFnPFC6rOVU65GRriLS0sM --> ssh-ed25519 ugHWWw w9aFXNkoGdDcTun8Z+CYlmmuj4986GRheZayPWlyhF0 -AZ0ZZwbfNPtr/KIXpzylnyjTPvf3JCtJE4jklfAXf9g --> ssh-ed25519 UU9RSA 5b20hwkVuOOxVCQupMuOA88ks8gxJXBgQfBPG0rf1WU -MWW7C53HPHom0HxpL+/7wra95Cmc3XGirCK1O9SOazg --> ssh-ed25519 yqm35A tjY4Us6TCqQeM9qS8o4bzUCnZ72nr32x0r3CFKfWHiQ -+cwI72482VjwPs98IxU+Xh1wiHQ0qrRa9dDxL+Gk7TM --> %cb-grease "DS,BM9W -BxE ---- AJsSwh0bcsLIb+SlOlZli+OPSiookqE1PvdoVwYPdKs -e4+{#!St&VKtefE}R[1uJ'=]"9_q5v<NƂ \ No newline at end of file +-> ssh-ed25519 WceKOQ JDkcqqpLDPxZSSbhn55JWhHhvbLKSAs/h9MD4gqYQSs +DARs9juLiAvXZD4CuhlFoxQirOoQ1iFXBpMu9z0HjQ8 +-> ssh-ed25519 ugHWWw GLIWklda27YpV1tGJfESvT6crnlhvUJEKWGcPbI1UwY +usFma35dG4VaulRY3xzxeuLTvyJP2arNO8TIC6KhRcM +-> ssh-ed25519 UU9RSA 62llN8FngdGap7sCAGLlnsNYVSp2Dg0ABHI634DqkG0 +DMfevYUtFvrE7iyEq53ez0o0bSZAMoQAhEuBf2tkEeU +-> ssh-ed25519 yqm35A iY0+ykvceMFsXWqT/NSPXB4BAWXaT/8lLxShCQpbchg +PhA3w9Y0uLSKhN0pAljXLedj6J9davzZT0kpetBoBj0 +-> [i]aw-grease rHAq #, x53E=3h3 C +pJ9h/R1YGDkIfwn3d8GLOdyo7eA24BbIi4otBxa5QSkwzYJU+t6A7x6a+TF7veir +ehXsrUbZUP394Q +--- iE3IeV3xOGv1rmkvwU6UgJf/BGVgwI/aQGQ4CpCPn3k +Ό]ˑ WzI0/BUU #tReMWocfqmqnmSQFy+qqi3YIhkvk3n!cA~ zAeWh+S*B;8c~L}pK$>q!Qb=y5vr&qfmvNSvtDC7)T2@71u1Q5^T4q|PCzr0BLUD11 zZfc5=si~o*LTS23czC%&g{QG;ut`p2s=KpgKzU|Rv0HLgpr@Cwi=TI?r)97~v1xjW zm$S23X0A~=m%e|vhkIF3T27Qixp$UtnVXmI z#E;_P9{Sn=VFnQ3&W*1?D+M{spE1E@g!w;bG}qB`L`% z`X)|pxyI!l$r)i)ZV?3$re^-`X&L@L{uL1cnO=S_mKjMNZXp(v;~B;4i#=S!E6lYW zQ$4a%JtK?E%pJ>e^9#ev^1Xaaj17u{%*s=;J&HXHy+ZT3qKs0rLQQgw%PJiG-NTDR zOESXT!@MIs4RZ}#4gCDd!h_4qoGiV}jMIuip_J*JkYJUsrJG)qnpm8wps4Mw;h`R@ zkf7}s9v$fsuHb8^5K!-^WE)}1<(OOUY?L49@15i95$b7~>Z@OsUQuLf=6UBm>YiC1<(cT3nc@;*lwlN}RuxsKA7+^y;9i~-?q6!cb$7ns^wQun z1vfnmrv`43{c`HP;D%!_e0QI@S#+ct)9eo9hcm|3>x z#E;_PC1#$EW?p8-`bC~zSx(_)>0u^eMixQFrWu7EQSN@;6(0F!$%Vy5zMb)K zpS}2S=>@mD+#&BPvfXW_SlTmqRwZX#imf=1T5P|d>EKyj-$I@HdN&`YxTd`2)wbIC qwkhJFl1t{AEw?qRX%si(%Jp=$t!qsE| diff --git a/secrets/picardResticSSHKey.age b/secrets/picardResticSSHKey.age index 1e6bd13aab264c1e6473da489080aa6a85fbd593..f0cbfe6fae5d20abf5c4f66d8af26870e812cb0d 100644 GIT binary patch delta 976 zcmcc2F_mM2PQ6P?M0&cZZ@QCfMUjb%d%2Tik-0^Beq?^WUsbS&SCNT_QG`KCSZQI9 zD_3r!pRZZ6V{WQ(ZiRbfPPmIjRaI1^NxGSvbE02SdRae1G?qr(k6&h?>P+y*FTIuNPsh#6yUg7Cj66P3Ynic9}oaI^>;TY=cA7U1k?wytz z!R6-d>>3e}YMxq|>cXX~tE-^z7!jCRmgJUaU|5uz6YlL|=Hl<1RN+?OUFn{Z?vY`d zUKC+b9_CT5pUide=rQ3veSw`akr(zXEW9-H%6?%C1!`-{PH;dg$*ZX=rMhsey!`? z)}3W+nlpocXV>NyYXrG`w9S`znP_Fee_Nn&<)+vDyk!R4HB#o^{9bgT-ul*swsK?P z-%G2`+&O)BKYMASQn*@xM0Z(VTCSgD<+f$3HPipwTsfnm_sw-0yV{oPYcr4ksXv@2 zc3^4j)rH}PI-AnG*K@D=8)o}wSEf&I_HJfR$@qx7aY9mapE+ASIx=hV)OH1h8O=Wn z-n?4+%Ih7YUGYiRe-V5ZP40FQ$&THRcd9O^soi$|p6zS7O#8<<;;a9Lv|Mm2k^7>S zJVp1Eqwax9zA`W8M^8?1JH@(}-bxQq`KhB~pwBz8Vdnp!%W^FFS7%&HalZVb*T#Ql RNrq*(^mz!xoWmaHTxNAj*hgWcvgb7Db|MYg9|nyIOupIew=m4CKnL9u~;VX0w(OJ+t`W_V$lnSoF8 z#E;@(r6oRo+TNZX$t7h0`B90UDW)k#DY^Q_1s=iS$tK25sh*)F$!RI3+TosD-Y&t~ z5$>gVIsSouE{<;Hewq3ik!jifjv=Y0!R6Wd7H$zC28EvG;og(u7$xeBEdz`U5{)gK z5{t?*opK$$Bb;;63yQsb+>>3?4NNRNDk{QU1A|S>BZ|55a>Bz)41-*gLrcvpf)fjp zQE)_l?;DzLl$sfwm*x@_o^BWwsBi9SQV?ZeU}BJNs-5T*Y!q6i?QY`k zWm#@uT5b{OQWC_K9PV$CWN4Y`tzBi25}_Yu;%}&JWbRuKmYg0~W)_)~S>cpdo}XD7 zP!;4|Xc3T_=wYcHY+_iR>h9@oloiOOtE;P!o*G)@VO*kJpBYhHd%?TB_0Yq+EuSn?{z)+OzqzQJ(D-pf{>!;~IvJ|FuF2=-Z|up4d306rWp=&c z#^T6dAFnbce7@s+ransJ?H2EvfVbD$cF3RDcqOH>r~Imc_1oJK1w^#Nv zO`YC9Gv4TlNTSsNrw?KAho=1av$nfF=z$hzgTo^8L%g9EMQ>a zJp0|lo~)CcHG9hPpJ59kU!8b-#*s@b<)+8q8z1c}Ek11Rc-&X>(xYi<%~$_Q5&rv` zt0O+AtT>nVU8hG>P2~^gBCdiDQ!l(&a`Bb-$!nYI*mQ3xzWF|V+4Ng(x97;u*x$L& zX!=|C#5=BYzg&Ev>Hc7G6K`(pgU#wmt(N`^mzq_kCwjl0J;hYvho|IB2OEj*PbUJd zSC#4HKk7_R&a93scEKna$#zeiCJ!eE0?aFLUD11 zZfc5=si~o*LTIREP_UzdmxXbzN2HUbOSWNhadv)Ynp=>up}%KZV1QweW3ZdES6I1U znvYjhW|d1aS8!0Kdv;Eix20KbYI(M6rC(ukV5paAnqRP6g;AD?rF(f;Ns4p6nPFt) z#E;_j?#9JsImzXT>G?tCiTP=kPC1#uK?T8OVTJkrA(^3>Wu-~Q7FB6!<{{Z!zE$34 z&Sj~kd0qzDB@v+(fmJDG>FN4@mYJ^lrH+*;jy~ZRDOgw)cv#l@)N*B{n|QmF8rK(@_mWML1@gpttqy09eeMH+W-+|4b?DHnd&thRBnkzNp%A0oe4{o(sV&1{=q7+LAw%(%>+=3P9k zV$-{82CPhV5$g)||2Gw17d|}s^ChXO)$aA%xUW|GvAEo#)HSBcEK4PuZ#b zUgXu~9dB3K#yFj2tuZ=ia?R#h=;{}X_!D}3#Gf4dQ*!3C^|X_5`6pleH+^}1nrYCC zoApa_R(7XrYHqr!&RgNMUU<{4gOBd~d%Et`*|SVn>Kw0^Iz4)zuXmHrB1J%JOL-2P zld5|r>)-mCf4Z~!;``*X^#Vd|#s4io5$B`*zJk?j08CD+gtK0lpr%U>I>EgVd2OaJS$7V&U*5&HN7gy;e2J|%=th=Y# zc7IK%(pUF6=dGjzuB<(}^tbPGfjYkLt8AunQ$Wt9)}FZ`$uULRnkX1&z%?I)+szB%u>E?irGVZ)RHlk%m@l+|xOa{rpHQ0cn# z>aAL48#5uL&CJP<4qLmossuG>rFn5N=Kg3={1Q-^ZajU}?VR>$n|J^IzF&C8bOxW0 z5a!qR+;^HPd7fWCv?Aq7sLmoTi?!L>e>Sg5x)5ITQ$OyCbg%c;mZiu4c+Q!YANo=_ z^78RRZ05(_Ub~pnAkOum@rh Ha!VKhOasK) delta 1052 zcmcc4ah79(PJN1>rLS*lgWmQs; z1y^#SrK_p0Yl%xzm8-s?V^D5pN}0a4ez-}PnR8k}q(Nn}Ygk~Qqen(yIhU@TLUD11 zZfc5=si~o*LTIREP_UyysH4AoKvY?zUszd{L1t-|uUnYEiKC;ZkyoK#cBH?%v3H=6Sw8#o-z0p@kV1X_a9v20`T|7C9DNp~0Tc zhQ5Wyk-3I0>DeV2o?%`t#+m*_6_r`;jzxx1=>_>w*@gL8RY_o<1Oyf7rWd6q7N;r{ z8kp$UaQRvW6$Pc4=X<1@l%#k$Mmbq#*6XLFScE1;r8zqmY3rMYCK>rxn1 zms%D(r4*%?xx0DFVk#lzRrG{=>RGo~Ow6%p`-4|SyAN9LI%R*? z-Qhslhm|%JFXo*VOTV7<+rziac$uK(^3(N`&Mwet&@FQESeg_dy!57kEWdApgDA6o z7|X+R$Lib9UM$Y9>lJ1W<`undl#wa#Au6FQl$vDlYuh*8>T*fuwpm{{HwOEzewI}= zS!Z<=Yul@H$K_g=EBPyWsLOb1-8;YHWx$D9v)6x~wehg3gWJqIo#$KbN^ZN(6tdHD z<;+WK>vd*5+wHAaQ?q;T-KbeB8-icBP8Pl-W~I0&>(Hy^i&p$Uwp75}$9Dd#NuFOO z*D$$XnYp%d{)JNyE~T^be>(MW{rWctCbRoJ73esZX8HG+R_~H|xxSB%9-nvh)7JCN z6_+P)S=fE+Ty$fJ+(aJM?Tv2LACCB4-__VQC(ej}>4j>)r}Z!IpQy14Y&`Ov@2`8# zG%Y1Vou_jue$2Wc^S(BF%cc%#dWnhkTdFdt)|`N%Wr zok15A2{elHy}&6Ots@SL<* diff --git a/secrets/ragonPasswd.age b/secrets/ragonPasswd.age index 61718b5e..50c0508e 100644 --- a/secrets/ragonPasswd.age +++ b/secrets/ragonPasswd.age @@ -1,20 +1,19 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw 8egTTuhd8LpZp+uSdAoyEj0hPfkNyGQ2RzkOH1Fli10 -eXTe41nlzFwYmQEPyAxufW24i51JUSZ5i3IRoEsyPSQ --> ssh-ed25519 UU9RSA siLibhApDmrrEK7EEMl4qCJQTHcbiX6/LMC7NY30XWw -CvNGbrZN1N3QKrImGI5y3/57QQmRq+iobX6CTVEqaqk --> ssh-ed25519 yqm35A WTGh/ziFm32o5Uk0NNrrKIKoKXfcoJz//Ib3ZOzj2EE -ETnYHcqUi1j/mvAm8hWNKrQcPDo7Vlyn6NFa3uiqOfM --> ssh-ed25519 kKx7Qw TaTI2LOIDfHk5gLun8sFg3ZIQy7iT45YgKGjl0GDVTQ -PTMVQlSxrNa4NNFQXqGCgQHhAm4Rt2M9ZNKweJSvwzU --> ssh-ed25519 IbXxfw +mndey0h9m4j5zfuio7guYfKN9gMlRI4OhnjTT/xPi4 -sNpE+W1dceG0TlQcxZ0YYd2AGU4XVslvRs/iFHVavxY --> ssh-ed25519 WceKOQ QChCNB1lj/SfatH4IeSKXKL5wGEsqS1GZpiX8ccUAlY -Ed69eum+z9kIqKEjt1PNrYi1LGMTt6tNGR8WnbdD6/s --> qm!p-grease GV(B2~C D\.9ik wYo -6Wt/3VzFd1v3ZVIgE1SR6JbKpOopu8nGTjCDWJ8ILiaNfT4PJisHJCd8df+ss/Iv -XmU6DRRiiRKndFvOKB4 ---- BVnZKwgjLQHNHipLxPVC/dycASxolmrIqNAsSGe7/a4 -2TMJ@} lȻiE# / - um`@5O`:]>Ctf+A`.ܶ^DD!{~ - zزLd/ah>4)밓:Bвcpw -¹x \ No newline at end of file +-> ssh-ed25519 ugHWWw IeuYp4YMqrycmWpO4c4NuFEg/pV7CfNXPWOH6WSuPm8 +hGK13JpZE9fBTY50bF2PQMdZClMEiuCK4trGrUzqG48 +-> ssh-ed25519 UU9RSA sYOrHWsd5+BekfoFq46ZQZF7/Mxk/GUIyb/EGgeTY24 +cJ0kgIMEDzvK7+FLdHkCBurEp66rDYTxakho+dCiFMU +-> ssh-ed25519 yqm35A iRkTvScRM9LxeV1DWsYrwlYBCbn7G4OjAGVXA3z3vQo +WDUVWk9lLDsoc5930jk+MiqDk2+CAvfxqtAWeY+VPEQ +-> ssh-ed25519 DSOydg ctYFCvNEyZKqOGjYyR79T+uF6YBqmY/YhIj+mdfTwhQ +D7D0zoZ1I7UUyup85Hgv6lAGk9pJuJzxvloRPSN4qv8 +-> ssh-ed25519 IbXxfw 3nTWld3sJ1h8RkDwdsv1nMYCrqtrX/B/+fef+6s2cEw +3CIy4IX2h4jR1r3xYuxE38iSiDGeDA/834npAjWjGik +-> ssh-ed25519 WceKOQ gvAVNor93DAWSW+zSAmIv81BB2E1nGzSTw7xX7y09kw +N89CAj5S8SwcWhRqz1/hpW35pYOICMyQi83ymn0eM54 +-> vnk-grease o'&$=>sk H8q:{_: I ++uLthYUL4oRm+Gj0TYtHZ8J1m43a5gQWGAbrlZL7FDwjHxvMB+M59K2aM2/YWABt +pPusXU81wGhXyKq0BmHLLYs8ubNtqGhA7TyV0LdDUngK4ba8w6K8GTo +--- rKblyZv4zuC40f9kLi+fuVDRoiVUh3TEZDBHWFDL7zA +뺻YqLJ.A"J bMi$F-car|`hHaZ@ r"Zۉlo +K};qkWuSO?wrȚY.}e 7FfWA ChVR ssh-ed25519 ugHWWw SNo+ieIp0LAGOZdzBMY5fxHRrenRkUWS37+hWBqDNlw -PUM7+DoEhv3s4fj2Z5Ah2DEvsrsXvLYPlsfoDU48C/c --> ssh-ed25519 UU9RSA Y62C/U3jpqwTcfr69g5RHx0z9wp3wOfDbeLkhFzAlSs -Per1enetFWYsEhw3GTfaALtb1zPrkzNInuxNcAjLbEY --> ssh-ed25519 yqm35A S5CbQWbI8GUvRjqAc3JwlzvgZF9Pev8KjGGIduPYek8 -vj/LtT7XwdtjgEuBUTYE1fLM2GBl2d0SzMnTOE3lbu8 --> ssh-ed25519 kKx7Qw 41KbaQZo42n+sxgxFBJC+SE7W0QHz8fbBy8oWUwfdiE -5v/57n7GaxCTzyy1l2bUvNFGjS9675lSGYJSNNw5AwA --> ssh-ed25519 IbXxfw DfvF46Xj1Un59PFt5qeEmhUXOf0k2WTvXJEX+nIqTQI -KFJs60OzFcwZ/ZGHPVUP8DWSSgFp1H5medZ9bwlHoAI --> ssh-ed25519 WceKOQ +TXIvAyweKEHOxNzkNME03XuCKrZl0BCnlT8LeiPZEw -4hJQgYlfIOKb2OD+kfL+U4CUcOFJg3rZBg/IxmVwucA --> Je@--grease T#.) N~Cz}5 -goVhoJHkN4muKlWISQ7ni3y1n+Xle+Yyq3iJzFrqH/9YPWAbt15nWh5dj4B0yIw4 -y1m12F1vW+pOrofzheDr49miRvhkfVU ---- qaRsZehmsRYgdjvNYmSq2GEeu+oXpzoUD5o+5wEkB/E -IDN9:-{ґBSݣf20Iq ]:O|i46-!M u깟>MݾzӮ{/Nw0` \ No newline at end of file +-> ssh-ed25519 ugHWWw Rc4Bk1tueLDmamuCSlPNVAtxOPfhYoqOtCwfMQXn0Ew +3N+95+7DBIpnqUmrKxjBZ04VKJXm2NRIyC0FmHn++/g +-> ssh-ed25519 UU9RSA cZN6OF0aspXNTkOCTL/1ZuKEXdGj61tTcqCbivrCRno +2VvaufSpSCXTELbK8aUfhcAjGaNlwlJPviBv4Ifwozs +-> ssh-ed25519 yqm35A 129PNVwztlV/RpCacU5R3yT4nYa/srBuj+Puwb72IG0 +6dPhphfRdkc33e0B7LJSOf3h3MCTmM7q21RmsD+nyTs +-> ssh-ed25519 DSOydg pIGq4laBsJKEO3oik92Kc5sbdKYC3NrC+7vexqRyM2g +reUb4bTLcuhV+ckQQcfHAj6D24wDFNoUVQwvD/XlAAw +-> ssh-ed25519 IbXxfw wUvBBRAs5Cqsf6jED3aYiqFvjPI+vJjEfHOv4W4XAX4 +lXxyWFocosd5KKjKLK4JWnh7cPUAtZ1CPZFhzy41uA8 +-> ssh-ed25519 WceKOQ IJGE1l/z52kM8lT63VTQSfsLxIVqYAmicdM5f6tCGDs +A3iyEqX74WoU76HoyBGu5I9a0UlbLaj2TAEyAHSx3pI +-> ,^5ZL-grease +Av4gKV9fDqI+HEYqPrM/gohQ0HTh0i9Igna8pD7bsCTom1/Mx7R4O9AwecvvCtW8 +JXhj3O0VlHQuxUwP01kU +--- GDqOuyO/+o4UfNbXKsr3gLovJkoHlWDy6pubDWivRo8 +">Dߦ 7W! f"8 ?r=#*&cB +Kk+!~#XnUaTJL{էN̢pEaQ֛SE2Rks%0vH{`!#ueagsuc~v \ No newline at end of file diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age index 06b168d9e84a57c9fc281fbbbf0baa43fafa9777..1c1740895c5c92ca6eec99c81eb03653571bb9ae 100644 GIT binary patch delta 790 zcmcc1c86_(PQ6P|N{*LTiED0FNODe?ak{xhqMJ{0SYT#Ix|d^iNm`1LWq5&+rF&In zIaj!cfv>kkg?^-YPK0Y{vTKfsQ=+MVacQJ>NP%ZSZfb6rQIKO=VUj^eGMBEMLUD11 zZfc5=si~o*LTIREP_Uzdr)i33RY;aePO*n!dbxR&v0J%mMs}E4X|icvT9uK7kFl${ zTZCn1dTxX-mt~n*NO7t~nSMr2esX|$ZfT*TyGv=Xxm%QXM3_sdbE30put%t4iKVCO z#E;_j2JS&QPJvnF*~w;=#fHh+kuF{a27##+`o;bgCE3PF9@$AINg0tDKADbO+J(8{ zu9>-&`i_Prrl$JgramUd$>~PEK0z+Y`NdvADK6m^`ljYZMqc^oK5+^5uS`i-a1YHY z^VW8Za<=pdvT*b+EOs;VOmrzvbj?onG0Sl@H7zv{2~Lg*%=XAM;4)1!bB!<#PO;4K zEsf9*%grk?D9gO47~L!3$*JD{feQX5=^hcu6`@Xvruv2E@wH zk%ii66)vF>KB*?g8CB(GITj{GLD^hM>FK%U0a>}8Iqus2o{1UyCWYQ+X5Qg$e#xP^ zF2-gdnf~Enp`N9oRp}t>oP0cW(~D9Qi&GUsd=;!M>~*|#a_bb7jkq$3BRw61b#)c;%_59F%G10ua!Q<&`~nM-vP>+?O9O%{94##j zi=x~z%__Vs+$uaOGab43ZN0A+GMlddDS05juT1&c?-M@H*6F95XDBLqdP{( s{U4`aGC5ndFw893UVGO<=|_sI#825NvOIfzwppVm*-9nG@3PSk0G==kdjJ3c delta 791 zcmcb^c9(5}PJNDRWO07FadD|jqHC^^WlCydxtn&NmuYIUd%j~{s84WZlx0+fd69E? zIags>l5a{*h+{~ZYoJMlhm&KWx202RvZt{@day}}wyQ;^iBEWFYPzLgF_*5LLUD11 zZfc5=si~o*LTIREP_Uzdhoeb~d%9(0rb}vZQdn_#shg>zv7td!h+jdjlb>OJMQ(|U zdzHJnS&maASEgrLseV?uPk2y4N~VRjPjR8QOQe%=g->>7aA;a?UVc5&mhSvlEx*#;Jlfo_S(1(q&3g-+q&#YR5vPDzp4g>Ly=9{KwD zkxm8WRe=FM5dl7K9@rH(F6uHmMs>BgqHRhimFM!sCd*%8he-bQJ;$;R4-#^Jffc|I9|5td=07XFTb zNl_I(;o(^U-pK{-so5awysdKFb<>Md6N^(7inF2=YK#@K%L+@KtgN|8%2TvMD?*I* zi!I#)i`)Vt0)x_WgR(5OU8~c%baizVN=gg;42<)O{VJXE!h_75vyBRZ%)F~o%yT@w z!qZ$!b2CcxJ>9h}T?#C?7S{i@pH))lQRI5QA@QY$y3@(;B5!4aQx`N|l6RPWUG3;D t|HsLJM>JD8!+$y63~+bMdVjz*^Gpl#q2=WzJimOGW-NJd?rh>gLjZl*4od(4 diff --git a/secrets/wpa_supplicant.age b/secrets/wpa_supplicant.age index cf6d43cd7efb214c837fc6ca056d3a06bf5c3832..36d51293f575725301cf2ab156137eaf984dac47 100644 GIT binary patch delta 852 zcmX@WK9hZdPJNJvnSrxwdSysZXh?8)adu+1QBh(@VpeW$vR77?dr47Akc*F@c0ojT zF_*V%q(QN_Q;Jz(u6LMWl6#U%d2VJ}WWG;%c14-Dw{~7du6c%gNP3mCFPE;JLUD11 zZfc5=si~o*LTIREP_Uzdd#I<2xp7c|v3W$AzEP=5s+*6Khi9cpQn7Ebfoot%d4X|J zR#vutaITXDSCyrAh<|0SV^)=$d8wavWVuCNQGjunadL)dWN=1WSVVbYgt5PSaDavD z#E;_jiNQ&JKHhG{g?T|C;n}6yWx4rjNg-7M#Yy>@xj~+ur9R$C6OMVUcTjdMt+{?K5+^5uS`i-a4B>T zC@o8~jI4BuOp5S!DRMK)F?DwHNir=DEAcJ!%8V)wO!Lo94zYAg=E@8%FfsJ-aL#lr zPxH)li3m=L$~E_K$%qWf%Pw}Ua85CB4>9z2&-d^%nS7Q}ygpe!*vrD-smv(Tz&FoP zJ73!+H_Ft_yr9^^A|gB~&oA94D!Z`UBe%#oohu+GBEZSODAU+KFSRl-&%ZDv)X3DM zBr4xE&&f0-GbgFs*WJV2Aju*;8{I46$*JD{feOZju5N}#Mo}4#9^SrX5rN_L5g{hN z-g$W?Iga6>k-3rHRY4Ku5y|c$2KijRB~^j?=3xb91{UtlW@*8Z#f7Pc;rf-H0a+=I z<^Cb2siE$nsbxWd*(MMd6N^(7Ol_T=O+yq-xlD_bi@i;}T&l{s zbaizV+?`Xr6V1JHvJ=xQ3hVWYBi;0~!##4NO57}qja-U7qSDQh+|x>(!rjXAxxyb_ zS9-Zx_0yEqn|;~Uh3j_Y@H`G?nCGddc8T%KhI=B4-skj>hHyKqU+5HJX8+Oc({F*q zR$s-m#_Lo1KkX^9I;&^eJAHBPmC!b(te(g@yJkv9TIz>S<#-X{G1J)8bdg1)cV7yJ zyh=^x_eR5#Zb9Zpht8}l*)Xru<737rZQkgp+afzZC2uL0*}V9{;~PQ81fnX6Z&pIdIRnPp~_QL$N|lWDF~NkmR*ae0uJp^sN`h*L_sTe(4C zHdnZ1KyHeOpPPqguA4dT3Qtc7b71 zy1S=ycyVPUmx+&CW~fuRiC?g`XQ{tMn5Sn(MvhN*KyJEml!>2DsBxHAT7iXMP+?K_ z#E;_jMFGxUX?{M2K0e;w!A>bYrr{A@l{u+iVZ{-i&f(@!o(2`+xn3dR1%aMig`P=O z0aaP486intKE|fTrP(>jUY6Qu`CYo^)7Nr&2=*~s7f}=^35sAN(=Ee3l8&1)Gi4O^zaTg;mY-?DAM=y&-Y2p z@GdO$cFWAD%=fg+Fv>0S^6|(wO|%Ry@bb!Wc1;Q`o_v;3ygskU(8n-5TRY!9BCxn9 z%OWx>F~`&((xfEIGovE7G$ggu(lezj#Z2GPlgqd~%*C;yBD2(~Ak;M6z{e}dtHdWw z-`L+jG|a#}$UCddwWPwc)GXK37u_r2$*JD{feP6{E(HOO24xwQ`DwmMZXWsdW`?N& z0a2#8etwn}LE0Iqfx(d>`Vl2TL7`k>Ica$j`nlT9`2jfw*{&slrDaLJnFdZ3{zcxA z*@2EZiCJdh6+wYf-ku=qENk=C4SXUib<>Md6N^(7f{cC3f)&CQ>`c8KRXqK26ymuY zBV8=gwLSF>%M(346FthDL+i~m3e)^Uye&PnqjD2HJS|?_itERB>mAwWu^=YhRzyDG From 5da0b320990154e2c4366958bcee22acd4f91c9c Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 26 Oct 2022 21:10:27 +0200 Subject: [PATCH 136/525] some vm changes --- darwin-common.nix | 4 ++-- hosts/daedalusvm/default.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index 75c3c36b..194bdf0f 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -22,9 +22,9 @@ supportedFeatures = [ "kvm" "big-parallel" ]; sshUser = "ragon"; maxJobs = 8; - hostName = "192.168.64.7"; + hostName = "192.168.64.9"; sshKey = "/Users/ragon/.ssh/id_ed25519"; - publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJMMm94ZEtha01Ka05iTExZK2xnNFkzd25jWnJwVE1sVHRBUWdsazVkVVEgcm9vdEBkYWVkYWx1c3ZtCg=="; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU1tU2NqZXVhLzVKQzF2S2VWMGpETUM5cmF2T1JzY0VOWlZ2c2hFSjFYMHUK"; }]; nix.extraOptions = '' builders-use-substitutes = true diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index a60f23c3..e0306a7b 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -21,7 +21,7 @@ in services.openssh.forwardX11 = true; services.rpcbind.enable = true; boot.supportedFilesystems = [ "nfs" "nfs4" ]; - environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager pkgs.firefox ]; + environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager pkgs.firefox pkgs.kitty ]; nix.settings.extra-platforms = [ "x86_64-linux" ]; nix.settings.extra-sandbox-paths = [ "/tmp/rosetta" "/run/binfmt" ]; @@ -36,8 +36,8 @@ in services.qemuGuest.enable = true; - services.xserver.desktopManager.gnome.enable = true; - services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.xfce.enable = true; + services.xserver.desktopManager.xfce.enableScreensaver = false; services.xserver.enable = true; services.spice-vdagentd.enable = true; programs.gnome-terminal.enable = true; From 8f190e8957c731bb44b0af3eb24495e4d2915b4e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 28 Oct 2022 23:03:55 +0200 Subject: [PATCH 137/525] update --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 01b7dcd6..4e732115 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1664140963, - "narHash": "sha256-pFxDtOLduRFlol0Y4ShE+soRQX4kbhaCNBtDOvx7ykw=", + "lastModified": 1665870395, + "narHash": "sha256-Tsbqb27LDNxOoPLh0gw2hIb6L/6Ow/6lIBvqcHzEKBI=", "owner": "ryantm", "repo": "agenix", - "rev": "6acb1fe5f8597d5ce63fc82bc7fcac7774b1cdf0", + "rev": "a630400067c6d03c9b3e0455347dc8559db14288", "type": "github" }, "original": { @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1665392861, - "narHash": "sha256-bCd8fYJMAb0LzabsiXl4nxECDoz483bJOCa2hjox7N0=", + "lastModified": 1666776005, + "narHash": "sha256-HwSMF19PpczfqNHKcFsA6cF4PVbG00uUSdbq6q3jB5o=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ef56fd8979b5f4e800c4716f62076e00600b1172", + "rev": "f6648ca0698d1611d7eadfa72b122252b833f86c", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1665550628, - "narHash": "sha256-KCkoHJa1/aQ8brnWkZAPiIR22cnr0fM1Thlz0GbWF/U=", + "lastModified": 1666989765, + "narHash": "sha256-bPwGXizMQnXxEsKt1n0lGGB8kiaXhmehu1pSy0VwCow=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "b1fcd0a5edc39918762441fa7ccf3be24d663336", + "rev": "87fd982e510d78c7ed61df5a0e339fe57f858f87", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1665520899, - "narHash": "sha256-N8BYMgvrAYhiXeyrcEeLgngZZaU6MVVocSa+tIfyMyg=", + "lastModified": 1666903647, + "narHash": "sha256-sFI1Gh9DTGzHnBINondupUGYbe+T0wZcpcZjkW0qffM=", "owner": "nix-community", "repo": "home-manager", - "rev": "5597b3a7425a9e3f41128308cb1105d3e780f633", + "rev": "213a06295dff96668a1d673b9fd1c03ce1de6745", "type": "github" }, "original": { @@ -133,11 +133,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1665363107, - "narHash": "sha256-Am7j/83uBAZudIhHuoNNO2Hyr7LegWxyL6JJBhjrm4g=", + "lastModified": 1666741416, + "narHash": "sha256-+df1MqdPzT8GaHWdW7ce4Hxh1TdNOZDQwBq1rZLxowc=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "0bf9b6da8c4d0ee31c3e988c99893de4da7df74a", + "rev": "7f816a87a5c14d6bfe6400db9c7f45755ab7822a", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1665321371, - "narHash": "sha256-0SO6MTW0bX6lxZmz1AZW/Xmk+hnTd7/hp1vF7Tp7jg0=", + "lastModified": 1666873549, + "narHash": "sha256-a6Eu1Qv/EndjepSMja5SvcG+4vM5Rl2gzJD7xscRHss=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "236ba4df714131059945d7754c0aa3fbe9d2f74c", + "rev": "419dcc0ec767803182ed01a326f134230578bf60", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1665349835, - "narHash": "sha256-UK4urM3iN80UXQ7EaOappDzcisYIuEURFRoGQ/yPkug=", + "lastModified": 1666869603, + "narHash": "sha256-3V53or4Vpu4+LrGfGSh3T2V8+qf5RP6nRuex9GywkwE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "34c5293a71ffdb2fe054eb5288adc1882c1eb0b1", + "rev": "2001e2b31c565bcdf7bc13062b8d7cfccaca05b8", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1665559082, - "narHash": "sha256-Hqpp6r+WDucjuAW0zx2ko0PRQH60ju+bhI8+BO0NNv8=", + "lastModified": 1666988888, + "narHash": "sha256-Y8KEhamUsCIGdHaGUn8WvgO2SSRRcTswaAxrV9LO3hs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "317439f7fc0f278f645fbf9c0a93fcdf740b1b0b", + "rev": "39b10ad86715c0afac8cccfaf58f6b6aacbfb0b6", "type": "github" }, "original": { @@ -288,11 +288,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1663380950, - "narHash": "sha256-OKLyIXIXhUnRB3Xw+7zI3u6XkwF7Mrbfz1XaasV6i7Q=", + "lastModified": 1666639010, + "narHash": "sha256-SKe5jEBHjjinb5R/fnJElwammKfof6zICc30E/we43Q=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "6925256babec4307479a4080b44f2be38056f210", + "rev": "7339d80b7bf415ea42d790e073fbd69d21d09db4", "type": "github" }, "original": { @@ -393,11 +393,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1664892950, - "narHash": "sha256-gI2sakd44nC4OeTfqwvUBRUNdm2DVyoWhsmGLlNfeoU=", + "lastModified": 1666167814, + "narHash": "sha256-HxM4hbbvakjqKAPYxDVqHGswZIvg9OvJTWtYOyo+Jso=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "879f4b6515d3e7808e8d97d65c679ed8d044f57a", + "rev": "655576f336f4c956b59a5f4424c5ffd361964b35", "type": "github" }, "original": { From 76832972e660c3e90f253685ddac586fb4275663 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 29 Oct 2022 23:01:23 +0200 Subject: [PATCH 138/525] update --- flake.lock | 24 ++++++++++++------------ hosts/daedalus/default.nix | 7 ------- hosts/daedalus/hammerspoon.lua | 4 ++-- nixos-modules/services/nginx.nix | 1 + 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 4e732115..90a8ab37 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1666989765, - "narHash": "sha256-bPwGXizMQnXxEsKt1n0lGGB8kiaXhmehu1pSy0VwCow=", + "lastModified": 1667073293, + "narHash": "sha256-dXB0vo7MfwxttoOz0X7w4oLoABs+3HQc0xcC3IAPJYs=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "87fd982e510d78c7ed61df5a0e339fe57f858f87", + "rev": "d078c99b943d96fdffe831dfb9ea1cbfca57a357", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1666903647, - "narHash": "sha256-sFI1Gh9DTGzHnBINondupUGYbe+T0wZcpcZjkW0qffM=", + "lastModified": 1666990295, + "narHash": "sha256-JPMTX8W36IPV1jmKV1qEhNBI4MbIPYsnccWyTUlSiG0=", "owner": "nix-community", "repo": "home-manager", - "rev": "213a06295dff96668a1d673b9fd1c03ce1de6745", + "rev": "423211401c245934db5052e3867cac704f658544", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1666869603, - "narHash": "sha256-3V53or4Vpu4+LrGfGSh3T2V8+qf5RP6nRuex9GywkwE=", + "lastModified": 1666959691, + "narHash": "sha256-TRpWA3t8ata79HOGtFd5dDCl1kJQmIE16PDF53/Hcxo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2001e2b31c565bcdf7bc13062b8d7cfccaca05b8", + "rev": "448a599c49978c2794401bfc3a2e1fba1a8663be", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1666988888, - "narHash": "sha256-Y8KEhamUsCIGdHaGUn8WvgO2SSRRcTswaAxrV9LO3hs=", + "lastModified": 1667076996, + "narHash": "sha256-qU0Wwey2+Bp9fxjcetPzIXGNKJWHaNHrZOTPSrMSUzg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "39b10ad86715c0afac8cccfaf58f6b6aacbfb0b6", + "rev": "3fc1cf0d0f29211ddc0c3c46437c753cb68d16c5", "type": "github" }, "original": { diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 5aebd70e..3e2aec81 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -48,13 +48,6 @@ in #}; }; - launchd.user.agents.emacsdaemon = { - script = "${myEmacs}/Applications/Emacs.app/Contents/MacOS/Emacs --daemon"; - serviceConfig.RunAtLoad = true; - serviceConfig.UserName = "ragon"; - serviceConfig.KeepAlive = true; - serviceConfig.WorkingDirectory = "/Users/ragon"; - }; programs.gnupg.agent.enable = true; home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 43351128..20321226 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -279,8 +279,8 @@ hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.delete, function() hs.caffeinate hs.hotkey.bind(modifiers.hyper, "a", function() showHideBundleId(bundleID.activityMonitor) end) hs.hotkey.bind(modifiers.hyper, "c", function() showHideBundleId(bundleID.safari) end) hs.hotkey.bind(modifiers.hyper, "f", function() showHideBundleId(bundleID.faclieThings) end) -hs.hotkey.bind(modifiers.hyper, "e", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-c"}):start() end) -hs.hotkey.bind(modifiers.hyper, "i", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"--eval", "(emacs-everywhere)"}):start() end) +hs.hotkey.bind(modifiers.hyper, "e", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-c", "-a", ""}):start() end) +hs.hotkey.bind(modifiers.hyper, "i", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-a", "", "--eval", "(emacs-everywhere)"}):start() end) hs.hotkey.bind(modifiers.hyper, "p", function() showHideBundleId(bundleID.timeular) end) hs.hotkey.bind(modifiers.hyper, "b", function() showHideBundleId(bundleID.bitwarden) end) hs.hotkey.bind(modifiers.hyper, "t", function() showHideBundleId(bundleID.iterm) end) diff --git a/nixos-modules/services/nginx.nix b/nixos-modules/services/nginx.nix index 0cf37784..325100c8 100644 --- a/nixos-modules/services/nginx.nix +++ b/nixos-modules/services/nginx.nix @@ -13,6 +13,7 @@ in networking.firewall.allowedTCPPorts = [ 80 443 ]; services.nginx = { enable = true; + package = (pkgs.nginxStable.override { openssl = pkgs.openssl_1_1; }); recommendedProxySettings = true; recommendedTlsSettings = true; recommendedGzipSettings = true; From 9fa0311a3057b9e02d6b80ce7e7dfad5ddfafe1d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 30 Oct 2022 17:24:22 +0100 Subject: [PATCH 139/525] smart email notifications --- hosts/ds9/default.nix | 3 ++- secrets/msmtprc.age | Bin 1075 -> 1151 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 1605d8e4..129ff45a 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -204,6 +204,7 @@ in services.smartd = { enable = true; + #notifications.test = true; }; nixpkgs.overlays = [ (self: super: { @@ -217,7 +218,7 @@ in ZED_EMAIL_OPTS = "@ADDRESS@"; ZED_NOTIFY_INTERVAL_SECS = 3600; - ZED_NOTIFY_VERBOSE = true; + #ZED_NOTIFY_VERBOSE = true; ZED_USE_ENCLOSURE_LEDS = true; ZED_SCRUB_AFTER_RESILVER = true; diff --git a/secrets/msmtprc.age b/secrets/msmtprc.age index aa41f2597d553a104a5c76fa449e7f2bce88d195..8297dc8529fe4ee125ddc4fd51b98c3028238282 100644 GIT binary patch delta 1064 zcmdnY@tFTX}dfSAI%Bk&Cu*uxV&yPI$V3r)hd%Mu=%nhJKKCPN{jGzh$aNa~;Bu3o#E^(Wi~4XsOSdfd%#uW7 z=WLfsr}Dyd=MwXZ@FYV6u3}&3;);mEsw(qzw+Mg3Ag}DwyyB3w{3xH)s9>M`0t?Sn zzZ_#veedjYkadQJQN;HdCRwTe1(p7lmS+Agt`)8xuIkEHk~sS0 z+0DogKNPOryEQ8eq;X+gChHC7pPV=Ut+D>=aPq?e-x|@0E9^TiY6@=j(%m8!{VCUiU-{$n7gsVC z{@oOC=p3i4cZ;>7Px;=D>#c(RWr%L&=x5lG_BUcfSkJp1%ms`OXZt2;C>;5_Ou)vA fBkwo6cA;s@ikU9ysS0&JugtG-+q57&>|-L}pZ0PW*mwuUVMW~afpRrfIc|b){p+TCzVQNWaMUh8UxT|GJa(-coWmT1lqhU$$ z#E;_P?#AAw=1zfLUfM>971{Yo7Kz1v0Y#DNj*gxI0WLv_QAU}@`920&hQ|3^j)ql% zVW}3SmIi75VI~$?#istQks-d7LH4m{5VMW?$>7fRb;~B-n46BSI%Ofp9 ziz3YQ%PsZ2v%*pfGE+0Xg8ZGrl3nym6Wx=GOL(JY7P4 zD$M=E4Lu#T-HH-Z9epiQT*^$6j0|!tG6E)_VU(yhO)beyH3}$mP7OD4H_gt;*AA*I zFbH!A@r`sc%GD0Y_wz6{G07=PjWFN}a?J7f2=FUQk4i80%}etw_wca{_VW%d$kI;@ zHpn$Av`9@0cJ$0HDZ_|>@Z?l)|3HNzkHCu1pg?C6H#4I`U#}de`V4P#gG@JneaHNq z6sMAkTmy6GkcyD}Lic2@imJlGe5Vq(RM(1t^1_gOuS$0}eTy6uSId&Bz@+k!kis&r z>?+U9!V<7`5gJ8)Zo273sfop@3Ra;CN?f6qS^8C(B~d}1$>F7L#yOe6Nm)5zS;_j9 z0pTfbVY#7|mi4)jMo!5Vj$FFBx(X>dMTr*vmWd@6`6js$!P-?m*zE_r$3PT8&| zp(e@t=7#BsCf?<)`CL&8wsG}e-reXE$eIyy+O1ypvt0b^S>d$|! zxK+@d`AJmxroz64B!d|ro6iY5Trz8(QkXx-W#if9it86B)@&DDWOe!bh4#G@n5*9= z?OWt>x%cSWrQNnkXSYsgj>}RoJg(Z*V0+BMKf2`O^q2#4`n3!mS)Bec;qcl=Unef( zKXfJPnP<}F@B7MsUS@gFXdS%&{E}0O4{F*=z4&i#x}>1GHNE87PPVgl$4$RVs{UT` zt87``9{p!q|0sXdy?CZ_@xe&z`_hl>?|M33R!;OfVH*|u=&;Nuj+`=|P3wP3&Dwa< H>Z>9EXN7vj From 94647074cf5550546711fd7eb7919bf2884f9237 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 31 Oct 2022 05:34:56 +0100 Subject: [PATCH 140/525] add mailmover --- flake.lock | 57 ++++++++++++++++++++++++++------------ flake.nix | 4 +++ hosts/picard/default.nix | 5 ++++ secrets/mailmoverConf.age | Bin 0 -> 1043 bytes secrets/secrets.nix | 1 + 5 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 secrets/mailmoverConf.age diff --git a/flake.lock b/flake.lock index 90a8ab37..89fffbed 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1667073293, - "narHash": "sha256-dXB0vo7MfwxttoOz0X7w4oLoABs+3HQc0xcC3IAPJYs=", + "lastModified": 1667160042, + "narHash": "sha256-Gck+WbnlVe8JZf90NTqCXc5NGPIuIu2AyJUaXghpQxw=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "d078c99b943d96fdffe831dfb9ea1cbfca57a357", + "rev": "d53959356bf17656f82d90ab5d7346fb3107896f", "type": "github" }, "original": { @@ -81,11 +81,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667077288, + "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", "type": "github" }, "original": { @@ -133,11 +133,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1666741416, - "narHash": "sha256-+df1MqdPzT8GaHWdW7ce4Hxh1TdNOZDQwBq1rZLxowc=", + "lastModified": 1667160126, + "narHash": "sha256-YRgxMHdvMuLsuXCaKs5YNMD6NKgvcATSjfi9YkUOOLk=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "7f816a87a5c14d6bfe6400db9c7f45755ab7822a", + "rev": "da56c338a2b00c868697b75bdbd388f60d50c820", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1666959691, - "narHash": "sha256-TRpWA3t8ata79HOGtFd5dDCl1kJQmIE16PDF53/Hcxo=", + "lastModified": 1667050928, + "narHash": "sha256-xOn0ZgjImIyeecEsrjxuvlW7IW5genTwvvnDQRFncB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "448a599c49978c2794401bfc3a2e1fba1a8663be", + "rev": "fdebb81f45a1ba2c4afca5fd9f526e1653ad0949", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1667076996, - "narHash": "sha256-qU0Wwey2+Bp9fxjcetPzIXGNKJWHaNHrZOTPSrMSUzg=", + "lastModified": 1667190866, + "narHash": "sha256-7mi4ogGiHwYGAej9dzCeIAbmNkRB+RYbkwu3pKymLCw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3fc1cf0d0f29211ddc0c3c46437c753cb68d16c5", + "rev": "5f6c2aa9a4481e757b02f5b22f51e722cadf5a19", "type": "github" }, "original": { @@ -319,6 +319,7 @@ "pandoc-latex-template": "pandoc-latex-template", "rnix-lsp": "rnix-lsp", "utils": "utils_3", + "x": "x", "xynoblog": "xynoblog", "zsh-completions": "zsh-completions", "zsh-syntax-highlighting": "zsh-syntax-highlighting", @@ -357,11 +358,11 @@ }, "utils_3": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667077288, + "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", "type": "github" }, "original": { @@ -370,6 +371,26 @@ "type": "github" } }, + "x": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1667192578, + "narHash": "sha256-wuF42zbB0ICp0J16lesb8pBRW6xDOKfUgDAVk7gwNsY=", + "owner": "thexyno", + "repo": "x", + "rev": "c0dc6b924225a5e4ccfa76e15a2a7fe613badbb7", + "type": "github" + }, + "original": { + "owner": "thexyno", + "repo": "x", + "type": "github" + } + }, "xynoblog": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index 149d4c8b..84ebdf81 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,8 @@ #impermanence.inputs.nixpkgs.follows = "nixpkgs"; xynoblog.url = "github:thexyno/blog"; xynoblog.inputs.nixpkgs.follows = "nixpkgs"; + x.url = "github:thexyno/x"; + x.inputs.nixpkgs.follows = "nixpkgs"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; @@ -64,6 +66,7 @@ , utils , emacs-overlay , xynoblog + , x , ... }: let @@ -105,6 +108,7 @@ impermanence.nixosModules.impermanence home-manager.nixosModules.home-manager xynoblog.nixosModule + x.nixosModule ({ config, ... }: lib.mkMerge [{ _module.args = { inherit inputs; }; nixpkgs.pkgs = pkgs; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index ff470453..51c4d9cf 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -115,6 +115,11 @@ ]; services.xynoblog.enable = true; programs.mosh.enable = true; + ragon.agenix.secrets."mailmoverConf" = { }; + services.mailmover = { + enable = true; + configFile = config.age.secrets.mailmoverConf.path; + }; ragon = { cli.enable = true; user.enable = true; diff --git a/secrets/mailmoverConf.age b/secrets/mailmoverConf.age new file mode 100644 index 0000000000000000000000000000000000000000..f6fda9426f5d97566678086e8b3b3cdf13073851 GIT binary patch literal 1043 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+Pfqpr4^;5-52+~A zH%oM_%rti^3J49$_e%5$a0yRy$~V!^_HnLqPxJE+@wUjTOy+X;G;_+$aW8gC5A$|1 zun0&Cw)Bb&PRw`r%PBOEtS|@(Pxp&Vi!AmrG(fklG~FXSyj&qAB+oc7C@`WbAT1)u z(knt+KgFXsINjC5G1xK9z|y74Kcvdv(BC&QB%dqOJITDHG)TKV(yt=P(#XWCtT@** zv?Qw{Dj>TgyU4}GtlTX*sW8jJKO5b)&``^uU`K`2jKt!coFe1w+`?dkfRfO%vb-XH z^F$Xn{VMZR=X~d6$I#sTH0LZ!4+Ad!(8vrw7x&PTGG}k+War$fs53e61kGsE1SBl9b>Bh5n-eNzLq z3o3mKor?8M-LhN*LPEK`ll%V(M>N(O)O63N;gQ(_s{h*H+C`(35!e*4a*B~@pjL5OAM$m4{;B1 zcg--!F?RH=j3_e-(RK^2Omoi8$g}Wtt#D1s%=Zm4faCLR| z3oNrV%gZ#ZO7n@z^b7R#@D8j<_b*B>3(qr5_Hv0x(+?@lGjVj~+AVWft2{HqGx)sM z?Ry7Xi=Iz7zg&Hdve4ccY}=2l{br}ka)LeLk8Sfti^jBzo!i$o2s$mPUo3rO<8(%= zxD938pNj;|z65g5Z-s}hFl%y^4-&a$iw(P`r9`WrmJ5DWl zn0vi)?qv?G1+OoC-s4z3Whv`Fjo2^3KZBn?JhtwLPp#d>h^=>tBFVb)^q$5);ha)FVD14Va~?((j6{k|J(Kd*_;iI;vDAR6~G&e`;ey`msXnDeYo#`*ixo}S(Faetph_~8wE zSQzvsb~xP)`{Poe|5QC=kxPGW*(}Y)Z!S!Dw|wgfSwABmWqwbVtB-ypiT>=rqS&{4 zR+reGtL6`!-%pt0TvL&;_qOA#W6Qoh6x;A!^vDCd%!U`Ot9FGOI!p21d>>=;LfSKC z)6d<%=ha9o4-({E+q_`^vI)Ff%Y|yilveVVtTsB^U(w*+@9}q`#i!5Zb^FyX734iO qWnkFqEunMmqRaNr>%7(*MZe7gx-WihJ9$B7Udzjb{J=f1Wx3 literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 66c1df64..9fa6db24 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -15,6 +15,7 @@ in "photoprismEnv.age".publicKeys = pubkeys.ragon.host "ds9"; "ds9OffsiteBackupSSH.age".publicKeys = pubkeys.ragon.host "ds9"; "hedgedocSecret.age".publicKeys = pubkeys.ragon.host "picard"; + "mailmoverConf.age".publicKeys = pubkeys.ragon.host "picard"; "matrixSecrets.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabInitialRootPassword.age".publicKeys = pubkeys.ragon.host "picard"; "gitlabSecretFile.age".publicKeys = pubkeys.ragon.host "picard"; From 953704cd658082aa03ed103c96c87011f89bf6fa Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 1 Nov 2022 02:50:20 +0100 Subject: [PATCH 141/525] update --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 89fffbed..1001d03f 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1667160042, - "narHash": "sha256-Gck+WbnlVe8JZf90NTqCXc5NGPIuIu2AyJUaXghpQxw=", + "lastModified": 1667246607, + "narHash": "sha256-/uuXu7yu5EgpNOg2i3pqM6du7jjIHkpGiV4djmb0QVk=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "d53959356bf17656f82d90ab5d7346fb3107896f", + "rev": "eb10ed32ed3808545382c9509ef6ee46f3716804", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1666990295, - "narHash": "sha256-JPMTX8W36IPV1jmKV1qEhNBI4MbIPYsnccWyTUlSiG0=", + "lastModified": 1667234164, + "narHash": "sha256-oPMAvHZBDgamjmIQly5+sw2LtfKwY7qcWZZwKiwKQy8=", "owner": "nix-community", "repo": "home-manager", - "rev": "423211401c245934db5052e3867cac704f658544", + "rev": "722e8d65d3aba6f527100cc2d1539e4ca04d066f", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1666873549, - "narHash": "sha256-a6Eu1Qv/EndjepSMja5SvcG+4vM5Rl2gzJD7xscRHss=", + "lastModified": 1667221253, + "narHash": "sha256-PGGT7D/qmi1E8D1Z32SLrzq7PJO5CajD64GfCCdslk0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "419dcc0ec767803182ed01a326f134230578bf60", + "rev": "d5bacd34f54328f31bef9237098fdeaad83074be", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1667050928, - "narHash": "sha256-xOn0ZgjImIyeecEsrjxuvlW7IW5genTwvvnDQRFncB8=", + "lastModified": 1667142599, + "narHash": "sha256-OLJxsg9VqfKjFkerOxWtNIkibsCvxsv5A8wNWO1MeWk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fdebb81f45a1ba2c4afca5fd9f526e1653ad0949", + "rev": "412b9917cea092f3d39f9cd5dead4effd5bc4053", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1667190866, - "narHash": "sha256-7mi4ogGiHwYGAej9dzCeIAbmNkRB+RYbkwu3pKymLCw=", + "lastModified": 1667265677, + "narHash": "sha256-nu2NCPxeXgKe1z1I+tQBiCMUOEv2JrKoVr2U/U1uhXM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5f6c2aa9a4481e757b02f5b22f51e722cadf5a19", + "rev": "60426c0a356aba0d9a855e2edf4adc051810afc6", "type": "github" }, "original": { @@ -328,11 +328,11 @@ }, "utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667077288, + "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1667192578, - "narHash": "sha256-wuF42zbB0ICp0J16lesb8pBRW6xDOKfUgDAVk7gwNsY=", + "lastModified": 1667192681, + "narHash": "sha256-YOgbJWP/dxPhVBbz6+tMauRgmZLZmCGGnyw5PBSp8Uc=", "owner": "thexyno", "repo": "x", - "rev": "c0dc6b924225a5e4ccfa76e15a2a7fe613badbb7", + "rev": "d3f3d2d6245d04da44d1fd0ffc768b0bd3215beb", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1664128805, - "narHash": "sha256-ZH+T929Fb2AE3tvudXBtLmcLtYYD3o7ZPFk1i0y0rME=", + "lastModified": 1667267842, + "narHash": "sha256-QaNJ2eryKW38v+jEHLJyOUj4b8R1mZDbl44qySB03sc=", "owner": "thexyno", "repo": "blog", - "rev": "ca28752feda68b1f8d138d6ec6643adb9dd25e35", + "rev": "1db4d726a1165f03303d07b969d3df4963e4c639", "type": "github" }, "original": { @@ -414,11 +414,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1666167814, - "narHash": "sha256-HxM4hbbvakjqKAPYxDVqHGswZIvg9OvJTWtYOyo+Jso=", + "lastModified": 1667222472, + "narHash": "sha256-ArlFAjU0UYvw/HXcHu+PgMbHcBe9FBQ5BVv6x7TKExg=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "655576f336f4c956b59a5f4424c5ffd361964b35", + "rev": "b4ec85ede711a4854542682d43c7ae47d7df6d35", "type": "github" }, "original": { From 1373c5cc6a99285250d82b2d467aaf090ea9473c Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 3 Nov 2022 02:42:20 +0100 Subject: [PATCH 142/525] test installing x86 via environment.systemPackages --- hosts/daedalusvm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index e0306a7b..457927e1 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -21,7 +21,7 @@ in services.openssh.forwardX11 = true; services.rpcbind.enable = true; boot.supportedFilesystems = [ "nfs" "nfs4" ]; - environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager pkgs.firefox pkgs.kitty ]; + environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager pkgs.firefox pkgs.kitty inputs.nixpkgs.legacyPackages.x86_64-linux.hello ]; nix.settings.extra-platforms = [ "x86_64-linux" ]; nix.settings.extra-sandbox-paths = [ "/tmp/rosetta" "/run/binfmt" ]; From 8dfd536e38e4a2d205b9aaa39bea453457e249fc Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 3 Nov 2022 03:41:10 +0100 Subject: [PATCH 143/525] add jupyter --- darwin-common.nix | 2 +- hosts/daedalus/default.nix | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/darwin-common.nix b/darwin-common.nix index 194bdf0f..31e107d8 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -22,7 +22,7 @@ supportedFeatures = [ "kvm" "big-parallel" ]; sshUser = "ragon"; maxJobs = 8; - hostName = "192.168.64.9"; + hostName = "192.168.65.4"; sshKey = "/Users/ragon/.ssh/id_ed25519"; publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU1tU2NqZXVhLzVKQzF2S2VWMGpETUM5cmF2T1JzY0VOWlZ2c2hFSjFYMHUK"; }]; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 3e2aec81..0c47c26c 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -76,6 +76,9 @@ in mosh terraform + python310Packages.ipython + jupyter + cmake pandoc From de24b6d88b39648bda9c52cab7e1bda63445b1ef Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Nov 2022 04:20:37 +0100 Subject: [PATCH 144/525] removed octopine --- flake.lock | 34 +++++++------- flake.nix | 58 +++++++++++------------ hosts/daedalus/default.nix | 5 ++ hosts/octopine/default.nix | 91 ------------------------------------- packages/scripts/nosrebuild | 2 +- 5 files changed, 52 insertions(+), 138 deletions(-) delete mode 100644 hosts/octopine/default.nix diff --git a/flake.lock b/flake.lock index 1001d03f..000161e8 100644 --- a/flake.lock +++ b/flake.lock @@ -130,22 +130,6 @@ "type": "github" } }, - "mobile-nixos": { - "flake": false, - "locked": { - "lastModified": 1667160126, - "narHash": "sha256-YRgxMHdvMuLsuXCaKs5YNMD6NKgvcATSjfi9YkUOOLk=", - "owner": "NixOS", - "repo": "mobile-nixos", - "rev": "da56c338a2b00c868697b75bdbd388f60d50c820", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "mobile-nixos", - "type": "github" - } - }, "naersk": { "inputs": { "nixpkgs": [ @@ -279,6 +263,22 @@ "type": "github" } }, + "private": { + "flake": false, + "locked": { + "lastModified": 1667531394, + "narHash": "sha256-eo5s09w9DjRTqk4y+ULpYHQw5RNjNi+n9tEyvpbL84g=", + "owner": "thexyno", + "repo": "nixos-config-private-dummy", + "rev": "b38da5d5dd120e7dcc61b2ed3536be69fac649da", + "type": "github" + }, + "original": { + "owner": "thexyno", + "repo": "nixos-config-private-dummy", + "type": "github" + } + }, "rnix-lsp": { "inputs": { "naersk": "naersk", @@ -309,7 +309,6 @@ "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "impermanence": "impermanence", - "mobile-nixos": "mobile-nixos", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", @@ -317,6 +316,7 @@ "octoprint-spoolmanager": "octoprint-spoolmanager", "octoprint-telegram": "octoprint-telegram", "pandoc-latex-template": "pandoc-latex-template", + "private": "private", "rnix-lsp": "rnix-lsp", "utils": "utils_3", "x": "x", diff --git a/flake.nix b/flake.nix index 84ebdf81..57a34104 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,10 @@ { description = "ragons nix/nixos configs"; inputs = { + # base imports + utils.url = "github:numtide/flake-utils"; + + ## nixos/nix-darwin dependencies nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-master.url = "github:NixOS/nixpkgs/master"; agenix.url = "github:ryantm/agenix/main"; @@ -8,41 +12,28 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; impermanence.url = "github:nix-community/impermanence"; - #impermanence.inputs.nixpkgs.follows = "nixpkgs"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + darwin.url = "github:lnl7/nix-darwin/master"; + darwin.inputs.nixpkgs.follows = "nixpkgs"; + + # programs xynoblog.url = "github:thexyno/blog"; xynoblog.inputs.nixpkgs.follows = "nixpkgs"; x.url = "github:thexyno/x"; x.inputs.nixpkgs.follows = "nixpkgs"; - nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - darwin.url = "github:lnl7/nix-darwin/master"; - darwin.inputs.nixpkgs.follows = "nixpkgs"; - utils.url = "github:numtide/flake-utils"; - #pinephone - mobile-nixos.url = "github:NixOS/mobile-nixos"; - mobile-nixos.flake = false; # whyever this isn't a flake - octoprint-telegram.url = "github:fabianonline/OctoPrint-Telegram"; - octoprint-telegram.flake = false; - octoprint-spoolmanager.url = "github:OllisGit/OctoPrint-SpoolManager"; - octoprint-spoolmanager.flake = false; + ## editor stuff + rnix-lsp.url = "github:nix-community/rnix-lsp"; + rnix-lsp.inputs.nixpkgs.follows = "nixpkgs"; ## emacs emacs-overlay.url = "github:nix-community/emacs-overlay"; emacs-overlay.inputs.nixpkgs.follows = "nixpkgs"; ## vim - #neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - #neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; - #coc-nvim.url = "github:neoclide/coc.nvim/release"; - #coc-nvim.flake = false; nnn-vim.url = "github:mcchrish/nnn.vim"; nnn-vim.flake = false; - #dart-vim.url = "github:dart-lang/dart-vim-plugin/master"; - #dart-vim.flake = false; - rnix-lsp.url = "github:nix-community/rnix-lsp"; - rnix-lsp.inputs.nixpkgs.follows = "nixpkgs"; - pandoc-latex-template.url = "github:Wandmalfarbe/pandoc-latex-template"; - pandoc-latex-template.flake = false; + ## zsh zsh-completions.url = "github:zsh-users/zsh-completions"; zsh-completions.flake = false; @@ -52,6 +43,22 @@ zsh-vim-mode.flake = false; agkozak-zsh-prompt.url = "github:agkozak/agkozak-zsh-prompt"; agkozak-zsh-prompt.flake = false; + + + #other dependencies + pandoc-latex-template.url = "github:Wandmalfarbe/pandoc-latex-template"; + pandoc-latex-template.flake = false; + + ## octoprint + octoprint-telegram.url = "github:fabianonline/OctoPrint-Telegram"; + octoprint-telegram.flake = false; + octoprint-spoolmanager.url = "github:OllisGit/OctoPrint-SpoolManager"; + octoprint-spoolmanager.flake = false; + + ## mail + private.url = "github:thexyno/nixos-config-private-dummy"; + private.flake = false; + }; outputs = @@ -61,7 +68,6 @@ , agenix , home-manager , impermanence - , mobile-nixos , darwin , utils , emacs-overlay @@ -171,12 +177,6 @@ picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; daedalusvm = nixosSystem "aarch64-linux" [ ./hosts/daedalusvm/default.nix ]; - octopine = nixosSystem "aarch64-linux" [ - ./hosts/octopine/default.nix - (import "${mobile-nixos}/lib/configuration.nix" { - device = "pine64-pinephone"; - }) - ]; }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 0c47c26c..4cb6577f 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -51,6 +51,11 @@ in programs.gnupg.agent.enable = true; home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { + + imports = [ + "${inputs.private}/mail.nix" + ]; + home.file.".hammerspoon/init.lua".source = pkgs.substituteAll { src = ./hammerspoon.lua; inherit myEmacs; diff --git a/hosts/octopine/default.nix b/hosts/octopine/default.nix deleted file mode 100644 index c3bce3c9..00000000 --- a/hosts/octopine/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, inputs, pkgs, lib, ... }: -with lib; -let - compressLargeArtifacts = false; -in -{ - imports = - [ - ]; - - services.octoprint = { - enable = true; - plugins = plugins: with plugins; [ telegram ]; - }; - - mobile.boot.stage-1.kernel.modular = true; - mobile.generatedFilesystems.rootfs = { - type = "ext4"; - label = "NIXOS_SYSTEM"; - id = "44444444-4444-4444-8888-888888888888"; - populateCommands = - let - closureInfo = pkgs.buildPackages.closureInfo { rootPaths = config.system.build.toplevel; }; - in - '' - mkdir -p ./nix/store - echo "Copying system closure..." - while IFS= read -r path; do - echo " Copying $path" - cp -prf "$path" ./nix/store - done < "${closureInfo}/store-paths" - echo "Done copying system closure..." - cp -v ${closureInfo}/registration ./nix-path-registration - ''; - - # Give some headroom for initial mounting. - extraPadding = pkgs.imageBuilder.size.MiB 600; # without this much of a padding inodes are too small for some reason - - # FIXME: See #117, move compression into the image builder. - # Zstd can take a long time to complete successfully at high compression - # levels. Increasing the compression level could lead to timeouts. - postProcess = optionalString compressLargeArtifacts '' - (PS4=" $ "; set -x - PATH="$PATH:${buildPackages.zstd}/bin" - cd $out - ls -lh - time zstd -10 --rm "$filename" - ls -lh - ) - '' + '' - (PS4=" $ "; set -x - mkdir $out/nix-support - cat < $out/nix-support/hydra-build-products - file rootfs${optionalString compressLargeArtifacts "-zstd"} $out/$filename${optionalString compressLargeArtifacts ".zst"} - EOF - ) - ''; - - zstd = compressLargeArtifacts; - }; - - mobile.boot.stage-1.kernel.additionalModules = [ "ftdi_sio" ]; - networking.wireless.enable = true; - networking.useDHCP = true; - networking.networkmanager.enable = mkForce false; - services.mjpg-streamer.enable = true; - services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 1280x720 -f 15 -u"; - services.xserver.desktopManager.phosh.enable = true; - services.xserver.desktopManager.phosh.user = "ragon"; - services.xserver.desktopManager.phosh.group = "wheel"; - services.xserver.displayManager.autoLogin.user = "ragon"; - hardware.opengl.enable = true; - environment.systemPackages = [ pkgs.epiphany ]; - - security.sudo.wheelNeedsPassword = false; - networking.firewall.allowedTCPPorts = [ 5000 5050 ]; - - ragon = { - cli.enable = true; - user.enable = true; - system.security.enable = false; - - services = { - ssh.enable = true; - }; - }; -} diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild index 66c64421..9811d63f 100755 --- a/packages/scripts/nosrebuild +++ b/packages/scripts/nosrebuild @@ -7,5 +7,5 @@ REV=$(curl https://api.github.com/repos/thexyno/nixos-config/branches/main | jq if [[ $(uname) == "Linux" ]]; then sudo nixos-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" else # Darwin - /nix/var/nix/profiles/system/sw/bin/darwin-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" + /nix/var/nix/profiles/system/sw/bin/darwin-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" --update-input private "git+ssh://git@github.com/thexyno/nixos-config-private" fi From 6a0d496a0b25de4f893284fd5b75e77e34167851 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Nov 2022 04:25:10 +0100 Subject: [PATCH 145/525] nosrebuild changes --- packages/scripts/nosrebuild | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild index 9811d63f..9f0e0c98 100755 --- a/packages/scripts/nosrebuild +++ b/packages/scripts/nosrebuild @@ -7,5 +7,7 @@ REV=$(curl https://api.github.com/repos/thexyno/nixos-config/branches/main | jq if [[ $(uname) == "Linux" ]]; then sudo nixos-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" else # Darwin - /nix/var/nix/profiles/system/sw/bin/darwin-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" --update-input private "git+ssh://git@github.com/thexyno/nixos-config-private" + darwin-rebuild switch \ + --flake "github:thexyno/nixos-config?rev=$REV" \ + --update-input private 'git+ssh://git@github.com/thexyno/nixos-config-private' fi From 7d18ec2ac5d6072b3f8fe82e1b9a459e48627854 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Nov 2022 04:30:43 +0100 Subject: [PATCH 146/525] fix: nosrebuild --- packages/scripts/nosrebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild index 9f0e0c98..503ef2de 100755 --- a/packages/scripts/nosrebuild +++ b/packages/scripts/nosrebuild @@ -9,5 +9,5 @@ if [[ $(uname) == "Linux" ]]; then else # Darwin darwin-rebuild switch \ --flake "github:thexyno/nixos-config?rev=$REV" \ - --update-input private 'git+ssh://git@github.com/thexyno/nixos-config-private' + --override-input private 'git+ssh://git@github.com/thexyno/nixos-config-private' fi From 27758685429e1892f7b88bba4079aec1cca12d36 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Nov 2022 04:40:28 +0100 Subject: [PATCH 147/525] privaterev --- packages/scripts/nosrebuild | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/scripts/nosrebuild b/packages/scripts/nosrebuild index 503ef2de..99335b11 100755 --- a/packages/scripts/nosrebuild +++ b/packages/scripts/nosrebuild @@ -7,7 +7,8 @@ REV=$(curl https://api.github.com/repos/thexyno/nixos-config/branches/main | jq if [[ $(uname) == "Linux" ]]; then sudo nixos-rebuild switch --flake "github:thexyno/nixos-config?rev=$REV" else # Darwin + PRIVATEREV=$(git ls-remote ssh://git@github.com/thexyno/nixos-config-private.git HEAD | awk '{print($1)}') darwin-rebuild switch \ --flake "github:thexyno/nixos-config?rev=$REV" \ - --override-input private 'git+ssh://git@github.com/thexyno/nixos-config-private' + --override-input private "git+ssh://git@github.com/thexyno/nixos-config-private?rev=$PRIVATEREV" fi From 12f7af903d7dcc08da9cfd0edcd885059772e803 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 4 Nov 2022 06:17:19 +0100 Subject: [PATCH 148/525] disable default maximizemode --- hosts/daedalus/hammerspoon.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 20321226..5b4e5d57 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -15,7 +15,7 @@ configWatcher = hs.pathwatcher.new(hs.configdir, hs.reload) configWatcher:start() local moonlanderMode = false -local maximizeMode = true +local maximizeMode = false ---------------------------------------------------------------------------------------------------- -- Utilities From 3a6a4f230c5718b38e041c87f7584c50298de064 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 5 Nov 2022 18:50:19 +0100 Subject: [PATCH 149/525] ds9 increase nginx body size --- hosts/ds9/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 129ff45a..7092b292 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -40,6 +40,7 @@ in networking.hostId = "7b4c2932"; boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv7l-linux" ]; services.nginx.defaultListenAddresses = [ "100.83.96.25" ]; + services.nginx.clientMaxBodySize = lib.mkForce "8g"; services.nginx.virtualHosts."_". listenAddresses = [ "0.0.0.0" "[::0]" ]; services.nginx.virtualHosts."h.hailsatan.eu" = { From a5dd0ba83e40abbc82564ca208264d13ca5a263a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 6 Nov 2022 07:53:55 +0100 Subject: [PATCH 150/525] feat: added octopi --- data/pubkeys.nix | 1 + flake.nix | 4 +- hosts/octopi/default.nix | 59 +++++++++++++++++++++++++ secrets/aliases.age | 35 ++++++++------- secrets/cloudflareAcme.age | Bin 901 -> 908 bytes secrets/ds9OffsiteBackupSSH.age | Bin 1072 -> 1001 bytes secrets/gitlabDBFile.age | Bin 739 -> 777 bytes secrets/gitlabInitialRootPassword.age | 24 +++++----- secrets/gitlabJWSFile.age | Bin 2287 -> 2279 bytes secrets/gitlabOTPFile.age | Bin 781 -> 722 bytes secrets/gitlabSecretFile.age | 26 +++++------ secrets/hedgedocSecret.age | Bin 644 -> 683 bytes secrets/mailmoverConf.age | Bin 1043 -> 1068 bytes secrets/matrixSecrets.age | 25 +++++------ secrets/msmtprc.age | Bin 1151 -> 1282 bytes secrets/nextcloudAdminPass.age | 24 +++++----- secrets/nextshot.age | Bin 655 -> 640 bytes secrets/paperlessAdminPW.age | 25 +++++------ secrets/photoprismEnv.age | Bin 1338 -> 1366 bytes secrets/picardResticHealthCheckUrl.age | 25 +++++------ secrets/picardResticPassword.age | 26 +++++------ secrets/picardResticSSHKey.age | Bin 1045 -> 1004 bytes secrets/pulseLaunch.age | Bin 1111 -> 1111 bytes secrets/ragonPasswd.age | Bin 1019 -> 1124 bytes secrets/rootPasswd.age | 38 ++++++++-------- secrets/tailscaleKey.age | Bin 860 -> 1086 bytes secrets/wpa_supplicant.age | Bin 921 -> 1083 bytes 27 files changed, 186 insertions(+), 126 deletions(-) create mode 100644 hosts/octopi/default.nix diff --git a/data/pubkeys.nix b/data/pubkeys.nix index 17376852..14a74958 100644 --- a/data/pubkeys.nix +++ b/data/pubkeys.nix @@ -12,6 +12,7 @@ let ds9 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+BBXufXAJhyUHVfhqlk8Y4zEKJbKXgJQvsdE482lpV" ]; picard = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAm3UXZaN95WBUaS9SiHLNEuI1tP1x1w07qnYxPe+vdr" ]; daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMmScjeua/5JC1vKeV0jDMC9ravORscENZVvshEJ1X0u" ]; + octopi = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+0/lwNc/KN8LrS3KvDCuuipQokO+7qELfksepJXz6a" ]; }; in { diff --git a/flake.nix b/flake.nix index 57a34104..7d059464 100644 --- a/flake.nix +++ b/flake.nix @@ -108,7 +108,7 @@ nixpkgs.lib.nixosSystem rec { inherit system; - specialArgs = { inherit lib; }; + specialArgs = { inherit lib inputs; }; modules = [ agenix.nixosModules.age impermanence.nixosModules.impermanence @@ -116,7 +116,6 @@ xynoblog.nixosModule x.nixosModule ({ config, ... }: lib.mkMerge [{ - _module.args = { inherit inputs; }; nixpkgs.pkgs = pkgs; nixpkgs.overlays = overlays; networking.hostName = hostName; @@ -177,6 +176,7 @@ picard = nixosSystem "x86_64-linux" [ ./hosts/picard/default.nix ]; ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; daedalusvm = nixosSystem "aarch64-linux" [ ./hosts/daedalusvm/default.nix ]; + octopi = nixosSystem "aarch64-linux" [ ./hosts/octopi/default.nix ]; }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; diff --git a/hosts/octopi/default.nix b/hosts/octopi/default.nix new file mode 100644 index 00000000..40dffeeb --- /dev/null +++ b/hosts/octopi/default.nix @@ -0,0 +1,59 @@ +{ config, inputs, pkgs, lib, ... }: +{ + imports = [ + "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" + "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" + ]; + nixpkgs.overlays = [ + (final: super: { + makeModulesClosure = x: + super.makeModulesClosure (x // { allowMissing = true; }); + }) + ]; + boot.loader.systemd-boot.enable = false; + boot.kernelPackages = pkgs.linuxPackages_rpi4; + # networking.usePredictableInterfaceNames = false; + documentation.enable = false; + documentation.nixos.enable = false; + + nix = { + autoOptimiseStore = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + # Free up to 1GiB whenever there is less than 100MiB left. + extraOptions = '' + min-free = ${toString (100 * 1024 * 1024)} + max-free = ${toString (1024 * 1024 * 1024)} + ''; + }; + powerManagement.cpuFreqGovernor = "ondemand"; + + # Assuming this is installed on top of the disk image. + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; + ragon.services.ssh.enable = true; + ragon.services.tailscale.enable = true; + networking.useDHCP = true; + services.mjpg-streamer.enable = true; + services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video0 -r 1280x720 -f 15 -u"; + services.octoprint = { + enable = true; + plugins = plugins: with plugins; [ telegram ]; + }; + security.sudo.wheelNeedsPassword = false; + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkFgHr6OMwsnGhdG4TwKdthlJC/B9ELqZfrmJ9Sf7qk" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8RjUQ6DDDDgsVbqq+6zz1q6cBkus/BLUGa9JoWsqB4" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkNP8Lo20fw3Ysq3B64Iep9WyVKWxdv5KJOZRLmAaaM" + ]; + + +} diff --git a/secrets/aliases.age b/secrets/aliases.age index 58c0cfdd..14a15025 100644 --- a/secrets/aliases.age +++ b/secrets/aliases.age @@ -1,18 +1,19 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw vwzTW+25avcAK+ajnnSGIap1Dngca18C6LkNu0wcCi0 -LcBCD4NO31d20/xVlXZrFYICwNI0FmqVZd6r8GMkNf4 --> ssh-ed25519 UU9RSA X/2lWLmVGBXTE1Sj91O+qlLLJV9TyY+nvy5o8VdBFGk -RvNi3sSjvvv+M4298Jz4TsJk6+jCv7SneCm6KE8lozQ --> ssh-ed25519 yqm35A T3RypfD9XjDMkwkDm3zmjKc6bcYBWRMDPznSmkyeNgI -dimZHbaOLMfBJE5Xr6FWYIVfErjaIhW2qrcANgI2TVc --> ssh-ed25519 DSOydg LvLrH8OzS2UgZ6d70CxjIVXMfv+w/OIePRX7yXkDczc -XCbT5BffjhCduN1dUixa+aoC2sFV4M2KX9H0gPCuEl0 --> ssh-ed25519 IbXxfw 7qzwI4PMDXft5ausc5EmGjEpjVAQoT8CxBH1ivMdLwk -ZbtIs4rvuR+0PBrLqvMyXAeEwqwuR6bAd+KHKAXlDlQ --> ssh-ed25519 WceKOQ jRIMvWV5GBB2F4ao0MoRLdNeMquXKZFH+zjmJtBWkAI -reGHSTvIJqorgRaRaniQ7+c3mw+f5Vus1h6Mi5P32XA --> 8Q!-grease Ko}yrCO tc>8^,X s^i0i -V6T7pVqCbxNcMRT7H71p9uYdc1jx5JdyI6lvDgJVsA ---- YNFbsLhY4LsdG79FaaDYrDKVSwu2W7684JcTAgy3WE8 -kXp}@j/`Ũ D -Z9]$߼'cx -"M \ No newline at end of file +-> ssh-ed25519 ugHWWw jyN4yLZ9WEFM8pnNq+p6vmSc3rJ9dmRf74Kjmg1bAWo +O6uYBHrTb1IOcwXzZp47dPDfkRWonm7zYuqXcazZ7Qo +-> ssh-ed25519 UU9RSA nnFXaGMBZypJHhhWA2qkJkfmyAmUkX5mCTXgoLZNl0E +xK7Bqr7hbekg0nFOdr1uuSQe5tuV8HPlm10maDWZ/hc +-> ssh-ed25519 yqm35A sLXE5g+/ybbR3vps0zycvSwVKYer6A2m/JgcEbJZFk8 +h3hbGukShM+fQxh/0wSsWu115AdRyo7V5Km+z/udmQ8 +-> ssh-ed25519 DSOydg yKzu4pk7l0c0uGbSoIka4W0gcQJ13ma9PrrbU7wwaG0 +nWR/bvGFc4Qd0xJTlozgwyUukvzTmorgch/gUConxT4 +-> ssh-ed25519 IbXxfw 1ODZDQDFWR5cczdVfw8q3h1Erdd3jh7ezorpONj6AxA +kcFNVi7UExxCd7oukPl94qoeDfcaxU0fnOGVQv8tKVo +-> ssh-ed25519 46dvqg 8ddf+7l1eYLKO4BSItSnvaHzC+7OmwOlF+Yg6jw7vBg +rd20inPa8y3j5SoNS1VQZ0qhkwZ9KoSCo3aOlRR5Sao +-> ssh-ed25519 WceKOQ i/h3MysSZ9kKoAK2/DHMUAIvAuhdBomwYUG8O4JU/F0 +DxjoM5uJIWzgDkU9sv41sboeomsOumnYxpGaBY6LBNU +-> N#aZ-grease *yw +4BpuAC9aThUa89QDVicb +--- YprFJV/h3RdNj4Mnr+UBPFR9Z8WO7bL6wtUsRaWzkZI +*KLF kF^&3w{g?w+ypfW9nzrNw(' \ No newline at end of file diff --git a/secrets/cloudflareAcme.age b/secrets/cloudflareAcme.age index 24ec73cb93f3fb4f7dbe39a5454ef67adc97bd4d..5b5c34373eeb8562f418d68c4436c21dd8c014f7 100644 GIT binary patch delta 820 zcmZo=?_r;yQ}2^&W?WpH<&^4{5#myj;S><&7L{4xn(h^>ZxrZ}o^0Wl>t&FZTacb@ zz*QPl5E+ma>Yh^R;qB&YTppPflAe~68RnE#X6|H`TajW=VUTH_l$%=Q%B5?kP+Xj$ zo0?)|YHDby5E^P36zr%_=^UPv?B$&vksX!o<5LwF?p9D}W@ze>=M@!^Zr~aj7*!RP z;S%bc?w{?*6&40}-h7+B(`Ul8Gzl~x&0Rhi;wlxb0B8WrFkR23RI z@uPUSV^LD3sZ)|$fqtGxWmu4rwzq+{r=O>vr=wp`Sy51heo?Vsxo4PXV6ZD!s$rJ7 zQI4O5ub+!?V6t0^rGc?WS%y)PV_>4Ui9t$fu#3N&d8DU*Zj|Tbct-JX!-yQy>=45O z!>S77kb-pojDV2h#E?Swyv#_0C`UsxFUyite~$>`s9+1OFpF?A|DvP}OILT#NDD77 zQ!mR9Q`1y`r=s$LstUK#va+<4a<`I1a~I#qXBoxoGfm1ZOi~SgTjnpJ63RqR=A5nN!J=N)blR-9MjS#Fe=SX${} z5m=rXRhk%P%vIXTYo8D*@QjzRa zo|tPA=%JrtQsEaG>YQy{Z0H_gSZI`5VO($Q;mh?!p=|UbnXN=qg`6`!((IO?A!7d(@mF zG<9Yq`gQI7obk@)oOQWwrJ{yq8Q%$t=lsw){TO`EjnkAO+0jathJ)=L1Z C7$uqj delta 813 zcmeBSZ)KmLQ=b%?=$>!k>*i-{;^b6PQ5Y6k7H(1&VdRtN;b)K-WL#74GL8dB+= z&*fT@>k|~2QDj+Q8kw1F>RXx>>|IjmXzb!1U>Oyf<{xZcSW=Q7=;9w%&ZTRoP+Xj$ zo0?)|YHDby5E^P36zr(r;+P%jRATPq?3ic}84#IY=4O&vky)N^9_eAJZ|Sce;#^+g zTH@?e?iy~uW$x-&8S0)HXlm^5SD;<$8S1VdqU~3l>l+@L85UMyl$x0qW$f&jn~`lW z@uPTna%gHmNPbqPNk*`rwtjkcnOlfOPHJ&TP-0S0Qn^Q1a!F89d2VWWNlrdjS(2A_ znp1LSNJL3+v8jHsr%`Evv!jo8YEpi9NLXHFX=H?VsbhXbR8ZvPct-JX_l&d(wZ zZ`UM$$Kc|SY-2BHx0G^U@3e@(!eCcZ1K;w=XBoxo^Rn{GN{XCZ0vyfFJxaq1olDbw z19Fq{vvVR6J$x;^sw@h9gVJ1#iZar<408QTEX?vM3?j>mLITapoxFVf!wQ`Jq9Oxa zjnj?u^F7K8LfsQBgF;L|F_2l|nyYACuA5$znpm95W$I`ioapW8SYBSHonqk>n4K3< z;Z~oQs9)-p9~4v?US4TZmg1M38erh<7iR39AK?-dk{)0l;NkD;lbr43lgs59X=xN; zVN~IkrSIl!;$CbT73q)Y--c7>kKf+@{w{@qKYMCIOWMY4 z#vQz_xq$~OSIgMH`nW|=?!4e5q0iS@|1Q#=^y#I8Lu!TPYa2PP=jrE6S3g?0u(|E^ zdX@m*pIf3hYzp>V>j|Br!Ps^8QP9qZUw$MC7*CWu{Z-Rm+w$tXWqGD+veng%^Y31G wWcqdGeigsa-}*&;y)1`kFP|O6fBIE~sYO&kdC_C93mp$`E(`rBcYlKf02?JI*#H0l diff --git a/secrets/ds9OffsiteBackupSSH.age b/secrets/ds9OffsiteBackupSSH.age index 51ef40d201e6ad35f418cc1d15092521f76d111d..cfad5646394254c9c845b3cc7d50fadf6e389485 100644 GIT binary patch delta 932 zcmdnM@sfRlPQ9^DMQ~z%aYayKzOSE0shMj|Wu8xYvVoI9vU!SWp}AvfPHtFAMS+{M zBbQf>X?SQ@azUoHp`Sr|N{T^_o4&DskxzcQkzZ;=W{#_4PPlPVUa7fLAeXM4LUD11 zZfc5=si~o*LTS23czC&jzh|zimw7>ig>Sf1Vqmb5iCbAvR)%&^ifMRKk&|{{KyH3y zepQZVdO)ZFS9*Gyt4me7frp`YR=$sUNq&lXrN5(zzo~C&SeZ*kau z#E;_PWg(ufE+)ZI-le5UVJ?NP2Kjzv?gf#>Ma7|&g$7Aw`i?1)C52AKm0{&v{)L7f z=24L@exc5mnc3;usllekRY9ha`H|)+g&rwc0d9$oS=r^O7Nyyf;~B;4L#wJhTzoT( zi+#P#vXgy6D$OfRv(gH+y;3quopKDL%u})hz0-?|EGo;nOsax%3?tJW3)0g}gWPhH z!%O@tlS)mqbF#8CBi+pN3M>4Be6$NqJxsx&}8DZ3YTantl~)HASc;ILL%!w_!z zDte>CRpG2v%QUY|d8Ohjvp>g&@lsi%_QZ$3j!8XL*tWz$=-@KFyz=L+D>i?1YdcJ3w*3gDt-!k+&b;V`RtEm5clZ-ciGF` z#oZwayPi1JE%;;CxM{x#vdEu^9P7`lU{W$L5>udb#nr zR`$aGMRj*}eJ)Loh*XO-y!r5+@l*C~iqq$*w_ROu?5S;I^8to$e^n3-gn{13e^mkd3@aR>r^kP{6BTJaMI%o*JhuGTjqJ>K8AXd< z@Bd=jopI=Xi}4Go?zFbbkgdNrAJx)qiC(>{V#C`%9g>zDmyc~K_;5bcadCEd?>f7g a3!AS6GX0LuSX5%067cR+{3ijO4}1Xh(}eH< delta 1004 zcmaFKzJX(cPQ7_rNn}oTK}eB%d1h6ZXQh{yVN`ISdqkqEOJ25@dz!1Gn{Qc8d8A{I z0auiMKzfpXQhrLViN0Z;p`W9XM|N3JVTgOUMPzPZwoj&Cj-iv2Nl9L@374*&LUD11 zZfc5=si~o*LTS23czC%&Q9y36k5^b=dY*rPX>z5xiJMEXd1!@8Vs?^$qM2uSVo*eJ zk)>CZM}BBISE^~DMPP_;fn~b8pLS%KaiG6pp|g>DiHC_tWr&BLZ(feGk!L|cdX%Zb z#E;_PDL$52iKS^i`576d;l}xCp)Qq)Ne1Snj#-{AMjpB5mf7Y0&Z+r9p>8Hz?vDQX zX=z3N0Y;fdr8(j5i9XIoP8KOfjz%u2eik|U6-I$>Zdt`SkzV=;}YkQ?riROFnK;_4dVR+Lg$kZtJi zY2@hXS?p&P~<0?^SOZ>06@j9^esWXk5(o zz-UV0+S3ni(qT61nm)p91r;oZMY{?v-2GYA5UqOX;yQTW_0NCc-IOnYHuv zvWSH@?4|C7pU=5#T5(yj=F-74JKikgIBDh5dzHO+&4iVwPJT#OG)XMv(}e>MG~O=U zCm_QrGH?6hY2H^mf7_o7RoCTzEk51y zWmIyc&#fgDFItbv%-HeFZuY4^i{e8TzxnRIb=rqJroU(IV5nl(xb1i1;5L?>QB&`6 zFNo6cnwGip(UO9{)8yxUS?Hlr&7oo+@Oo;oeboj(pCXS-l6(*T`c@WA{AXGG_VY#u wXSdgv`|Ib<|Dqmw>&`Qs?@!McosjAJ6wIn2^ZCf8>?-fwk-Kf&V&@0uk(!xJ0+1=T{$}}+4 zkt;tnxWJ{{JSE*YIlv$}*vYiOy)wzuHN7CaywJd;D%;n|&(||2C$!2Sl1tZ4p}06h zH#Nn`)YQ;Yp)}niJiJ`NJ2BI=)IBTP!XqR-rz%rF$t|TIFTdQ`E5D$)v@#_tGbbb4 z+$hX5&$!ZnOW!g(E8WB;tH>?G(lgh;A~f4QGa%0^BQi2KC&0)r$;2=q*(o{Ope)pL z;z#lDiZJ8A@=Rm%phPn>&v3s0)8f)f$J{K>pj3CyEbX+k^71q@{n7x(a+ho_UuWZ_ zZ1YgZtk6RJoMeAP6X&#|kP_cyXQ#}_;KVF#Q+>ZG_moJ}{J`|d@r>g2rI|jy#{OX* zE@r9TMNv@&sb;1|g#nR~!C^_h`2hx@Wv&?|F6NegWmV-|=Hc1~US8fwIf1!;{{E5K zNv;)96^U;7MP4C^9uZ}x-cBLqiAiC}!QRQBP%_KcO)pAKEKXJMRVdO+_Ed<-$ma42 z3~@E{FpKm`vh*n}t*Q^mNXgIfbW1UF4RrS{Pc$p`cP)2`GBa~ANO#pvitu*L$g(W= zN(v1%O7Y4MO>->fsz@&m3&{12Du~D`(D%)aC~}JMONz`bcMPh^^eHazDh~)Z^fUE# z^3|@&GEK<|$t{R9%rOi$E3Zfj@DIs~;0iAf<{VMON}GXTs-+bA~i-ZififmKW|sfbIysG{iaN1?qxp}06h zH#Nn`)YQ;Yp)}niJiJ^X#IwZLG(W(?HObR2D%i!m)XmU8+a;|yC)X`1Eu=KkEhI4| zGrUyW-_#|PE4i%D&pXiBJg>YkL)$mVEzh%5zo67IA}>G0FWg28RcH-nXca1 zN#;3)9ywkqxkX8l#$Ij~CixaQVFniF2EpN8Q3hegIUeO)p;<;@nH8ZvQKs5Kx%nYp z0j0iyK~ah2Swa536_JHTE=k^@5h-3SrD+DBP|D9W)J-o+O)O4T2#ZX}SBTNlcB#@% zQOM2;h*t>q^VcYJ2&?Cc(9g-vb2m#jb;@%0)-Tc5&rFU8G_8sXuSiNaGO5TdFwD&G z&+-n-(+(&v^A5>1bvGyvD05D&Dk;ly@-)fh^7kz^&<@Y?4o=PW%?#wy)zwu9^DoY} z49(4Oa!>Vi%ydc2)(*7{4J`1@OA0k`bu~B5i_#AdbJPwGiOf&ty0W!wM{l!dhL-+w zII$9;=fpSg5fyEUHtG;fm^v+nyA`y{dRQfw>w z-sDWZy=Kp`=el~D99;S ssh-ed25519 WceKOQ jF7DKZeB4cckNkL79WClrotyN/MAOw6SNR7afS1dZAM -DdcmWJEBulQ9+48hzKZ+WL20b3QdwJSsniHGEJu0Bpw --> ssh-ed25519 ugHWWw CfQbVlxnQQ0bdyDOJD70Ro8aXkAT3yjPrIjm/9LDBEI -d5MifL5/EfCtFTN0J4HF+2j0vypV3o8jaJYKiCImEI0 --> ssh-ed25519 UU9RSA PMySw6CpB3u7avlvRjNPheDblvD5wWbmgYFdez45Ei8 -eDfnX+l75AZI4fdmPBvRQz7kwoeGaQLJh32vlU1NxD0 --> ssh-ed25519 yqm35A ukwhDffou6q4dHvxgr1NHBsEJ3KEzHmft5DOvkJwgFs -i4ygxay+19uwd5kMose1wCfXiTM+G2pvDqmarJH9qpk --> n6?iO,-grease [u--b*i~ EmiqG$? -6QoXqBZozYzHK/Tkt4LyC6fKLHdmZfybIkYJZibly4PjqnBG ---- dnFscfjyhnS7Du0hLL5EUPffafTSao478635hXM6Q9U -E;NS"C %"k ,U`yMApEg)rDYFXMLso \ No newline at end of file +-> ssh-ed25519 WceKOQ FrvEJZhaXF1NQT8aI8BoqTuDlxgR21SLkrwY2UmiTgo +M0lsks3tj957VtEcSN9UHAauHozI/jxnqvykOBQvV4M +-> ssh-ed25519 ugHWWw jGbS8ISJ++sw56s/ZTwA1A1kPwC0Sqv32SzepkfwHSs +Pee8HguvaLtcHDyACrR2Y+zJeSIA1seAebwjIpwKR5s +-> ssh-ed25519 UU9RSA pU/EiF+VY6m6EhPdW4wZyIyl/dIVObFq3/rMfRsJREo +ErU5tE+jg5u3vIa47YXClqhw/4T874guslVqha7ij9A +-> ssh-ed25519 yqm35A 6BIKh4Rg6+pnLw9bB8ai1myyzfDSXdqRSI49/41Wogc +zU8hvagMQM5KuoN9LpyGZ9kGizEz4Z5YO54jyPxgSBI +-> 4iP-grease YC a1[My2 +av/bg/qBVDYF5ruWf9StY028aHxk5DeFl7hoLA +--- wGfGXjPHymgmKU+FV/j/E1gml8ZSib9VJTuhx5HHfzw +Їo=&y^W9j +KIoA뼝hfh*j?h- r?#> \ No newline at end of file diff --git a/secrets/gitlabJWSFile.age b/secrets/gitlabJWSFile.age index bad020c1e409979ae7cb7c07ec54e4ec1c3266e4..1ea5b5188ef51f8a47caa90f6b9fa43a5e18ce4d 100644 GIT binary patch delta 2220 zcmaDa_*`&;PJLB&Xn1OtZ*H)kvxl2$iFZ!EmtjPHv3^NjRdTkEg@<-xx_O|Pfrn*P zK3ArThks6`MP+V*d!?z7S+ZePu|Y_lOGa*lSC&b!mrJgBO0s!*P^hC@F_*5LLUD11 zZfc5=si~o*LTS23czC%&kw<=^S(aZ~in&>qzgxM#v72F1KuMl3nTq9Dyj_3T>L}yof88y{431@i#>|;y&|*n4Dv#`QVg^+T#WrK@(i>qB8&_w zEnNdk(}VrolFf774c$z#%Tmfh3M`ANvYo)8Qs!q^ zlEmNy5#^X=kQowX6c}FN?j7RD^@IPo>gukh-7O_=>ZUy0|9q)l zr_b7(A6{?NnY(MVsP>#meVV9dcEDc6}y!tDJ(el z-k@d{qkc-w)PIRathtx(G7I;qeQ#U6_?7yqkG{F_%bgzt#BMko)c?cRZ1$em1MzbX zyIzyKc>HM6=iFK~#{76|G#$8jx zYHq*YwIE?$sDg~p`&AkjX59H&Z@7#>vas!mqMUxs+G88EgPv{BX?>ja{%kl))$IS9 zcJ7_2CEN8@!8CMLap!5%x1Y3{l-b3SE3a%%Hr#*S=z{JP$b>;8kDT9(e>cC7@OUnIMZPZM@#bB6{Kx9U zZ7aV;HJ8}WvvCrR`@TMYzLw(8V6AAm`*SvxPpjcd;n8DXwBp>vpXYfDPHT8;ZkoBl z@5y;dt~)j=$$JkMortzFon7zvl(~d2%Im`nH}*dFnGv5@|7{4I;;t(Zabe5noT=GC z5jm?Ie5Nw~RMw8N-OnAHpe_;VklD*Wv*h2|dX051H=}#Q?4!J$iVp`|n^;xA6)eN& znIG-*_~ERsSxxz0&M(|$7Q$2K^R=xkk$Ig_u=3J4@-<`WoQ=whM_(u4? zEkA$XdzOZC&(>SAv+*o*?TRlKXU5iFR@t$RFKqTr zrd^^oJ%06TxPH`?c!ty*&GUP~x{T}4hEmZyUCssE)kdyKqMv4zsM?qrrF4Jn-59NE zHShSw%~ukIThA=2(+LQ*owxB{*#pz4>+Z#oy92p5e>G~fx2vd-NL{*{^`Gw7Gu4xC zwYtYmUa)0~=~0pMLizf7g@wXDo^CtqUKP}EQzq|^w*ISC_0C6F6qc7UgiQMDzTv)* z=8;Qh8@fX!=h^N!zrN+Ij;cV#1@2l2zm^3-d2;9Yd=6I@beI2Co3=nrLyvReLW_@U zCmm4}G>L0Iu!s9x^fj)A`zs|{H@O6iB2?k%5u?N>gxlx8p8 z`0vz9rG6RqqxNTJdL5`=Z_wso%@cd_SNE)%KbdY6L|AkMA_Q^~vj_qFYKfYzf3$#S^*ri?z z|En-v>ZyIw=l;MI?D-x!2hVoi`2YDfr+tfgf=Hah(MCgBlZy}P@A?(okKUADd;h1`+N8ZJpFi4Gv&o(z>Se;Z z*WWIGo!bzx%iin%ua^Br)rUDa&VDl3+%G9I;nVAgL!lF&=h}vMvpm|W{YLA|^d{}p z_|+^E3ZsusT*5!K{!i*XBR(JP_Mh)AX3tu*`bDp5^B2Q;zYl&CKB<21cChNtgmliG zmg!dYhNTmoW!pX3xAng8OPlwiXXENOR&8DnXV+odG^^k?^1XqmHx|! zE^YB!rVymMGeO?}=hWop$y1|b4qbGd&k`#trCfe}dHd2F_X<&Fp`X{!){D2TwSJ>h zdq4T~2We657cps~!a*$ktLE(5w7xq2Ox)g>Tn(+W`|B@PT=EIHoIHt7@6w?@=7JS<(ipql>=Z?ve^Nbl>`X)v8*}xBj7SmOOtqi|%!uD0yh}LM6** zdv9KUZ}n(Nqo~)H*M8P{e@+Qkt9GvZb@#=-Wp6uIdFjZ@w_Tgoa&X!eJsBm|4{otj zCvBYTF^fZXOWTLHg7y4dU!M7hNk4d*7UdgouVV4TP#;H03CEY~zh118IJfLmLx*bA zuQO`ddT$dvR_vVG{$gfJWp8m?a=gIWNS+A0yyupyq+H_X{*#d1{PLyHju?-Z)AhHk zlu!6u6o0z^(2JRS^`p!*qZ8f#7g?>gEqZwTxxl$A$!FK8Jbiw}Cii2twb)4r8GZ?%o*n(HMo(`+mvnBlDJi9)#fgR5fvFW$$^HdV;eo+fA!YhWVa1+qq29ie;~B;4i%gP@e9a@v z3X7|}eD%w6BZ6JhTr3>TO3K2*OoM$Rax9z-a!W%iEV7EZ3Y|@-s_IeJZm-p%fA9=;9OUp_^Wmnpm95RS{U^;+T<~ z?x7#4U1U(2<7^R`W>oK=W8#+KYG9UD8e$R_;^pd^Vdj@=o^2MKo11Ku&!wxYt6=71 z;bT7SinoF3>{66Il-QW;t96khI~qMzjB%Jofu!_f<@8s7Rh zWx{8=xj$JX;`1oh$8wACs|oT}1z2RBLdn+f{ODJCR zs&z=+sJC~8RMe^BORMDjE(*u~{Oy zTWc1{?vfNL@i)$HJsBL#UJ1OKyl{x26~)~vgBynEW2Q{^ECwO^Ih z+ih-85igPKlWR*haESVS;DCeTuFqLt_NuEbv$@F6!-4kkiqIDPeY89 zTn{aJp!UW+>3|<+j?t_6m6qAt_AYI1Jsf%ae)z8POWl$R(F@Ci8$r0HEXVWTiRX`G^@XMxTefQ!eUgq5L^4g~G zm=kVIk7pUNaTa}y_;u!$=qBN(ON8sWHcM^ZTl8UWSZLa=6G1P8?q9g4$+n8^eVT_v z*{dn@YMhme)7QD{ZfNSWU!yoJ+huEna;@b84YOP2LisW-jfSQtQ_>d(JUy&=AZS}) zu(g@$S5bB>*}lr4_7)LnsJitZNVR(3+GaH z>EBxsH0`*6N{WK3x!93A^0|FArJvrHXlNfv(l_61YT(P!Z4$h7-mT@Wh266u-qSe|Ch91k*vRU*6OJ}tCza`QYld0FO>It^3r;)wQDEtQ5W**l;aEC z^-AX4pM59zYdyH;?U}jAsxr%mga2|_YQ&)mq2G%uD_mv$jzk4iE!`=(>%pXw1DiJf zv@HngpVqP}Vf#`U2Br5biu^n?`V3~vzAg&; zKZVt8i^>|i-C^==kxoMG^?vi(R`*8+*&6a35>B4*VUo+sLn#^up1gPw@`pRo@g(c? zwCLi$Gp{dVRV-fqhViAsww2l{CDPiHCY@0>YyG?Sj?dfc@@w)Po^Gs4bMd~HS)jvY z62<4YO6~@$&&eLnZlgDIRd>7O2Ih(w#Y_v1`lrD)&s)O9_4ox2)@_^2QYz|?9N8;) z`cE-eZ-v(ztHi!?4{61nN!$-)Ighh@TjeHay!fu~ZtQkGU4e6Q(zyi!#mkO$N%-Ao zPdayI&zzN0A79Ln_H6Ks(G1)Z5aQ9t)Uf~9HutF_Eyt7iQoNqYuKNBxS5cQI(qC@n ztlH=wt-sFwcb$G{2D?DKroPIgHLo)E)hFlGPATuKJ(<=2x$-h5Oi^7CITNMaAy`H@P_sQ3LVr7HHezweNzpA@S-rCvY@N)fRo?~kc?5pvO6ZH<- zAA3`seX01j;PX?<=G0|=J-Xwp5$n8%{C8AVi(Zy}Sf^;de94gj-w&1+_ty$7E-*3O z-*oEmS;HUa&)l$da+T;@+_AT_X3pH_OpD$!)i7(9$!XNHt}T^)zM|*uiMV)rt?oeym`Pq!ZF77Aot0# znu`(fTe(svE;;J6r#@tp-U9vj_dk{$o-?WG@{(|igA-LU&&>H~`|e)lxpS=7udLeB z?OSZ#lOOE&`5)i^#^Q39^Sh7A-d?q`=gQ?~7OwoJ!Zj7PQS9gcH6-PoxEA2C?`izC zx*aU%0+n@NUkp(VpLOA&?eq1=gqs?-7e4W_JN%%?dfC>q;fuAMC*I+csPB*u3RqiV z-Ssiybbe!hNE}yHd$N0P?yPI?*S6mlLZd_I+ zYQ?0aWVz~0q51+Zz1%Mgk6&2hIscgMoNHg6F)AOo{(f|3smA0#XNyW-%(~&a^U6Ms l&dqTTj?CSiByR_Q+leGAS+B zmCLCrq|7)dz}wp^$G@ngG_@+z(Zw*_x6(2(B_k}PO54rUJSCvaGsxA?lS|i5p}06h zH#Nn`)YQ;Yp)}niJiJ^XJjJOvt0XVeQ#;As$yMLq$So@`-_0}EufWeRxgf*Hu{6yr z$j#8gxhy-G%g8J&%UnMtqsk<$JU7SNz}F?oBf{O?(!|rm-y<{K*sCnV)ic}K-O|f< z;z#lDs{GtE4`0(%$Dq_eSJ$#okH(OBZb)Kc6(;h>*y%?Be{%@r>g22974>Vfmf~ zW`03A#)TnnX{qVvE+*PuIllhRVOasD-g$n`+L2M-P||fxi`GpqN=+aL){l%&U(~H!`YpGcqhRF3HdLEeP?5sESMrEAdNr_f7T)33iOgGW1AF z^)=y&3iUD!GAi{Ch%^aLO)Gb)@Cz<>Oy|+I+@Z0{nz0~^nc{Ar3CT))^jwu!~H(l;6YZ~pO z*CIT3%Tmqz5t1#e{~CIt*uqMG9K70|)F%EzXyQwiwHCbhH7|V3vRRH~o1`aM-W4pCtY#b-(3sUH||Ih~iHG delta 711 zcmcb_+RHXUr{1)p$|AMWII^@TKs(4kB-_h3F(M_$y{t4PqP#TJ+chBE#5mE{(l{{0 zg3H_4$0^g;G{o6A%fiUJpjbc8yU4se%cMNrFtng5+~3zfw?o z^Wr4KR1b>+N6Vs$s2odwPwl+Kl-$zn5+{=^H)nrKrz9hPODEsS@r>g2k!I$Zkp)r4 zg(Ys@j;U1vVfp1nX`b00ZmE_z28N!F9%E#}U z-rAnp8AV~~Sp`Ljf!^iedBtf}J{C@u9{$;&P_ogB@T=8LFG@`;PF1Mz@pmm!k1tio z56#z6P_g4G49cqXO{~v14KQ=B3d=Gr2rvmwiYzNgGqMN@F$v8{jV!AOG4~D$t_sr+ zuPU~1^Qa6piYzzLH;&ARFg0|};|fmA3y-SwF?9;ftISBvcg^+pDKaTcPKzoq%F1{2 z%uDlf@plVL&IJw v&YF4RWa6hQRY|d~LcLPv9*?I#xO{KRiehUn3kAuFUGWD_g(TUyU*`k>d*A#l diff --git a/secrets/gitlabSecretFile.age b/secrets/gitlabSecretFile.age index 08486cab..2f672476 100644 --- a/secrets/gitlabSecretFile.age +++ b/secrets/gitlabSecretFile.age @@ -1,14 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ NS+SVJP+SDDy93trbgEBd1JiXExKTwrICq+1PaKrwiU -CD3G+7lS3Tj8TTnq7SvJ6IUeXI3C2yBG5gur4BzszK8 --> ssh-ed25519 ugHWWw pT2c1JZF6fW0H8XuaaPZm+dfKZZpCI4db6w787TOimY -LzT9/b3hdWBzFVOF8rfauoqn7YIsOCRBXrwcHfRm0Ao --> ssh-ed25519 UU9RSA XrMi7VVFGlfOJA8PXVMnYB1zA68rWM3piU3PmbfeEyM -N1hnA0YuHmXSwEDAW/bf1vBi1KNqqu/9AyKiuE32iiI --> ssh-ed25519 yqm35A mRFibCplrXdrjyM0r4TLZNXoG4HYZ/hvQQlNSTXooX8 -gHBsmbatCf8uXRpbNV5hyv7ZJipLOXIk5YcriTZ1frk --> $:M:-grease -Jb1j7WgSsNXxCMiVCCg7Jxs9RxC+QCX/YiDIFdqcDNJ/MkwpduBTZkuJmnAXLRbI -OFRQclYQScnEGuaWzx3Vkm4vslhPGxQa ---- ZTwwjiMWAxpxtrQME6N4TvWSyLhilBfOkK9od9RRYRU -Kfyp=63B=+\%]6$ gǴ@_qu ssh-ed25519 WceKOQ yjAMn/mUv2KsHYr17wcqqHdtuPO4SdjFXFCvQnOHjF4 +F+eh/BpzrBw37O/pQpPu92846W3SwAzgSyujDuD3uU4 +-> ssh-ed25519 ugHWWw tw/quweHQjz0HsHZmsLRngJb6oT0e8f5jFPqqw9ux0Y +BKfOV9+xL1uEk50urbwOSVS3Sn7QXVX+KbLTNH8HqMw +-> ssh-ed25519 UU9RSA x4/sFTnitODlgtyO07UF+X9Kff0sj2jcTJrA37sDyRs +7+bswl1nv4I0XmFjJCiES+G9+w9VeLK82RdmLcbdlb4 +-> ssh-ed25519 yqm35A BjI00JyLCUbamD/K4+FpuUIAv/wiNVHD9coJZ4aCOCc +TW5JRbAITa6dgu8BRRU6SBuyutEzAwMta3GVqmFIcSo +-> $|_=-grease 1) ]oX +<4@W0/A +SWSybdIzij8SrcIBUqIuBaXOyQgyzSXRZlJ8vbcSNk8RQWU +--- LaiAgQq8rY4fUjjERN4vHLnXKTVq7CbOOZtScEDkPqY +A~ +>fVV,P!Кzس+eGv0z&5Id Ox+EDGc驉4oM6+{u?x &};A\ \ No newline at end of file diff --git a/secrets/hedgedocSecret.age b/secrets/hedgedocSecret.age index d05c118f969e7658694f9361798d96027710eb69..ffe9f8e688a28c61777ff7098a543d99fa29905e 100644 GIT binary patch delta 611 zcmZo+UClZ{r#{cP)Ho}`r=Zfu$SX1=(bX`|B{ZVK(a77)t+d?7z%V;3#mqM#*T}Te zm&>uVswg~HKdR8UBC5#D*rhDd$g!%-!!*cOJJiR;+cmYwt<+z;C_l{8giF^>p}06h zH#Nn`)YQ;Yp)}niJiJ`N%rn;tEj&N3EF+{izs%Xq#NR9+pup5GEhW`2%g}h@ z2Z?YuL*EcbzbHq~l+*~btR&w^zp%3W$iS*{5BJJ+%h23>!vfblSO3b~;9{;MKZ_y@ z?SM${0L!$3@C>(5)1WZ_EZ4}?kOHSb?d)I!)1ahmv*fVyqV&n}jN+3wl~ z&b~%|-X5loCMCs%Y2GHrsfqc?EaPr7CFtIR*2r|`o@=q~zD{{#T zG7c*$$kfja(D&f-&UX$-&UNL|)zwu9_i-uwJTO3zF3b1^CRFL%}tDoLxX zFerEPvJ4I>4Gl1H3-jgD?7JoEezsNrapvathiYH56cy|Z)ia;c+n=+8`SBU|Wor{3 xPrD$L`zqqrp1EmDULST6o9gT;DO_{&rjSql=97(?0@-|hhOe&w);wIo&zgyExK2KQ+nA+%eTC zpQ}7I(=^pA+&t0Cufj5?G9}0_J*mp}06h zH#Nn`)YQ;Yp)}niJiJ`N!Ym~()gUj?IUvlfR6DUE#nmmJDAd?3BtN7$(9$w6GR(rfGPkm%u)r+cC9pilwL&{M+08vi+uM8M z2Z?a^QqRx`*Af#$ZI`Mj4f`W*MbmMFjxy3$3 zMv>)~C2mlo7L`c`e!;;O0okBHO4Cg*N=+6S1{L( zQ}8p(kJ8{Wiwww3s*lJkPqz&5HpsLn$qWvObj=Lp($&>fFfyp}$jdP^aL-E(G%I)Z z2=cKE^D8S0sPH#4&Iw903D3?cPpxqCNY-}c+8R5Z;h5o?B|ftrT5YZQs;%^U_4%#S zmk0H3f5vg$VQ%=p=lrwXuFiO&WXmzVc|(^&{i>a|!M7JKOL|nAB4GdP)o=ce{>|q( LM1StRxQYh=hBnFW diff --git a/secrets/mailmoverConf.age b/secrets/mailmoverConf.age index f6fda9426f5d97566678086e8b3b3cdf13073851..7be50d5f7d540ee54d212653acbce0974a345f3e 100644 GIT binary patch delta 1000 zcmbQtv4&%UPQ8UkW~oy}qH&r>P?D)nRaUO0U#fOhhQ49CrK4Mli&Lq-XPUO5V?bf0 z30GoeqKRLbp|fj&se5E(vXi54igt*luW50jc0`4jhlf+HTUu12S!G68D3`9CLUD11 zZfc5=si~o*LTS23czC%&prN_GtE*W_k*k4!cxYw5ms^ytubYdDYe9CUQEqW~sJoG$ zyK{JGWI$ z#E;_PZXRwK8LlQKsS%EW+NnWV=Kh9ZVMZx|N#Ul!`YELW?vDBCMUGDCnFgL*sUe|G znTDPvRms{u5vlHh8E$U5r50WRLB?gJk(o)U-YEr@#@XgM&RNNm;~B;413ZheU6Z`D z!wL$0a*a&GO+1Q9iXy%IN=uA$vWm*weEpI#or^8firpf)Qd7dp3KQK+UG%fe-MlJO zJjyd&!b07XoGSB^-O?;9oTEa`b25^WoWlY^q2yJgn_iTfSe(jLmY81R?&Im=WRPQQ ztEsJ5?oyB?HyLCotv0bl^R*jrK_u}kd$ob=xynk zoF7_bR-SGV?&s{N?dI=Q>YMFv8f2Uim||d3=BA(Kl@{j9^}2o{$9jp<-lXMbzqEyB zKihouo2hi2O~8Y>t&`p|FeC{o-Bw*yWcul1_~nOo&#l=NxEBV5`E>W3eiO^RZNtp} zDk3>r+ZP<<%$41<>HpUCZ<<(~_7a>{vi!{A#%rMQ`+%T*@`jmCw=58)ok>w_n;~B;4UHr41g4{Fw zq6*Cn^fSZUog?!rvm?zz6Ma(ywF@eJ44sPgP2I9w142T%yp#M4-OE#wvLYt$~2 zWE>I}nI0OJ7vSRUo?q{l7*Jsz;vVAenqiP*?C4t=QDzjP?G{{_=A508XW{8u;hL10 z?;B*umFMbOnUWgd=igwzlSY~OKmuXm)<`b3a7wGBX9axd>UzA=Jo@bcs z_YSreJ)dxXx%wJqp}jNe*|r~9`^`?7GfpIW<%5%+$EJm0ddbiZ(Y{I&Q)bs;^f{NkU#XPqw%XsPw!ihZlKDCySCtK92! z3gx%d&Q}wU`mN{qC#-dL?_Qp1p~ga5;lk-v2+)_z_SpA#?rFhDf!XPmR? z6?;WNmN4g8os9GMr#(Hp=i~l9i}1r6_OLMMP3&;G8}`SgK>w+F#v+&g+_G7k^^4zJ znDB1-))TURMn1~?o-9`%{YVo1*?&c`Z}+S&u{~GKA2`3CFvYp1B4h7u$63dgeS0Xj z;k)RO2X>haFIrda3O96?;=TDk#^!~zXUwLbyMNECkysui$h)?A!Tx0vc(;}d)ru*t z ssh-ed25519 WceKOQ qpAnU05jruTjlo/wME1MrrJ6sOvvp1JT/VAwazihuyU -olNKfwBPV4DSLOJf5GXC99vXgAfzexxuFyrQihdU3gU --> ssh-ed25519 ugHWWw /EbPWAtHQ/CYlLCsOMbccflZn/3bz7aq7yoAn694ox0 -MVeOkP1Mb3WeiDreV1TI7vWTS6HWyqKuzjnl2VvpXv8 --> ssh-ed25519 UU9RSA H4a2fJERdEs/qOjI6DjtSE/Sf3015uioSfGjQrgfR1o -KINVfQCMm94u2gwLqMglDLh6k6am/C32Az5fq6yJ6/0 --> ssh-ed25519 yqm35A eyJTkjQnwqrkTN7naOB8Tnaz4ByhdYmYkm9HqIW+aTA -Kw03hBrGB3QHGPmfPJ/3HMTblNXDipFkZo43fz5200E --> .e"-grease -LrJAYRQFjd3f5ISoUsVJO+3u+zxQUIiDmIOet51qn836USFqn47MzrYtNxg+GnSp -g6bQlQfU7oX6EZz7Pvt+OXxwhdO1xPQ24ny9L+pz8D0ojvMzL5M ---- Tzlpr8aQK+WDPiFHUxxSLRJqii0PAPHOQyTfPNM7cGM - uhS+?OM;@d ǘ95W;3]JhCU~.,SoQ EKω)@{H6 \ No newline at end of file +-> ssh-ed25519 WceKOQ eEZvYWCG2EVC11UIinRUA2K/7YlmduL+1pvnnz+MawQ +VnmUxjL1GeZTKhb+hQrQbbvGmXoacukoQ82qfTGQcnk +-> ssh-ed25519 ugHWWw I9G1S7oFjqcbW8axnMpqNJdBqs9VY2+1z1WUZ0wpuBU +2iR7EsxMXFJGqMkf+okIL5ZJ4TrJaliQ5Hu+rRRav0M +-> ssh-ed25519 UU9RSA EI9Bmyv2cULFAkYubVK3N1iyrNl2IbG6pjDGFoCz+z4 +ZYdVKoA2N61UBQ+1MV6eO0HJpmuHz+BJ+lXUru1wxIc +-> ssh-ed25519 yqm35A FItjF+xpgmsCzEFjm4VrdV3pV88ZbzWBiXVdD5fpTmE +Cg6Ch09rQpmeZ+O10Z3zm2Q6eOwXwu/Gd7fQ56rpgV8 +-> AwK-grease 7I +QX2e1cYE/0RZP0H6 +--- TZJgtBFJBRpOwZRtT60cDtNo1UanyicGpp5ZsPXlFpg +(.̾q hY373>pI'\#$}b7畼zA I2V ky ́pGOXbM) \ No newline at end of file diff --git a/secrets/msmtprc.age b/secrets/msmtprc.age index 8297dc8529fe4ee125ddc4fd51b98c3028238282..972bfd757bd4c585b585efecc1f0a4914c7a0495 100644 GIT binary patch delta 1196 zcmey*(Zn@Dr{1#IJjYKzz1XwRpxDQ)%qYq%syxZdKQu$zuS`G7(k!aP$kN9++%hA> zf~ztrF(lW=$iT=oveY1}!rwpCFQ_Od#n3aqyxh^EBq^xULOY_&BGe=#nM>DBp}06h zH#Nn`)YQ;YAvDx7DA-XUA}!OSBsnP3AT8Xj#MRR*z%AV;#KI-eDInXtD5B7-w8C89 zFv(Zjy)Y=7%frLf%`GL#)5I&MAjsP-vN9yd(xBWVxg@d7B`wD}GAlJD$}}WU-#jOD z;z#jtQ%{3RGuPbA;B51v;Lt2{pU{vZ*WlnVk6=sph!o$@q5=aaUyIblykJ+ZQeTri zkCZ3__w2ON+{~oB$fD4wyj;iBG&3VZqh#YOCxeKzB3Dc2#Ioec@r>eO=}}?+`o0xr z#a>1R5k>mW!R3h|+L6g_7XBVZp?SW^fd-|PrBx*^l^(uaUWrBlRh~)tzG)c+1s>VC z#)bhYiOwz|es1CE8Tt7|;c2NM#^zq85f+orFiO;yBzc!u1Qn$kI~Inzmjo9ZXZpG) z8EIRZyBnC7I48LVM|f44W+$fxy1R0fdYM!j28UZ#nq|8bM!IE&2J7dfxD=#$q~(MK zmOHvwRG1lsYloO-CFY|?fQea3Sz)?@YiYT=b9qjFrk|mkd9h_#M17iXaf+FKVx~ty zeqym(q*Gd2USXkGskw^@S6XFqX})=4fRm$+WRcJ;zx^>~nsows93SlV`;hCXc<&kBfJ{D#b0YSlmAtpH{Wxm-#ZaHZwA?5D% zS;gsIX4zip$y|vh236Tv+EF2;1%6(I-iF>5+4^qjsjiNp`p(6PiFr|m;r=f90VS@% zks#}w^y78Yi&7JdQxytBs)8LA9IVrv!xN2_6|D7CLd}buy%kdZ^_;i@LZZA~!o1wl zT(Xl)ivqIzN>jAma&mIa3jF+2E9wg^^%E0Kvr_}|!+rBzi#&473sbbyEi!#WJ)Jxw zj3fO^xdNQR^_}vHs+?V_oYI1dvvM=igEEXuGm=WpoIRq_e3A4|rAw zR7V+IvfSgG;T({@_P)?E?t+Cq3dQYaYi&i>8u*5yX|5-1 zf{oTPx?2~=NlASV%S}15wPT)uPSu;ov#w0y*WS;{YbIc_s%Y)n_IKra|DSOSHpsos z-h6p?(aDL<3%|K(G5PlNoCwf4U!qxm$L+`4W4{;QKfUqv>Ca8`zx?aS+~xj3e$wjH zJMQ*L*UnopZ<#RFv@tO^v-#LeukXKSE-X6~@@U14TRX)sKf8H6GGVL0rvr=j7N1lW zEc9O1du9C^rBDxBQ&};`B;Vlg6U$m1&s^B*!Ornm`mj-o>zr(U}%G{nHz+%ljzG}164)Ga&D!zabO(ksWX%D~UG$i&dcB+@s{B01MN zovSp^vC=Wp!_>u8+b60jII-9~G%GRGGRHl;!X(H$FWK4MJt*Bh$+5^Yl1tZ4p}06h zH#Nn`)YQ;YAvDx7DA-XU(6PeJt;8@rC9}vPBrhsF#4X*kEI%={*f2A~$Ftl#G9;)d zI3+d8tvtM#D?cTm$VJ;Y*fcaUCp_K2(=eORYvKR$(dfk zmH|d4<%O>4rYQl=`I#2JmOfri`dMzCnLdU7*-oxTS?-QpmI0NHhG}j==>;y4IjQbO zt^uVkJ|Tu7mcj1EVI^tC7R6=$#z`(EMM0C#FiO;0m^*r#nB^yCni?dAq~;eC6u4)k zx%lT;c$!p(mK!?;WEC4!M)?|*W&3jFq$CEoIVWZqq!^d^IvE(36ow?3XBCx|B)X)! zBv%-kBt@lLM5Mb{ge0R!KzMShw|}5QNvTCdaAK}gaJflPVn{@xMSZxRrCXMJW=W#4 zbGA#RQ+Z*!bBTFHc#@$3SFx{iaYaO7Rh45M_=chw1~_q!>XW?ENx2<{p^79pcHf8q$~rjx<`8Tn{#I}-z!-7Akfy=bJqda zZ>}!`}KSL9}3s*U7a_5HhcZX+!rA$`F0!?_|;US9WQ^(FkdlR;#iDP3|q*Q_ytZ9nU`G7 zKby5!(zviLll6x4PtKeF)>!{_IQij#Z;j~074{t$H3c_%>248={*-IMul(`(iz^um z|85F6bdFQjyT#hkr+n|n^;SXuGDNp>^fT;8`x~(#tmoYh<^sltvwf2^6ps8|CSc>m fk@uTjyU?^{#Y~s_Awd&?vII& diff --git a/secrets/nextcloudAdminPass.age b/secrets/nextcloudAdminPass.age index 369dc9b6..1f6821f3 100644 --- a/secrets/nextcloudAdminPass.age +++ b/secrets/nextcloudAdminPass.age @@ -1,13 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ dnWu4l3NWzlN3TsZgbT5nn1tLPPznhKgtirZyVncRQo -NBlxp4WIGKr8WMwrjWhmwUwRUiYhmJazTiDCeGBgfps --> ssh-ed25519 ugHWWw 8y0PPGkXTGozHrzkl5VQ4trlfkerJ5XpZEsf4lpNWzU -PtX779upYtIy7lAD+AEia8iuZ/7mys4X1KxqjIHR79Y --> ssh-ed25519 UU9RSA HL7RDGsoGH60TlPACYttifhePGr7BIeYIHvFW2lIpVk -bO+RcBrb7VvcoX6peuU3KX2bjm+Mmw3lmWPz5t+wmrc --> ssh-ed25519 yqm35A 52DLFqx1HlBJX9tzpt3ptzwsAotA486ONA7gZJ5gd2Q -hCSkxhAMaQDjC2Q2uTJpNlk9qaL/VChVTru8KyWQ2C0 --> Z8gJV-grease V -Yi9hZNEQws55nB6boez0XJyoDOzUTU6zcsqpIFTM ---- uHgE4jTxXH3Hrv+9lgqigfayMqnhHRuH4SpktWiJMPE --!12 3$'#-]`Yk66>d`KW=:"yBa6u^6 \ No newline at end of file +-> ssh-ed25519 WceKOQ lOuhio6aaOvb4oq4veoYYBMC1yYdF4NtWnAh/lOmtB4 +OZ7osbB9dTkZwYT4mRTqM3OUbjGsU+u7+qV7E2o3OuU +-> ssh-ed25519 ugHWWw VyFVB2yuSsVHTqZKR/nsoQMJcQfd0s+vk1Y2zq2r+3Q +djEwpHwRzo761CVncBJ/S0mM3Dt12nkDGEf8F0kB87c +-> ssh-ed25519 UU9RSA 4c65O11kfxiW++STYkUvsy7gZZwk0Eea52ilcXtyGiM +BUaGhHxrdCA/VMVV/X+M7YDUUA7OSZWpZUr1TmtUORA +-> ssh-ed25519 yqm35A Ycl1UjkpLJLZD/KhrV8lwqMZt1JaPBOXA5Y1oddxByk +sxsXAtOITNA84/nZfNWO+b201DqKzxkQgsacDQ4qlfg +-> 'D3*6-grease 8:[~6B U #TV':8 Q +H2fXXegX5x2UA8QooaTgR4CS/rgWffxPHmlVIBYwiuYkML3a3OU8gszcpAs4 +--- dW6nBAoEWeYuOFlgiWUwgwwRGeEpI8AwFlFVd9Ybqlw +\рsJ5:!>,FHvUw~EKQ]&^=鸼DƹHFW"+?Eav+& \ No newline at end of file diff --git a/secrets/nextshot.age b/secrets/nextshot.age index 29295289efe1e035fd54a32c2603a65917891b4a..d6063188702564daa50bbc77230928de42ca2803 100644 GIT binary patch delta 587 zcmeBYZD5_CQ=gdZ8JuGolo^m%8sg@kofm2Bl9Z8WR+v{&kYrF*=@+3NniTF;rXS^! z%;jd}k>#Hm=~Gnc<6LBH;$fas=;PyL?5rK+mX_(6pX%n9>z@;znx&ml%%y9mP+Xj$ zo0?)|YHDby5E^P36zr&w>}rsDDBnN{fNZWid}l$M`V>``Kz zH*FSQMD)UJ#k+?UfT$5#;6VY+&vgn&s={g?WT~aBgn6nR~H!W@4U4q(?|mW@%c!mwshsWnMvswqtQnaz-eZOO=6n zaaoy}nMIUEZcs@{nT4gXM_G7@aZXridWuD{yIEjJN`#A{d08mPCp96Vy6Hu!iN&c3 z265_Ddd-rNuK=9yae${JY%W^hNpm_>h-ZynpmKbGCgCjLN_182)3s zX4UfUj3}=)c3!1Vyk>Nrtg&m9Dx58w#Tk6QQr0n@91x8SevZZ>#czTu84eeVe4*Z@sW}y;pFOT~)7x_;>T9 e_A56ReENRjM&q?K{u?Ll1a%*kK4_HOkqrQqvEe8H delta 603 zcmZo*?Pr~!Qy=W&YZ#Q~?dNRb@8_Nw?(C7`lIrM} z%H`#jpI>TW9;hFg?Vg|Q=;9QZRjREY?4OzAXq4<#R9F!fY~X2%H%%y9mP+Xj$ zo0?)|YHDby5E^P36zr(roLcNs?&NQ7ZeH$Y9H{T*sChSZ)w(oRtw;;hB^f z92lDIACMKu73rNGRTSyxX5^$D;Z+ps8SIpr@15lr?TUv2Ym_>wJK~OnYo@H5X znO9+Qwy8m?x2bDrhZ_@upnvxoPH^KJ{+eo*~J`;Xyg6#V*?Z`srzofldJ>$=N1c zy1Kdw1g5u3AjibM0ck@w@JN zeR9HuKNh=t<#xVZZ7iR+ptOFGNao{mwLaO-DhaRVk1xL8I%*y{^;?18$6saF!VDGV z&nGPJ?-9Q!C&h7LR`a~eCDJb?)@}4wiZ3WI51iC~%>UY37yjA^UdCfQ45yo1o?c9E u-rR6Ge-ZBt;ZrMTJEqFLj_y^@Se(D{qUqPQdAGUtGT%RYhm-$Waw`D$#o ssh-ed25519 IbXxfw orJYVdHo5rWgNM13FJJCVbqfkzBLzsksP+EdK2ft9Wg -QobeyKq4f4SKhBnW1MvdSEx5T0YH59JWfITNKHaRApg --> ssh-ed25519 ugHWWw vnBLMl05Q4DhDTp9FJ92fyEmJ2Ju5EiLJp1GB/6vlFU -8JKEnRoufElFBsHdYqliKJfuhcpWQ80ovjsWDlcSDxA --> ssh-ed25519 UU9RSA qX+hCh7/m2T39yKzNgdCihN8CdTq29esdCcqTvLg+0M -hSp7ILtP6iUNDZD5yjP0lBuRdpDGkcaGi5zHBGnR9FQ --> ssh-ed25519 yqm35A XcSFkASOxS6n7eHRa6k4xfdXJfMSW8II8VmKdsRhDwY -/E5GTSlWVZEr2hJ+iWu8bPUi9VpJbn2uTUKpoHT75XA --> fpO-grease l >* -UTBlg3SNceOt+whK1GODl4r9/fcBHGFG+ij1hK0ZDHDUEeaCokRm9Wv8ZfnusBzr -JNCyu+hbPZqg+AX4/5+MPr3WIm9Wkjj4BJOAdodsggcPfybHrnhLq4VK ---- I0Fe+eCyM7X+BqnQULaRfdC1FqgFV8EFaOnqGI96qXM -L&m!4+Usf2!BRvGljJ!@<( \ No newline at end of file +-> ssh-ed25519 IbXxfw EWdIdabXnDGXxOu34VcBYTFa4KQrRC8Y8ivW2+WTLXs +3oLH24hiiRVS5Hn5o01NmSG9gd6aHqbZDmRW4VbH//k +-> ssh-ed25519 ugHWWw sdAAPBBAIJkgebQcWIR+tg0D9Y5azVyafHFkDjZLtSU +r1F4C7E1BYMyRUoBWt8/Q4rY6An+9vhDdJSvlur0Mwg +-> ssh-ed25519 UU9RSA /Ok5w4QWJO1cB3Rw5/hvaIkUNYCPbDRi3brSqf0tWB8 +fPuZaIon6Puq+N+jxUpsO00hBZ6vrei/vWQjor6h9Vo +-> ssh-ed25519 yqm35A 93dw5smJPW4RbgcVQNymJ5Zl4BTg9Z9C3YSdFk7mMl4 +EURXDN7/2sUA9wIjyoqTDCrQl600Wpc7QKc4YhRsiCM +-> <3sx-grease f^h9GH # py +Q5YEwLO9Z4he6zc +--- drvKpikKIMxW/wjNDQHqUaY9bMKq9CG2jm5fKgjqjxU +D |t[Lqd,>o8e%I7vP .g^c՟']fDo \ No newline at end of file diff --git a/secrets/photoprismEnv.age b/secrets/photoprismEnv.age index 640951f30868cbd4b3387ac1c0344ee918434678..cdc004bf3947b9509b464798d7e4eb2a89da74ad 100644 GIT binary patch delta 1299 zcmdnRb&YF+PQ726pQ)E&fn&I1V5w7p_933 zR;Wp8WKf7BS7>39cVK0axrITpk%e!GS4m{KX^3%zL0Wovm|u2Qx@T^hyK6?afuCpk z#E%kTULFA^p%tla1w~nwKE)CGW`TbCo)P9|P6b9~<(84&+CJXSUb&Xu8RcA6hHk+r znT`=Au8}F>2010UdEO?$#m0Fq=_M7J#%ZnP4mg(pgT3AqJ5U5||?2{N| z9F?P=>u>36kl~kJ6q;`7o|sqWSk86FLRsE!D#OOsTq%FX;QWB-=-+<4ygDMnd*p5C~FKjF!0*E{}yuI_MKel%I6{y?Y1>tjMQe$_e( z37$=CUFo4RwRW-Y)ePMa`=b}nzZ^d+Ym#eYc|p z*vLl7{;A~s($&Q`ODv-AJ5)|nY`bb$8mG|~Z z^}Vy}+2_9SSXp*C_%KiY?~S?HM=#bo%y;K``8Y-H`HiLDx2A=>Xk0VZzS?ck@vKP~ zw|1r%&#t#!b%sy#{l@JtJ*XFn{F=@EUlX(c+*t*j-2HMr@wlwRsEi_s-Cyi zVvc$qoo(p2J}3Ls`89vc7nEMyqiB6b_+E_ao?G7%=LT)sF1dtfgKns_t-`Y%(_F-= zzn530XYSp?AGN?QFoP@l}30(Jrz(=|X+;bH;-W t8yt7_&%7k_e?vv!>mQlHMd}5gSn^+UZfGnz$jK+XJ=*?r^n=cC8UQ_~C1U^p delta 1271 zcmcb{wTo+lPQ9CpZ?bP$rGAiQM2=gkYjLS|X0~r&VWFv!zG+E%l2?**MOr{)rJse9 z0at!_ig&tcZly^^kfpYfS8zsXL19KkfQP?fYC)7qvAbzbilMKYiG^=vAeXM4LUD11 zZfc5=si~o*LTS23czC&jp;?tR3EQI1t*CdHHE8O7@>EsB$zB7Gu@ zD@?+S^1UiO0u3vj4a^cvOv@6ZQarsgU15$v4nRUe+8ZDtyrm~Lq3Y*AGi;%QirTU4fRpl|B$pYN5Q7|7+dc<+U) zx^JGp(ainztBvcjp6JJmyDvR4ul|u&<=0>QK4w2-fnv>t-}{@F3PiD%?*9KuP|Ehu zn;WZdM{JL>jy)-~_o*~T?d8DD;TPF6#dzaVcdnO+cDela+sxN{#X0NqU8mZ1bV-q-=YJ{pG=}V#$(kRh{3Q zowvWLJnyE~^OQR(AG=*b7QL;oU;Xm;PT9Pxo@&DXdW%gy`lU+-7ZvGFyZq$G%S{I+ zFB8?$;M&i|^{c*!SJUJBN|_Hi^a5A(#3kmH*s z)c?GHPxnYf&ZdH(Id7j^MTBTx(UwgT>OT3hV&m@mLy3nLEN!(2XPsonOu9%TDZ{4uo}~*hr8?fh%=fJ;YLUtf9XaQhW`t2;u|90jJO1ZQ7KPk$faose`Yu57hRs?}GA zgB4dAm9uB3Y|dv9zsVF?EjKSrW_{Y@az^VJXPaNPWEu4ybDdiJ!mGEQ-}S?b)7pES U+BatY+LkM}{=>(u(}H&a0Ll0)00000 diff --git a/secrets/picardResticHealthCheckUrl.age b/secrets/picardResticHealthCheckUrl.age index c433317f..b9869b5e 100644 --- a/secrets/picardResticHealthCheckUrl.age +++ b/secrets/picardResticHealthCheckUrl.age @@ -1,14 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ JDkcqqpLDPxZSSbhn55JWhHhvbLKSAs/h9MD4gqYQSs -DARs9juLiAvXZD4CuhlFoxQirOoQ1iFXBpMu9z0HjQ8 --> ssh-ed25519 ugHWWw GLIWklda27YpV1tGJfESvT6crnlhvUJEKWGcPbI1UwY -usFma35dG4VaulRY3xzxeuLTvyJP2arNO8TIC6KhRcM --> ssh-ed25519 UU9RSA 62llN8FngdGap7sCAGLlnsNYVSp2Dg0ABHI634DqkG0 -DMfevYUtFvrE7iyEq53ez0o0bSZAMoQAhEuBf2tkEeU --> ssh-ed25519 yqm35A iY0+ykvceMFsXWqT/NSPXB4BAWXaT/8lLxShCQpbchg -PhA3w9Y0uLSKhN0pAljXLedj6J9davzZT0kpetBoBj0 --> [i]aw-grease rHAq #, x53E=3h3 C -pJ9h/R1YGDkIfwn3d8GLOdyo7eA24BbIi4otBxa5QSkwzYJU+t6A7x6a+TF7veir -ehXsrUbZUP394Q ---- iE3IeV3xOGv1rmkvwU6UgJf/BGVgwI/aQGQ4CpCPn3k -Ό]ˑ WzI0/BUU #tRe ssh-ed25519 WceKOQ pTx54VFC2SW+QDaJbJjOmK2OxoMSnV/ajYCqyKHFYzg +Av19xyCszRkkhNKCHGqxP0Hxnd88qjbyS7UOVaBywQ4 +-> ssh-ed25519 ugHWWw QFEEod3gCTXUc07t9vwhwFMCtVUkUDGez4FeQbad0VU +FIOYIkL4QxClbK+rdSY/i3XGaE1T2mA9+NUrhrEIv5g +-> ssh-ed25519 UU9RSA rIy8DkpSIJ5qr0wWsk4wp749b5DvKWan+KsBj+30DXQ +MRF7D83RAemdGYbMWrg5OqNAhyCzwCq6lE24bNgBqyI +-> ssh-ed25519 yqm35A mmgR6OxpefBI7gSjcN7bzqyBkb6AM1ojSnxpYOltTAc +UPf0w+x4UjfpZ+rEerrwq1JCUL6BjrEMz14Lzj+ljME +-> $-grease Ycya Cj:~N &H1`Q'j w%,A +UikJw7v50qnlDNuE91khhmU +--- 5ECHHehTN8pGD5Qi1BbxBB4kQG+HuZy0vDDE7M0ELtY +B:QeܗF ssh-ed25519 WceKOQ MmHJlPN12IgipQMPyjyunsJ8Q4rWoEAIYKHOSDf/JAQ -6N6iIQ7rXwPfMtbTmiC2d6J3j6EF5BfjxQm4xififUI --> ssh-ed25519 ugHWWw xI35S4lYeGC9PwiRsczQIJMDNKuI9S0s5gdJCC6im2w -/OWHGvrflZ1PezkyoIIrJlg3zYuYsX+g0w+wKjMvFJM --> ssh-ed25519 UU9RSA H/+PV0X4Gidmw+tHGdYlXTNMgNBlp7l2Op5PDvqTWVg -tdcd/4BFm3wHchVzFXpX56OGfhOLOxXPiJND9hbHFT8 --> ssh-ed25519 yqm35A sHEWx7+AeHkeIYr67AvmoqWvoJL430rR6wdkHsH1JUo -Z2ejU4m3vxAOGWsUthVGVKYI1m0E0NNvWSv6B9J63fs --> iK``:o*-grease !+K(H'] `+NW[YHW M1 PA"=X5 -AmwC2oQOKlCHUI9eM/zgxr51MFk ---- ztDYaxAiFm7EGiwZIaEidDX2h2WfzZq/V9kPGwbWOu4 -ݟNuSpH1QMrQF~(OG& -D7$3 ssh-ed25519 WceKOQ ZVtkXRE3WKHnP3LQWidWgrjQKMO/+CmVh0wErqTTwUQ +xE+IKYpR2QHas3+0S4T1MWv8hMTzDXtCAwUTCA4Ibsg +-> ssh-ed25519 ugHWWw aLnaBGnxWM64d3ETirqXHeO6aVFmaPNfKPklV2ZMkgo +HaW2hJ4Soffykgp1FVuS61CSn7OVwnklEBU7WO2UKK8 +-> ssh-ed25519 UU9RSA zvijKaRpugMZHQ5d1J1BKJWIvLFZaih7kEu+dTEe8FU +kXxtTOhHQWVh7bvLYJlQmFcpj1e4nUXQPOVznnch/ac +-> ssh-ed25519 yqm35A RmuKFtSrEB4r87600KBpJJMQvkbFSoa1D9vXHITkkUo +1eRldsBcyJPE6SO5LC02ZyBNSFHH8fiIJ6pdU/QA+TM +-> 0"-grease *7 +E0QWHsRXPNHUOuVzGOk8Tr+1D6l+yp+vCk5lirAsTNg1+uLhOS3lVPE+YiTBFXzC +UTFEU0kQIN0KNrCfHToPYKh6hXvUMQ +--- AozCj0sYojaMSMJF5cL3s+8NhxBqfswkolKlhvjx0lQ +Q4$?'V;]UjĖ+>vsGϖ3˱z ҟl.\>!yK \ No newline at end of file diff --git a/secrets/picardResticSSHKey.age b/secrets/picardResticSSHKey.age index f0cbfe6fae5d20abf5c4f66d8af26870e812cb0d..c242e25e8c6baa1e42462db3f16041e05d87e449 100644 GIT binary patch delta 935 zcmbQr@rHeZPJND-cV)Jlk(ZBmSe{FukA-n?fm5h)YGkIlc2-$gQ9!wNP)SazX-Z~L zK38I(YjA*%yMdEeV!pP2il4cwWqMgjNLhAqN^)vdd1+Z$fWC)OWoBWH374*&LUD11 zZfc5=si~o*LTS23czC&jVQQgUxUW%gh)-&Yv3Y)>rJH|AxO29DQi_kChpTU9c4lH_ zl$&;{rGJGlS4O^xznPJ1hPRh-U~WiZaH^BGc1gZlQMs#+VOnm!cA%M;ak95_ieXCm z#E;_PuKGDeK9%N0{y_$2mMO_zj@ia3xdEk?{;q~8#YuUFo{?2~QTmC7<(c_h$wj&4 zRT)l^DL%#_j&7M%*%7XZ0cOFb?kS;pIbr%a>4{N6l?6^g`i3Tx;~B;4D+0rP^871G zyaE!9D?Rmt1M@6G15+X@JzWEQE8K!Ii+wz`tAY(Gos2xW^vjAoJ-kxW^3(EN3;n{3 zvK$N3lcG{wEZmLq!z=WY1N4(il5)(<0xKOsp_FN&n_iTfSe&Y$ud1q|kZF?Wt8JiH zpb(oH=I!EQpvdK6kW-)I8yQ|wq3;z@kj|y6tE&)D5?-F+=%roY>K|T~rR`A?lvm{D zThmpoNZzlY*8Lz8k`YfQqFZuC{fGmBP8w{s$~f+qS+o4N)c=dG zH|_~M#rfvdN=|W(zQb#hHMUIL#&Oy2$#Oa0f0qg@eKIywSALpcmsp?p`sC6RE45ri zd3ssI_B;jy-6X$BIQ2UjIi5~b z-rlz8MNOa7xu+Z7{!;TS<~z=N=hWHE+11N8me1|`newjjxb^bn73vOuFU6WgZuOt< z*|YVwl>8q>F(;FYt@q}o*&Q?cV8MIZA!)Xaz1yYh=kNZ~i)XvA_VB}de%xut->67p4J=JnT2Nn}Yg*~(>#3dNW?tdxSQ6$KW||f1W1Qt$8Q~b}>mOnkmhPRF z8o}k}?d%#6kZPVxSoK)df;9cpSlJ1dV znqCxPQ6A<|uAj_x@aQq&J$-?lGLaYdEG)b=D{am!(TRnpTrY&x-(C0Mu3>KH#&4R_ zb2t25r1SH#$R*|lFL&EB96WI->yJIBkt7#a^HLGMEl;jD++ebstJ3R`F7W!#$?jjt z!MpZ0x&9E^tsb`UyB*V_`~RLV59c_O!D^N2|J{DZ)e~Vt{CDhr3E$mo`AqET|GK%U z>$d66xYlFO@qXW9cK5B5vjun5_tdYPon7y8HaAAB!6jyg-u&`7{)G)EXXr6~o_?+C z-qxLEY??EJe`nX`7Hb5#e6-D%c$sKrz<*nyapk7h{k&xc+ci?=-~3*5qTc$}g|>2I z;onQE&fGbDcRzb+qEfh8fJAp$Us|r8WaYMHt2NXA+gv%Lq4&*o8oSz->uWQQ|EWKm zCw5?I?A3+ghB}+lyw`KD`5R{YXIG|AZ}x6xPs#X*yKzENbDud|JvuUL@ziz&g&EC1 z3*Nk1`pWAaqh0Yy*MAXw7ESJU63LF;k9VprsHxp{{+{h?xlH@VIpVAThO}I8E0O!6 zmOMrGl%wu}O1?5L=SNRYaXZDjm)=SbQTeH(VxZ4Ev0>)_pv!VB`B!ILOL4yZqSwZM SW=V!+zE9;_Z`0H}FSGy_Q;wzp diff --git a/secrets/pulseLaunch.age b/secrets/pulseLaunch.age index 8b2e3620e7ca1764b85e3a4795ecae6bfcb3c5f5..fe9c16d96a409f0f7ec21f09c92b72164b8cec28 100644 GIT binary patch delta 1061 zcmcc4ah+p=PQ6Q1MO1K3d6B$HU`S!Qmq}%A zBv+naihfnPaao>QR(evUpKE}rmxZrcilc>_wtOsZ&_7Nnw#mhKG@O>5di|9*O3erIGHbp8g)ismVndDH+AdhCxMP6|P)n`bFkN z5sulJem+KJQF;F9LB7UCkrja!?xvAZ<)->oL7{<}0cM%bj@clOxa+1Dr6v}qDkMhw z8wCc`MJbf0D`#jYn`tWK*%i76aG6@T)EDFj>HB(xMG==W#$w*Czkk?)#rxz zR}}?2mKUd4nt3=IdMD@mIR@mqnB@O`Jgwdf>i1U&Wt$am`S9JH@q^!v!?XYHefqA7Z&&Y$ zna8yx7>jm)UzXk9r+h&y+M<1*%#Zi85B2?wnev!tZI)Yewp_~oO6vz+vm4}Y{TB?6 zsNN-c`cT>DaJH~#r)pBVS$4&Ls>+kzGq0u(|fdlWX`#P$tg09`DSKydiVSHlYvI$dl-Nd?DG!iC# z2wHN-;F)Cc>9ikS|07rpULOCF=p#S%SC>YIx8mIE2Y20gz+*J+;Q`gNIS)RbwytOH zZj3Q~@}048aZ&ef%c^y{<^G2qg!N(={Css^%~#znlUKj2N9pr!r`sQTbsq}Hcx=5h zi*wVtqg=mLs@fP|Y9%RMGAX^}Q6@1*P3HtZGs}uoC#FVzWV-p?;r1lueAP6;`dR7M z)Ks1tE#@qf2(R$$v#{{_=Nw@5w{2?WN6Dt?UV9epvU+XR}&T6-X3aS zd$RHN#6K1n-#=S?Aup)Fkm({`=HIDZ9P*%tx1NCkn*e4m1G( DEQPdZ delta 1061 zcmcc4ah+p=PJMo93scEKna$#zeiCJ!eE0?aFLUD11 zZfc5=si~o*LTIREP_UzdmxXbzN2HUbOSWNhadv)Ynro1;p}%KZV1QweW3ZdES6I1U znvYjhW|d1aS8!0Kdv;Eix20KbYI(M6rC(ukV5paAnqRP6g;AD?rF(f;Ns4p6nPKF_ z4-)n6#>Hhh$>oXZ`9bE1`DvC;Ihnyh1;J%uh57y=nW33wrAfsWRcUGFA=zBMRo-UK zWvQikUIy7E5up}=RViiZ>H2<_nXdY!j+H5nKH){V#`*b9k)9xrc(`Oa6q{)1rWd6q z7N;syS=i|*SXdQ!Sl0T~a%H5Oc)OGu*B6=P1^fFOB>A|emAN{4ROKXlCs(DH7rA-l z`6rv@R~1HNJNZWX`BZx4cqUmS1r_;Z_+>a*<`{BCIA*$qdK5;a8x{MwW+!?1q(-`y zC0FKpSrlXhMD3-2DzjsT9~9I)_WTm z8ah?wc;q=cnPq!=xCEx>8kqW|=0%i7xkToKg{5;%xxV{vLAdTs-oLY*ZYVA5WNm5+ zHmRSwuq5q88h3Eq%`M3(7k=2RwsEnMUJ#ZaBEMMu;rm0)Y@1#fS?S))xXhmBT|BK~ z)4OX1tW0$g>k9S%Hx*wOK0NvJC8?^_?)BTav(+x%ysFv%zPpp1=gZ0?pInbm*{S?q zKBXn6MB5apB(#Ba^|%4w3Bi9Ctv(GeR+MFY0!+D z^-FSAcBgA;SNA#Rt)v64tUbE)x9@X-I==6#Y^I7<-n`CWWGAqz{_qB$`C98g^rsvz*vBq) z<804ml@IeT{HP9IA7G_sz0~sUC#TN7Iq$eGTw8x(!;}J(@}|C+8)>ALjl zty*RqGa;qT%*l@qTf4Wa1T|-+d2uo3{%BGB5>T0LJbl&eoc3v(cmMvrUwFoJ2A_}+ z=GXSzcbY1Bo?kz-BIQb`&LS?0wb|N#Hm^#$5MJ|BKkkZjulLrLrN{qx&Y6}U`cgRZ z^6^7#=EvS%yO`4;&h?=3L(Wv0eyh(_y>Dq!4F?UyY)*cQUN+-PkX3 GOBetJDa48Z diff --git a/secrets/ragonPasswd.age b/secrets/ragonPasswd.age index 50c0508e800ad4c97ab0bd7a0eb1315d1ae94f5a..2e7ac4052ff177150368e24460774f40e28d9fdf 100644 GIT binary patch delta 1037 zcmey({)A(KPQ9_SQ&nJUTB>_;PKukhQJPVfhh=uLwn<=~kwUrC-zHkYoQLUD11 zZfc5=si~o*LTIREP_UyyVPbh%W@2DLU~yJ?aE?KanVY_mer377t6OTQaj~nuOQf4? zmPt~oVNg~%S6QB;MRK{jezIS#OQ1n+c(7rxQK)xONJ+4nM_QIwnMYzog>$4ufqzcm z#E;_PmB}d?7VgQ}&S{apMZSS%X=yIuxnYL-DPEP~`jO75Ax^%=ekBG@nH8Q~rEXE_ z;m%?Cxuu?NY1(NP{$^Q`ZeC@%d6^zL9{y%Ng%OUG-UfjgM!unw;~B-nd|gb-Jky=s zd_D4Af=acM%aRO(i&N7>!(9x+EnSU`-BT*_i?rPfw4GhK%0t3J(u#|NqWto*j6xEt z+;c;#jNHtM^0l+Qs{*QmgHo~zQ%d~|O_YS!>HmkH#6f>XP;!tGPgtzj|!8_ z6p!M<2xQl70MA_07z~4WhDKO;Xb>%{&6? zLjqh~D&0yvlDW(+wY|(zLIV9V{rtW21B0s~Lh|$tvmO1s^qn&OEYm{MDm+5mDlDr~ z!M-zcws14jO)pAKEKXI3sH}_&wpLOwHO~#nHVIa!RS2}MjN=LjOf-#h%lK6rXg zDtlvm-2vIwjBRHNW|x~)eam(^5dSv$#lwkmS9+(XWLACem|wrc;GVF4YTuTL_X_QD_N~1BoRh!Wydl=A{^Oh4=u6FeH`+1O i2Y5`d5AeN{vR~5mOXGzyPQ9z(?N|bYsuWM$hv$sh}k$X{SRiV3y1(&X!LUD11 zZfc5=si~o*LTIREP_Uyyaio8dM|g3HskT#Uc3Qq$p__?WRA7{wxxQ~jw!V9)XJwMU zt9yECNTiVoSF)EucDkppt4mdxx4E{PPl`vjvr}o2Yk`?rkxOJqMPhbFzIKXprkii* z#E;_PnL*hhWx>fozLq`}sbPjL;l+_fc8SWr6uz;Vz+J z;n|isJ}$-i$)=XZ23gtKzL|wC*+$yVj%8^Tg(Z&Rsgc@Y0j`0Q;~B-nl1n1poXh-N zE2F#%{oS)7D}&4}L$piX%p#o%b0hU5Gd#1jb5qhn$}m}O1-Ko%5w690)qWa3d<&+VU(yh&I<|8Nii<=GR&|D%62JFDK0b2 z^Nn;aDl93A(09_;PD@SGHY+wtb}i>JcJ{0^@r*FaFv$usEHbW$EUj=gw#W?5ba790 zan!dkHpwe+%nHwP&&=jRi-7RtRB!)4h4eDVFu(jFOJf(u@ZfOms^EIZT+cEKLnkLA zSHnE_s^E}v^NI-bN(0O6axOm$OJ~O{(_o9>^5pQ0pu#Fc{fvTeW7C32e@|!M%D_wu zX_nbOnc8WkVJ<=W^_gLz8O9;5Q7%p%;chNI z=2ebd%Nq`CdcAA+jL5>{?P7Y4N-MlLlj?mlFT7T9`>dPXk$9lFsODKhcZNseoC9;C zUOP-`%zHh+2N&Zzk^qHyjbIJ-?+8BXvMwzCuZ?&i4@j* vRLlP ssh-ed25519 ugHWWw Rc4Bk1tueLDmamuCSlPNVAtxOPfhYoqOtCwfMQXn0Ew -3N+95+7DBIpnqUmrKxjBZ04VKJXm2NRIyC0FmHn++/g --> ssh-ed25519 UU9RSA cZN6OF0aspXNTkOCTL/1ZuKEXdGj61tTcqCbivrCRno -2VvaufSpSCXTELbK8aUfhcAjGaNlwlJPviBv4Ifwozs --> ssh-ed25519 yqm35A 129PNVwztlV/RpCacU5R3yT4nYa/srBuj+Puwb72IG0 -6dPhphfRdkc33e0B7LJSOf3h3MCTmM7q21RmsD+nyTs --> ssh-ed25519 DSOydg pIGq4laBsJKEO3oik92Kc5sbdKYC3NrC+7vexqRyM2g -reUb4bTLcuhV+ckQQcfHAj6D24wDFNoUVQwvD/XlAAw --> ssh-ed25519 IbXxfw wUvBBRAs5Cqsf6jED3aYiqFvjPI+vJjEfHOv4W4XAX4 -lXxyWFocosd5KKjKLK4JWnh7cPUAtZ1CPZFhzy41uA8 --> ssh-ed25519 WceKOQ IJGE1l/z52kM8lT63VTQSfsLxIVqYAmicdM5f6tCGDs -A3iyEqX74WoU76HoyBGu5I9a0UlbLaj2TAEyAHSx3pI --> ,^5ZL-grease -Av4gKV9fDqI+HEYqPrM/gohQ0HTh0i9Igna8pD7bsCTom1/Mx7R4O9AwecvvCtW8 -JXhj3O0VlHQuxUwP01kU ---- GDqOuyO/+o4UfNbXKsr3gLovJkoHlWDy6pubDWivRo8 -">Dߦ 7W! f"8 ?r=#*&cB -Kk+!~#XnUaTJL{էN̢pEaQ֛SE2Rks%0vH{`!#ueagsuc~v \ No newline at end of file +-> ssh-ed25519 ugHWWw ungXH1XTaVXtO4xTEyMW+xNnZKrkTM1fvhZBGQZX0Bc +DP25nmmLteIaIdoIKrCj1MW7xbbj67ZYTczrhYArsYw +-> ssh-ed25519 UU9RSA tIxInf/N7vkAdppMRRNQR69b7KSVabrjEtwsmtO0fU0 +JsmajjzvMHRaXBKYLAGo6XjFgNW0UVOBTNQ6j1tkpiA +-> ssh-ed25519 yqm35A MNmL+uERHibh99+IYIOllayZLLIMWljOoAv8IItb43k +70UPbYxDWeerx+vkwchdXfZfsFsxflCHUht04ESYEaM +-> ssh-ed25519 DSOydg Dkwlh9rF7hBGSj60Ikav2RAsD+GQVMwwGeEGTPpqZQo +m1RRiTi/M0FAZQctKAqTV06Y6L5wyuJzlf+HWU0own8 +-> ssh-ed25519 IbXxfw Tm3DeWlMmBxfg6I67o/vaCJNVBsI85GDQ+W3XQRSSQ0 +s80H+85Up3IDgi3+nidcIigIsEDdoSL2Ymux3lk3GD4 +-> ssh-ed25519 46dvqg gAnBlXJvpq0DBUq/ywlqZHtGHMHN8s/WybZjV0GnIS8 +nTH45reYfQXuURjfhpRSAVby6JVBOHL+enKUVjQGL3k +-> ssh-ed25519 WceKOQ H3O2KZc7tSLfdIw7MnhGB2TKkko7/7CRobJap5qrAFo +IGfwrHqFkrs0KscZezLDT81zcvE/VOxjPQ8mS1zxxG8 +-> fFLH-grease ++vFtZ/XRJN9yqnEsmfY+a9NDz1Lv8dFxOe5ca8UY6BkWvQGz2brPRw8UqDoD4Rds +O0JrsGJlYdkLmrdBXB+FgGHr6bLJXkn2uvzFSu5Meoj7jz5gHslbjiwaGKbDV4tB + +--- OmW5QsvoFTynCAk1UCTfDqwOLiD7C4RCtq0yjxyrAWE +"-;ш_}y*iH9DngR{{gIis]+~ʻ2hiKPC?G%D UlU :YHyQc)Z*Pk:uZ \ No newline at end of file diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age index 1c1740895c5c92ca6eec99c81eb03653571bb9ae..88787aa10da926129fb60ef504073c90b6ddd75c 100644 GIT binary patch delta 999 zcmcb^wvS_iPJODOVX$LLP9 z#E;_PDS5ue!681GNg)v~iOykx{(gl{KAr~NWhIuDd4_H!*=FH6z9wNQRhhnAuFeHj zX2trE?rv@s#sx*i=H8ZN-o8=(*_D~jE{59KKCarX<{3^|-e$#<;~B-nlguLxigWed z-J&ckDymFVJd1O3vLk$oE0PV3gH7CA!dz0cUDF-C16|X(@^T!@%G`4klS_)-e4GOU z1Dq?f{d3I>io!D;BO^@Qa;u7b(o6H)^8K?XpJf!UcQY!@^$oU2Pp%5q&n{0j%XLn4 zHY~|aadtGf49gF4G%R!U_pZqI@vd;>at#j-FZOYB_AqlPDGn=$s5H%WF7WqG&(ARo z3k@|0GtTw(F)<6Y$neicj{y_2l(NEfh4O6QklfUiuz-T3B<;wk;_Ui7*PZ zvJA7FDr0>kM|A7LlT*F@0~G@E-4jhh5>31VQVk-^&2uyS!VR<2N(}X#D^2{OoXuQ} z>&s1|e6+JugG{*G9n&&hB3;dj@{+v54a>bF0}Ap2JX3>QlZwkr(v2!z4GN8uER0J+ zGfY6%c{}@PhZyLl7o{c^rz%8vC>fM+Ii`CUlxCzFnOg*9q?Q;uo4WXD=arQgXPQ+6 zq~>~L1v;mehi63OcsUiPCmTgLd-&H!mioG;R=B%{R`}}&25?zAIr*gJ2IPjM=a?tu zmKGW%S0MA6L=Hz)kkg?^-YPK0Y{vTKfsQ=+MVacQJ>NP%ZSZfb6rQIKO=VUj^eGMBEMLUD11 zZfc5=si~o*LTIREP_Uzdr)i33RY;aePO*n!dbxR&v0J%mMs}E4X|icvT9uK7kFl${ zTZCn1dTxX-mt~n*NO7t~nSMr2esX|$ZfT*TyGv=Xxm%QXM3_sdbE30put%t4iKVCO z#E;_P2JS&QPJvnF*~w;=#fHh+kuF{a27##+`o;bgCE3PF9@$AINg0tDKADbO+J(8{ zu9>-&`i_Prrl$JgramUd$>~PEK0z+Y`NdvADK6m^`ljYZMqc@o;~B-n-9xj=ytN&p zoGpEVEF8THi_JU}UCI+(vr~P{avV)fOU*-qlcNH&Ju(frOw-I^ z^U6yL+$#f9Jc9I1vUBrt(+Ywu(o*w0a#BqupJf!U_e}QI_AmFz@=Goa_Hj-#%Ww?K ztx5_k^$y5RbO~^E3Uo{KN_48oGRpPkiU>){@X5@rurvrRtIP{c%kfDxa7m2}cJ<9Q zNKUu(^v+LCsj?`_GA}AdkAd*yRB!)41^<$CkBH=oP^UyweZvs13jg|a^U$QoLhZB) zm(U2GR1@Qjs&ca&3zMRtY_6pA^xX1*tX$6=cWr;q#0-6tLT@uO?{GK2&Jlj4 zA^sU*mHO%V{%MxJRb0Bdx(fMb5yl?nXi4xqq=sfL}^dvQL3Qg`clMMwp4dv8!udNvel|c4DQ8Wk6w- z1(!u-QlOuEWSME1d4zVMf4+8rk$+l1W<->4VN^;;S)yxkl|@K#QDA;(GMBEMLUD11 zZfc5=si~o*LTIREP_UyyRakPOWtCx`N2qU6Fu6$TdWX6_bT6MhTOq?sqJd#6lJW6uB zvI;7qazc%~&CGMs(@LWP0-W>w!_D1{qm0TYpJf!UPdC-~@(Rc(C@{6ucaLy0vhdSR z4RkSeHIK3^^{Mm>4lgw_%}w$uNX)a~O03FHi*OIqHZ?aZOZ0Y1v+xV{v&b^B%y)7r z&M}KDa8CC1Dex%uHT1-Y0TZ*7vchzQtYU*=?~Kf#B$q<>ERP`b$ok>{ckL`olgtSB zV*MQL(6sCV{YYo`)yhFEccVFwS>(FZRi)bjl6(EO$3Csmk&7F^JL+ z4Fy>juCJ$?UX+?xoT{J|o9(5L5foys5Tlz?r4Zv&=a>=9WfByc<>*t95l~ec=93txlH+e#nr0ZtrK_u}kZk6X5tw8e z8R%>1?vYgC9pdL`;O*;D6>4HsR^o1A7?R@Yo)%<~8&TlM75VV>;;fGIUW#j9Yy4f* za6hL(D@EV@dfMmO=sEBG&-8t2W}H1W{>G*(C7v(Ao!KUfF8%(}A5^CQ{q`Tvxado& zof|FZ*S&60+g9bjd1X}wN7HtdXZ>Y;OXOGgJeu}1*L7*0Va?1v2c)iXO;1z!saICN uDI|F9;g2jSEH9S2?sDQdz53g0!GNblS~1zxF}LS_TDL}>Yj*X-g^vNNtzZHG delta 833 zcmdnZF_V3QPJNJvnSrxwdSysZXh?8)adu+1QBh(@VpeW$vR77?dr47Akc*F@c0ojT zF_*V%q(QN_Q;Jz(u6LMWl6#U%d2VJ}WWG;%c14-Dw{~7du6c%gNP3mCFPE;JLUD11 zZfc5=si~o*LTIREP_Uzdd#I<2xp7c|v3W$AzEP=5s+*6Khi9cpQn7Ebfoot%d4X|J zR#vutaITXDSCyrAh<|0SV^)=$d8wavWVuCNQGjunadL)dWN=1WSVVbYgt5PSaDavD z#E;_PiNQ&JKHhG{g?T|C;n}6yWx4rjNg-7M#Yy>@xj~+ur9R$C6OMVUcTjdMt+`?;~B-nT?*X;O3TtL zBP*RElOnubii~nho!xwrOv}Sce9OEtqlyF5{IiooEZvg1GJ^|D3_U!YGabv*JTqM) zf|H_h&3#-lB7^d>i(M<6Qw-cg4E^2nJ^V~2pJf!UPu36ivha5*Gs-mZ&2!Yw*LKN` zGIcXAD7LVO2v5rMOZSP&E-d%REpkrh3do5Fa56B;H1^L+tqjcbFANDaGW95l%6H9k zG7ZVhNh-_jH$x+%s0>FBZ{M{YuY(tQ5y`{}9vE zQ1{T(vY^0h6OeUlyRpnf|y1EMP z&MDrB=3Y73iRl%E_4>t;Zu;5b9=TB^ZkEMHF2x>E>1IjpX{Ao#Zsqx0;SaAXyjPvo3kGo>Rf^~0xfyom6aX>4k`$fD7^FNH&1r6%)x zqhU$6AoHU`XI7SMnAhp?G2@dqZ* Date: Sun, 6 Nov 2022 08:29:12 +0100 Subject: [PATCH 151/525] :s/video0/video1 --- hosts/octopi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/octopi/default.nix b/hosts/octopi/default.nix index 40dffeeb..d7abf235 100644 --- a/hosts/octopi/default.nix +++ b/hosts/octopi/default.nix @@ -43,7 +43,7 @@ ragon.services.tailscale.enable = true; networking.useDHCP = true; services.mjpg-streamer.enable = true; - services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video0 -r 1280x720 -f 15 -u"; + services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 1280x720 -f 15 -u"; services.octoprint = { enable = true; plugins = plugins: with plugins; [ telegram ]; From 0e83460939699ed820666dce24dd55a784486c97 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 6 Nov 2022 08:33:53 +0100 Subject: [PATCH 152/525] a --- hosts/octopi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/octopi/default.nix b/hosts/octopi/default.nix index d7abf235..40dffeeb 100644 --- a/hosts/octopi/default.nix +++ b/hosts/octopi/default.nix @@ -43,7 +43,7 @@ ragon.services.tailscale.enable = true; networking.useDHCP = true; services.mjpg-streamer.enable = true; - services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video1 -r 1280x720 -f 15 -u"; + services.mjpg-streamer.inputPlugin = "input_uvc.so -d /dev/video0 -r 1280x720 -f 15 -u"; services.octoprint = { enable = true; plugins = plugins: with plugins; [ telegram ]; From cddfcc1018bc4621cb5248898096fa3ec90632dd Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 6 Nov 2022 08:56:59 +0100 Subject: [PATCH 153/525] fix: octopi tcp --- hosts/octopi/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/octopi/default.nix b/hosts/octopi/default.nix index 40dffeeb..8c158005 100644 --- a/hosts/octopi/default.nix +++ b/hosts/octopi/default.nix @@ -54,6 +54,7 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8RjUQ6DDDDgsVbqq+6zz1q6cBkus/BLUGa9JoWsqB4" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkNP8Lo20fw3Ysq3B64Iep9WyVKWxdv5KJOZRLmAaaM" ]; + networking.firewall.allowedTCPPorts = [ 5000 5050 ]; } From 6658775af1657d2f7f72b81e65b1aac6936ba253 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 8 Nov 2022 12:47:29 +0100 Subject: [PATCH 154/525] feat: hammerspoon notmuch indicator --- hosts/daedalus/default.nix | 8 ++++- hosts/daedalus/hammerspoon.lua | 55 ++++++++++++++++++++++++++-------- 2 files changed, 49 insertions(+), 14 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 4cb6577f..074d5bc5 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -57,8 +57,14 @@ in ]; home.file.".hammerspoon/init.lua".source = + let + notmuchMails = pkgs.writeScript "notmuch-get-mail-count" '' + #!/usr/bin/env zsh + printf "I%s F%s W%s" $(notmuch search tag:inbox | wc -l) $(notmuch search tag:follow-up | wc -l) $(notmuch search tag:waiting | wc -l) + ''; + in pkgs.substituteAll { - src = ./hammerspoon.lua; inherit myEmacs; + src = ./hammerspoon.lua; inherit myEmacs notmuchMails; }; home.file.".finicky.js".source = ./finicky.js; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 5b4e5d57..3a48bf83 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -1,4 +1,3 @@ - ---------------------------------------------------------------------------------------------------- -- Settings ---------------------------------------------------------------------------------------------------- @@ -255,13 +254,13 @@ end) ---------------------------------------------------------------------------------------------------- function showHideBundleId(bundleId) - local focusedWindow = hs.window.focusedWindow() - if focusedWindow ~= nil and focusedWindow:application():bundleID() == bundleId then -- window is focused - focusedWindow:close() -- hide - else - hs.application.launchOrFocusByBundleID(bundleId) - hs.window.focusedWindow():centerOnScreen(hs.mouse.getCurrentScreen()) - end + local focusedWindow = hs.window.focusedWindow() + if focusedWindow ~= nil and focusedWindow:application():bundleID() == bundleId then -- window is focused + focusedWindow:close() -- hide + else + hs.application.launchOrFocusByBundleID(bundleId) + hs.window.focusedWindow():centerOnScreen(hs.mouse.getCurrentScreen()) + end end hs.hotkey.bind(modifiers.window, hs.keycodes.map.left, moveCurrentWindowToLeftHalf) @@ -279,8 +278,12 @@ hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.delete, function() hs.caffeinate hs.hotkey.bind(modifiers.hyper, "a", function() showHideBundleId(bundleID.activityMonitor) end) hs.hotkey.bind(modifiers.hyper, "c", function() showHideBundleId(bundleID.safari) end) hs.hotkey.bind(modifiers.hyper, "f", function() showHideBundleId(bundleID.faclieThings) end) -hs.hotkey.bind(modifiers.hyper, "e", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-c", "-a", ""}):start() end) -hs.hotkey.bind(modifiers.hyper, "i", function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, {"-a", "", "--eval", "(emacs-everywhere)"}):start() end) +hs.hotkey.bind(modifiers.hyper, "e", + function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, { "-c", "-a", "" }):start() end) +hs.hotkey.bind(modifiers.hyper, "i", + function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, + { "-a", "", "--eval", "(emacs-everywhere)" }):start() + end) hs.hotkey.bind(modifiers.hyper, "p", function() showHideBundleId(bundleID.timeular) end) hs.hotkey.bind(modifiers.hyper, "b", function() showHideBundleId(bundleID.bitwarden) end) hs.hotkey.bind(modifiers.hyper, "t", function() showHideBundleId(bundleID.iterm) end) @@ -444,7 +447,7 @@ end) ---------------------------------------------------------------------------------------------------- local function facileCaptpure() - ok,text = hs.dialog.textPrompt("Facilethings","Capture") + ok, text = hs.dialog.textPrompt("Facilethings", "Capture") if ok then hs.osascript.applescript(string.format([[ tell application "Mail" @@ -461,7 +464,33 @@ tell application "Mail" end tell end tell -]], text)) +]] , text)) end end -hs.hotkey.bind(modifiers.window, "f",facileCaptpure) + +hs.hotkey.bind(modifiers.window, "f", facileCaptpure) + +---------------------------------------------------------------------------------------------------- +-- notmuch indicator +---------------------------------------------------------------------------------------------------- + +local notmuchTaskRunning = false +local function refreshNotmuchMenubar() + hs.task.new("@notmuchMails@", function(exitCode, stdout, stderr) + print(stdout) + notmuchMenubar:setTitle(hs.styledtext.new(stdout)) + end):start() +end + +notmuchMenubar = hs.menubar.new() +notmuchMenubar:setClickCallback(function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, + { "-a", "", "--eval", "(=notmuch)" }):start() +end) +notmuchTimer = hs.timer.doEvery(300, function() + if not notmuchTaskRunning then + notmuchTaskRunning = true + hs.task.new("/etc/profiles/per-user/ragon/bin/zsh", + function() notmuchTaskRunning = false; refreshNotmuchMenubar() end, + function() return false end, { "-c", "syncmail" }):start() + end +end) From 42ddb294ef5a3b6c18b56c3010ccd6345de552b9 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 12 Nov 2022 20:23:57 +0100 Subject: [PATCH 155/525] chore: update --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 000161e8..5923bc08 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1666776005, - "narHash": "sha256-HwSMF19PpczfqNHKcFsA6cF4PVbG00uUSdbq6q3jB5o=", + "lastModified": 1667419884, + "narHash": "sha256-oLNw87ZI5NxTMlNQBv1wG2N27CUzo9admaFlnmavpiY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "f6648ca0698d1611d7eadfa72b122252b833f86c", + "rev": "cfc0125eafadc9569d3d6a16ee928375b77e3100", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1667246607, - "narHash": "sha256-/uuXu7yu5EgpNOg2i3pqM6du7jjIHkpGiV4djmb0QVk=", + "lastModified": 1668256904, + "narHash": "sha256-woAxkqmTpzSB4JpF12cn+e2v0Lsf4fKBpkLBO2QCC2U=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "eb10ed32ed3808545382c9509ef6ee46f3716804", + "rev": "1872c7297d7dfcba2d5f206baa5fcb0094575ad8", "type": "github" }, "original": { @@ -81,11 +81,11 @@ }, "flake-utils": { "locked": { - "lastModified": 1667077288, - "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1667234164, - "narHash": "sha256-oPMAvHZBDgamjmIQly5+sw2LtfKwY7qcWZZwKiwKQy8=", + "lastModified": 1667981810, + "narHash": "sha256-p27zd5M+OkfND46gzbGkaHlNBZsYe95M48OJuFeuuSY=", "owner": "nix-community", "repo": "home-manager", - "rev": "722e8d65d3aba6f527100cc2d1539e4ca04d066f", + "rev": "6ce3493a3c5c6a8f4cfa6f5f88723272e0cfd335", "type": "github" }, "original": { @@ -153,11 +153,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1667221253, - "narHash": "sha256-PGGT7D/qmi1E8D1Z32SLrzq7PJO5CajD64GfCCdslk0=", + "lastModified": 1668157555, + "narHash": "sha256-s5rt2FSmV4PWt89rjt4cvBGOhPizStsinkIB0BXnKrk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "d5bacd34f54328f31bef9237098fdeaad83074be", + "rev": "062c3cca468a4b404ddd964fb444b665e4da982e", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1667142599, - "narHash": "sha256-OLJxsg9VqfKjFkerOxWtNIkibsCvxsv5A8wNWO1MeWk=", + "lastModified": 1668087632, + "narHash": "sha256-T/cUx44aYDuLMFfaiVpMdTjL4kpG7bh0VkN6JEM78/E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "412b9917cea092f3d39f9cd5dead4effd5bc4053", + "rev": "5f588eb4a958f1a526ed8da02d6ea1bea0047b9f", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1667265677, - "narHash": "sha256-nu2NCPxeXgKe1z1I+tQBiCMUOEv2JrKoVr2U/U1uhXM=", + "lastModified": 1668280642, + "narHash": "sha256-TpX86XfOw6nYZXy7bTJumHgthQ8YVxkYWY1x6cKXJFE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "60426c0a356aba0d9a855e2edf4adc051810afc6", + "rev": "3f6d20ce787d67a51e8f07e7ea0b1a5b64817c88", "type": "github" }, "original": { @@ -328,11 +328,11 @@ }, "utils": { "locked": { - "lastModified": 1667077288, - "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -358,11 +358,11 @@ }, "utils_3": { "locked": { - "lastModified": 1667077288, - "narHash": "sha256-bdC8sFNDpT0HK74u9fUkpbf1MEzVYJ+ka7NXCdgBoaA=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { @@ -414,11 +414,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1667222472, - "narHash": "sha256-ArlFAjU0UYvw/HXcHu+PgMbHcBe9FBQ5BVv6x7TKExg=", + "lastModified": 1668166255, + "narHash": "sha256-7mLb42i2xkgYP5/guGn3vt95cO/i2ywIog3jTUxw+Mc=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "b4ec85ede711a4854542682d43c7ae47d7df6d35", + "rev": "1db9015d764e63c4c7c9c6b6c492e6c537f81d59", "type": "github" }, "original": { From 89fdc7570ec40924fb024694b23bf47b82bf5722 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Nov 2022 00:07:53 +0100 Subject: [PATCH 156/525] notmuch indicator tuning --- hosts/daedalus/default.nix | 48 +++++++++++++++++----------------- hosts/daedalus/hammerspoon.lua | 25 +++++++++++++----- 2 files changed, 42 insertions(+), 31 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 074d5bc5..67b67469 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -100,32 +100,32 @@ in google-cloud-sdk ]; - home.activation = { - aliasApplications = - let - apps = pkgs.buildEnv { - name = "home-manager-applications"; - paths = config.home.packages; - pathsToLink = "/Applications"; - }; - in - lib.hm.dag.entryAfter [ "writeBoundary" ] '' - # Install MacOS applications to the user environment. - HM_APPS="$HOME/Applications/Home Manager Apps" + # home.activation = { + # aliasApplications = + # let + # apps = pkgs.buildEnv { + # name = "home-manager-applications"; + # paths = config.home.packages; + # pathsToLink = "/Applications"; + # }; + # in + # lib.hm.dag.entryAfter [ "writeBoundary" ] '' + # # Install MacOS applications to the user environment. + # HM_APPS="$HOME/Applications/Home Manager Apps" - # Reset current state - [ -e "$HM_APPS" ] && $DRY_RUN_CMD rm -r "$HM_APPS" - $DRY_RUN_CMD mkdir -p "$HM_APPS" + # # Reset current state + # [ -e "$HM_APPS" ] && $DRY_RUN_CMD rm -r "$HM_APPS" + # $DRY_RUN_CMD mkdir -p "$HM_APPS" - # .app dirs need to be actual directories for Finder to detect them as Apps. - # The files inside them can be symlinks though. - $DRY_RUN_CMD cp --recursive --symbolic-link --no-preserve=mode -H ${apps}/Applications/* "$HM_APPS" || true # can fail if no apps exist - # Modes need to be stripped because otherwise the dirs wouldn't have +w, - # preventing us from deleting them again - # In the env of Apps we build, the .apps are symlinks. We pass all of them as - # arguments to cp and make it dereference those using -H - ''; - }; + # # .app dirs need to be actual directories for Finder to detect them as Apps. + # # The files inside them can be symlinks though. + # $DRY_RUN_CMD cp --recursive --symbolic-link --no-preserve=mode -H ${apps}/Applications/* "$HM_APPS" || true # can fail if no apps exist + # # Modes need to be stripped because otherwise the dirs wouldn't have +w, + # # preventing us from deleting them again + # # In the env of Apps we build, the .apps are symlinks. We pass all of them as + # # arguments to cp and make it dereference those using -H + # ''; + # }; }; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 3a48bf83..aa668c64 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -475,22 +475,33 @@ hs.hotkey.bind(modifiers.window, "f", facileCaptpure) ---------------------------------------------------------------------------------------------------- local notmuchTaskRunning = false -local function refreshNotmuchMenubar() +local function refreshNotmuchMenubar(currentlyRunning) hs.task.new("@notmuchMails@", function(exitCode, stdout, stderr) + if currentlyRunning then + stdout = "R: " .. stdout + end print(stdout) notmuchMenubar:setTitle(hs.styledtext.new(stdout)) end):start() end -notmuchMenubar = hs.menubar.new() -notmuchMenubar:setClickCallback(function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, - { "-a", "", "--eval", "(=notmuch)" }):start() -end) -notmuchTimer = hs.timer.doEvery(300, function() +local function notmuchTimerFunction() if not notmuchTaskRunning then + refreshNotmuchMenubar(true) notmuchTaskRunning = true hs.task.new("/etc/profiles/per-user/ragon/bin/zsh", - function() notmuchTaskRunning = false; refreshNotmuchMenubar() end, + function() notmuchTaskRunning = false; refreshNotmuchMenubar(false) end, function() return false end, { "-c", "syncmail" }):start() end +end + +notmuchMenubar = hs.menubar.new() +notmuchMenubar:setClickCallback(function(options) + if options.shift then + notmuchTimerFunction() + else + hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, + { "-c", "-a", "", "--eval", "(=notmuch)" }):start() + end end) +notmuchTimer = hs.timer.doEvery(300, notmuchTimerFunction) From 67c4ff9222a2bc1b9a892e64ff22e997c03b7a92 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 15 Nov 2022 07:49:31 +0100 Subject: [PATCH 157/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 5923bc08..d3beda0e 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1668256904, - "narHash": "sha256-woAxkqmTpzSB4JpF12cn+e2v0Lsf4fKBpkLBO2QCC2U=", + "lastModified": 1668481488, + "narHash": "sha256-BCh8LbUThdnjuxFTd0IBTqdOZiOGWYJnUoFXgTH7rII=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "1872c7297d7dfcba2d5f206baa5fcb0094575ad8", + "rev": "3c1647451bf5c2391122c794605f5e590badbd6e", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1667981810, - "narHash": "sha256-p27zd5M+OkfND46gzbGkaHlNBZsYe95M48OJuFeuuSY=", + "lastModified": 1668332334, + "narHash": "sha256-YT1qcE/MCqBO1Bi/Yr6GcFpNKsvmzrBKh8juyXDbxQc=", "owner": "nix-community", "repo": "home-manager", - "rev": "6ce3493a3c5c6a8f4cfa6f5f88723272e0cfd335", + "rev": "bc90de24d898655542589237cc0a6ada7564cb6c", "type": "github" }, "original": { @@ -153,11 +153,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1668157555, - "narHash": "sha256-s5rt2FSmV4PWt89rjt4cvBGOhPizStsinkIB0BXnKrk=", + "lastModified": 1668334946, + "narHash": "sha256-omMbUj4r5DVBWh7KxkoO/Z/1V1shVR6Ls4jXNB4mr3U=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "062c3cca468a4b404ddd964fb444b665e4da982e", + "rev": "e0452b33ab0ef16ffe075e980644ed92a6a200bb", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1668087632, - "narHash": "sha256-T/cUx44aYDuLMFfaiVpMdTjL4kpG7bh0VkN6JEM78/E=", + "lastModified": 1668326430, + "narHash": "sha256-fJEsHe+lzFf3qcQVTTdK9jqRtUUVXH71tdfgjcKJNpA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5f588eb4a958f1a526ed8da02d6ea1bea0047b9f", + "rev": "fc07622617a373a742ed96d4dd536849d4bc1ec6", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1668280642, - "narHash": "sha256-TpX86XfOw6nYZXy7bTJumHgthQ8YVxkYWY1x6cKXJFE=", + "lastModified": 1668484727, + "narHash": "sha256-SKcJO1WbaJ4WqhH0dM5IqS6jDc1Ha2AiNBQ2hw54QVc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3f6d20ce787d67a51e8f07e7ea0b1a5b64817c88", + "rev": "f0609d6c0571e7e4e7169a1a2030319950262bf9", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1667267842, - "narHash": "sha256-QaNJ2eryKW38v+jEHLJyOUj4b8R1mZDbl44qySB03sc=", + "lastModified": 1668494948, + "narHash": "sha256-VF1LXRxmtfGO+ZJw9UnW/UrkeMWPb7MIvIvBgzO6OYE=", "owner": "thexyno", "repo": "blog", - "rev": "1db4d726a1165f03303d07b969d3df4963e4c639", + "rev": "8986641a4369525b285846fd36e01128a161d967", "type": "github" }, "original": { @@ -414,11 +414,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1668166255, - "narHash": "sha256-7mLb42i2xkgYP5/guGn3vt95cO/i2ywIog3jTUxw+Mc=", + "lastModified": 1668476312, + "narHash": "sha256-uho9BrBujI0GQ3GC6jrmEVo7oy1fKrgCOxN/MfqmUx8=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "1db9015d764e63c4c7c9c6b6c492e6c537f81d59", + "rev": "7916ba50ed3633b2e85d9d7c4d323c5ec75b39b0", "type": "github" }, "original": { From 173936ba02248acc273ac7984dd5e50480f609ba Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 17 Nov 2022 08:40:31 +0100 Subject: [PATCH 158/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index d3beda0e..1c3e6fd8 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1667419884, - "narHash": "sha256-oLNw87ZI5NxTMlNQBv1wG2N27CUzo9admaFlnmavpiY=", + "lastModified": 1668534244, + "narHash": "sha256-8sgzegrEVUZMJUg4jEiC6pokeMPY02BFe49iXnVrXkk=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "cfc0125eafadc9569d3d6a16ee928375b77e3100", + "rev": "4182ad42d5fb5001adb1f61bec3a04fae0eecb95", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1668481488, - "narHash": "sha256-BCh8LbUThdnjuxFTd0IBTqdOZiOGWYJnUoFXgTH7rII=", + "lastModified": 1668663206, + "narHash": "sha256-rxV9n36VINDJq6acFq5kuT2jYOBzaedDW0TXF2iViVE=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "3c1647451bf5c2391122c794605f5e590badbd6e", + "rev": "098c2a810c937564bff3f57fc406be9c144283ae", "type": "github" }, "original": { @@ -117,11 +117,11 @@ }, "impermanence": { "locked": { - "lastModified": 1661933071, - "narHash": "sha256-RFgfzldpbCvS+H2qwH+EvNejvqs+NhPVD5j1I7HQQPY=", + "lastModified": 1668668915, + "narHash": "sha256-QjY4ZZbs9shwO4LaLpvlU2bO9J1juYhO9NtV3nrbnYQ=", "owner": "nix-community", "repo": "impermanence", - "rev": "def994adbdfc28974e87b0e4c949e776207d5557", + "rev": "5df9108b346f8a42021bf99e50de89c9caa251c3", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1668326430, - "narHash": "sha256-fJEsHe+lzFf3qcQVTTdK9jqRtUUVXH71tdfgjcKJNpA=", + "lastModified": 1668505710, + "narHash": "sha256-DulcfsGjpSXL9Ma0iQIsb3HRbARCDcA+CNH67pPyMQ0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc07622617a373a742ed96d4dd536849d4bc1ec6", + "rev": "85d6b3990def7eef45f4502a82496de02a02b6e8", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1668484727, - "narHash": "sha256-SKcJO1WbaJ4WqhH0dM5IqS6jDc1Ha2AiNBQ2hw54QVc=", + "lastModified": 1668665840, + "narHash": "sha256-CGf4WTvevVceW9DOoiPzXXvk9ULQa6q+bzDy8V4b3c0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0609d6c0571e7e4e7169a1a2030319950262bf9", + "rev": "7a8459fdd3a8f10769a03046303eb7c542c5528c", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1668494948, - "narHash": "sha256-VF1LXRxmtfGO+ZJw9UnW/UrkeMWPb7MIvIvBgzO6OYE=", + "lastModified": 1668670743, + "narHash": "sha256-Dj/8daI1ruyWEAOURDgT1YjSIk3/w/Hlbn1P6lS3/J0=", "owner": "thexyno", "repo": "blog", - "rev": "8986641a4369525b285846fd36e01128a161d967", + "rev": "5450abe799d63e01808888fd2b6ab7b059e0d10b", "type": "github" }, "original": { @@ -414,11 +414,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1668476312, - "narHash": "sha256-uho9BrBujI0GQ3GC6jrmEVo7oy1fKrgCOxN/MfqmUx8=", + "lastModified": 1668641261, + "narHash": "sha256-R0AUzicD8bA7mcYjx0wQa2hLBb9KQtEdvlzl96hEYUI=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "7916ba50ed3633b2e85d9d7c4d323c5ec75b39b0", + "rev": "b293a9546559ee705b74727828e7721142741c64", "type": "github" }, "original": { From e84e2fc020db46aec47daf6a291dbee6ef17e172 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 17 Nov 2022 08:50:19 +0100 Subject: [PATCH 159/525] Revert "update" This reverts commit 173936ba02248acc273ac7984dd5e50480f609ba. --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 1c3e6fd8..d3beda0e 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1668534244, - "narHash": "sha256-8sgzegrEVUZMJUg4jEiC6pokeMPY02BFe49iXnVrXkk=", + "lastModified": 1667419884, + "narHash": "sha256-oLNw87ZI5NxTMlNQBv1wG2N27CUzo9admaFlnmavpiY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4182ad42d5fb5001adb1f61bec3a04fae0eecb95", + "rev": "cfc0125eafadc9569d3d6a16ee928375b77e3100", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1668663206, - "narHash": "sha256-rxV9n36VINDJq6acFq5kuT2jYOBzaedDW0TXF2iViVE=", + "lastModified": 1668481488, + "narHash": "sha256-BCh8LbUThdnjuxFTd0IBTqdOZiOGWYJnUoFXgTH7rII=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "098c2a810c937564bff3f57fc406be9c144283ae", + "rev": "3c1647451bf5c2391122c794605f5e590badbd6e", "type": "github" }, "original": { @@ -117,11 +117,11 @@ }, "impermanence": { "locked": { - "lastModified": 1668668915, - "narHash": "sha256-QjY4ZZbs9shwO4LaLpvlU2bO9J1juYhO9NtV3nrbnYQ=", + "lastModified": 1661933071, + "narHash": "sha256-RFgfzldpbCvS+H2qwH+EvNejvqs+NhPVD5j1I7HQQPY=", "owner": "nix-community", "repo": "impermanence", - "rev": "5df9108b346f8a42021bf99e50de89c9caa251c3", + "rev": "def994adbdfc28974e87b0e4c949e776207d5557", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1668505710, - "narHash": "sha256-DulcfsGjpSXL9Ma0iQIsb3HRbARCDcA+CNH67pPyMQ0=", + "lastModified": 1668326430, + "narHash": "sha256-fJEsHe+lzFf3qcQVTTdK9jqRtUUVXH71tdfgjcKJNpA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85d6b3990def7eef45f4502a82496de02a02b6e8", + "rev": "fc07622617a373a742ed96d4dd536849d4bc1ec6", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1668665840, - "narHash": "sha256-CGf4WTvevVceW9DOoiPzXXvk9ULQa6q+bzDy8V4b3c0=", + "lastModified": 1668484727, + "narHash": "sha256-SKcJO1WbaJ4WqhH0dM5IqS6jDc1Ha2AiNBQ2hw54QVc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7a8459fdd3a8f10769a03046303eb7c542c5528c", + "rev": "f0609d6c0571e7e4e7169a1a2030319950262bf9", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1668670743, - "narHash": "sha256-Dj/8daI1ruyWEAOURDgT1YjSIk3/w/Hlbn1P6lS3/J0=", + "lastModified": 1668494948, + "narHash": "sha256-VF1LXRxmtfGO+ZJw9UnW/UrkeMWPb7MIvIvBgzO6OYE=", "owner": "thexyno", "repo": "blog", - "rev": "5450abe799d63e01808888fd2b6ab7b059e0d10b", + "rev": "8986641a4369525b285846fd36e01128a161d967", "type": "github" }, "original": { @@ -414,11 +414,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1668641261, - "narHash": "sha256-R0AUzicD8bA7mcYjx0wQa2hLBb9KQtEdvlzl96hEYUI=", + "lastModified": 1668476312, + "narHash": "sha256-uho9BrBujI0GQ3GC6jrmEVo7oy1fKrgCOxN/MfqmUx8=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "b293a9546559ee705b74727828e7721142741c64", + "rev": "7916ba50ed3633b2e85d9d7c4d323c5ec75b39b0", "type": "github" }, "original": { From efb65de325f206d6acf9b464ab101f964ad76714 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 17 Nov 2022 09:14:15 +0100 Subject: [PATCH 160/525] feat: icarus --- flake.nix | 1 + hosts/icarus/default.nix | 41 +++++++++++++++++++++++ hosts/icarus/hardware-configuration.nix | 43 +++++++++++++++++++++++++ nixos-modules/services/ssh.nix | 2 ++ nixos-modules/user/default.nix | 2 +- 5 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 hosts/icarus/default.nix create mode 100644 hosts/icarus/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index 7d059464..06b0d8f9 100644 --- a/flake.nix +++ b/flake.nix @@ -177,6 +177,7 @@ ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; daedalusvm = nixosSystem "aarch64-linux" [ ./hosts/daedalusvm/default.nix ]; octopi = nixosSystem "aarch64-linux" [ ./hosts/octopi/default.nix ]; + icarus = nixosSystem "x86_64-linux" [ ./hosts/icarus/default.nix ]; }; darwinConfigurations = processConfigurations { daedalus = darwinSystem "aarch64-darwin" [ ./hosts/daedalus/default.nix ]; diff --git a/hosts/icarus/default.nix b/hosts/icarus/default.nix new file mode 100644 index 00000000..eb8e80ed --- /dev/null +++ b/hosts/icarus/default.nix @@ -0,0 +1,41 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ inputs, config, pkgs, lib, ... }: + +{ + imports = + [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + documentation.enable = false; + documentation.nixos.enable = false; + documentation.man.enable = false; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + security.polkit.enable = true; # needed for libvirtd + services.glusterfs.enable = true; + environment.systemPackages = [ pkgs.python3 ]; + virtualisation.libvirtd = { + enable = true; + qemu.swtpm.enable = true; + + }; + + + # Immutable users due to tmpfs + users.mutableUsers = false; + + + programs.mosh.enable = true; + ragon = { + services = { + ssh.enable = true; + }; + }; + +} diff --git a/hosts/icarus/hardware-configuration.nix b/hosts/icarus/hardware-configuration.nix new file mode 100644 index 00000000..102d6a47 --- /dev/null +++ b/hosts/icarus/hardware-configuration.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { + device = "/dev/disk/by-uuid/1687e097-8b1f-45bb-9b6c-1ccea8ba05e5"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/B52A-633F"; + fsType = "vfat"; + }; + fileSystems."/gluster" = + { + device = "/dev/disk/by-uuid/09b6577c-af50-4fab-abe5-9d89fb85cad7"; + fsType = "xfs"; + }; + + swapDevices = + [{ device = "/dev/disk/by-uuid/e71527bd-1461-46cd-88aa-a168c429d44b"; }]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + #networking.useDHCP = lib.mkDefault true; + networking.interfaces.enp5s0.useDHCP = lib.mkDefault true; + + powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/nixos-modules/services/ssh.nix b/nixos-modules/services/ssh.nix index 25fb4968..b8d1f5d1 100644 --- a/nixos-modules/services/ssh.nix +++ b/nixos-modules/services/ssh.nix @@ -1,6 +1,7 @@ { config, lib, pkgs, ... }: let cfg = config.ragon.services.ssh; + pubkeys = import ../../data/pubkeys.nix; in { options.ragon.services.ssh.enable = lib.mkEnableOption "Enables sshd"; @@ -8,5 +9,6 @@ in services.openssh.permitRootLogin = "without-password"; services.openssh.enable = true; services.openssh.passwordAuthentication = false; + users.users.root.openssh.authorizedKeys.keys = pubkeys.ragon.user; }; } diff --git a/nixos-modules/user/default.nix b/nixos-modules/user/default.nix index a6111070..09c11eac 100644 --- a/nixos-modules/user/default.nix +++ b/nixos-modules/user/default.nix @@ -56,7 +56,7 @@ in uid = uid; extraGroups = [ "wheel" ] ++ extraGroups; shell = pkgs.zsh; - openssh.authorizedKeys.keys = pubkeys.ragon.computers ++ extraAuthorizedKeys; + openssh.authorizedKeys.keys = pubkeys.ragon.user ++ extraAuthorizedKeys; passwordFile = config.age.secrets.ragonPasswd.path; }; ragon.agenix.secrets.ragonPasswd = { }; From 0c0048e5da66af0bfc27c2785d3a2943eebaadbc Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 18 Nov 2022 11:47:39 +0100 Subject: [PATCH 161/525] fix: paperless --- nixos-modules/paperless-override.nix | 319 --------------------------- nixos-modules/services/paperless.nix | 2 +- 2 files changed, 1 insertion(+), 320 deletions(-) delete mode 100644 nixos-modules/paperless-override.nix diff --git a/nixos-modules/paperless-override.nix b/nixos-modules/paperless-override.nix deleted file mode 100644 index 08955050..00000000 --- a/nixos-modules/paperless-override.nix +++ /dev/null @@ -1,319 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; -let - cfg = config.services.paperless-override; - pkg = cfg.package; - - defaultUser = "paperless"; - - # Don't start a redis instance if the user sets a custom redis connection - enableRedis = !hasAttr "PAPERLESS_REDIS" cfg.extraConfig; - redisServer = config.services.redis.servers.paperless; - - env = { - PAPERLESS_DATA_DIR = cfg.dataDir; - PAPERLESS_MEDIA_ROOT = cfg.mediaDir; - PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir; - GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}"; - } // optionalAttrs (config.time.timeZone != null) { - PAPERLESS_TIME_ZONE = config.time.timeZone; - } // optionalAttrs enableRedis { - PAPERLESS_REDIS = "unix://${redisServer.unixSocket}"; - } // ( - lib.mapAttrs (_: toString) cfg.extraConfig - ); - - manage = let - setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env); - in pkgs.writeShellScript "manage" '' - ${setupEnv} - exec ${pkg}/bin/paperless-ngx "$@" - ''; - - # Secure the services - defaultServiceConfig = { - TemporaryFileSystem = "/:ro"; - BindReadOnlyPaths = [ - "/nix/store" - "-/etc/resolv.conf" - "-/etc/nsswitch.conf" - "-/etc/hosts" - "-/etc/localtime" - "-/run/postgresql" - ] ++ (optional enableRedis redisServer.unixSocket); - BindPaths = [ - cfg.consumptionDir - cfg.dataDir - cfg.mediaDir - ]; - CapabilityBoundingSet = ""; - # ProtectClock adds DeviceAllow=char-rtc r - DeviceAllow = ""; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateMounts = true; - PrivateNetwork = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectClock = true; - # Breaks if the home dir of the user is in /home - # Also does not add much value in combination with the TemporaryFileSystem. - # ProtectHome = true; - ProtectHostname = true; - # Would re-mount paths ignored by temporary root - #ProtectSystem = "strict"; - ProtectControlGroups = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - # Don't restrict ProcSubset because django-q requires read access to /proc/stat - # to query CPU and memory information. - # Note that /proc only contains processes of user `paperless`, so this is safe. - # ProcSubset = "pid"; - RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SupplementaryGroups = optional enableRedis redisServer.user; - SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ]; - # Does not work well with the temporary root - #UMask = "0066"; - }; -in -{ - meta.maintainers = with maintainers; [ erikarvstedt Flakebi ]; - - options.services.paperless-override = { - enable = mkOption { - type = lib.types.bool; - default = false; - description = lib.mdDoc '' - Enable Paperless. - - When started, the Paperless database is automatically created if it doesn't - exist and updated if the Paperless package has changed. - Both tasks are achieved by running a Django migration. - - A script to manage the Paperless instance (by wrapping Django's manage.py) is linked to - `''${dataDir}/paperless-manage`. - ''; - }; - - dataDir = mkOption { - type = types.str; - default = "/var/lib/paperless"; - description = lib.mdDoc "Directory to store the Paperless data."; - }; - - mediaDir = mkOption { - type = types.str; - default = "${cfg.dataDir}/media"; - defaultText = literalExpression ''"''${dataDir}/media"''; - description = lib.mdDoc "Directory to store the Paperless documents."; - }; - - consumptionDir = mkOption { - type = types.str; - default = "${cfg.dataDir}/consume"; - defaultText = literalExpression ''"''${dataDir}/consume"''; - description = lib.mdDoc "Directory from which new documents are imported."; - }; - - consumptionDirIsPublic = mkOption { - type = types.bool; - default = false; - description = lib.mdDoc "Whether all users can write to the consumption dir."; - }; - - passwordFile = mkOption { - type = types.nullOr types.path; - default = null; - example = "/run/keys/paperless-password"; - description = lib.mdDoc '' - A file containing the superuser password. - - A superuser is required to access the web interface. - If unset, you can create a superuser manually by running - `''${dataDir}/paperless-manage createsuperuser`. - - The default superuser name is `admin`. To change it, set - option {option}`extraConfig.PAPERLESS_ADMIN_USER`. - WARNING: When changing the superuser name after the initial setup, the old superuser - will continue to exist. - - To disable login for the web interface, set the following: - `extraConfig.PAPERLESS_AUTO_LOGIN_USERNAME = "admin";`. - WARNING: Only use this on a trusted system without internet access to Paperless. - ''; - }; - - address = mkOption { - type = types.str; - default = "localhost"; - description = lib.mdDoc "Web interface address."; - }; - - port = mkOption { - type = types.port; - default = 28981; - description = lib.mdDoc "Web interface port."; - }; - - extraConfig = mkOption { - type = types.attrs; - default = {}; - description = lib.mdDoc '' - Extra paperless config options. - - See [the documentation](https://paperless-ngx.readthedocs.io/en/latest/configuration.html) - for available options. - ''; - example = { - PAPERLESS_OCR_LANGUAGE = "deu+eng"; - PAPERLESS_DBHOST = "/run/postgresql"; - }; - }; - - user = mkOption { - type = types.str; - default = defaultUser; - description = lib.mdDoc "User under which Paperless runs."; - }; - - package = mkOption { - type = types.package; - default = pkgs.paperless-ngx; - defaultText = literalExpression "pkgs.paperless-ngx"; - description = lib.mdDoc "The Paperless package to use."; - }; - }; - - config = mkIf cfg.enable { - services.redis.servers.paperless.enable = mkIf enableRedis true; - - systemd.tmpfiles.rules = [ - "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" - "d '${cfg.mediaDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" - (if cfg.consumptionDirIsPublic then - "d '${cfg.consumptionDir}' 777 - - - -" - else - "d '${cfg.consumptionDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" - ) - ]; - - systemd.services.paperless-scheduler = { - description = "Paperless scheduler"; - serviceConfig = defaultServiceConfig // { - User = cfg.user; - ExecStart = "${pkg}/bin/paperless-ngx qcluster"; - Restart = "on-failure"; - # The `mbind` syscall is needed for running the classifier. - SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ]; - # Needs to talk to mail server for automated import rules - PrivateNetwork = false; - }; - environment = env; - wantedBy = [ "multi-user.target" ]; - wants = [ "paperless-consumer.service" "paperless-web.service" ]; - - preStart = '' - ln -sf ${manage} ${cfg.dataDir}/paperless-manage - - # Auto-migrate on first run or if the package has changed - versionFile="${cfg.dataDir}/src-version" - if [[ $(cat "$versionFile" 2>/dev/null) != ${pkg} ]]; then - ${pkg}/bin/paperless-ngx migrate - echo ${pkg} > "$versionFile" - fi - '' - + optionalString (cfg.passwordFile != null) '' - export PAPERLESS_ADMIN_USER="''${PAPERLESS_ADMIN_USER:-admin}" - export PAPERLESS_ADMIN_PASSWORD=$(cat "${cfg.dataDir}/superuser-password") - superuserState="$PAPERLESS_ADMIN_USER:$PAPERLESS_ADMIN_PASSWORD" - superuserStateFile="${cfg.dataDir}/superuser-state" - - if [[ $(cat "$superuserStateFile" 2>/dev/null) != $superuserState ]]; then - ${pkg}/bin/paperless-ngx manage_superuser - echo "$superuserState" > "$superuserStateFile" - fi - ''; - } // optionalAttrs enableRedis { - after = [ "redis-paperless.service" ]; - }; - - # Reading the user-provided password file requires root access - systemd.services.paperless-copy-password = mkIf (cfg.passwordFile != null) { - requiredBy = [ "paperless-scheduler.service" ]; - before = [ "paperless-scheduler.service" ]; - serviceConfig = { - ExecStart = '' - ${pkgs.coreutils}/bin/install --mode 600 --owner '${cfg.user}' --compare \ - '${cfg.passwordFile}' '${cfg.dataDir}/superuser-password' - ''; - Type = "oneshot"; - }; - }; - - systemd.services.paperless-consumer = { - description = "Paperless document consumer"; - serviceConfig = defaultServiceConfig // { - User = cfg.user; - ExecStart = "${pkg}/bin/paperless-ngx document_consumer"; - Restart = "on-failure"; - }; - environment = env; - # Bind to `paperless-scheduler` so that the consumer never runs - # during migrations - bindsTo = [ "paperless-scheduler.service" ]; - after = [ "paperless-scheduler.service" ]; - }; - - systemd.services.paperless-web = { - description = "Paperless web server"; - serviceConfig = defaultServiceConfig // { - User = cfg.user; - ExecStart = '' - ${pkgs.python3Packages.gunicorn}/bin/gunicorn \ - -c ${pkg}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application - ''; - Restart = "on-failure"; - - # gunicorn needs setuid, liblapack needs mbind - SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "@setuid mbind" ]; - # Needs to serve web page - PrivateNetwork = false; - } // lib.optionalAttrs (cfg.port < 1024) { - AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]; - CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ]; - }; - environment = env // { - PATH = mkForce pkg.path; - PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/paperless-ngx/src"; - }; - # Allow the web interface to access the private /tmp directory of the server. - # This is required to support uploading files via the web interface. - unitConfig.JoinsNamespaceOf = "paperless-scheduler.service"; - # Bind to `paperless-scheduler` so that the web server never runs - # during migrations - bindsTo = [ "paperless-scheduler.service" ]; - after = [ "paperless-scheduler.service" ]; - }; - - users = optionalAttrs (cfg.user == defaultUser) { - users.${defaultUser} = { - group = defaultUser; - uid = config.ids.uids.paperless; - home = cfg.dataDir; - }; - - groups.${defaultUser} = { - gid = config.ids.gids.paperless; - }; - }; - }; -} diff --git a/nixos-modules/services/paperless.nix b/nixos-modules/services/paperless.nix index 1c740147..d70de343 100644 --- a/nixos-modules/services/paperless.nix +++ b/nixos-modules/services/paperless.nix @@ -13,7 +13,7 @@ in default = "paperless"; }; config = mkIf cfg.enable { - services.paperless-override = { + services.paperless = { enable = true; mediaDir = mkDefault "/data/documents/paperless"; consumptionDir = "/data/applications/paperless-consumption"; From 94b617caac865e4189cdad2edd9154c1fa406067 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 22 Nov 2022 16:31:00 +0100 Subject: [PATCH 162/525] feat: added woolsey --- flake.nix | 1 + hosts/{backuppi => woolsey}/default.nix | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) rename hosts/{backuppi => woolsey}/default.nix (92%) diff --git a/flake.nix b/flake.nix index 06b0d8f9..1903d390 100644 --- a/flake.nix +++ b/flake.nix @@ -177,6 +177,7 @@ ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; daedalusvm = nixosSystem "aarch64-linux" [ ./hosts/daedalusvm/default.nix ]; octopi = nixosSystem "aarch64-linux" [ ./hosts/octopi/default.nix ]; + woolsey = nixosSystem "aarch64-linux" [ ./hosts/woolsey/default.nix ]; icarus = nixosSystem "x86_64-linux" [ ./hosts/icarus/default.nix ]; }; darwinConfigurations = processConfigurations { diff --git a/hosts/backuppi/default.nix b/hosts/woolsey/default.nix similarity index 92% rename from hosts/backuppi/default.nix rename to hosts/woolsey/default.nix index 33622ac9..1091986e 100644 --- a/hosts/backuppi/default.nix +++ b/hosts/woolsey/default.nix @@ -2,7 +2,7 @@ { imports = [ "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" - "${inputs.nixos-hardware}/raspberry-pi/4/default.nix" + "${inputs.nixos-hardware}/raspberry-pi/2/default.nix" ]; nixpkgs.overlays = [ (final: super: { @@ -11,7 +11,7 @@ }) ]; boot.loader.systemd-boot.enable = false; - boot.kernelPackages = pkgs.linuxPackages_rpi3; + boot.kernelPackages = pkgs.linuxPackages_rpi2; boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "zfs" "ext4" ]; networking.hostId = "eec43f51"; # networking.usePredictableInterfaceNames = false; From 1d9d18014f79a7ebe5931d8578f50939829bc8e7 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 30 Nov 2022 15:39:15 +0100 Subject: [PATCH 163/525] a --- hosts/daedalus/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 67b67469..c54f4709 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -87,16 +87,14 @@ in mosh terraform - python310Packages.ipython - jupyter + nodePackages.pyright + nodejs cmake pandoc texlive.combined.scheme-full - yabai - google-cloud-sdk ]; From 4bc19dd1e3737c9c73cd7aec800b190fa56c6fe2 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 5 Dec 2022 20:14:28 +0100 Subject: [PATCH 164/525] uptdate readme --- README.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ba2af1a4..154dda19 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,19 @@ -# my nixos/nix-darwin configs +# my nixos/nix-darwin Configs +## Folder structure -### 2022-04-12 repository layout was changed completely, the old layout is in https://github.com/thexyno/nixos-config/tree/oldmain +- `hosts/` + - host specific configuration +- `nixos-modules/` + - nixos modules +- `hm-imports/` + - home-manager modules +- `data/` + - some configuration files, pubkeys, ... +- `lib/` + - helper functions +- `packages/` + - packages to small to put into another repo +- `secrets/` + - agenix secrets + From 5edc5327911eedbe7401a503782f7b860f384d57 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 5 Dec 2022 21:14:41 +0100 Subject: [PATCH 165/525] update --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index d3beda0e..432d9b94 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1667419884, - "narHash": "sha256-oLNw87ZI5NxTMlNQBv1wG2N27CUzo9admaFlnmavpiY=", + "lastModified": 1668784520, + "narHash": "sha256-gGgVAMwYPPmrfnvnoRi6OkEB5KRsNTb9uYzEceLdO/g=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "cfc0125eafadc9569d3d6a16ee928375b77e3100", + "rev": "6349b99bc2b96ded34d068a88c7c5ced406b7f7f", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1668481488, - "narHash": "sha256-BCh8LbUThdnjuxFTd0IBTqdOZiOGWYJnUoFXgTH7rII=", + "lastModified": 1670264298, + "narHash": "sha256-Spj2nMBXq6S/fAtagi2EotlbyXhMb0RPA0vy5JhnD9w=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "3c1647451bf5c2391122c794605f5e590badbd6e", + "rev": "612fc9ab31d2cdfe6ca99d606c49072d90c4e42b", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1668332334, - "narHash": "sha256-YT1qcE/MCqBO1Bi/Yr6GcFpNKsvmzrBKh8juyXDbxQc=", + "lastModified": 1670245450, + "narHash": "sha256-SSHD2iuPw7dKpAHX7DMTBKCm+/drigwC5//xkf+v/AM=", "owner": "nix-community", "repo": "home-manager", - "rev": "bc90de24d898655542589237cc0a6ada7564cb6c", + "rev": "747e36476f341720404bd0d14d687a135a4ce5bf", "type": "github" }, "original": { @@ -117,11 +117,11 @@ }, "impermanence": { "locked": { - "lastModified": 1661933071, - "narHash": "sha256-RFgfzldpbCvS+H2qwH+EvNejvqs+NhPVD5j1I7HQQPY=", + "lastModified": 1668668915, + "narHash": "sha256-QjY4ZZbs9shwO4LaLpvlU2bO9J1juYhO9NtV3nrbnYQ=", "owner": "nix-community", "repo": "impermanence", - "rev": "def994adbdfc28974e87b0e4c949e776207d5557", + "rev": "5df9108b346f8a42021bf99e50de89c9caa251c3", "type": "github" }, "original": { @@ -153,11 +153,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1668334946, - "narHash": "sha256-omMbUj4r5DVBWh7KxkoO/Z/1V1shVR6Ls4jXNB4mr3U=", + "lastModified": 1670174919, + "narHash": "sha256-XdQr3BUnrvVLRFunLWrZORhwYHDG0+9jUUe0Jv1pths=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e0452b33ab0ef16ffe075e980644ed92a6a200bb", + "rev": "9d87bc030a0bf3f00e953dbf095a7d8e852dab6b", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1668326430, - "narHash": "sha256-fJEsHe+lzFf3qcQVTTdK9jqRtUUVXH71tdfgjcKJNpA=", + "lastModified": 1670064435, + "narHash": "sha256-+ELoY30UN+Pl3Yn7RWRPabykwebsVK/kYE9JsIsUMxQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc07622617a373a742ed96d4dd536849d4bc1ec6", + "rev": "61a8a98e6d557e6dd7ed0cdb54c3a3e3bbc5e25c", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1668484727, - "narHash": "sha256-SKcJO1WbaJ4WqhH0dM5IqS6jDc1Ha2AiNBQ2hw54QVc=", + "lastModified": 1670270711, + "narHash": "sha256-TbZoGj5firQQxQ7kuFrlcmbqrBAHbMzs0jnoRazXVPo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0609d6c0571e7e4e7169a1a2030319950262bf9", + "rev": "fc9f1e2b48e3283442833a38b0100c6fe9b0f72a", "type": "github" }, "original": { @@ -250,11 +250,11 @@ "pandoc-latex-template": { "flake": false, "locked": { - "lastModified": 1646421316, - "narHash": "sha256-Y/dXCm/JSj7VeB7WL+JwYLnmvwZtyF7zaKBqoGW12aw=", + "lastModified": 1670162125, + "narHash": "sha256-J0INJBMuiK9WKYfeK+TShJXv6BrUdEyeaVfxGQq4kx0=", "owner": "Wandmalfarbe", "repo": "pandoc-latex-template", - "rev": "04e329698d01c3a25aa72ad81d98483284669316", + "rev": "0fd152d9d1054b34befcb3c56106d2dd6ebc2c47", "type": "github" }, "original": { @@ -288,11 +288,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1666639010, - "narHash": "sha256-SKe5jEBHjjinb5R/fnJElwammKfof6zICc30E/we43Q=", + "lastModified": 1669555118, + "narHash": "sha256-F0s0m62S5bHNVWNHLZD6SeHiLrsDx98VQbRjDyIu+qQ=", "owner": "nix-community", "repo": "rnix-lsp", - "rev": "7339d80b7bf415ea42d790e073fbd69d21d09db4", + "rev": "95d40673fe43642e2e1144341e86d0036abd95d9", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1668494948, - "narHash": "sha256-VF1LXRxmtfGO+ZJw9UnW/UrkeMWPb7MIvIvBgzO6OYE=", + "lastModified": 1670271192, + "narHash": "sha256-NG9B9o24+4MvaTl90etfQGNHj2R5szOsvdi34B3DIGw=", "owner": "thexyno", "repo": "blog", - "rev": "8986641a4369525b285846fd36e01128a161d967", + "rev": "2f194b2d6fc9e6c1a9fab27a495f083dc9c22e74", "type": "github" }, "original": { @@ -414,11 +414,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1668476312, - "narHash": "sha256-uho9BrBujI0GQ3GC6jrmEVo7oy1fKrgCOxN/MfqmUx8=", + "lastModified": 1670055708, + "narHash": "sha256-jvRRpKyf525WSGdbVeBCrryc84ROUQrdCo8LJPZvtPk=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "7916ba50ed3633b2e85d9d7c4d323c5ec75b39b0", + "rev": "f9373c96c727e1c8ef7fb48fe49524c1a786fa80", "type": "github" }, "original": { @@ -430,11 +430,11 @@ "zsh-syntax-highlighting": { "flake": false, "locked": { - "lastModified": 1663979624, - "narHash": "sha256-ffD0iHf9WVuE6QzZCkuDgIWj+BY/BRxtYNMi8osJohI=", + "lastModified": 1668889847, + "narHash": "sha256-lxwkVq9Ysvl2ZosD+riQ8dsCQIB5X4kqP+ix7XTDkKw=", "owner": "zsh-users", "repo": "zsh-syntax-highlighting", - "rev": "122dc464392302114556b53ec01a1390c54f739f", + "rev": "b2c910a85ed84cb7e5108e7cb3406a2e825a858f", "type": "github" }, "original": { From ba21bbcb41e7463344b93e437be6523e275d747b Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 5 Dec 2022 21:19:48 +0100 Subject: [PATCH 166/525] nginx fix --- nixos-modules/services/nginx.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos-modules/services/nginx.nix b/nixos-modules/services/nginx.nix index 325100c8..0cf37784 100644 --- a/nixos-modules/services/nginx.nix +++ b/nixos-modules/services/nginx.nix @@ -13,7 +13,6 @@ in networking.firewall.allowedTCPPorts = [ 80 443 ]; services.nginx = { enable = true; - package = (pkgs.nginxStable.override { openssl = pkgs.openssl_1_1; }); recommendedProxySettings = true; recommendedTlsSettings = true; recommendedGzipSettings = true; From 5f476488358ace7fc33cdd661584603ecd524c10 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 8 Dec 2022 04:47:31 +0100 Subject: [PATCH 167/525] backup changes --- flake.nix | 1 - hosts/ds9/default.nix | 2 +- hosts/woolsey/default.nix | 47 -------------------------------- secrets/ds9OffsiteBackupSSH.age | Bin 1001 -> 982 bytes 4 files changed, 1 insertion(+), 49 deletions(-) delete mode 100644 hosts/woolsey/default.nix diff --git a/flake.nix b/flake.nix index 1903d390..06b0d8f9 100644 --- a/flake.nix +++ b/flake.nix @@ -177,7 +177,6 @@ ds9 = nixosSystem "x86_64-linux" [ ./hosts/ds9/default.nix ]; daedalusvm = nixosSystem "aarch64-linux" [ ./hosts/daedalusvm/default.nix ]; octopi = nixosSystem "aarch64-linux" [ ./hosts/octopi/default.nix ]; - woolsey = nixosSystem "aarch64-linux" [ ./hosts/woolsey/default.nix ]; icarus = nixosSystem "x86_64-linux" [ ./hosts/icarus/default.nix ]; }; darwinConfigurations = processConfigurations { diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 7092b292..c8e96771 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -31,7 +31,7 @@ in hassosvm = "spool/safe/vms/hassos"; }; in - builtins.mapAttrs (n: v: { target = "backup/${n}"; source = v; sendOptions = "w"; }) datasets; + builtins.mapAttrs (n: v: { target = "root@gatebridge:backup/${n}"; source = v; sendOptions = "w"; }) datasets; programs.mosh.enable = true; security.sudo.wheelNeedsPassword = false; diff --git a/hosts/woolsey/default.nix b/hosts/woolsey/default.nix deleted file mode 100644 index 1091986e..00000000 --- a/hosts/woolsey/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ config, inputs, pkgs, lib, ... }: -{ - imports = [ - "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" - "${inputs.nixos-hardware}/raspberry-pi/2/default.nix" - ]; - nixpkgs.overlays = [ - (final: super: { - makeModulesClosure = x: - super.makeModulesClosure (x // { allowMissing = true; }); - }) - ]; - boot.loader.systemd-boot.enable = false; - boot.kernelPackages = pkgs.linuxPackages_rpi2; - boot.supportedFilesystems = lib.mkForce [ "reiserfs" "vfat" "zfs" "ext4" ]; - networking.hostId = "eec43f51"; - # networking.usePredictableInterfaceNames = false; - documentation.enable = false; - documentation.nixos.enable = false; - - nix = { - autoOptimiseStore = true; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - # Free up to 1GiB whenever there is less than 100MiB left. - extraOptions = '' - min-free = ${toString (100 * 1024 * 1024)} - max-free = ${toString (1024 * 1024 * 1024)} - ''; - }; - powerManagement.cpuFreqGovernor = "ondemand"; - - # Assuming this is installed on top of the disk image. - fileSystems = { - "/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - options = [ "noatime" ]; - }; - }; - ragon.services.ssh.enable = true; - ragon.services.tailscale.enable = true; - -} diff --git a/secrets/ds9OffsiteBackupSSH.age b/secrets/ds9OffsiteBackupSSH.age index cfad5646394254c9c845b3cc7d50fadf6e389485..ad4ede46d658097dacfdf2a3c519e48fa10c40b1 100644 GIT binary patch delta 913 zcmaFKevN&CPQ6iPMQEy5sB?)?uzqP$XmV<3q*Gpsud_=)sAEQ&Ye;fPc4}a7V0LPb zD_3f2Sbm68st8=PTszqs8vTu@Uj+;f6TbXfXd9Gi%OQ^S(w}od^ zd2V4rq?bn|S7NG>tCz85lzD-^iF=Vnc8N5ntD9bwnpm8wkfs{rl@RW( zP^)XtrJZeLn(XdoDZB59^I3C)~G%%Xk7Npb#B>P zWj^n>Klt4ebG z5-v;M+}hk_ud~LKaYwkIh1N!wBhLf!?nZE?zAmy2{A;t-yUC~7)>>VK<(tAxkN9nt z-T`f|c^+Ptvy00w^;-P!L9N_8r~0pN_S!31+!NWxRbH~pzyI*O(x+wjQX3}aStdB;zGh51I+n`Ad0uv?@zC;N8d_DSD(bS_)m^x6OP zNl>fdEh$Hq+Jy`)v4yUe02-FL<7j z(x`v%jMO@vjh0uoZE5_ncirM1q2xb()9iYlZ=YfHo}KBztZzQ--09~gISb8U^Lg8| z?*C(>&s95frP_?-)_pYp`RhckFTdxC&6B>XzF0Qp=%-kv^nT;DlX&?Zp4XcE=)9yY Hao7w1tK4$Q delta 932 zcmcb{{*rxyPQ9^DMQ~z%aYayKzOSE0shMj|Wu8xYvVoI9vU!SWp}AvfPHtFAMS+{M zBbQf>X?SQ@azUoHp`Sr|N{T^_o4&DskxzcQkzZ;=W{#_4PPlPVUa7fLAeXM4LUD11 zZfc5=si~o*LTS23czC&jzh|zimw7>ig>Sf1Vqmb5iCbAvR)%&^ifMRKk&|{{KyH3y zepQZVdO)ZFS9*Gyt4me7frp`YR=$sUNq&lXrN5(zzo~C&SeZ*kau z#E;_PWg(ufE+)ZI-le5UVJ?NP2Kjzv?gf#>Ma7|&g$7Aw`i?1)C52AKm0{&v{)L7f z=24L@exc5mnc3;usllekRY9ha`H|)+g&rwc0d9$oS=r^O7Nyyf;~B;4L#wJhTzoT( zi+#P#vXgy6D$OfRv(gH+y;3quopKDL%u})hz0-?|EGo;nOsax%3?tJW3)0g}gWPhH z!%O@tlS)mqbF#8CBi+pN3M>4Be6$NqJxsx&}8DZ3YTantl~)HASc;ILL%!w_!z zDte>CRpG2v%QUY|d8Ohjvp>g&@lsi%_QZ$3j!8XL*tWz$=-@KFyz=L+D>i?1YdcJ3w*3gDt-!k+&b;V`RtEm5clZ-ciGF` z#oZwayPi1JE%;;CxM{x#vdEu^9P7`lU{W$L5>udb#nr zR`$aGMRj*}eJ)Loh*XO-y!r5+@l*C~iqq$*w_ROu?5S;I^8to$e^n3-gn{13e^mkd3@aR>r^kP{6BTJaMI%o*JhuGTjqJ>K8AXd< z@Bd=jopI=Xi}4Go?zFbbkgdNrAJx)qiC(>{V#C`%9g>zDmyc~K_;5bcadCEd?>f7g a3!AS6GX0LuSX5%067cR+{3ijO4}1W7mxUDo From 25224d5d871455f909b0208ad838c146dda3b4b6 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 8 Dec 2022 05:10:53 +0100 Subject: [PATCH 168/525] fix syncoid --- hosts/ds9/default.nix | 25 +++++++++++++++++++++---- nixos-modules/system/fs.nix | 12 ------------ secrets/gatebridgeHostKeys.age | Bin 0 -> 1709 bytes secrets/secrets.nix | 1 + 4 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 secrets/gatebridgeHostKeys.age diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index c8e96771..fd6da7bc 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -20,9 +20,8 @@ in services.syncthing.user = "ragon"; ragon.agenix.secrets."ds9OffsiteBackupSSH" = { owner = config.services.syncoid.user; }; - services.syncoid.enable = true; - services.syncoid.sshKey = lib.mkForce "${config.age.secrets.ds9OffsiteBackupSSH.path}"; - services.syncoid.commands = + ragon.agenix.secrets."gatebridgeHostKeys" = { owner = config.services.syncoid.user; }; + services.syncoid = let datasets = { backups = "rpool/content/local/backups"; @@ -31,7 +30,25 @@ in hassosvm = "spool/safe/vms/hassos"; }; in - builtins.mapAttrs (n: v: { target = "root@gatebridge:backup/${n}"; source = v; sendOptions = "w"; }) datasets; + + lib.mkMerge ( + [{ + localSourceAllow = [ + "hold" + "send" + "snapshot" + "destroy" + "mount" + ]; + enable = true; + interval = "*-*-* 2:15:00"; + commonArgs = [ "--sshoption" "GlobalKnownHostsFile=${config.age.secrets.gatebridgeHostKeys.path}" ]; + sshKey = lib.mkForce "${config.age.secrets.ds9OffsiteBackupSSH.path}"; + }] ++ + (builtins.attrValues + (builtins.mapAttrs (n: v: { commands.${n} = { target = "root@gatebridge:backup/${n}"; source = v; sendOptions = "w"; }; }) (datasets)) + ) + ); programs.mosh.enable = true; security.sudo.wheelNeedsPassword = false; diff --git a/nixos-modules/system/fs.nix b/nixos-modules/system/fs.nix index 951579b3..b197945c 100644 --- a/nixos-modules/system/fs.nix +++ b/nixos-modules/system/fs.nix @@ -39,18 +39,6 @@ in services.sanoid = { enable = mkDefault persistentSnapshot; } // (if persistentSnapshot then { datasets."${persistent}" = { }; } else { }); - services.syncoid = { - user = "root"; - group = "root"; - sshKey = /persistent/root/.ssh/id_rsa; - enable = mkDefault true; - commonArgs = [ - ]; - commands."${persistent}" = { - target = "ragon@ds9:rpool/content/local/backups/${hostName}"; # FIXME extra user - recvOptions = "x encryption"; - }; - }; boot.kernelParams = [ "zfs.zfs_arc_max=${toString (arcSize * 1024 * 1024 * 1024)}" ]; fileSystems."/" = { diff --git a/secrets/gatebridgeHostKeys.age b/secrets/gatebridgeHostKeys.age new file mode 100644 index 0000000000000000000000000000000000000000..dd1dca83f30f07dcd3ac725633c56a36200ffd85 GIT binary patch literal 1709 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCUlOp2&TD_2NycQ!UO zGz%}abV)5q&2YC!N^~*OH!(?dEUhff(ROzAPs|Mqa!*Y22;>U$_wY|~H1^7@$_xzj zOLR64D2niPHFS0faB<2tFANP#4|gl`O|z&nPe-?{G~FXSyj;OA%QMogtUNL;J2Wq` zDm2y9ysRK3!^_FJ(8bB6Fvzi>yt2wGt0*rlG@Yx|IIP?vG|k&PD#WYIBEZ8ZBC5*S zr^-A>-y^NmJj27W$THWWsz~40BM{xT&``^uU`K_LtYlYn{nEg4gTPeh%Amr4s^B6o z_agrgXFpT72y^Z1bW0b{QWJ~pj7ToWQnOMYUxUm<)54T2qcX?raboV z%nK^~@*P38h5G8I7o{c^rz-fDC+CJKL{^&ya=E5Q6*}i6I+aER`&Sy~d6cAw8M#HI z`4k%agqItKW?NJ^Ipt(ncvbmkmxa2Rc(@c)MCMrf`FjV2T6iQIr*N5PnFVk#6b0sZxmT5$c%|eO`MH=y80WcILA%_io9lQq>u=qp^H=5jCnqit=QjQ)6s|f z%{=QZxQJ3+mALgjUqUYLk?rWBL z++F5iqjH^R5{3Kr3Xfv>fA)C2so(2V zm4CAG`iaR*W*I_PCPneeeqykSlqx-cFYEHG=C6C+ruS<7E8|*c_jR3~vGhe=!X8-f5z2xZshX-RgRZp7d1b#V|pyYOQ!q4{O$BLJ3w^w5BSuZ$eVkh&W zHB(lfir9HNed>aOaJB{WXY9V3ETSa(Eyw;`hVl1LJMBwSOiJed>YIEc<4e_CtHw@) zINNQHmj19?^*Q*@j=3%I+RWlVQ-67`SZf^ReSTZPe~xQQ-RT7adY)=lq;L=eCLa zH|HbW3;6fDTQ9%yN%w{6&-rUUZv1>?=Tu2G;g@qxFLvQ}Qf|+}&U(0pAQkI{r*81#yFbhkwub`5*wYO~)>6}`0 z>v8+%o5z2@UEcptP(=6D%NVh0<-0F~x?GrLAEo$zZT$NC+FSWMPP4D?nmL6*J?yLj z6MOQlO52T%s;w@6n@UpTuH{@;HC%ILYh^*lx~;k%>Q_yUT5EF8SGC-*bpNM@Uxz=h zid5e7{-tW$R)s}AjT7_JQ??mDxG2wkM2y39zq8!_nOmI%x7R$?IInZM{ZXU1JNloRSxj5C_LPdA>MkaBKe11X#Dr|GEh*01c7MXU zv=u!MT;6S!4~r;@WzDu%>5s4EeJ?ssT*~VDx7ztjqmJZ=xLxk7U|7e|#IP&+^v4$> zr9mH-G*0Z>=)R=D!&v5*MNRc_l~w%9x4&U*@bj+}N!==SR%X@Z>N8%94QnJk^#uer NrG5A(VCNb08vwIq+Nb~k literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 9fa6db24..35296dac 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -14,6 +14,7 @@ in "paperlessAdminPW.age".publicKeys = pubkeys.ragon.host "ds9"; "photoprismEnv.age".publicKeys = pubkeys.ragon.host "ds9"; "ds9OffsiteBackupSSH.age".publicKeys = pubkeys.ragon.host "ds9"; + "gatebridgeHostKeys.age".publicKeys = pubkeys.ragon.host "ds9"; "hedgedocSecret.age".publicKeys = pubkeys.ragon.host "picard"; "mailmoverConf.age".publicKeys = pubkeys.ragon.host "picard"; "matrixSecrets.age".publicKeys = pubkeys.ragon.host "picard"; From 4ae761d6e3d6be1609c600103c8f479185e2bd2e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 17 Dec 2022 12:38:29 +0100 Subject: [PATCH 169/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 432d9b94..30e47ba1 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1668784520, - "narHash": "sha256-gGgVAMwYPPmrfnvnoRi6OkEB5KRsNTb9uYzEceLdO/g=", + "lastModified": 1671196037, + "narHash": "sha256-2+J98SeczFWonbqFLMEAQC7vZEe6I2gM17XYvEmG52I=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "6349b99bc2b96ded34d068a88c7c5ced406b7f7f", + "rev": "adb8ac0453c8b2c40f5bffb578453dbaee838952", "type": "github" }, "original": { @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1670264298, - "narHash": "sha256-Spj2nMBXq6S/fAtagi2EotlbyXhMb0RPA0vy5JhnD9w=", + "lastModified": 1671268121, + "narHash": "sha256-LIOLFw5m2mYDjMo7eBB/cxYjhEqBnvQ8dpZvTjR6+Lo=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "612fc9ab31d2cdfe6ca99d606c49072d90c4e42b", + "rev": "249d14bdd55995eea2e0c9cfed8a230525faebde", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1670245450, - "narHash": "sha256-SSHD2iuPw7dKpAHX7DMTBKCm+/drigwC5//xkf+v/AM=", + "lastModified": 1671209729, + "narHash": "sha256-zxn1eA/rMi2DOx43V7q87bGaDzvL7CMVY/Ti7lJ92DQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "747e36476f341720404bd0d14d687a135a4ce5bf", + "rev": "7d55a72d4c1df694e87a41a7e6c9a7b6e9a40ca3", "type": "github" }, "original": { @@ -153,11 +153,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1670174919, - "narHash": "sha256-XdQr3BUnrvVLRFunLWrZORhwYHDG0+9jUUe0Jv1pths=", + "lastModified": 1671228065, + "narHash": "sha256-Az/ig9LVL5xdqtyl4/CVKJIH1G7sP/9Ott2XnNyie0E=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9d87bc030a0bf3f00e953dbf095a7d8e852dab6b", + "rev": "e462a4baf75eeac639b4942481759de08a3bc94e", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1670064435, - "narHash": "sha256-+ELoY30UN+Pl3Yn7RWRPabykwebsVK/kYE9JsIsUMxQ=", + "lastModified": 1671200928, + "narHash": "sha256-mZfzDyzojwj6I0wyooIjGIn81WtGVnx6+avU5Wv+VKU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "61a8a98e6d557e6dd7ed0cdb54c3a3e3bbc5e25c", + "rev": "757b82211463dd5ba1475b6851d3731dfe14d377", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1670270711, - "narHash": "sha256-TbZoGj5firQQxQ7kuFrlcmbqrBAHbMzs0jnoRazXVPo=", + "lastModified": 1671276751, + "narHash": "sha256-/wNWs1qVW8jf0Jr9Q1GI11EQ6CKtFq9J+1WkctVVdj8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc9f1e2b48e3283442833a38b0100c6fe9b0f72a", + "rev": "3dd6b9ebd46ea372a80aea185fb87e6e91d9feef", "type": "github" }, "original": { @@ -414,11 +414,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1670055708, - "narHash": "sha256-jvRRpKyf525WSGdbVeBCrryc84ROUQrdCo8LJPZvtPk=", + "lastModified": 1671110471, + "narHash": "sha256-B7ia4UTIMwRza//NYRr7rZn9Kin2fbCnnXwH9MUZGBg=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "f9373c96c727e1c8ef7fb48fe49524c1a786fa80", + "rev": "b215131217582b1c634c57ffc61bf3e33190c5f1", "type": "github" }, "original": { From 1c4b8a4233c0a988967a7c510917875dfbafed10 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 17 Dec 2022 12:44:17 +0100 Subject: [PATCH 170/525] ifix fruit --- hosts/ds9/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index fd6da7bc..3446c00e 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -212,7 +212,8 @@ in vfs objects = acl_xattr catia fruit streams_xattr fruit:nfs_aces = no inherit permissions = yes - fruit:posix_rename = yes + fruit:posix_rename = yes + fruit:resource = xattr fruit:model = MacPro7,1@ECOLOR=226,226,224 fruit:veto_appledouble = no fruit:wipe_intentionally_left_blank_rfork = yes @@ -262,6 +263,7 @@ in path = "/backups/DaedalusTimeMachine"; comment = "DaedalusTimeMachine"; "write list" = "@wheel"; + "log level" = "0"; "fruit:time machine" = "yes"; "fruit:time machine max size" = "2050G"; "vfs objects" = "acl_xattr fruit streams_xattr"; From d25a8cb5a66780802ffd1cfd779cdf58e19d5bf5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 17 Dec 2022 12:49:31 +0100 Subject: [PATCH 171/525] a --- hosts/ds9/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 3446c00e..3cb9bfcd 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -219,6 +219,7 @@ in fruit:wipe_intentionally_left_blank_rfork = yes fruit:delete_empty_adfiles = yes fruit:metadata = stream + logging = 0 ''; services.smartd = { @@ -263,7 +264,6 @@ in path = "/backups/DaedalusTimeMachine"; comment = "DaedalusTimeMachine"; "write list" = "@wheel"; - "log level" = "0"; "fruit:time machine" = "yes"; "fruit:time machine max size" = "2050G"; "vfs objects" = "acl_xattr fruit streams_xattr"; From e2179efcd5444585f2a8b8eafa97746b6dc6dc1a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 19 Dec 2022 22:42:30 +0100 Subject: [PATCH 172/525] a --- hosts/ds9/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 3cb9bfcd..09b4ea05 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -222,6 +222,15 @@ in logging = 0 ''; + users.users.minecraft = { + description = "Minecraft server service user"; + home = "/var/lib/minecraft"; + createHome = true; + isSystemUser = true; + group = "minecraft"; + }; + users.groups.minecraft = { }; + services.smartd = { enable = true; #notifications.test = true; @@ -255,7 +264,7 @@ in cli.enable = true; user.enable = true; persist.enable = true; - persist.extraDirectories = [ "/var/lib/syncthing" config.services.plex.dataDir ]; + persist.extraDirectories = [ "/var/lib/syncthing" config.services.plex.dataDir "/var/lib/minecraft" ]; services = { samba.enable = true; From ba6f5ed81b2787c82771aeb35c8ef9ef58077a77 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 19 Dec 2022 22:45:44 +0100 Subject: [PATCH 173/525] a --- hosts/ds9/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 09b4ea05..24d98406 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -202,7 +202,7 @@ in # "${pkgs.webhook}/bin/webhook -hooks ${hooksFile} -verbose"; # }; #}; - networking.firewall.allowedTCPPorts = [ 9000 ]; + networking.firewall.allowedTCPPorts = [ 9000 25565 ]; # Immutable users due to tmpfs users.mutableUsers = false; @@ -230,6 +230,7 @@ in group = "minecraft"; }; users.groups.minecraft = { }; + environment.systemPackages = [ pkgs.jre8 ]; services.smartd = { enable = true; From d1394482e424a47ab26111160dc3ca5a260b04f8 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 27 Dec 2022 17:47:30 +0100 Subject: [PATCH 174/525] vim again --- flake.lock | 59 +++++++----- flake.nix | 2 + hm-imports/nvim/config/coc.vim | 6 +- hm-imports/nvim/config/lua/keybindings.lua | 11 +-- .../nvim/config/lua/plugin/terminal.lua | 13 +-- hm-imports/nvim/config/nvim.lua | 9 +- hm-imports/nvim/default.nix | 89 +++++++++++++++---- hosts/daedalus/default.nix | 8 +- 8 files changed, 140 insertions(+), 57 deletions(-) diff --git a/flake.lock b/flake.lock index 30e47ba1..cc5d37a3 100644 --- a/flake.lock +++ b/flake.lock @@ -37,6 +37,22 @@ "type": "github" } }, + "coc-nvim": { + "flake": false, + "locked": { + "lastModified": 1672048825, + "narHash": "sha256-SYVv7xFjA6p0lkrnkXeaLXq+/6vZbJeh4i+ACoDMoSI=", + "owner": "neoclide", + "repo": "coc.nvim", + "rev": "d8e458300051a1f04531775c8d9b6f794890f947", + "type": "github" + }, + "original": { + "owner": "neoclide", + "repo": "coc.nvim", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -44,11 +60,11 @@ ] }, "locked": { - "lastModified": 1671196037, - "narHash": "sha256-2+J98SeczFWonbqFLMEAQC7vZEe6I2gM17XYvEmG52I=", + "lastModified": 1671891118, + "narHash": "sha256-+GJYiT7QbfA306ex4sGMlFB8Ts297pn3OdQ9kTd4aDw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "adb8ac0453c8b2c40f5bffb578453dbaee838952", + "rev": "267040e7a2b8644f1fdfcf57b7e808c286dbdc7b", "type": "github" }, "original": { @@ -66,11 +82,11 @@ ] }, "locked": { - "lastModified": 1671268121, - "narHash": "sha256-LIOLFw5m2mYDjMo7eBB/cxYjhEqBnvQ8dpZvTjR6+Lo=", + "lastModified": 1672132398, + "narHash": "sha256-eiHIeVAv0/RioqX3N8FzMBNiDuj/PhwrxYbJbT+Yuu4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "249d14bdd55995eea2e0c9cfed8a230525faebde", + "rev": "ebbb22510930b5153de22357518ebd8ce7ed93b3", "type": "github" }, "original": { @@ -102,11 +118,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1671209729, - "narHash": "sha256-zxn1eA/rMi2DOx43V7q87bGaDzvL7CMVY/Ti7lJ92DQ=", + "lastModified": 1671966569, + "narHash": "sha256-jbLgfSnmLchARBNFRvCic63CFQ9LAyvlXnBpc2kwjQc=", "owner": "nix-community", "repo": "home-manager", - "rev": "7d55a72d4c1df694e87a41a7e6c9a7b6e9a40ca3", + "rev": "c55fa26ce05fee8e063db22918d05a73d430b2ea", "type": "github" }, "original": { @@ -153,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1671228065, - "narHash": "sha256-Az/ig9LVL5xdqtyl4/CVKJIH1G7sP/9Ott2XnNyie0E=", + "lastModified": 1671631481, + "narHash": "sha256-LP6NvQQNKdqDpXngECo6oCiWfYRb0KPGM5+D5lu7mPw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e462a4baf75eeac639b4942481759de08a3bc94e", + "rev": "9577ab1eaf01a738b015a7a7ab2a4616e158b6cd", "type": "github" }, "original": { @@ -169,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1671200928, - "narHash": "sha256-mZfzDyzojwj6I0wyooIjGIn81WtGVnx6+avU5Wv+VKU=", + "lastModified": 1671983799, + "narHash": "sha256-Z2Ro6hFPZHkBqkVXY5/aBUzxi5xizQGvuHQ9+T5B/ks=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "757b82211463dd5ba1475b6851d3731dfe14d377", + "rev": "fad51abd42ca17a60fc1d4cb9382e2d79ae31836", "type": "github" }, "original": { @@ -185,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1671276751, - "narHash": "sha256-/wNWs1qVW8jf0Jr9Q1GI11EQ6CKtFq9J+1WkctVVdj8=", + "lastModified": 1672158941, + "narHash": "sha256-A6KENZ8/ke7YXpmpwVH4nTf5hLreFEUWW9Q+Z9jdomg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3dd6b9ebd46ea372a80aea185fb87e6e91d9feef", + "rev": "23d58dae80cb6a9e14839be4e626ec4bc0963e32", "type": "github" }, "original": { @@ -305,6 +321,7 @@ "inputs": { "agenix": "agenix", "agkozak-zsh-prompt": "agkozak-zsh-prompt", + "coc-nvim": "coc-nvim", "darwin": "darwin", "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", @@ -414,11 +431,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1671110471, - "narHash": "sha256-B7ia4UTIMwRza//NYRr7rZn9Kin2fbCnnXwH9MUZGBg=", + "lastModified": 1672136787, + "narHash": "sha256-rgS2d5mOKnVy+49AVPQ3wP/hOwtykAsdp6t0dyucvbU=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "b215131217582b1c634c57ffc61bf3e33190c5f1", + "rev": "b46602db397bf1af6bb6906e1a749da09fdda27d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 06b0d8f9..cc8c78d9 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,8 @@ ## vim nnn-vim.url = "github:mcchrish/nnn.vim"; nnn-vim.flake = false; + coc-nvim.url = "github:neoclide/coc.nvim"; + coc-nvim.flake = false; ## zsh zsh-completions.url = "github:zsh-users/zsh-completions"; diff --git a/hm-imports/nvim/config/coc.vim b/hm-imports/nvim/config/coc.vim index 8998139f..38f14004 100644 --- a/hm-imports/nvim/config/coc.vim +++ b/hm-imports/nvim/config/coc.vim @@ -1,6 +1,6 @@ -if system('id -u') > 500 - let g:coc_global_extensions = [ 'coc-markdownlint', 'coc-diagnostic', 'coc-angular', 'coc-css', 'coc-docker', 'coc-flutter-tools', 'coc-git', 'coc-homeassistant', 'coc-html', 'coc-json', 'coc-marketplace', 'coc-prettier', 'coc-pyright', 'coc-rls', 'coc-rust-analyzer', 'coc-scssmodules', 'coc-sh', 'coc-snippets', 'coc-stylelintplus', 'coc-swagger', 'coc-tabnine', 'coc-eslint', 'coc-tsserver', 'coc-webpack', 'coc-yaml' ] -endif +" if system('id -u') > 500 +" let g:coc_global_extensions = [ 'coc-markdownlint', 'coc-diagnostic', 'coc-angular', 'coc-css', 'coc-docker', 'coc-flutter-tools', 'coc-git', 'coc-homeassistant', 'coc-html', 'coc-json', 'coc-marketplace', 'coc-prettier', 'coc-pyright', 'coc-rls', 'coc-rust-analyzer', 'coc-scssmodules', 'coc-sh', 'coc-snippets', 'coc-stylelintplus', 'coc-swagger', 'coc-tabnine', 'coc-eslint', 'coc-tsserver', 'coc-webpack', 'coc-yaml' ] +" endif " \coc Some servers have issues with backup files, see #649. set nobackup set nowritebackup diff --git a/hm-imports/nvim/config/lua/keybindings.lua b/hm-imports/nvim/config/lua/keybindings.lua index f511f272..ec32b24c 100644 --- a/hm-imports/nvim/config/lua/keybindings.lua +++ b/hm-imports/nvim/config/lua/keybindings.lua @@ -16,8 +16,8 @@ map { 'n', '', 'k', noremap = true, silent = true} map { 'n', '', 'l', noremap = true, silent = true} -- buffer binds -map { 'n', ',q', ':bd', noremap = false, silent = true} -map { 'n', ',b', ':Buffers', noremap = false, silent = true} +map { 'n', 'q', ':bd', noremap = false, silent = true} +map { 'n', 'b', ':Buffers', noremap = false, silent = true} -- tab binds map { 'n', '', ':tabnew', noremap = false, silent = true} @@ -31,8 +31,8 @@ map { 'c', 'w!!', 'w !sudo tee > /dev/null %', noremap = false, silent = false} -- terminal -map { 'n', 't', ':term', noremap = false, silent = true} -map { 't', '', '', noremap = true, silent = true} +-- map { 'n', 't', ':term', noremap = false, silent = true} +-- map { 't', '', '', noremap = true, silent = true} -- plugins - commentary map { 'n', 'c', ':Commentary', noremap = false, silent = true} @@ -42,4 +42,5 @@ map { 'n', 'v', ':Vista!!', noremap = false, silent = true} map { 'n', '', '::NnnPicker %:p:h', noremap = true, silent = true} -- plugins - terminal -map {"n", "l", "lua _lazygit_toggle()", {noremap = true, silent = true}} +map {"n", "gg", "lua _lazygit_toggle()", {noremap = true, silent = true}} +map {"n", "gp", "lua _pipeline_toggle()", {noremap = true, silent = true}} diff --git a/hm-imports/nvim/config/lua/plugin/terminal.lua b/hm-imports/nvim/config/lua/plugin/terminal.lua index 3df9dd92..675b815b 100644 --- a/hm-imports/nvim/config/lua/plugin/terminal.lua +++ b/hm-imports/nvim/config/lua/plugin/terminal.lua @@ -14,9 +14,12 @@ function _lazygit_toggle() lazygit:toggle() end --- local pipeline = Terminal:new { --- cmd = "glab ci view", --- hidden = true, --- direction = 'float' --- } +local pipeline = Terminal:new { + cmd = "glab ci view", + hidden = true, + direction = 'float' +} +function _pipeline_toggle() + pipeline:toggle() +end diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index adf425f0..ccfd9d10 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -1,3 +1,6 @@ +-- mapleader +vim.g.mapleader = ' ' + require('utils') require('keybindings') require('filetypes') @@ -8,8 +11,9 @@ require('plugin.nnn') require('plugin.rainbow') require('plugin.terminal') + -- plugins - coc --- vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua +vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua -- terminal vim.cmd 'source ~/.config/nvim/terminal.vim' -- too lazy to convert all the shit to lua @@ -19,6 +23,7 @@ vim.cmd ':colorscheme gruvbox' opt.termguicolors = true -- 24bit color opt.background = 'dark' -- dark gruvbox + -- general settings vim.cmd [[ filetype plugin on @@ -43,5 +48,5 @@ opt.softtabstop = 2 -- buffers don't get unloaded when hidden opt.hidden = true -- low updatetime so it isnt as slow -opt.updatetime = 200 +opt.updatetime = 100 require('plugin.lualine') diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index ba203e71..e0473c56 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -2,14 +2,18 @@ { home.packages = with pkgs;[ python3 # ultisnips - #lazygit - #nodejs - #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp - #shfmt - #shellcheck - #vim-vint - #nodePackages.write-good - #ctags + lazygit + nodejs # coc-nvim + yarn # coc-nvim + inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + + # lsp + shfmt + shellcheck + vim-vint + glab + nodePackages.write-good + ctags ]; home.file.".config/nvim".source = ./config; home.file.".config/nvim".recursive = true; @@ -33,10 +37,10 @@ version = "1.0.0"; src = inputs.nnn-vim; }; - # coc-nvim = pkgs.vimUtils.buildVimPlugin { - # name = "coc-nvim"; - # src = inputs.coc-nvim; - # }; + #coc-nvim = pkgs.vimUtils.buildVimPlugin { + # name = "coc-nvim"; + # src = inputs.coc-nvim; + #}; #dart-vim = pkgs.vimUtils.buildVimPlugin { # name = "dart-vim"; # src = inputs.dart-vim; @@ -63,12 +67,63 @@ fzfWrapper vim-devicons toggleterm-nvim - # undotree - # vim-pandoc - # vim-pandoc-syntax - # ultisnips - # coc-nvim + undotree + vim-pandoc + vim-pandoc-syntax + ultisnips #dart-vim + + coc-nvim + + #telescope-coc-nvim + #coc-yank + coc-yaml + #coc-wxml + #coc-vimtex + #coc-vimlsp + #coc-vetur # vue + coc-ultisnips + coc-tsserver + #coc-tslint-plugin + #coc-tslint + coc-toml + #coc-texlab + #coc-tailwindcss + #coc-tabnine + #coc-svelte + #coc-sumneko-lua + coc-stylelint + coc-sqlfluff + #coc-spell-checker + #coc-solargraph # ruby + coc-snippets + #coc-smartf + coc-sh + #coc-rust-analyzer + coc-rls + #coc-r-lsp + coc-python + #coc-pyright + coc-prettier + #coc-pairs + #coc-nginx + #coc-neco + #coc-metals + coc-markdownlint + coc-lua + #coc-lists + coc-json + coc-jest + coc-java + #coc-imselect + coc-html + coc-highlight + #coc-haxe + coc-go + #coc-git + #coc-fzf + coc-flutter + #coc-explorer ]); }; } diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index c54f4709..5d00d780 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -71,10 +71,10 @@ in programs.home-manager.enable = true; home.stateVersion = "21.11"; - home.shellAliases = { - v = lib.mkForce "emacsclient -t"; - vv = lib.mkForce "emacsclient -c"; - }; + #home.shellAliases = { + # v = lib.mkForce "emacsclient -t"; + # vv = lib.mkForce "emacsclient -c"; + #}; home.sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; From c3d496e034614a7bfb22069df851d2fca226a873 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 29 Dec 2022 17:55:56 +0100 Subject: [PATCH 175/525] fix: dotnet --- hm-imports/nvim/config/coc-settings.json | 8 +++++++- hm-imports/nvim/config/lua/keybindings.lua | 8 ++++++-- hm-imports/nvim/config/lua/plugin/project.lua | 3 +++ hm-imports/nvim/config/lua/plugin/telescope.lua | 2 ++ hm-imports/nvim/config/nvim.lua | 2 ++ hm-imports/nvim/default.nix | 8 ++++++-- hm-imports/zsh/zshrc | 1 + 7 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 hm-imports/nvim/config/lua/plugin/project.lua create mode 100644 hm-imports/nvim/config/lua/plugin/telescope.lua diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json index c7c6083f..b0c1ee45 100644 --- a/hm-imports/nvim/config/coc-settings.json +++ b/hm-imports/nvim/config/coc-settings.json @@ -5,7 +5,6 @@ "python.linting.enabled": true, "html.format.enable": true, "html.suggest.html5": true, - "html.suggest.ionic": true, "html.validate.html": true, "html.validate.styles": true, "diagnostic-languageserver.mergeConfig": true, @@ -37,6 +36,13 @@ "nix" ] }, + "csharp-ls": { + "command": "csharp-ls", + "filetypes": [ + "cs", + "razor" + ] + }, "terraform": { "command": "terraform-ls", "args": ["serve"], diff --git a/hm-imports/nvim/config/lua/keybindings.lua b/hm-imports/nvim/config/lua/keybindings.lua index ec32b24c..e2029a78 100644 --- a/hm-imports/nvim/config/lua/keybindings.lua +++ b/hm-imports/nvim/config/lua/keybindings.lua @@ -17,14 +17,18 @@ map { 'n', '', 'l', noremap = true, silent = true} -- buffer binds map { 'n', 'q', ':bd', noremap = false, silent = true} -map { 'n', 'b', ':Buffers', noremap = false, silent = true} +-- telescope +map { 'n', 'fb', 'Telescope buffers', noremap = false, silent = true} +map { 'n', 'ff', 'Telescope find_files', noremap = false, silent = true} +map { 'n', 'fs', 'Telescope live_grep', noremap = false, silent = true} +map { 'n', 'fr', 'Telescope registers', noremap = false, silent = true} +map { 'n', 'pp', 'lua require\'telescope\'.extensions.projects.projects{}', noremap = false, silent = true} -- tab binds map { 'n', '', ':tabnew', noremap = false, silent = true} -- copy paste map { 'v', '', '"+y', noremap = true, silent = true} map { 'n', '', '"+P', noremap = false, silent = true} -map { 'n', '', ':registers', noremap = true, silent = true} -- sudo :w map { 'c', 'w!!', 'w !sudo tee > /dev/null %', noremap = false, silent = false} diff --git a/hm-imports/nvim/config/lua/plugin/project.lua b/hm-imports/nvim/config/lua/plugin/project.lua new file mode 100644 index 00000000..7d14dd92 --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/project.lua @@ -0,0 +1,3 @@ +require('project_nvim').setup { + detection_methods = { "pattern" }, +} diff --git a/hm-imports/nvim/config/lua/plugin/telescope.lua b/hm-imports/nvim/config/lua/plugin/telescope.lua new file mode 100644 index 00000000..236915cb --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/telescope.lua @@ -0,0 +1,2 @@ +require('telescope').setup {} +require('telescope').load_extension('projects') diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index ccfd9d10..f4f6bd27 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -10,6 +10,8 @@ local opt = vim.opt require('plugin.nnn') require('plugin.rainbow') require('plugin.terminal') +require('plugin.project') +require('plugin.telescope') -- plugins - coc diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index e0473c56..884d4893 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -62,9 +62,9 @@ incsearch-vim vim-highlightedyank vim-fugitive - fzf-vim + #fzf-vim lualine-nvim - fzfWrapper + #fzfWrapper vim-devicons toggleterm-nvim undotree @@ -73,6 +73,10 @@ ultisnips #dart-vim + plenary-nvim + telescope-nvim + project-nvim + coc-nvim #telescope-coc-nvim diff --git a/hm-imports/zsh/zshrc b/hm-imports/zsh/zshrc index 5fde09bd..2612eac4 100644 --- a/hm-imports/zsh/zshrc +++ b/hm-imports/zsh/zshrc @@ -16,6 +16,7 @@ bindkey -M viins '^[[A' history-beginning-search-backward-end \ hash go 2>/dev/null && export PATH=$PATH:$(go env GOPATH)/bin hash yarn 2>/dev/null && export PATH=$PATH:$HOME/.yarn/bin +hash dotnet 2>/dev/null && export PATH=$PATH:$HOME/.dotnet/tools hash direnv 2>/dev/null && eval "$(direnv hook zsh)" # needed for lorri export PATH=$PATH:$HOME/.local/bin export PATH=$PATH:$HOME/flutter/flutter/bin From c87bb609e07b0ad77b7bd33118de6ed54ef3e244 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 31 Dec 2022 19:02:42 +0100 Subject: [PATCH 176/525] update new blog version --- flake.lock | 42 +++++++++++++++++++-------------------- hosts/daedalus/finicky.js | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index cc5d37a3..168c7094 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1672048825, - "narHash": "sha256-SYVv7xFjA6p0lkrnkXeaLXq+/6vZbJeh4i+ACoDMoSI=", + "lastModified": 1672491459, + "narHash": "sha256-dkv+k4ohZHhYqZNt9a04uNSu2D1xfE2KrA71kfFLtH0=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "d8e458300051a1f04531775c8d9b6f794890f947", + "rev": "28e0edd7818ad1b202680f4d1d814435488d0b8e", "type": "github" }, "original": { @@ -82,11 +82,11 @@ ] }, "locked": { - "lastModified": 1672132398, - "narHash": "sha256-eiHIeVAv0/RioqX3N8FzMBNiDuj/PhwrxYbJbT+Yuu4=", + "lastModified": 1672481747, + "narHash": "sha256-fwWtmoN1t8cV0WBdpM8AKkQe6Y2Fhst3vC5UqGlz0ik=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "ebbb22510930b5153de22357518ebd8ce7ed93b3", + "rev": "27ecb795fbcd192d09a07a647696a92bbb6138ff", "type": "github" }, "original": { @@ -118,11 +118,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1671966569, - "narHash": "sha256-jbLgfSnmLchARBNFRvCic63CFQ9LAyvlXnBpc2kwjQc=", + "lastModified": 1672349765, + "narHash": "sha256-Ul3lSGglgHXhgU3YNqsNeTlRH1pqxbR64h+2hM+HtnM=", "owner": "nix-community", "repo": "home-manager", - "rev": "c55fa26ce05fee8e063db22918d05a73d430b2ea", + "rev": "dd99675ee81fef051809bc87d67eb07f5ba022e8", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1671631481, - "narHash": "sha256-LP6NvQQNKdqDpXngECo6oCiWfYRb0KPGM5+D5lu7mPw=", + "lastModified": 1672484314, + "narHash": "sha256-7A8cJ933P9fKJsuaG1C3zAR6P0mASU1LPX59HqO/2qQ=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9577ab1eaf01a738b015a7a7ab2a4616e158b6cd", + "rev": "3c03f64efbd255c73b9b61b2710c0e4a67fa7143", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1671983799, - "narHash": "sha256-Z2Ro6hFPZHkBqkVXY5/aBUzxi5xizQGvuHQ9+T5B/ks=", + "lastModified": 1672350804, + "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fad51abd42ca17a60fc1d4cb9382e2d79ae31836", + "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1672158941, - "narHash": "sha256-A6KENZ8/ke7YXpmpwVH4nTf5hLreFEUWW9Q+Z9jdomg=", + "lastModified": 1672506742, + "narHash": "sha256-YDQUqIqX7+zg0dfRIzHvXvu6r6y90L0MS+gZZCAeN50=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "23d58dae80cb6a9e14839be4e626ec4bc0963e32", + "rev": "f9a86d8f9b3861f1fcedc1eda3bce06472d7b8b7", "type": "github" }, "original": { @@ -415,11 +415,11 @@ ] }, "locked": { - "lastModified": 1670271192, - "narHash": "sha256-NG9B9o24+4MvaTl90etfQGNHj2R5szOsvdi34B3DIGw=", + "lastModified": 1672509476, + "narHash": "sha256-a+BKv2FZ51PP1OjoJ+Koq9NHWMr6NNtL1vwmGUtDQHk=", "owner": "thexyno", "repo": "blog", - "rev": "2f194b2d6fc9e6c1a9fab27a495f083dc9c22e74", + "rev": "cc441130553c3f5dd49eb055710815bdd14c4288", "type": "github" }, "original": { diff --git a/hosts/daedalus/finicky.js b/hosts/daedalus/finicky.js index d5dae2f0..9be3f777 100644 --- a/hosts/daedalus/finicky.js +++ b/hosts/daedalus/finicky.js @@ -1,5 +1,5 @@ module.exports = { - defaultBrowser: "Safari", + defaultBrowser: "Orion", handlers: [ { match: /^https?:\/\/gitlab\.com\/.*$/, From b4713eed046024593db360c729f3d295c7cdf1fd Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 12 Jan 2023 12:53:45 +0100 Subject: [PATCH 177/525] feat: hammerspoon mouse3/4 --- hosts/daedalus/hammerspoon.lua | 123 +-------------------------------- 1 file changed, 3 insertions(+), 120 deletions(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index aa668c64..7289c319 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -278,12 +278,6 @@ hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.delete, function() hs.caffeinate hs.hotkey.bind(modifiers.hyper, "a", function() showHideBundleId(bundleID.activityMonitor) end) hs.hotkey.bind(modifiers.hyper, "c", function() showHideBundleId(bundleID.safari) end) hs.hotkey.bind(modifiers.hyper, "f", function() showHideBundleId(bundleID.faclieThings) end) -hs.hotkey.bind(modifiers.hyper, "e", - function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, { "-c", "-a", "" }):start() end) -hs.hotkey.bind(modifiers.hyper, "i", - function() hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, - { "-a", "", "--eval", "(emacs-everywhere)" }):start() - end) hs.hotkey.bind(modifiers.hyper, "p", function() showHideBundleId(bundleID.timeular) end) hs.hotkey.bind(modifiers.hyper, "b", function() showHideBundleId(bundleID.bitwarden) end) hs.hotkey.bind(modifiers.hyper, "t", function() showHideBundleId(bundleID.iterm) end) @@ -331,106 +325,23 @@ local function handleMouse2() end local function handleMouse3() - local application = hs.application.frontmostApplication() - - -- Safari: Back - if application:bundleID() == bundleID.safari then - if languageIsGerman() then - application:selectMenuItem({ "Verlauf", "Zurück" }) - else - application:selectMenuItem({ "History", "Back" }) - end - - -- Safari Technology Preview: Back - elseif application:bundleID() == bundleID.safariTechnologyPreview then - application:selectMenuItem({ "History", "Back" }) - - -- Google Chrome: Back - elseif application:bundleID() == bundleID.googleChrome then - if languageIsGerman() then - application:selectMenuItem({ "Verlauf", "Zurück" }) - else - application:selectMenuItem({ "History", "Back" }) - end - - -- Firefox: Back - elseif application:bundleID() == bundleID.firefox then hs.eventtap.keyStroke({ modifier.cmd }, "left") - - -- Teams: Toggle mute - elseif application:bundleID() == bundleID.teams then - hs.eventtap.keyStroke({ modifier.cmd, modifier.shift }, "m") - - -- Spotify: Next - elseif application:bundleID() == bundleID.spotify then - hs.eventtap.keyStroke({ modifier.cmd }, "right") - - -- Reeder: Open in Safari - elseif application:bundleID() == bundleID.reeder then - hs.eventtap.keyStroke({}, "b") - - -- Other: Copy to clipboard - else - hs.eventtap.keyStroke({ "cmd" }, "c") - end end local function handleMouse4() - local application = hs.application.frontmostApplication() - - -- Safari: Forward - if application:bundleID() == bundleID.safari then - if languageIsGerman() then - application:selectMenuItem({ "Verlauf", "Vorwärts" }) - else - application:selectMenuItem({ "History", "Forward" }) - end - - -- Safari Technology Preview: Forward - elseif application:bundleID() == bundleID.safariTechnologyPreview then - application:selectMenuItem({ "History", "Forward" }) - - -- Google Chrome: Forward - elseif application:bundleID() == bundleID.googleChrome then - if languageIsGerman() then - application:selectMenuItem({ "Verlauf", "Vorwärts" }) - else - application:selectMenuItem({ "History", "Forward" }) - end - - -- Firefox: Forward - elseif application:bundleID() == bundleID.firefox then hs.eventtap.keyStroke({ modifier.cmd }, "right") - - -- Teams: Toggle video - elseif application:bundleID() == bundleID.teams then - hs.eventtap.keyStroke({ modifier.cmd, modifier.shift }, "o") - - -- Spotify: Previous - elseif application:bundleID() == bundleID.spotify then - hs.eventtap.keyStroke({ modifier.cmd }, "left") - - -- Reeder: Mark all as read - elseif application:bundleID() == bundleID.reeder then - hs.eventtap.keyStroke({}, "a") - - -- Other: Paste from clipboard - else - hs.eventtap.keyStroke({ modifier.cmd }, "v") - end end +-- bind mouse3/4 to back and forward mouseTap = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function(event) - if event:getButtonState(2) then - handleMouse2() - elseif event:getButtonState(3) then + if event:getButtonState(3) then handleMouse3() elseif event:getButtonState(4) then handleMouse4() end return true end) --- mouseTap:start() +mouseTap:start() ---------------------------------------------------------------------------------------------------- -- Clipboard Manager @@ -442,34 +353,6 @@ end) -- hs.hotkey.bind(modifiers.clipboard, "v", function() clipboard:toggleClipboard() end) -- hs.hotkey.bind(modifiers.clipboard, hs.keycodes.map.delete, function() clipboard:clearAll() end) ----------------------------------------------------------------------------------------------------- --- Facilethings paste ----------------------------------------------------------------------------------------------------- - -local function facileCaptpure() - ok, text = hs.dialog.textPrompt("Facilethings", "Capture") - if ok then - hs.osascript.applescript(string.format([[ -tell application "Mail" - - ##Create the message - set theMessage to make new outgoing message with properties {subject:"%s", content:"", visible:true} - - ##Set a recipient - tell theMessage - make new to recipient with properties {name:"inbox@facilethings.com", address:"inbox@facilethings.com"} - - ##Send the Message - send - - end tell -end tell -]] , text)) - end -end - -hs.hotkey.bind(modifiers.window, "f", facileCaptpure) - ---------------------------------------------------------------------------------------------------- -- notmuch indicator ---------------------------------------------------------------------------------------------------- From 2396d6d5ccf331ccbd5d0e497b40a69cbf24c173 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 13 Jan 2023 13:15:23 +0100 Subject: [PATCH 178/525] fixi fixi --- hosts/daedalus/finicky.js | 4 ++++ hosts/daedalus/hammerspoon.lua | 35 +++------------------------------- 2 files changed, 7 insertions(+), 32 deletions(-) diff --git a/hosts/daedalus/finicky.js b/hosts/daedalus/finicky.js index 9be3f777..dfa47e21 100644 --- a/hosts/daedalus/finicky.js +++ b/hosts/daedalus/finicky.js @@ -8,6 +8,10 @@ module.exports = { { match: /^https?:\/\/.*\.atlassian\.com\/.*$/, browser: "Vivaldi.app" + }, + { + match: 'localhost:44422', + browser: "Vivaldi.app" } ] } diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 7289c319..17988aba 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -295,36 +295,7 @@ end) -- Mouse Shortcuts ---------------------------------------------------------------------------------------------------- -local function handleMouse2() - local application = hs.application.frontmostApplication() - - -- Safari: Close tab - if application:bundleID() == bundleID.safari then - hs.eventtap.keyStroke({ modifier.cmd }, "w") - - -- Safari Technology Preview: Close tab - elseif application:bundleID() == bundleID.safariTechnologyPreview then - hs.eventtap.keyStroke({ modifier.cmd }, "w") - - -- Google Chrome: Close tab - elseif application:bundleID() == bundleID.googleChrome then - hs.eventtap.keyStroke({ modifier.cmd }, "w") - - -- Firefox: Close tab - elseif application:bundleID() == bundleID.firefox then - hs.eventtap.keyStroke({ modifier.cmd }, "w") - - -- Teams: End call - elseif application:bundleID() == bundleID.teams then - hs.eventtap.keyStroke({ modifier.cmd, modifier.shift }, "h") - - -- Spotify: Toggle play - elseif application:bundleID() == bundleID.spotify then - hs.eventtap.keyStroke({}, "space") - end -end - -local function handleMouse3() +local function handleMouse5() hs.eventtap.keyStroke({ modifier.cmd }, "left") end @@ -334,8 +305,8 @@ end -- bind mouse3/4 to back and forward mouseTap = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function(event) - if event:getButtonState(3) then - handleMouse3() + if event:getButtonState(5) then + handleMouse5() elseif event:getButtonState(4) then handleMouse4() end From c2a8bd6db12662396166721f648ef55e740cc3b5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 14 Jan 2023 22:37:17 +0100 Subject: [PATCH 179/525] tmux split stuff --- hm-imports/tmux/default.nix | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/hm-imports/tmux/default.nix b/hm-imports/tmux/default.nix index 426d608c..90af7fea 100644 --- a/hm-imports/tmux/default.nix +++ b/hm-imports/tmux/default.nix @@ -1,16 +1,20 @@ -{ config, pkgs,...}:{ - programs.tmux = { - enable = true; - keyMode = "vi"; - clock24 = true; - historyLimit = 10000; - plugins = with pkgs.tmuxPlugins; [ - vim-tmux-navigator - gruvbox - ]; - extraConfig = '' - new-session -s main - bind-key -n C-a send-prefix - ''; - }; +{ config, pkgs, ... }: { + programs.tmux = { + enable = true; + keyMode = "vi"; + clock24 = true; + historyLimit = 10000; + plugins = with pkgs.tmuxPlugins; [ + vim-tmux-navigator + gruvbox + ]; + extraConfig = '' + new-session -s main + bind-key -n C-e send-prefix + bind '"' split-window -c "#{pane_current_path}" + bind % split-window -h -c "#{pane_current_path}" + bind c new-window -c "#{pane_current_path}" + + ''; + }; } From 0eddaa28939fef2c1661c3111ef4fbf4e0c89e1f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 15 Jan 2023 21:58:06 +0100 Subject: [PATCH 180/525] a --- hosts/daedalus/hammerspoon.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 17988aba..03764a91 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -295,20 +295,20 @@ end) -- Mouse Shortcuts ---------------------------------------------------------------------------------------------------- -local function handleMouse5() +local function handleMouse4() hs.eventtap.keyStroke({ modifier.cmd }, "left") end -local function handleMouse4() +local function handleMouse5() hs.eventtap.keyStroke({ modifier.cmd }, "right") end -- bind mouse3/4 to back and forward mouseTap = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function(event) - if event:getButtonState(5) then - handleMouse5() - elseif event:getButtonState(4) then + if event:getButtonState(3) then handleMouse4() + elseif event:getButtonState(4) then + handleMouse5() end return true end) From 7b8535e3d8e8e37962ef78eb08f9ae34ef13ef3f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 18 Jan 2023 05:17:29 +0100 Subject: [PATCH 181/525] true --- hosts/daedalus/hammerspoon.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 03764a91..5bfe80a0 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -307,10 +307,12 @@ end mouseTap = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function(event) if event:getButtonState(3) then handleMouse4() + return true elseif event:getButtonState(4) then handleMouse5() + return true end - return true + return false end) mouseTap:start() From 8c0eff23c1bca553ab30c610db4ddb47ffb39081 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 18 Jan 2023 19:30:34 +0100 Subject: [PATCH 182/525] :s/rnix-lsp/nil --- hm-imports/nvim/config/coc-settings.json | 5 +++-- hm-imports/nvim/default.nix | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json index b0c1ee45..9d4ec07f 100644 --- a/hm-imports/nvim/config/coc-settings.json +++ b/hm-imports/nvim/config/coc-settings.json @@ -31,10 +31,11 @@ "git.addGBlameToVirtualText": true, "languageserver": { "nix": { - "command": "rnix-lsp", + "command": "nil", "filetypes": [ "nix" - ] + ], + "rootPatterns": ["flake.nix"] }, "csharp-ls": { "command": "csharp-ls", diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 884d4893..ba6898f9 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -5,7 +5,8 @@ lazygit nodejs # coc-nvim yarn # coc-nvim - inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + nil # lsp shfmt From c430b03c8f8cf7943f8e05302acc6d203276f1be Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 18 Jan 2023 19:39:32 +0100 Subject: [PATCH 183/525] a --- hm-imports/nvim/config/coc-settings.json | 55 ++++++++++++------------ 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json index 9d4ec07f..6aa24b5c 100644 --- a/hm-imports/nvim/config/coc-settings.json +++ b/hm-imports/nvim/config/coc-settings.json @@ -1,5 +1,9 @@ { "suggest.triggerCompletionWait": 50, + "semanticTokens": { + "filetypes": ["nix"] + }, + "coc.preferences.formatOnSaveFiletypes": ["nix"], "suggest.enablePreview": true, "html.enable": true, "python.linting.enabled": true, @@ -11,7 +15,7 @@ "diagnostic-languageserver.filetypes": { "vim": "vint", "sh": "shellcheck", - "markdown": "write-good" + "markdown": "write-good" }, "diagnostic-languageserver.formatFiletypes": { "sh": "shfmt" @@ -25,34 +29,29 @@ "rust-analyzer.inlayHints.refreshOnInsertMode": true, "rust-analyzer.updates.channel": "nightly", "html.validate.scripts": true, - "git.gitlab.hosts": [ - "gitlab.com" - ], + "git.gitlab.hosts": ["gitlab.com"], "git.addGBlameToVirtualText": true, "languageserver": { - "nix": { - "command": "nil", - "filetypes": [ - "nix" - ], - "rootPatterns": ["flake.nix"] - }, - "csharp-ls": { - "command": "csharp-ls", - "filetypes": [ - "cs", - "razor" - ] - }, - "terraform": { - "command": "terraform-ls", - "args": ["serve"], - "filetypes": [ - "terraform", - "tf" - ], - "initializationOptions": {}, - "settings": {} - } + "nix": { + "command": "nil", + "filetypes": ["nix"], + "settings": { + "nil": { + "formatting": { "command": ["nixpkgs-fmt"] } + } + }, + "rootPatterns": ["flake.nix"] + }, + "csharp-ls": { + "command": "csharp-ls", + "filetypes": ["cs", "razor"] + }, + "terraform": { + "command": "terraform-ls", + "args": ["serve"], + "filetypes": ["terraform", "tf"], + "initializationOptions": {}, + "settings": {} + } } } From 2e48a2a467178c7190981075c4a0bba9da9129b2 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 19 Jan 2023 12:18:50 +0100 Subject: [PATCH 184/525] a --- hosts/daedalus/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 5d00d780..0152c611 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -5,6 +5,8 @@ let myEmacs = pkgs.emacsNativeComp; in { + nixpkgs.config.allowBroken = true; + nixpkgs.config.allowUnsupportedSystem = true; users.users.ragon = { name = "ragon"; From 0703c3be34520da72e23eb15d33043c7adca2bef Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 20 Jan 2023 10:42:09 +0100 Subject: [PATCH 185/525] a --- flake.nix | 54 ++++++++++++++++++++++++++++++++++++++ hosts/daedalus/default.nix | 2 -- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index cc8c78d9..5cd7713f 100644 --- a/flake.nix +++ b/flake.nix @@ -90,6 +90,59 @@ overlays = [ self.overlays.default emacs-overlay.overlay + (final: prev: { + python3 = prev.python3.override { + packageOverrides = pyself: pysuper: { + notmuch2 = pysuper.notmuch2.overridePythonAttrs (old: { + postPatch = old.postPatch + ''sed -i "s|/private.*/notmuch-${old.version}/|$(pwd)/../../|g" _notmuch_config.py''; + meta.broken = null; + }); + }; + }; + alot = prev.alot.overrideAttrs + (super: { + meta.platforms = lib.platforms.unix; + disabledTests = super.disabledTests ++ [ + "test_returned_string_starts_with_pgp" + "test_returned_string_is_lower_case" + "test_raises_for_unknown_hash_name" + "test_valid_signature_generated" + "test_verify_signature_good" + "test_verify_signature_bad" + "test_valid" + "test_revoked" + "test_expired" + "test_invalid" + "test_encrypt" + "test_encrypt_no_check" + "test_sign" + "test_sign_no_check" + "test_valid_single" + "test_valid_multiple" + "test_invalid_email" + "test_invalid_revoked" + "test_invalid_invalid" + "test_invalid_not_enough_trust" + "test_list_no_hints" + "test_list_hint" + "test_list_keys_pub" + "test_list_keys_private" + "test_plain" + "test_validate" + "test_missing_key" + "test_invalid_key" + "test_signed_only_true" + "test_signed_only_false" + "test_ambiguous_one_valid" + "test_ambiguous_two_valid" + "test_ambiguous_no_valid" + "test_encrypt" + "test_decrypt" + ]; + }); + + + }) ]; genPkgsWithOverlays = system: import nixpkgs { inherit system overlays; @@ -147,6 +200,7 @@ modules = [ home-manager.darwinModules.home-manager { + nixpkgs.overlays = overlays; #system.darwinLabel = "${config.system.darwinLabel}@${rev}"; networking.hostName = hostName; home-manager.useGlobalPkgs = true; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 0152c611..5d00d780 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -5,8 +5,6 @@ let myEmacs = pkgs.emacsNativeComp; in { - nixpkgs.config.allowBroken = true; - nixpkgs.config.allowUnsupportedSystem = true; users.users.ragon = { name = "ragon"; From db86293a46779877acc731cd16e838aedf8281fb Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 20 Jan 2023 10:43:59 +0100 Subject: [PATCH 186/525] a --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 5cd7713f..00c01b55 100644 --- a/flake.nix +++ b/flake.nix @@ -205,7 +205,7 @@ networking.hostName = hostName; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.extraSpecialArgs = { inherit inputs pkgs; }; home-manager.users.ragon = hmConfig; } ./darwin-common.nix From f2d5f4e7c97bd1190a51b78e8cdcec15cb45421a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 25 Jan 2023 07:46:58 +0100 Subject: [PATCH 187/525] :s/rls/rust-analyzer --- hm-imports/nvim/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index ba6898f9..30fe249d 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -104,8 +104,8 @@ coc-snippets #coc-smartf coc-sh - #coc-rust-analyzer - coc-rls + coc-rust-analyzer + #coc-rls #coc-r-lsp coc-python #coc-pyright From 7e0ca28180021d544379e7d41af6194e45d6c72f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 25 Jan 2023 07:49:02 +0100 Subject: [PATCH 188/525] update --- flake.lock | 60 +++++++++++++++++----------------- flake.nix | 2 +- hosts/daedalus/default.nix | 4 +-- hosts/daedalus/hammerspoon.lua | 16 ++++----- 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/flake.lock b/flake.lock index 168c7094..430bb66e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1665870395, - "narHash": "sha256-Tsbqb27LDNxOoPLh0gw2hIb6L/6Ow/6lIBvqcHzEKBI=", + "lastModified": 1673301561, + "narHash": "sha256-gRUWHbBAtMuPDJQXotoI8u6+3DGBIUZHkyQWpIv7WpM=", "owner": "ryantm", "repo": "agenix", - "rev": "a630400067c6d03c9b3e0455347dc8559db14288", + "rev": "42d371d861a227149dc9a7e03350c9ab8b8ddd68", "type": "github" }, "original": { @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1672491459, - "narHash": "sha256-dkv+k4ohZHhYqZNt9a04uNSu2D1xfE2KrA71kfFLtH0=", + "lastModified": 1674586885, + "narHash": "sha256-I+/silVjSmjLNOTDVVSoQKbzkNgoJdiV/mmX14EBLL8=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "28e0edd7818ad1b202680f4d1d814435488d0b8e", + "rev": "f3b0e2f2c028e03b97f36ae9a1f7152cf0d10be6", "type": "github" }, "original": { @@ -60,11 +60,11 @@ ] }, "locked": { - "lastModified": 1671891118, - "narHash": "sha256-+GJYiT7QbfA306ex4sGMlFB8Ts297pn3OdQ9kTd4aDw=", + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "267040e7a2b8644f1fdfcf57b7e808c286dbdc7b", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", "type": "github" }, "original": { @@ -82,11 +82,11 @@ ] }, "locked": { - "lastModified": 1672481747, - "narHash": "sha256-fwWtmoN1t8cV0WBdpM8AKkQe6Y2Fhst3vC5UqGlz0ik=", + "lastModified": 1674615852, + "narHash": "sha256-FcZ42T0m+CVbNyqHsmjixlFzuCevZXsbPBG/3JtoBak=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "27ecb795fbcd192d09a07a647696a92bbb6138ff", + "rev": "53018b60fc15aaac1722031e50b043883b74fcd0", "type": "github" }, "original": { @@ -118,11 +118,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1672349765, - "narHash": "sha256-Ul3lSGglgHXhgU3YNqsNeTlRH1pqxbR64h+2hM+HtnM=", + "lastModified": 1674556204, + "narHash": "sha256-HCRmkZsq01h2Evch08zpgE9jeHdMtGdT1okWotyvuhY=", "owner": "nix-community", "repo": "home-manager", - "rev": "dd99675ee81fef051809bc87d67eb07f5ba022e8", + "rev": "c59f0eac51da91c6989fd13a68e156f63c0e60b6", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1672484314, - "narHash": "sha256-7A8cJ933P9fKJsuaG1C3zAR6P0mASU1LPX59HqO/2qQ=", + "lastModified": 1674550793, + "narHash": "sha256-ljJlIFQZwtBbzWqWTmmw2O5BFmQf1A/DspwMOQtGXHk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3c03f64efbd255c73b9b61b2710c0e4a67fa7143", + "rev": "b7ac0a56029e4f9e6743b9993037a5aaafd57103", "type": "github" }, "original": { @@ -185,11 +185,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1672350804, - "narHash": "sha256-jo6zkiCabUBn3ObuKXHGqqORUMH27gYDIFFfLq5P4wg=", + "lastModified": 1674459583, + "narHash": "sha256-L0UZl/u2H3HGsrhN+by42c5kNYeKtdmJiPzIRvEVeiM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "677ed08a50931e38382dbef01cba08a8f7eac8f6", + "rev": "1b1f50645af2a70dc93eae18bfd88d330bfbcf7f", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1672506742, - "narHash": "sha256-YDQUqIqX7+zg0dfRIzHvXvu6r6y90L0MS+gZZCAeN50=", + "lastModified": 1674624031, + "narHash": "sha256-jrprd08u7leFnxQA9wAzzYRmn+aK0pqEBjDv3aFpIqw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f9a86d8f9b3861f1fcedc1eda3bce06472d7b8b7", + "rev": "343b5c8134ac2387088f7662b2c4938361a714f1", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "pandoc-latex-template": { "flake": false, "locked": { - "lastModified": 1670162125, - "narHash": "sha256-J0INJBMuiK9WKYfeK+TShJXv6BrUdEyeaVfxGQq4kx0=", + "lastModified": 1674388476, + "narHash": "sha256-5/xKGleBuyL+F1l7FnXkDMZT+wcpDve83BeoRkpDt18=", "owner": "Wandmalfarbe", "repo": "pandoc-latex-template", - "rev": "0fd152d9d1054b34befcb3c56106d2dd6ebc2c47", + "rev": "f0983486900c350b80147851cfffd53458a55293", "type": "github" }, "original": { @@ -431,11 +431,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1672136787, - "narHash": "sha256-rgS2d5mOKnVy+49AVPQ3wP/hOwtykAsdp6t0dyucvbU=", + "lastModified": 1674037718, + "narHash": "sha256-MuLmPZW46z33voKOh0vyQcOYjbrZaVPJOwpMEAwxKt8=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "b46602db397bf1af6bb6906e1a749da09fdda27d", + "rev": "dd686f35d1314f9cfcf20fa13ac7bb33b1d424e1", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 00c01b55..4cf6a773 100644 --- a/flake.nix +++ b/flake.nix @@ -95,7 +95,7 @@ packageOverrides = pyself: pysuper: { notmuch2 = pysuper.notmuch2.overridePythonAttrs (old: { postPatch = old.postPatch + ''sed -i "s|/private.*/notmuch-${old.version}/|$(pwd)/../../|g" _notmuch_config.py''; - meta.broken = null; + meta.broken = false; }); }; }; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 5d00d780..a71257f0 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -11,7 +11,7 @@ in home = "/Users/ragon"; }; environment.systemPackages = [ - myEmacs + # myEmacs ]; homebrew = { @@ -64,7 +64,7 @@ in ''; in pkgs.substituteAll { - src = ./hammerspoon.lua; inherit myEmacs notmuchMails; + src = ./hammerspoon.lua; inherit notmuchMails; }; home.file.".finicky.js".source = ./finicky.js; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 5bfe80a0..8bb36113 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -352,12 +352,12 @@ local function notmuchTimerFunction() end notmuchMenubar = hs.menubar.new() -notmuchMenubar:setClickCallback(function(options) - if options.shift then - notmuchTimerFunction() - else - hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, - { "-c", "-a", "", "--eval", "(=notmuch)" }):start() - end -end) +-- notmuchMenubar:setClickCallback(function(options) +-- if options.shift then +-- notmuchTimerFunction() +-- else +-- hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, +-- { "-c", "-a", "", "--eval", "(=notmuch)" }):start() +-- end +-- end) notmuchTimer = hs.timer.doEvery(300, notmuchTimerFunction) From f7ac9c2acec8d3f05d8e20a3c6b1e68db1426bd1 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 25 Jan 2023 11:24:15 +0100 Subject: [PATCH 189/525] fix: nvim escape time --- flake.lock | 24 +- hm-imports/nvim/config/snippets/all.snippets | 121 ------ hm-imports/nvim/config/snippets/go.snippets | 115 ----- hm-imports/nvim/config/snippets/java.snippets | 399 ------------------ .../nvim/config/snippets/pandoc.snippets | 172 -------- .../nvim/config/snippets/python.snippets | 3 - .../nvim/config/snippets/snippets.snippets | 5 - hm-imports/tmux/default.nix | 1 + 8 files changed, 13 insertions(+), 827 deletions(-) delete mode 100644 hm-imports/nvim/config/snippets/all.snippets delete mode 100644 hm-imports/nvim/config/snippets/go.snippets delete mode 100644 hm-imports/nvim/config/snippets/java.snippets delete mode 100644 hm-imports/nvim/config/snippets/pandoc.snippets delete mode 100644 hm-imports/nvim/config/snippets/python.snippets delete mode 100644 hm-imports/nvim/config/snippets/snippets.snippets diff --git a/flake.lock b/flake.lock index 430bb66e..4ac464ef 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1674586885, - "narHash": "sha256-I+/silVjSmjLNOTDVVSoQKbzkNgoJdiV/mmX14EBLL8=", + "lastModified": 1674723043, + "narHash": "sha256-ZMVyB892SjkP0H1mgHj7fOvDgvP+KcwVh5B3N0B2R9A=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "f3b0e2f2c028e03b97f36ae9a1f7152cf0d10be6", + "rev": "663edb65711212a89012990bdd5c013b81a09770", "type": "github" }, "original": { @@ -82,11 +82,11 @@ ] }, "locked": { - "lastModified": 1674615852, - "narHash": "sha256-FcZ42T0m+CVbNyqHsmjixlFzuCevZXsbPBG/3JtoBak=", + "lastModified": 1674727661, + "narHash": "sha256-yiT8F+VrFS5xnDwfb6kLYitAztXuxiblhz8+AP6T28g=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "53018b60fc15aaac1722031e50b043883b74fcd0", + "rev": "6b44cc8a441bed3796e6ddc984745fcdeaba8aa4", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1674624031, - "narHash": "sha256-jrprd08u7leFnxQA9wAzzYRmn+aK0pqEBjDv3aFpIqw=", + "lastModified": 1674746945, + "narHash": "sha256-xJ5XrXWPHDArSAJtJVBGRQzHu3ESI13zMNjXbnRaAjY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "343b5c8134ac2387088f7662b2c4938361a714f1", + "rev": "e39a949aaa9e4fc652b1619b56e59584e1fc305b", "type": "github" }, "original": { @@ -431,11 +431,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1674037718, - "narHash": "sha256-MuLmPZW46z33voKOh0vyQcOYjbrZaVPJOwpMEAwxKt8=", + "lastModified": 1674729619, + "narHash": "sha256-2Y1e8fbEer5HtOeI7GHSie0cizKLpd0wlDVooRGO5Ng=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "dd686f35d1314f9cfcf20fa13ac7bb33b1d424e1", + "rev": "54156de9cbcc807e9cdb9a7c4e6c09d4bab14536", "type": "github" }, "original": { diff --git a/hm-imports/nvim/config/snippets/all.snippets b/hm-imports/nvim/config/snippets/all.snippets deleted file mode 100644 index 97e237f4..00000000 --- a/hm-imports/nvim/config/snippets/all.snippets +++ /dev/null @@ -1,121 +0,0 @@ -# This file contains snippets that are always defined. I personally -# have snippets for signatures and often needed texts - -# sligthly lower priority than everything else since specialized versions -# should overwrite. The user needs to adjust her priority in her snippets to -# ~-55 so that other filetypes will still overwrite. -priority -60 - -global !p -def _parse_comments(s): - """ Parses vim's comments option to extract comment format """ - i = iter(s.split(",")) - - rv = [] - try: - while True: - # get the flags and text of a comment part - flags, text = next(i).split(':', 1) - - if len(flags) == 0: - rv.append(('OTHER', text, text, text, "")) - # parse 3-part comment, but ignore those with O flag - elif 's' in flags and 'O' not in flags: - ctriple = ["TRIPLE"] - indent = "" - - if flags[-1] in string.digits: - indent = " " * int(flags[-1]) - ctriple.append(text) - - flags, text = next(i).split(':', 1) - assert flags[0] == 'm' - ctriple.append(text) - - flags, text = next(i).split(':', 1) - assert flags[0] == 'e' - ctriple.append(text) - ctriple.append(indent) - - rv.append(ctriple) - elif 'b' in flags: - if len(text) == 1: - rv.insert(0, ("SINGLE_CHAR", text, text, text, "")) - except StopIteration: - return rv - -def get_comment_format(): - """ Returns a 4-element tuple (first_line, middle_lines, end_line, indent) - representing the comment format for the current file. - It first looks at the 'commentstring', if that ends with %s, it uses that. - Otherwise it parses '&comments' and prefers single character comment - markers if there are any. - """ - commentstring = vim.eval("&commentstring") - if commentstring.endswith("%s"): - c = commentstring[:-2] - return (c, c, c, "") - comments = _parse_comments(vim.eval("&comments")) - for c in comments: - if c[0] == "SINGLE_CHAR": - return c[1:] - return comments[0][1:] -endglobal - -########################## -# LOREM IPSUM GENERATORS # -########################## -snippet lorem "Lorem Ipsum - 50 Words" b -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod -tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At -vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, -no sea takimata sanctus est Lorem ipsum dolor sit amet. -endsnippet - -########################## -# VIM MODELINE GENERATOR # -########################## -# See advice on `:help 'tabstop'` for why these values are set. Uses second -# modeline form ('set') to work in languages with comment terminators -# (/* like C */). -snippet modeline "Vim modeline" -vim`!v ':set '. (&expandtab ? printf('et sw=%i ts=%i', &sw, &ts) : printf('noet sts=%i sw=%i ts=%i', &sts, &sw, &ts)) . (&tw ? ' tw='. &tw : '') . ':'` -endsnippet - - -######### -# DATES # -######### -snippet date "YYYY-MM-DD" w -`!v strftime("%Y-%m-%d")` -endsnippet - -snippet ddate "DD.MM.YYYY" w -`!v strftime("%d.%m.%Y")` -endsnippet - -snippet diso "ISO format datetime" w -`!v strftime("%Y-%m-%d %H:%M:%S%z")` -endsnippet - -snippet time "hh:mm" w -`!v strftime("%H:%M")` -endsnippet - -snippet datetime "YYYY-MM-DD hh:mm" w -`!v strftime("%Y-%m-%d %H:%M")` -endsnippet - -snippet todo "TODO comment" bw -`!p snip.rv=get_comment_format()[0]` ${2:TODO}: $1 ${3: <${4:`!v strftime('%d.%m.%y %H:%M')`}${5:, `git config --get user.name`}>} `!p snip.rv=get_comment_format()[2]` -endsnippet - - -########## -# Misc # -########## -snippet uuid "Random UUID" w -`!p if not snip.c: import uuid; snip.rv = uuid.uuid4()` -endsnippet - -# vim:ft=snippets: diff --git a/hm-imports/nvim/config/snippets/go.snippets b/hm-imports/nvim/config/snippets/go.snippets deleted file mode 100644 index 35cf9091..00000000 --- a/hm-imports/nvim/config/snippets/go.snippets +++ /dev/null @@ -1,115 +0,0 @@ -# Snippets for Go - -priority -50 - -# when to abbriviate and when not? -# b doesn't work here, because it ignores whitespace -# optional local name? -snippet /^import/ "Import declaration" r -import ( - "${1:package}" -) -endsnippet - -snippet /^package/ "Package declaration" r -// Package $1 provides ... -package ${1:main} -endsnippet - -# Mostly converted from: https://github.com/AlanQuatermain/go-tmbundle -snippet /^cons/ "Constants declaration" r -const ( - ${1:constant}${2/(.+)/ /}${2:type} = ${0:value} -) -endsnippet - -snippet /^con/ "Constant declaration" r -const ${1:name}${2/(.+)/ /}${2:type} = ${0:value} -endsnippet - -snippet iota "Iota constant generator" b -const ( - ${1:constant}${2/(.+)/ /}${2:type} = iota -) -endsnippet - -snippet struct "Struct declaration" b -type ${1:Struct} struct { - ${0:${VISUAL}} -} -endsnippet - -snippet interface "Interface declaration" b -type ${1:Interface} interface { - ${0:${VISUAL}} -} -endsnippet - -snippet if "If statement" b -if ${1:condition}${1/(.+)/ /}{ - ${0:${VISUAL}} -} -endsnippet - -snippet switch "Switch statement" b -switch ${1:expression}${1/(.+)/ /}{ -case$0 -} -endsnippet - -# functions -snippet /^main/ "Main function" r -func main() { - ${0:${VISUAL}} -} -endsnippet - -snippet /^meth/ "Method" r -func (${1:receiver} ${2:type}) ${3:name}(${4:params})${5/(.+)/ /}${5:type} { - ${0:${VISUAL}} -} -endsnippet - -snippet func "Function" b -func ${1:name}(${2:params})${3/(.+)/ /}${3:type} { - ${0:${VISUAL}} -} -endsnippet - -snippet funch "HTTP handler" b -func ${1:handler}(${2:w} http.ResponseWriter, ${3:r} *http.Request) { - ${0:${VISUAL}} -} -endsnippet - -# types and variables -snippet map "Map type" b -map[${1:keytype}]${2:valtype} -endsnippet - -snippet : "Variable declaration :=" b -${1:name} := ${0:value} -endsnippet - -snippet var "Variable declaration" b -var ${1:name}${2/(.+)/ /}${2:type}${3: = ${0:value}} -endsnippet - -snippet vars "Variables declaration" b -var ( - ${1:name}${2/(.+)/ /}${2:type}${3: = ${0:value} } -) -endsnippet - -snippet json "JSON field" -\`json:"${1:displayName}"\` -endsnippet - -# vim:ft=snippets: - -# error handling -snippet err "Basic error handling" b -if err != nil { - log.${1:Fatal}(err) -} -endsnippet diff --git a/hm-imports/nvim/config/snippets/java.snippets b/hm-imports/nvim/config/snippets/java.snippets deleted file mode 100644 index 0860d796..00000000 --- a/hm-imports/nvim/config/snippets/java.snippets +++ /dev/null @@ -1,399 +0,0 @@ -########################################################################### -# TEXTMATE SNIPPETS # -########################################################################### - -# Many of the snippets here use a global option called -# "g:ultisnips_java_brace_style" which, if set to "nl" will put a newline -# before '{' braces. - -global !p -def junit(snip): - if snip.opt("g:ultisnips_java_junit", "") == "3": - snip += "" - else: - snip.rv += "@Test\n\t" - -def nl(snip): - if snip.opt("g:ultisnips_java_brace_style", "") == "nl": - snip += "" - else: - snip.rv += " " -def getArgs(group): - import re - word = re.compile('[a-zA-Z><.]+ \w+') - return [i.split(" ") for i in word.findall(group) ] - -def camel(word): - return word[0].upper() + word[1:] - -endglobal - -snippet sleep "try sleep catch" !b -try { - Thread.sleep(${1:1000}); -} catch (InterruptedException e){ - e.printStackTrace(); -} -endsnippet - -snippet /i|n/ "new primitive or int" !br -${1:int} ${2:i} = ${3:1}; -$0 -endsnippet - -snippet /o|v/ "new Object or variable" !br -${1:Object} ${2:var} = new $1(${3}); -endsnippet - -snippet f "field" !b -${1:private} ${2:String} ${3:`!p snip.rv = t[2].lower()`}; -endsnippet - -snippet ab "abstract" b -abstract -endsnippet - -snippet as "assert" b -assert ${1:test}${2/(.+)/(?1: \: ")/}${2:Failure message}${2/(.+)/(?1:")/};$0 -endsnippet - -snippet at "assert true" !b -assertTrue(${1:actual}); -endsnippet - -snippet af "assert false" !b -assertFalse(${1:actual});$0 -endsnippet - -snippet ae "assert equals" !b -assertEquals(${1:expected}, ${2:actual}); -endsnippet - -snippet br "break" -break; - -endsnippet - -snippet cs "case" b -case $1: - $2 -$0 -endsnippet - -snippet ca "catch" b -catch (${1:Exception} ${2:e})`!p nl(snip)`{ - $0 -} -endsnippet - -snippet cle "class extends" b -public class ${1:`!p -snip.rv = snip.basename or "untitled"`} ${2:extends ${3:Parent} }${4:implements ${5:Interface} }{ - $0 -} -endsnippet - -snippet clc "class with constructor, fields, setter and getters" -public class `!p -snip.rv = snip.basename or "untitled"` { -`!p -import re -args = getArgs(t[1]) -if len(args) == 0: snip.rv = "" -for i in args: - snip.rv += "\n\tprivate " + i[0] + " " + i[1]+ ";" -if len(args) > 0: - snip.rv += "\n"` - public `!p snip.rv = snip.basename or "unknown"`($1) { `!p -args = getArgs(t[1]) -for i in args: - snip.rv += "\n\t\tthis." + i[1] + " = " + i[1] + ";" -if len(args) == 0: - snip.rv += "\n"` - }$0 -`!p -args = getArgs(t[1]) -if len(args) == 0: snip.rv = "" -for i in args: - snip.rv += "\n\tpublic void set" + camel(i[1]) + "(" + i[0] + " " + i[1] + ") {\n" + "\ - \tthis." + i[1] + " = " + i[1] + ";\n\t}\n" - - snip.rv += "\n\tpublic " + i[0] + " get" + camel(i[1]) + "() {\ - \n\t\treturn " + i[1] + ";\n\t}\n" -` -} -endsnippet - -snippet cl "class" b -public class ${1:`!p -snip.rv = snip.basename or "untitled"`} { - $0 -} -endsnippet - -snippet cos "constant string" b -public static final String ${1:var} = "$2";$0 -endsnippet - -snippet co "constant" b -public static final ${1:String} ${2:var} = $3;$0 -endsnippet - -snippet de "default" b -default: - $0 -endsnippet - -snippet elif "else if" b -else if ($1)`!p nl(snip)`{ - $0 -} -endsnippet - -snippet else "else" b -else`!p nl(snip)`{ - $0 -} -endsnippet - -snippet fi "final" b -final -endsnippet - -snippet fore "for (each)" b -for ($1 : $2)`!p nl(snip)`{ - $0 -} -endsnippet - -snippet fori "for with int i" b -for (int ${1:i} = 0; $1 < ${2:10}; $1++)`!p nl(snip)`{ - $0 -} -endsnippet - -snippet for "for" b -for ($1; $2; $3)`!p nl(snip)`{ - $0 -} -endsnippet - -snippet if "if" b -if ($1)`!p nl(snip)`{ - $0 -} -endsnippet - -snippet imt "import junit_framework_TestCase;" b -import junit.framework.TestCase; -$0 -endsnippet - -snippet im "import" b -import ${1:java}.${2:util}.$0 -endsnippet - -snippet in "interface" b -interface ${1:`!p snip.rv = snip.basename or "untitled"`} ${2:extends ${3:Parent} }{ - $0 -} -endsnippet - -snippet cc "constuctor call or setter body" -this.${1:var} = $1; -endsnippet - -snippet list "Collections List" b -List<${1:String}> ${2:list} = new ${3:Array}List<$1>(); -endsnippet - -snippet map "Collections Map" b -Map<${1:String}, ${2:String}> ${3:map} = new ${4:Hash}Map<$1, $2>(); -endsnippet - -snippet set "Collections Set" !b -Set<${1:String}> ${2:set} = new ${3:Hash}Set<$1>(); -endsnippet - -snippet /Str?|str/ "String" !br -String -endsnippet - - -snippet cn "constructor, \w fields + assigments" b - `!p -import re -args = getArgs(t[1]) -for i in args: - snip.rv += "\n\tprivate " + i[0] + " " + i[1]+ ";" -if len(args) > 0: - snip.rv += "\n"` -public `!p snip.rv = snip.basename or "unknown"`($1) { `!p -args = getArgs(t[1]) -for i in args: - snip.rv += "\n\t\tthis." + i[1] + " = " + i[1] -if len(args) == 0: - snip.rv += "\n"` -} -endsnippet - -snippet j.b "java_beans_" i -java.beans. -endsnippet - -snippet j.i "java_io" i -java.io. -endsnippet - -snippet j.m "java_math" i -java.math. -endsnippet - -snippet j.n "java_net_" i -java.net. -endsnippet - -snippet j.u "java_util_" i -java.util. -endsnippet - -snippet main "method (main)" b -public static void main(String[] args)`!p nl(snip)`{ - $0 -} -endsnippet - -snippet try "try/catch" !b -try { - $1 -} catch(${2:Exception} ${3:e}){ - ${4:e.printStackTrace();} -} -endsnippet - -snippet mt "method throws" b! -${1:private} ${2:void} ${3:method}(${4}) ${5:throws $6 }{ - $0 -} -endsnippet - -snippet m "method" b -${1:private} ${2:void} ${3:method}(${4}) { - $0 -} -endsnippet - -snippet md "Method With javadoc" !b -/** - * ${7:Short Description}`!p -for i in getArgs(t[4]): - snip.rv += "\n\t * @param " + i[1] + " usage..."` - * `!p -if "throws" in t[5]: - snip.rv = "\n\t * @throws " + t[6] -else: - snip.rv = ""` `!p -if not "void" in t[2]: - snip.rv = "\n\t * @return object" -else: - snip.rv = ""` - **/ -${1:public} ${2:void} ${3:method}($4) ${5:throws $6 }{ - $0 -} -endsnippet - -snippet getter "getter" -public ${1:String} get${2:Name}() { - return `!p snip.rv = t[2].lower()`; -} -endsnippet - -snippet setter "setter" -public void set${1:Name}(${2:String} $1) { - return this.`!p snip.rv = t[1].lower()` = `!p snip.rv = t[1].lower()`; -} -endsnippet - -snippet setget "setter and getter" -public void set${1:Name}(${2:String} `!p snip.rv = t[1].lower()`) { - this.`!p snip.rv = t[1].lower()` = `!p snip.rv = t[1].lower()`; -} - -public $2 get$1() { - return `!p snip.rv = t[1].lower()`; -} -endsnippet - -snippet pa "package" b -package -endsnippet - -snippet p "print" b -System.out.print($1);$0 -endsnippet - -snippet pl "println" b -System.out.println($1);$0 -endsnippet - -snippet pr "private" b -private -endsnippet - -snippet po "protected" b -protected -endsnippet - -snippet pu "public" b -public -endsnippet - -snippet re "return" b -return -endsnippet - -snippet st "static" -static -endsnippet - -snippet sw "switch" b -switch ($1)`!p nl(snip)`{ - case $2: $0 -} -endsnippet - -snippet sy "synchronized" -synchronized -endsnippet - -snippet tc "test case" -public class ${1:`!p snip.rv = snip.basename or "untitled"`} extends ${2:TestCase}`!p nl(snip)`{ - $0 -} -endsnippet - -snippet t "test" b -`!p junit(snip)`public void test${1:Name}() { - $0 -} -endsnippet - -snippet tt "test throws" b -`!p junit(snip)`public void test${1:Name}() ${2:throws Exception }{ - $0 -} -endsnippet - -snippet th "throw" b -throw new $0 -endsnippet - -snippet wh "while" b -while ($1)`!p nl(snip)`{ - $0 -} -endsnippet - -# vim:ft=snippets: - diff --git a/hm-imports/nvim/config/snippets/pandoc.snippets b/hm-imports/nvim/config/snippets/pandoc.snippets deleted file mode 100644 index 0bdfe280..00000000 --- a/hm-imports/nvim/config/snippets/pandoc.snippets +++ /dev/null @@ -1,172 +0,0 @@ -snippet limxa "lim from x to a" i -\lim_{${2:x} \rightarrow ${1:a}} $0 -endsnippet -snippet liminf "lim from x to infinity" i -\lim_{${1:x} \rightarrow \infty} $0 -endsnippet -snippet ddx "fr d dx" i -\frac{d}{dx} -endsnippet -snippet pm "Generate pmatrix" i -\begin{pmatrix} $0 \end{pmatrix} -endsnippet -snippet cd "cdot" i -\cdot -endsnippet -snippet lra "leftrightarrow" i -\leftrightarrow -endsnippet -snippet Lra "Leftrightarrow" i -\Leftrightarrow -endsnippet - - -snippet la "leftarrow" i -\leftarrow -endsnippet -snippet La "Leftarrow" i -\Leftarrow -endsnippet -snippet ra "rightarrow" i -\rightarrow -endsnippet -snippet Ra "Rightarrow" i -\Rightarrow -endsnippet -snippet gm "Generate pmatrix" i -\begin{gmatrix} $0 \end{gmatrix} -endsnippet -snippet bm "Creates a BMatrix" i -\begin{bmatrix} $0 \end{bmatrix} -endsnippet - -snippet ta "add a tag" -\tag{${1:Tag Text}} -endsnippet - -snippet fr "Fraction" i -\frac{$1}{$2} -endsnippet - -snippet p "Programmiersprache" i -\`\`\`{${1:mips}} -$2 -\`\`\` -endsnippet - -snippet pi "Include Code from other file" i -\`\`\`{.${1:mips}include=${2:source.asm}} -\`\`\` -endsnippet - -snippet head "Generates header with everything" b ---- -title: '`!p pwd = os.getcwd() -if "mafi1" in pwd: - snip.rv = "Mafi1 Übung " + snip.basename[1:3] +" (Gruppe 10)" -elif "rs" in pwd: - snip.rv = "RS Übung " + snip.basename[1:3] + " (Gruppe 3)" -`' -date: `date +%d.%m.%Y` -author: -- 'Philipp Hochkamp (Mat. Nr. 211011)' -- 'Jonas Röger (Mat. Nr. 210435)' -- 'Nico Jansen (Mat. Nr. 210175)' -titlepage: true ---- -endsnippet - -snippet new "New Note" -- [${1:Title}](`!p -def getCategory(): - w = vim.current.buffer - i = vim.current.window.cursor[0]-1 - while i >= 0: - if w[i].split(" ")[0] == "##": - return w[i].split(" ")[1].lower()+"/" - i = i-1 - return os.path.basename(w.name).split(".md")[0]+"/" - - -snip.rv = getCategory() + t[1].replace(" ", "-").lower()`.md) -endsnippet - -snippet al "Align Block" i -\begin{align*} -${1:${VISUAL}} -\end{align*} -endsnippet -snippet eq "Equation Block" i -\begin{equation} -${1:${VISUAL}} -\end{equation} -endsnippet -snippet bl "Custom Block" i -\begin{${1:tabluar}}$2 -$3 -\end{$1} -endsnippet - - -snippet tab "tabular (or arbitrary) environment" i -\begin{${1:tabular}}{${2:c}} - ${0:${VISUAL}} -\end{$1} -endsnippet - -snippet mb "Math bold font text" i -\mathbb{${1:R}} -endsnippet - -snippet mf "Math Fraktur text" i -\mathfrak{${1:P}} -endsnippet - -snippet nt "No Tag and end line" i -\notag \\\\ - -endsnippet - -snippet sum "\sum^{}_{}" i - \sum^{${1:n}}_{${2:i=1}} ${0} -endsnippet - -snippet lr( "left( right)" i - \left( ${1:${VISUAL}} \right) ${0} -endsnippet -snippet lr| "left| right|" i - \left| ${1:${VISUAL}} \right| ${0} -endsnippet -snippet lr{ "left\{ right\}" i - \left\{ ${1:${VISUAL}} \right\} ${0} -endsnippet -snippet lr[ "left\[ right\]" i - \left [ ${0:${VISUAL}} \right ] -endsnippet -snippet refl "Reference Link" i -[${1:${VISUAL:Text}}][${2:id}]$0 - -[$2]:${4:http://${3:www.url.com}} "${5:$4}" -endsnippet - -snippet fnt "Footnote" i -[^${1:${VISUAL:Footnote}}]$0 - -[^$1]:${2:Text} -endsnippet - -snippet link "Link to something" i -[${1:${VISUAL:Text}}](${3:http://${2:www.url.com}})$0 -endsnippet - -snippet img "Image" i -![${1:pic alt}](${2:path}${3/.+/ "/}${3:opt title}${3/.+/"/})$0 -endsnippet - -snippet ilc "Inline Code" i -\`$1\`$0 -endsnippet - -snippet sqrt "square root" i -\sqrt{${1}} $2 -endsnippet diff --git a/hm-imports/nvim/config/snippets/python.snippets b/hm-imports/nvim/config/snippets/python.snippets deleted file mode 100644 index 6100dd77..00000000 --- a/hm-imports/nvim/config/snippets/python.snippets +++ /dev/null @@ -1,3 +0,0 @@ -snippet sh "Shebang" EndStuff -#!/usr/bin/env python -endsnippet diff --git a/hm-imports/nvim/config/snippets/snippets.snippets b/hm-imports/nvim/config/snippets/snippets.snippets deleted file mode 100644 index c64dd12b..00000000 --- a/hm-imports/nvim/config/snippets/snippets.snippets +++ /dev/null @@ -1,5 +0,0 @@ -snippet sn "Snippet" -`echo snippet` ${1:Keys} "${2:Description}" ${3:EndStuff} -$4 -`echo endsnippet` -endsnippet diff --git a/hm-imports/tmux/default.nix b/hm-imports/tmux/default.nix index 90af7fea..b0410eca 100644 --- a/hm-imports/tmux/default.nix +++ b/hm-imports/tmux/default.nix @@ -9,6 +9,7 @@ gruvbox ]; extraConfig = '' + set -sg escape-time 0 # makes vim esc usable new-session -s main bind-key -n C-e send-prefix bind '"' split-window -c "#{pane_current_path}" From 220c5614ca380caefbd28e6a22bcf608ffc5e7e5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Feb 2023 21:10:18 +0100 Subject: [PATCH 190/525] chore: update --- flake.lock | 85 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 4ac464ef..9cb4692c 100644 --- a/flake.lock +++ b/flake.lock @@ -2,16 +2,17 @@ "nodes": { "agenix": { "inputs": { + "darwin": "darwin", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1673301561, - "narHash": "sha256-gRUWHbBAtMuPDJQXotoI8u6+3DGBIUZHkyQWpIv7WpM=", + "lastModified": 1675176355, + "narHash": "sha256-Qjxh5cmN56siY97mzmBLI1+cdjXSPqmfPVsKxBvHmwI=", "owner": "ryantm", "repo": "agenix", - "rev": "42d371d861a227149dc9a7e03350c9ab8b8ddd68", + "rev": "b7ffcfe77f817d9ee992640ba1f270718d197f28", "type": "github" }, "original": { @@ -40,11 +41,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1674723043, - "narHash": "sha256-ZMVyB892SjkP0H1mgHj7fOvDgvP+KcwVh5B3N0B2R9A=", + "lastModified": 1675423932, + "narHash": "sha256-YLbbCZxte2BO67tsZ5tK9i59tt8ZtzX0ieh+f/S0mNE=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "663edb65711212a89012990bdd5c013b81a09770", + "rev": "8c0d3ef9781cc60a998b2d496e98989f2da9f997", "type": "github" }, "original": { @@ -54,6 +55,28 @@ } }, "darwin": { + "inputs": { + "nixpkgs": [ + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "darwin_2": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -82,11 +105,11 @@ ] }, "locked": { - "lastModified": 1674727661, - "narHash": "sha256-yiT8F+VrFS5xnDwfb6kLYitAztXuxiblhz8+AP6T28g=", + "lastModified": 1675706098, + "narHash": "sha256-NPnQ9QIH98QSr98ZkCE5IxgWusJbcAfEl8HIDypKeh4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "6b44cc8a441bed3796e6ddc984745fcdeaba8aa4", + "rev": "03674806f66bfa3994fe368d063c11c02a2fa8c3", "type": "github" }, "original": { @@ -118,11 +141,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1674556204, - "narHash": "sha256-HCRmkZsq01h2Evch08zpgE9jeHdMtGdT1okWotyvuhY=", + "lastModified": 1675637696, + "narHash": "sha256-tilJS8zCS3PaDfVOfsBZ4zspuam8tc7IMZxtGa/K/uo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c59f0eac51da91c6989fd13a68e156f63c0e60b6", + "rev": "c43d4a3d6d9ef8ddbe2438362f5c775b4186000b", "type": "github" }, "original": { @@ -133,11 +156,11 @@ }, "impermanence": { "locked": { - "lastModified": 1668668915, - "narHash": "sha256-QjY4ZZbs9shwO4LaLpvlU2bO9J1juYhO9NtV3nrbnYQ=", + "lastModified": 1675359654, + "narHash": "sha256-FPxzuvJkcO49g4zkWLSeuZkln54bLoTtrggZDJBH90I=", "owner": "nix-community", "repo": "impermanence", - "rev": "5df9108b346f8a42021bf99e50de89c9caa251c3", + "rev": "6138eb8e737bffabd4c8fc78ae015d4fd6a7e2fd", "type": "github" }, "original": { @@ -185,11 +208,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1674459583, - "narHash": "sha256-L0UZl/u2H3HGsrhN+by42c5kNYeKtdmJiPzIRvEVeiM=", + "lastModified": 1675545634, + "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1b1f50645af2a70dc93eae18bfd88d330bfbcf7f", + "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", "type": "github" }, "original": { @@ -201,11 +224,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1674746945, - "narHash": "sha256-xJ5XrXWPHDArSAJtJVBGRQzHu3ESI13zMNjXbnRaAjY=", + "lastModified": 1675712540, + "narHash": "sha256-j9EBqzhPKj21SVtdLMEDovro2wlORLv0AY56A7aMH7I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e39a949aaa9e4fc652b1619b56e59584e1fc305b", + "rev": "4cc665fe8ecc5d710c640dae2c2c0ece24fca2ca", "type": "github" }, "original": { @@ -266,11 +289,11 @@ "pandoc-latex-template": { "flake": false, "locked": { - "lastModified": 1674388476, - "narHash": "sha256-5/xKGleBuyL+F1l7FnXkDMZT+wcpDve83BeoRkpDt18=", + "lastModified": 1675458281, + "narHash": "sha256-gAz6kTEzfa7N2Sxt82+RbaoL+AFf6tx5Nnjs82sDGPQ=", "owner": "Wandmalfarbe", "repo": "pandoc-latex-template", - "rev": "f0983486900c350b80147851cfffd53458a55293", + "rev": "01189ced5b021a78eab00aeee036c7a020d067ba", "type": "github" }, "original": { @@ -322,7 +345,7 @@ "agenix": "agenix", "agkozak-zsh-prompt": "agkozak-zsh-prompt", "coc-nvim": "coc-nvim", - "darwin": "darwin", + "darwin": "darwin_2", "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "impermanence": "impermanence", @@ -431,11 +454,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1674729619, - "narHash": "sha256-2Y1e8fbEer5HtOeI7GHSie0cizKLpd0wlDVooRGO5Ng=", + "lastModified": 1675680234, + "narHash": "sha256-nAGTbQ0hpgcjKRNbGWRqleIf94zKPbXnO7qDaK6cssY=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "54156de9cbcc807e9cdb9a7c4e6c09d4bab14536", + "rev": "828fe2bd3c67123263fc8a8cadebae92e10a2224", "type": "github" }, "original": { @@ -447,11 +470,11 @@ "zsh-syntax-highlighting": { "flake": false, "locked": { - "lastModified": 1668889847, - "narHash": "sha256-lxwkVq9Ysvl2ZosD+riQ8dsCQIB5X4kqP+ix7XTDkKw=", + "lastModified": 1675586974, + "narHash": "sha256-kWgPe7QJljERzcv4bYbHteNJIxCehaTu4xU9r64gUM4=", "owner": "zsh-users", "repo": "zsh-syntax-highlighting", - "rev": "b2c910a85ed84cb7e5108e7cb3406a2e825a858f", + "rev": "754cefe0181a7acd42fdcb357a67d0217291ac47", "type": "github" }, "original": { From bfb1842988da8b67e43317bde2aeca0d439bbb5a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Feb 2023 21:52:10 +0100 Subject: [PATCH 191/525] fix: warnings --- nixos-modules/services/grafana.nix | 6 +++--- nixos-modules/services/ssh.nix | 4 ++-- nixos-modules/system/agenix.nix | 2 +- nixos-modules/system/security.nix | 5 ++--- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/nixos-modules/services/grafana.nix b/nixos-modules/services/grafana.nix index d7a916e5..83256efd 100644 --- a/nixos-modules/services/grafana.nix +++ b/nixos-modules/services/grafana.nix @@ -13,14 +13,14 @@ in config = lib.mkIf cfg.enable { services.grafana = { enable = true; - domain = "${cfg.domainPrefix}.${domain}"; - rootUrl = "https://${cfg.domainPrefix}.${domain}/"; + settings.server.domain = "${cfg.domainPrefix}.${domain}"; + settings.server.root_url = "https://${cfg.domainPrefix}.${domain}/"; }; services.nginx.virtualHosts."${cfg.domainPrefix}.${domain}" = { useACMEHost = "${domain}"; addSSL = true; locations = { - "/".proxyPass = "http://127.0.0.1:${toString config.services.grafana.port}"; + "/".proxyPass = "http://127.0.0.1:${toString config.services.grafana.settings.server.http_port}"; "/".proxyWebsockets = true; }; }; diff --git a/nixos-modules/services/ssh.nix b/nixos-modules/services/ssh.nix index b8d1f5d1..bfa4ddb2 100644 --- a/nixos-modules/services/ssh.nix +++ b/nixos-modules/services/ssh.nix @@ -6,9 +6,9 @@ in { options.ragon.services.ssh.enable = lib.mkEnableOption "Enables sshd"; config = lib.mkIf cfg.enable { - services.openssh.permitRootLogin = "without-password"; + services.openssh.settings.PermitRootLogin = "without-password"; services.openssh.enable = true; - services.openssh.passwordAuthentication = false; + services.openssh.settings.PasswordAuthentication = false; users.users.root.openssh.authorizedKeys.keys = pubkeys.ragon.user; }; } diff --git a/nixos-modules/system/agenix.nix b/nixos-modules/system/agenix.nix index b10035d5..b3c8cce6 100644 --- a/nixos-modules/system/agenix.nix +++ b/nixos-modules/system/agenix.nix @@ -17,7 +17,7 @@ in }; }; config = mkIf cfg.enable { - environment.systemPackages = [ inputs.agenix.defaultPackage.${pkgs.system} ]; + environment.systemPackages = [ inputs.agenix.packages.${pkgs.system}.default ]; # Set passwords users.users.root.passwordFile = config.age.secrets.rootPasswd.path; age.identityPaths = diff --git a/nixos-modules/system/security.nix b/nixos-modules/system/security.nix index 53fc4c49..c8bad5a1 100644 --- a/nixos-modules/system/security.nix +++ b/nixos-modules/system/security.nix @@ -11,9 +11,8 @@ in config = mkIf cfg.enable { security.sudo.execWheelOnly = true; services.openssh = { - passwordAuthentication = false; - allowSFTP = true; # just use rsync, lol - kbdInteractiveAuthentication = false; + settings.PasswordAuthentication = false; + settings.KbdInteractiveAuthentication = false; extraConfig = '' AllowTcpForwarding yes X11Forwarding no From 0a759cc943c232040fa2c261f1f9f55db3eb6c96 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Feb 2023 22:01:37 +0100 Subject: [PATCH 192/525] change to releases --- flake.lock | 56 ++++++++++++++++--------------- flake.nix | 12 +++++-- nixos-modules/services/ssh.nix | 4 +-- nixos-modules/system/security.nix | 5 +-- 4 files changed, 43 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index 9cb4692c..af05ca6f 100644 --- a/flake.lock +++ b/flake.lock @@ -137,19 +137,19 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "utils": "utils" + ] }, "locked": { - "lastModified": 1675637696, - "narHash": "sha256-tilJS8zCS3PaDfVOfsBZ4zspuam8tc7IMZxtGa/K/uo=", + "lastModified": 1667907331, + "narHash": "sha256-bHkAwkYlBjkupPUFcQjimNS8gxWSWjOTevEuwdnp5m0=", "owner": "nix-community", "repo": "home-manager", - "rev": "c43d4a3d6d9ef8ddbe2438362f5c775b4186000b", + "rev": "6639e3a837fc5deb6f99554072789724997bc8e5", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-22.05", "repo": "home-manager", "type": "github" } @@ -208,16 +208,32 @@ }, "nixpkgs": { "locked": { - "lastModified": 1675545634, - "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", + "lastModified": 1675681488, + "narHash": "sha256-0E/oYpixC+joFk7UrY60TwZcdthzP2BXmJwne3Ni8ZI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", + "rev": "13fdd3945d8a2da5e4afe35d8a629193a9680911", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-darwin": { + "locked": { + "lastModified": 1675681488, + "narHash": "sha256-0E/oYpixC+joFk7UrY60TwZcdthzP2BXmJwne3Ni8ZI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "13fdd3945d8a2da5e4afe35d8a629193a9680911", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } @@ -324,7 +340,7 @@ "nixpkgs": [ "nixpkgs" ], - "utils": "utils_2" + "utils": "utils" }, "locked": { "lastModified": 1669555118, @@ -351,6 +367,7 @@ "impermanence": "impermanence", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", + "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", "octoprint-spoolmanager": "octoprint-spoolmanager", @@ -358,7 +375,7 @@ "pandoc-latex-template": "pandoc-latex-template", "private": "private", "rnix-lsp": "rnix-lsp", - "utils": "utils_3", + "utils": "utils_2", "x": "x", "xynoblog": "xynoblog", "zsh-completions": "zsh-completions", @@ -367,21 +384,6 @@ } }, "utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "utils_2": { "locked": { "lastModified": 1656928814, "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", @@ -396,7 +398,7 @@ "type": "github" } }, - "utils_3": { + "utils_2": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", diff --git a/flake.nix b/flake.nix index 4cf6a773..092adbd0 100644 --- a/flake.nix +++ b/flake.nix @@ -5,11 +5,12 @@ utils.url = "github:numtide/flake-utils"; ## nixos/nix-darwin dependencies - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixpkgs-darwin.url = "github:NixOS/nixpkgs/nixpkgs-22.11-darwin"; nixpkgs-master.url = "github:NixOS/nixpkgs/master"; agenix.url = "github:ryantm/agenix/main"; agenix.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager"; + home-manager.url = "github:nix-community/home-manager/release-22.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; impermanence.url = "github:nix-community/impermanence"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; @@ -66,6 +67,7 @@ outputs = inputs @ { self , nixpkgs + , nixpkgs-darwin , nixpkgs-master , agenix , home-manager @@ -148,6 +150,10 @@ inherit system overlays; config.allowUnfree = true; }; + genDarwinPkgsWithOverlays = system: import nixpkgs-darwin { + inherit system overlays; + config.allowUnfree = true; + }; hmConfig = { hm, pkgs, inputs, config, ... }: { @@ -191,7 +197,7 @@ }; darwinSystem = system: extraModules: hostName: let - pkgs = genPkgsWithOverlays system; + pkgs = genDarwinPkgsWithOverlays system; in darwin.lib.darwinSystem { diff --git a/nixos-modules/services/ssh.nix b/nixos-modules/services/ssh.nix index bfa4ddb2..b8d1f5d1 100644 --- a/nixos-modules/services/ssh.nix +++ b/nixos-modules/services/ssh.nix @@ -6,9 +6,9 @@ in { options.ragon.services.ssh.enable = lib.mkEnableOption "Enables sshd"; config = lib.mkIf cfg.enable { - services.openssh.settings.PermitRootLogin = "without-password"; + services.openssh.permitRootLogin = "without-password"; services.openssh.enable = true; - services.openssh.settings.PasswordAuthentication = false; + services.openssh.passwordAuthentication = false; users.users.root.openssh.authorizedKeys.keys = pubkeys.ragon.user; }; } diff --git a/nixos-modules/system/security.nix b/nixos-modules/system/security.nix index c8bad5a1..53fc4c49 100644 --- a/nixos-modules/system/security.nix +++ b/nixos-modules/system/security.nix @@ -11,8 +11,9 @@ in config = mkIf cfg.enable { security.sudo.execWheelOnly = true; services.openssh = { - settings.PasswordAuthentication = false; - settings.KbdInteractiveAuthentication = false; + passwordAuthentication = false; + allowSFTP = true; # just use rsync, lol + kbdInteractiveAuthentication = false; extraConfig = '' AllowTcpForwarding yes X11Forwarding no From 04d78344bb9d154433e60f4023545bded887f9c7 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 9 Feb 2023 16:23:26 +0100 Subject: [PATCH 193/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index af05ca6f..fea37482 100644 --- a/flake.lock +++ b/flake.lock @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1675706098, - "narHash": "sha256-NPnQ9QIH98QSr98ZkCE5IxgWusJbcAfEl8HIDypKeh4=", + "lastModified": 1675937476, + "narHash": "sha256-DPd4/LjcaVouSTbLSnUa2oig+teH1bFGOvBIDw2MESA=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "03674806f66bfa3994fe368d063c11c02a2fa8c3", + "rev": "b70f136e1c59d3733684d9bd9893d9153f810be3", "type": "github" }, "original": { @@ -192,11 +192,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1674550793, - "narHash": "sha256-ljJlIFQZwtBbzWqWTmmw2O5BFmQf1A/DspwMOQtGXHk=", + "lastModified": 1675933606, + "narHash": "sha256-y427VhPQHOKkYvkc9MMsL/2R7M11rQxzsRdRLM3htx8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b7ac0a56029e4f9e6743b9993037a5aaafd57103", + "rev": "44ae00e02e8036a66c08f4decdece7e3bbbefee2", "type": "github" }, "original": { @@ -208,11 +208,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1675681488, - "narHash": "sha256-0E/oYpixC+joFk7UrY60TwZcdthzP2BXmJwne3Ni8ZI=", + "lastModified": 1675757258, + "narHash": "sha256-pIRer8vdsoherlRKpzfnHbMZ5TsAcvRlXHCIaHkIUbg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "13fdd3945d8a2da5e4afe35d8a629193a9680911", + "rev": "af96094e9b8eb162d70a84fa3b39f4b7a8b264d2", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1675681488, - "narHash": "sha256-0E/oYpixC+joFk7UrY60TwZcdthzP2BXmJwne3Ni8ZI=", + "lastModified": 1675730325, + "narHash": "sha256-uNvD7fzO5hNlltNQUAFBPlcEjNG5Gkbhl/ROiX+GZU4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "13fdd3945d8a2da5e4afe35d8a629193a9680911", + "rev": "b7ce17b1ebf600a72178f6302c77b6382d09323f", "type": "github" }, "original": { @@ -240,11 +240,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1675712540, - "narHash": "sha256-j9EBqzhPKj21SVtdLMEDovro2wlORLv0AY56A7aMH7I=", + "lastModified": 1675956056, + "narHash": "sha256-qDSD14/rUiOfBCUHtNQF5tN5eWrHK28NIaDnDsk/A5E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4cc665fe8ecc5d710c640dae2c2c0ece24fca2ca", + "rev": "7b2a482ea0240ef989001c6a6c28b47db7790483", "type": "github" }, "original": { @@ -440,11 +440,11 @@ ] }, "locked": { - "lastModified": 1672509476, - "narHash": "sha256-a+BKv2FZ51PP1OjoJ+Koq9NHWMr6NNtL1vwmGUtDQHk=", + "lastModified": 1675956079, + "narHash": "sha256-qkv3B/VUpuc9DJqd56129EwlFdNgG0/qWuVmYG5yH1A=", "owner": "thexyno", "repo": "blog", - "rev": "cc441130553c3f5dd49eb055710815bdd14c4288", + "rev": "c5dfac536c8054feb28b701812c3d8153deaee92", "type": "github" }, "original": { @@ -456,11 +456,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1675680234, - "narHash": "sha256-nAGTbQ0hpgcjKRNbGWRqleIf94zKPbXnO7qDaK6cssY=", + "lastModified": 1675809485, + "narHash": "sha256-gBc5RV8wgDnAqRdp5FPz2RgQ4a8XFVgzWQqfYcUGD/I=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "828fe2bd3c67123263fc8a8cadebae92e10a2224", + "rev": "86d55972f5cb65d545389fe0306e617b68328982", "type": "github" }, "original": { From c908b30b0bf819dd924ef9f01d9b799e58a54c3b Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 15 Feb 2023 14:56:28 +0100 Subject: [PATCH 194/525] hs changse --- flake.lock | 34 +++++++++++++++++++ flake.nix | 7 ++++ hosts/daedalus/default.nix | 2 ++ hosts/daedalus/hammerspoon.lua | 62 ++++++++++++++++++++-------------- 4 files changed, 80 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index fea37482..3f37937e 100644 --- a/flake.lock +++ b/flake.lock @@ -169,6 +169,22 @@ "type": "github" } }, + "miro": { + "flake": false, + "locked": { + "lastModified": 1644177791, + "narHash": "sha256-t8L6UboaOcg6JkGjX1NTd13Yw7ATySGxmnkJ7wUyZAE=", + "owner": "miromannino", + "repo": "miro-windows-manager", + "rev": "faa6f5f0bc025cc2465f3198609d2123d86101c2", + "type": "github" + }, + "original": { + "owner": "miromannino", + "repo": "miro-windows-manager", + "type": "github" + } + }, "naersk": { "inputs": { "nixpkgs": [ @@ -365,6 +381,7 @@ "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "impermanence": "impermanence", + "miro": "miro", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-darwin": "nixpkgs-darwin", @@ -375,6 +392,7 @@ "pandoc-latex-template": "pandoc-latex-template", "private": "private", "rnix-lsp": "rnix-lsp", + "spoons": "spoons", "utils": "utils_2", "x": "x", "xynoblog": "xynoblog", @@ -383,6 +401,22 @@ "zsh-vim-mode": "zsh-vim-mode" } }, + "spoons": { + "flake": false, + "locked": { + "lastModified": 1667424431, + "narHash": "sha256-ShfiwQluh89aFmqSKL4Q5X9BECm3qP6jreYGIV0Qb/g=", + "owner": "Hammerspoon", + "repo": "Spoons", + "rev": "b36b6f6c654b787be11b6acde1f9ec4fcd217669", + "type": "github" + }, + "original": { + "owner": "Hammerspoon", + "repo": "Spoons", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1656928814, diff --git a/flake.nix b/flake.nix index 092adbd0..9ce24c97 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,13 @@ agkozak-zsh-prompt.url = "github:agkozak/agkozak-zsh-prompt"; agkozak-zsh-prompt.flake = false; + ## hammerspoon + miro.url = "github:miromannino/miro-windows-manager"; + miro.flake = false; + spoons.url = "github:Hammerspoon/Spoons"; + spoons.flake = false; + + #other dependencies pandoc-latex-template.url = "github:Wandmalfarbe/pandoc-latex-template"; diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index a71257f0..307169e5 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -66,6 +66,8 @@ in pkgs.substituteAll { src = ./hammerspoon.lua; inherit notmuchMails; }; + home.file.".hammerspoon/Spoons/MiroWindowsManager.spoon".source = "${inputs.miro}/MiroWindowsManager.spoon"; + home.file.".hammerspoon/Spoons/MusicAppMediaFix.spoon".source = "${inputs.spoons}/Source/MusicAppMediaFix.spoon"; home.file.".finicky.js".source = ./finicky.js; programs.home-manager.enable = true; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 8bb36113..81163790 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -55,28 +55,28 @@ local usbDevice = { local function languageIsGerman() return hs.host.locale.preferredLanguages()[1]:sub(0, 2) == "de" end -local function maximizeCurrentWindow() hs.window.focusedWindow():maximize() end - +-- local function maximizeCurrentWindow() hs.window.focusedWindow():maximize() end +-- local function centerCurrentWindow() hs.window.focusedWindow():centerOnScreen() end - -local function moveCurrentWindowToLeftHalf() - local win = hs.window.focusedWindow() - local screenFrame = win:screen():frame() - local newFrame = hs.geometry.rect(screenFrame.x, screenFrame.y, screenFrame.w / 2, screenFrame.h) - win:setFrame(newFrame) -end - -local function moveCurrentWindowToRightHalf() - local win = hs.window.focusedWindow() - local screenFrame = win:screen():frame() - local newFrame = hs.geometry.rect(screenFrame.x + screenFrame.w / 2, screenFrame.y, screenFrame.w / 2, screenFrame.h) - win:setFrame(newFrame) -end - -local function moveCurentWindowToNextScreen() - local win = hs.window.focusedWindow() - win:moveToScreen(win:screen():next()) -end +-- +-- local function moveCurrentWindowToLeftHalf() +-- local win = hs.window.focusedWindow() +-- local screenFrame = win:screen():frame() +-- local newFrame = hs.geometry.rect(screenFrame.x, screenFrame.y, screenFrame.w / 2, screenFrame.h) +-- win:setFrame(newFrame) +-- end +-- +-- local function moveCurrentWindowToRightHalf() +-- local win = hs.window.focusedWindow() +-- local screenFrame = win:screen():frame() +-- local newFrame = hs.geometry.rect(screenFrame.x + screenFrame.w / 2, screenFrame.y, screenFrame.w / 2, screenFrame.h) +-- win:setFrame(newFrame) +-- end +-- +-- local function moveCurentWindowToNextScreen() +-- local win = hs.window.focusedWindow() +-- win:moveToScreen(win:screen():next()) +-- end local function moveMouseToWindowCenter() local windowCenter = hs.window.frontmostWindow():frame().center @@ -263,12 +263,24 @@ function showHideBundleId(bundleId) end end -hs.hotkey.bind(modifiers.window, hs.keycodes.map.left, moveCurrentWindowToLeftHalf) -hs.hotkey.bind(modifiers.window, hs.keycodes.map.right, moveCurrentWindowToRightHalf) -hs.hotkey.bind(modifiers.window, hs.keycodes.map.down, moveCurentWindowToNextScreen) -hs.hotkey.bind(modifiers.window, hs.keycodes.map["return"], maximizeCurrentWindow) +-- hs.hotkey.bind(modifiers.window, hs.keycodes.map.left, moveCurrentWindowToLeftHalf) +-- hs.hotkey.bind(modifiers.window, hs.keycodes.map.right, moveCurrentWindowToRightHalf) +-- hs.hotkey.bind(modifiers.window, hs.keycodes.map.down, moveCurentWindowToNextScreen) +-- hs.hotkey.bind(modifiers.window, hs.keycodes.map["return"], maximizeCurrentWindow) hs.hotkey.bind(modifiers.window, "c", centerCurrentWindow) +hs.loadSpoon("MiroWindowsManager") +hs.window.animationDuration = 0 +spoon.MiroWindowsManager:bindHotkeys({ + up = {modifiers.window, "up"}, + right = {modifiers.window, "right"}, + down = {modifiers.window, "down"}, + left = {modifiers.window, "left"}, + fullscreen = {modifiers.window, "return"}, + nextscreen = {modifiers.hyper, "right"} +}) + + hs.hotkey.bind(modifiers.hyper, "[", moveMouseToWindowCenter) hs.hotkey.bind(modifiers.hyper, "m", moveMouseToUpperLeft) hs.hotkey.bind(modifiers.hyper, "o", moveMouseToUpperRight) From 0126bacb43fc61fc1f093043df589228ba3b01d2 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 20 Feb 2023 01:04:01 +0100 Subject: [PATCH 195/525] ds9 java 17 --- hosts/ds9/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 24d98406..bef9973b 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -230,7 +230,7 @@ in group = "minecraft"; }; users.groups.minecraft = { }; - environment.systemPackages = [ pkgs.jre8 ]; + environment.systemPackages = [ pkgs.jre_minimal ]; services.smartd = { enable = true; From 556eb2cc12dee90e81647c823dc9c1df96144d9d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 20 Feb 2023 01:07:58 +0100 Subject: [PATCH 196/525] a --- hosts/ds9/default.nix | 2 +- hosts/ds9/hardware-configuration.nix | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index bef9973b..106085a0 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -230,7 +230,7 @@ in group = "minecraft"; }; users.groups.minecraft = { }; - environment.systemPackages = [ pkgs.jre_minimal ]; + environment.systemPackages = [ pkgs.jdk ]; services.smartd = { enable = true; diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix index a9129bed..93dc9b3b 100644 --- a/hosts/ds9/hardware-configuration.nix +++ b/hosts/ds9/hardware-configuration.nix @@ -43,10 +43,10 @@ device = "rpool/content/local/backups"; fsType = "zfs"; }; - fileSystems."/data/media/nzbr" = { - device = "10.0.1.2:/storage/media"; - fsType = "nfs"; - options = [ "x-systemd.automount" "noauto" ]; - }; + # fileSystems."/data/media/nzbr" = { + # device = "10.0.1.2:/storage/media"; + # fsType = "nfs"; + # options = [ "x-systemd.automount" "noauto" ]; + # }; } From 5b92ba7f324927a4b67ae0a0f684799d166cb633 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 20 Feb 2023 19:18:13 +0100 Subject: [PATCH 197/525] chore: update --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 3f37937e..42254457 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1675176355, - "narHash": "sha256-Qjxh5cmN56siY97mzmBLI1+cdjXSPqmfPVsKxBvHmwI=", + "lastModified": 1676910639, + "narHash": "sha256-YvZ2lQiUZrv5PCQ0nC/fn/0OT2ag8spCIOQx0COnFZ0=", "owner": "ryantm", "repo": "agenix", - "rev": "b7ffcfe77f817d9ee992640ba1f270718d197f28", + "rev": "5f66c8aa774d8d488cba1cdc4f0c954d2a14e3a1", "type": "github" }, "original": { @@ -41,11 +41,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1675423932, - "narHash": "sha256-YLbbCZxte2BO67tsZ5tK9i59tt8ZtzX0ieh+f/S0mNE=", + "lastModified": 1676522163, + "narHash": "sha256-PU00zgb8epw8B96yScwh7Ad+QQznouu+Azl0tbcNVHg=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "8c0d3ef9781cc60a998b2d496e98989f2da9f997", + "rev": "79e9e048dfedbfc8b91330059fec5470f8b68f14", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1675937476, - "narHash": "sha256-DPd4/LjcaVouSTbLSnUa2oig+teH1bFGOvBIDw2MESA=", + "lastModified": 1676884243, + "narHash": "sha256-OHwZKq2slEpwLW6rI5pu4VrpoNch99AXzYD9XnT/UF0=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "b70f136e1c59d3733684d9bd9893d9153f810be3", + "rev": "2b807c388a5600d9f4e98f743306834de5dd03a5", "type": "github" }, "original": { @@ -208,11 +208,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1675933606, - "narHash": "sha256-y427VhPQHOKkYvkc9MMsL/2R7M11rQxzsRdRLM3htx8=", + "lastModified": 1676908974, + "narHash": "sha256-o7sJTBeumorVIM/b1b/Q4q+WJn8Rou5kx8DEBbKOZJI=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "44ae00e02e8036a66c08f4decdece7e3bbbefee2", + "rev": "157e1e4b127b5cb37822be247e8ec37a7f475270", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1675757258, - "narHash": "sha256-pIRer8vdsoherlRKpzfnHbMZ5TsAcvRlXHCIaHkIUbg=", + "lastModified": 1676817468, + "narHash": "sha256-ovuJ1jQOC2/EEibufBkXmSN/O9mLx80Wh7aDmHmHAhA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af96094e9b8eb162d70a84fa3b39f4b7a8b264d2", + "rev": "0cf4274b5d06325bd16dbf879a30981bc283e58a", "type": "github" }, "original": { @@ -240,11 +240,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1675730325, - "narHash": "sha256-uNvD7fzO5hNlltNQUAFBPlcEjNG5Gkbhl/ROiX+GZU4=", + "lastModified": 1676817468, + "narHash": "sha256-ovuJ1jQOC2/EEibufBkXmSN/O9mLx80Wh7aDmHmHAhA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b7ce17b1ebf600a72178f6302c77b6382d09323f", + "rev": "0cf4274b5d06325bd16dbf879a30981bc283e58a", "type": "github" }, "original": { @@ -256,11 +256,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1675956056, - "narHash": "sha256-qDSD14/rUiOfBCUHtNQF5tN5eWrHK28NIaDnDsk/A5E=", + "lastModified": 1676916330, + "narHash": "sha256-Dw1sIq49HbFFCDmSXicBVgTTkxTPdcEeSo4vdhgDUr4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7b2a482ea0240ef989001c6a6c28b47db7790483", + "rev": "87a1efdb6f200e6160ef91686aa1735743199f81", "type": "github" }, "original": { @@ -321,11 +321,11 @@ "pandoc-latex-template": { "flake": false, "locked": { - "lastModified": 1675458281, - "narHash": "sha256-gAz6kTEzfa7N2Sxt82+RbaoL+AFf6tx5Nnjs82sDGPQ=", + "lastModified": 1676650196, + "narHash": "sha256-IsOLTKnchMSW7cAhMhaT5TmiICrM6DfT03isObXTc98=", "owner": "Wandmalfarbe", "repo": "pandoc-latex-template", - "rev": "01189ced5b021a78eab00aeee036c7a020d067ba", + "rev": "789dc693c10f2c7a2ca61eff4205f0980a450986", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "utils_2": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1676283394, + "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", "type": "github" }, "original": { @@ -474,11 +474,11 @@ ] }, "locked": { - "lastModified": 1675956079, - "narHash": "sha256-qkv3B/VUpuc9DJqd56129EwlFdNgG0/qWuVmYG5yH1A=", + "lastModified": 1676916922, + "narHash": "sha256-kkU1ZCQeocSD9uUl/JIAYpjTxeZtm5Kam8Zw8saAjiw=", "owner": "thexyno", "repo": "blog", - "rev": "c5dfac536c8054feb28b701812c3d8153deaee92", + "rev": "b6939e77849308bbbbcc2607e521993f67d7fdd4", "type": "github" }, "original": { @@ -490,11 +490,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1675809485, - "narHash": "sha256-gBc5RV8wgDnAqRdp5FPz2RgQ4a8XFVgzWQqfYcUGD/I=", + "lastModified": 1676896727, + "narHash": "sha256-ojKNlVFAjgW3qjG52ivwhI/nfPILBxajiGcTNuvJ+No=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "86d55972f5cb65d545389fe0306e617b68328982", + "rev": "4de5a8cc6a5e4b9e2cea9afd7c0460aca874bac2", "type": "github" }, "original": { From e73d74951d62973f476575eb2d8499e10c5e162e Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 24 Feb 2023 21:35:26 +0100 Subject: [PATCH 198/525] chore: fix nix-path for darwin --- darwin-common.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/darwin-common.nix b/darwin-common.nix index 31e107d8..b50cda69 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: { +{ config, pkgs, inputs, ... }: { programs.gnupg.agent.enable = true; programs.zsh.enable = true; environment.pathsToLink = [ "/share/zsh" ]; @@ -7,6 +7,7 @@ nix.settings.cores = 0; # use all cores nix.settings.max-jobs = 10; # use all cores nix.distributedBuilds = true; + nix.nixPath = [{ nixpkgs = "${inputs.nixpkgs}"; }]; nix.buildMachines = [{ systems = [ "x86_64-linux" ]; supportedFeatures = [ "kvm" "big-parallel" ]; From 4909ed3985e04319307aa4c5f683ab1af8d98961 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 25 Feb 2023 20:51:32 +0100 Subject: [PATCH 199/525] chore: add vimspector --- hm-imports/nvim/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 30fe249d..5f5abbe9 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -78,6 +78,8 @@ telescope-nvim project-nvim + vimspector + coc-nvim #telescope-coc-nvim From 547217d52ce521525f31881956d677521429a455 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 25 Feb 2023 21:04:17 +0100 Subject: [PATCH 200/525] a --- hm-imports/nvim/config/nvim.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index f4f6bd27..970d7fad 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -24,6 +24,9 @@ vim.g.gruvbox_italic = 1 vim.cmd ':colorscheme gruvbox' opt.termguicolors = true -- 24bit color opt.background = 'dark' -- dark gruvbox +--vimspector +vim.g.vimspector_base_dir = "$HOME/.local/share/nvim/vimspector" +vim.g.vimspector_enable_mappings = "HUMAN" -- general settings From b1347e0ea900f168227fb4372c8d3fcdaa8912e1 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 25 Feb 2023 21:06:46 +0100 Subject: [PATCH 201/525] a --- hm-imports/nvim/config/nvim.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index 970d7fad..0da2c0f9 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -25,7 +25,7 @@ vim.cmd ':colorscheme gruvbox' opt.termguicolors = true -- 24bit color opt.background = 'dark' -- dark gruvbox --vimspector -vim.g.vimspector_base_dir = "$HOME/.local/share/nvim/vimspector" +vim.g.vimspector_base_dir = vim.env.HOME .. "/.local/share/nvim/vimspector" vim.g.vimspector_enable_mappings = "HUMAN" From 868bf90a7cc2023b3c760531931133e1a8e97762 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 27 Feb 2023 02:44:17 +0100 Subject: [PATCH 202/525] samba: reenable logging on ds9 as it no longer breaks timemachine --- hosts/ds9/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 106085a0..8c1dcb69 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -219,7 +219,6 @@ in fruit:wipe_intentionally_left_blank_rfork = yes fruit:delete_empty_adfiles = yes fruit:metadata = stream - logging = 0 ''; users.users.minecraft = { From 08970559b1e6f9ec31298a70a8a84cb57746b7f5 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 27 Feb 2023 07:24:39 +0100 Subject: [PATCH 203/525] finicky make some stuff go to work --- hosts/daedalus/finicky.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hosts/daedalus/finicky.js b/hosts/daedalus/finicky.js index dfa47e21..d3a0b305 100644 --- a/hosts/daedalus/finicky.js +++ b/hosts/daedalus/finicky.js @@ -12,6 +12,11 @@ module.exports = { { match: 'localhost:44422', browser: "Vivaldi.app" + }, + { + match: 'localhost:7104', + browser: "Vivaldi.app" } + ] } From 2932f801b3fb73a6afcf42d3fda86cdf6d81b448 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 4 Mar 2023 13:20:39 +0100 Subject: [PATCH 204/525] picardbackup uid fix --- flake.lock | 54 +++++++++++++++++++++---------------------- hosts/ds9/default.nix | 1 + 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 42254457..6469e791 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1676910639, - "narHash": "sha256-YvZ2lQiUZrv5PCQ0nC/fn/0OT2ag8spCIOQx0COnFZ0=", + "lastModified": 1677453742, + "narHash": "sha256-/DNOThcCGz21Met/aMhm7NGqughtpxQzrlAqTuq+YZQ=", "owner": "ryantm", "repo": "agenix", - "rev": "5f66c8aa774d8d488cba1cdc4f0c954d2a14e3a1", + "rev": "4828951d9d05accd244bf8c24706f046b485aceb", "type": "github" }, "original": { @@ -41,11 +41,11 @@ "coc-nvim": { "flake": false, "locked": { - "lastModified": 1676522163, - "narHash": "sha256-PU00zgb8epw8B96yScwh7Ad+QQznouu+Azl0tbcNVHg=", + "lastModified": 1677728877, + "narHash": "sha256-Btj7crJo0zk8/uF/RXtbGOiD3fQxzxKwmK+mMhf2s0I=", "owner": "neoclide", "repo": "coc.nvim", - "rev": "79e9e048dfedbfc8b91330059fec5470f8b68f14", + "rev": "b28b8dc4278f0c68f14b74609d73169c88c97ec4", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1676884243, - "narHash": "sha256-OHwZKq2slEpwLW6rI5pu4VrpoNch99AXzYD9XnT/UF0=", + "lastModified": 1677925058, + "narHash": "sha256-8Sd92ktTfxV7+3XJ2AVILU7dltWxu4jkh1EaWQsuC1k=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "2b807c388a5600d9f4e98f743306834de5dd03a5", + "rev": "6d54cfde44494da2396678d82bb61eeb0a3fa392", "type": "github" }, "original": { @@ -208,11 +208,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1676908974, - "narHash": "sha256-o7sJTBeumorVIM/b1b/Q4q+WJn8Rou5kx8DEBbKOZJI=", + "lastModified": 1677591639, + "narHash": "sha256-DMlAyge+u3K+JOFLA5YfdjqagdAYJf29YGBWpy5izg4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "157e1e4b127b5cb37822be247e8ec37a7f475270", + "rev": "77de4cd09db4dbee9551ed2853cfcf113d7dc5ce", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1676817468, - "narHash": "sha256-ovuJ1jQOC2/EEibufBkXmSN/O9mLx80Wh7aDmHmHAhA=", + "lastModified": 1677779205, + "narHash": "sha256-6DBjL9wjq86p2GczmwnHtFRnWPBPItc67gapWENBgX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0cf4274b5d06325bd16dbf879a30981bc283e58a", + "rev": "96e18717904dfedcd884541e5a92bf9ff632cf39", "type": "github" }, "original": { @@ -240,11 +240,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1676817468, - "narHash": "sha256-ovuJ1jQOC2/EEibufBkXmSN/O9mLx80Wh7aDmHmHAhA=", + "lastModified": 1677879050, + "narHash": "sha256-uUjjgwyQESvaystJqfkPHl+EjJ6SFaXB4a2ZCziHtX0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0cf4274b5d06325bd16dbf879a30981bc283e58a", + "rev": "9c951e688231c47a51034e2aa66c1951f9bb80d0", "type": "github" }, "original": { @@ -256,11 +256,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1676916330, - "narHash": "sha256-Dw1sIq49HbFFCDmSXicBVgTTkxTPdcEeSo4vdhgDUr4=", + "lastModified": 1677932085, + "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "87a1efdb6f200e6160ef91686aa1735743199f81", + "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", "type": "github" }, "original": { @@ -404,11 +404,11 @@ "spoons": { "flake": false, "locked": { - "lastModified": 1667424431, - "narHash": "sha256-ShfiwQluh89aFmqSKL4Q5X9BECm3qP6jreYGIV0Qb/g=", + "lastModified": 1677493806, + "narHash": "sha256-GYguRzulBiBErTmCElmquQA0of9bqMa5FA43mIm4bus=", "owner": "Hammerspoon", "repo": "Spoons", - "rev": "b36b6f6c654b787be11b6acde1f9ec4fcd217669", + "rev": "73e8c8e3ca38d55159d95226de513df4001ff518", "type": "github" }, "original": { @@ -490,11 +490,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1676896727, - "narHash": "sha256-ojKNlVFAjgW3qjG52ivwhI/nfPILBxajiGcTNuvJ+No=", + "lastModified": 1677389225, + "narHash": "sha256-Wtw9U3tMTTR6gU2BVcbUC2XjD6eRPVQyiySGXJPaH7c=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "4de5a8cc6a5e4b9e2cea9afd7c0460aca874bac2", + "rev": "98ea8e685c1a9630a21b39a1596cb94794d1cb3c", "type": "github" }, "original": { diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 8c1dcb69..e801234e 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -102,6 +102,7 @@ in users.users.picardbackup = { createHome = false; group = "users"; + uid = 993; home = "/backups/restic/picard"; isSystemUser = true; openssh.authorizedKeys.keys = [ From 00fde05b66e2a11d77a6f0c3ded0dca088ae8c6d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Mar 2023 16:06:01 +0100 Subject: [PATCH 205/525] update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 6469e791..fac21bd8 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1677453742, - "narHash": "sha256-/DNOThcCGz21Met/aMhm7NGqughtpxQzrlAqTuq+YZQ=", + "lastModified": 1677969766, + "narHash": "sha256-AIp/ZYZMNLDZR/H7iiAlaGpu4lcXsVt9JQpBlf43HRY=", "owner": "ryantm", "repo": "agenix", - "rev": "4828951d9d05accd244bf8c24706f046b485aceb", + "rev": "03b51fe8e459a946c4b88dcfb6446e45efb2c24e", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1677925058, - "narHash": "sha256-8Sd92ktTfxV7+3XJ2AVILU7dltWxu4jkh1EaWQsuC1k=", + "lastModified": 1678097883, + "narHash": "sha256-IG/v/syRMm0OLjT7F/naRjqN6bvAQEhlIlnS4U5y5EQ=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "6d54cfde44494da2396678d82bb61eeb0a3fa392", + "rev": "3f8a6436e158849050e711574a97126a6d3fec02", "type": "github" }, "original": { @@ -208,11 +208,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1677591639, - "narHash": "sha256-DMlAyge+u3K+JOFLA5YfdjqagdAYJf29YGBWpy5izg4=", + "lastModified": 1678095239, + "narHash": "sha256-4F6jovFJcwh6OkMsY94ZrHdrvVqZi1FX5pYv6V9LIQw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "77de4cd09db4dbee9551ed2853cfcf113d7dc5ce", + "rev": "f6610997b0fc5ea5f9e142c348fca27497efe1c7", "type": "github" }, "original": { @@ -224,11 +224,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1677779205, - "narHash": "sha256-6DBjL9wjq86p2GczmwnHtFRnWPBPItc67gapWENBgX8=", + "lastModified": 1678072060, + "narHash": "sha256-6a9Tbjhir5HxDx4uw0u6Z+LHUfYf7tsT9QxF9FN/32w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "96e18717904dfedcd884541e5a92bf9ff632cf39", + "rev": "47c003416297e4d59a5e3e7a8b15cdbdf5110560", "type": "github" }, "original": { @@ -240,11 +240,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1677879050, - "narHash": "sha256-uUjjgwyQESvaystJqfkPHl+EjJ6SFaXB4a2ZCziHtX0=", + "lastModified": 1678101631, + "narHash": "sha256-vuuvWBNGhNSPPbFCjp2XZmBqJOvsFF1T0hyleRnHZlc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9c951e688231c47a51034e2aa66c1951f9bb80d0", + "rev": "934e613c31cf7af0624dcf088b9e2d9b802d0717", "type": "github" }, "original": { @@ -256,11 +256,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1677932085, - "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", + "lastModified": 1678114995, + "narHash": "sha256-omVBgEEPyS9/a55U8/8uqCJMTCPOqedkcK/9ggsFRHQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", + "rev": "acddb9f5fbc2159eeae36929b3f013da20628a29", "type": "github" }, "original": { @@ -474,11 +474,11 @@ ] }, "locked": { - "lastModified": 1676916922, - "narHash": "sha256-kkU1ZCQeocSD9uUl/JIAYpjTxeZtm5Kam8Zw8saAjiw=", + "lastModified": 1678115021, + "narHash": "sha256-zgTqZCKlgHECeyJw03f5LPHuAyb4ZRjZ8bcEJs+kflk=", "owner": "thexyno", "repo": "blog", - "rev": "b6939e77849308bbbbcc2607e521993f67d7fdd4", + "rev": "cb328c56a36c78a4e8aea398c264c3f9bf21d411", "type": "github" }, "original": { From 55988d9e118d5d064e73782af57a3f4e6cea3f4b Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Mar 2023 20:30:25 +0100 Subject: [PATCH 206/525] chore: nvim stuffzies --- hm-imports/nvim/config/coc.lua | 186 ++++++++++++++++++++++++++++++++ hm-imports/nvim/config/coc.nvim | 186 ++++++++++++++++++++++++++++++++ hm-imports/nvim/config/nvim.lua | 5 +- 3 files changed, 374 insertions(+), 3 deletions(-) create mode 100644 hm-imports/nvim/config/coc.lua create mode 100644 hm-imports/nvim/config/coc.nvim diff --git a/hm-imports/nvim/config/coc.lua b/hm-imports/nvim/config/coc.lua new file mode 100644 index 00000000..8a02a154 --- /dev/null +++ b/hm-imports/nvim/config/coc.lua @@ -0,0 +1,186 @@ +-- Some servers have issues with backup files, see #649 +vim.opt.backup = false +vim.opt.writebackup = false + +-- Having longer updatetime (default is 4000 ms = 4s) leads to noticeable +-- delays and poor user experience +vim.opt.updatetime = 100 + +-- Always show the signcolumn, otherwise it would shift the text each time +-- diagnostics appeared/became resolved +vim.opt.signcolumn = "yes" + +local keyset = vim.keymap.set +-- Autocomplete +function _G.check_back_space() + local col = vim.fn.col('.') - 1 + return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil +end + +-- Use Tab for trigger completion with characters ahead and navigate +-- NOTE: There's always a completion item selected by default, you may want to enable +-- no select by setting `"suggest.noselect": true` in your configuration file +-- NOTE: Use command ':verbose imap ' to make sure Tab is not mapped by +-- other plugins before putting this into your config +local opts = {silent = true, noremap = true, expr = true, replace_keycodes = false} +keyset("i", "", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "" : coc#refresh()', opts) +keyset("i", "", [[coc#pum#visible() ? coc#pum#prev(1) : "\"]], opts) + +-- Make to accept selected completion item or notify coc.nvim to format +-- u breaks current undo, please make your own choice +keyset("i", "", [[coc#pum#visible() ? coc#pum#confirm() : "\u\\=coc#on_enter()\"]], opts) + +-- Use to trigger snippets +keyset("i", "", "(coc-snippets-expand-jump)") +-- Use to trigger completion +keyset("i", "", "coc#refresh()", {silent = true, expr = true}) + +-- Use `[g` and `]g` to navigate diagnostics +-- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list +keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) +keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) + +-- GoTo code navigation +keyset("n", "gd", "(coc-definition)", {silent = true}) +keyset("n", "gy", "(coc-type-definition)", {silent = true}) +keyset("n", "gi", "(coc-implementation)", {silent = true}) +keyset("n", "gr", "(coc-references)", {silent = true}) + + +-- Use K to show documentation in preview window +function _G.show_docs() + local cw = vim.fn.expand('') + if vim.fn.index({'vim', 'help'}, vim.bo.filetype) >= 0 then + vim.api.nvim_command('h ' .. cw) + elseif vim.api.nvim_eval('coc#rpc#ready()') then + vim.fn.CocActionAsync('doHover') + else + vim.api.nvim_command('!' .. vim.o.keywordprg .. ' ' .. cw) + end +end +keyset("n", "K", 'lua _G.show_docs()', {silent = true}) + + +-- Highlight the symbol and its references on a CursorHold event(cursor is idle) +vim.api.nvim_create_augroup("CocGroup", {}) +vim.api.nvim_create_autocmd("CursorHold", { + group = "CocGroup", + command = "silent call CocActionAsync('highlight')", + desc = "Highlight symbol under cursor on CursorHold" +}) + + +-- Symbol renaming +keyset("n", "rn", "(coc-rename)", {silent = true}) + + +-- Formatting selected code +keyset("x", "f", "(coc-format-selected)", {silent = true}) +keyset("n", "f", "(coc-format-selected)", {silent = true}) + + +-- Setup formatexpr specified filetype(s) +vim.api.nvim_create_autocmd("FileType", { + group = "CocGroup", + pattern = "typescript,json", + command = "setl formatexpr=CocAction('formatSelected')", + desc = "Setup formatexpr specified filetype(s)." +}) + +-- Update signature help on jump placeholder +vim.api.nvim_create_autocmd("User", { + group = "CocGroup", + pattern = "CocJumpPlaceholder", + command = "call CocActionAsync('showSignatureHelp')", + desc = "Update signature help on jump placeholder" +}) + +-- Apply codeAction to the selected region +-- Example: `aap` for current paragraph +local opts = {silent = true, nowait = true} +keyset("x", "a", "(coc-codeaction-selected)", opts) +keyset("n", "a", "(coc-codeaction-selected)", opts) + +-- Remap keys for apply code actions at the cursor position. +keyset("n", "ac", "(coc-codeaction-cursor)", opts) +-- Remap keys for apply code actions affect whole buffer. +keyset("n", "as", "(coc-codeaction-source)", opts) +-- Remap keys for applying codeActions to the current buffer +keyset("n", "ac", "(coc-codeaction)", opts) +-- Apply the most preferred quickfix action on the current line. +keyset("n", "qf", "(coc-fix-current)", opts) + +-- Remap keys for apply refactor code actions. +keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) +keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) +keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) + +-- Run the Code Lens actions on the current line +keyset("n", "cl", "(coc-codelens-action)", opts) + + +-- Map function and class text objects +-- NOTE: Requires 'textDocument.documentSymbol' support from the language server +keyset("x", "if", "(coc-funcobj-i)", opts) +keyset("o", "if", "(coc-funcobj-i)", opts) +keyset("x", "af", "(coc-funcobj-a)", opts) +keyset("o", "af", "(coc-funcobj-a)", opts) +keyset("x", "ic", "(coc-classobj-i)", opts) +keyset("o", "ic", "(coc-classobj-i)", opts) +keyset("x", "ac", "(coc-classobj-a)", opts) +keyset("o", "ac", "(coc-classobj-a)", opts) + + +-- Remap and to scroll float windows/popups +---@diagnostic disable-next-line: redefined-local +local opts = {silent = true, nowait = true, expr = true} +keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) +keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) +keyset("i", "", + 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) +keyset("i", "", + 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) +keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) +keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) + + +-- Use CTRL-S for selections ranges +-- Requires 'textDocument/selectionRange' support of language server +keyset("n", "", "(coc-range-select)", {silent = true}) +keyset("x", "", "(coc-range-select)", {silent = true}) + + +-- Add `:Format` command to format current buffer +vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) + +-- " Add `:Fold` command to fold current buffer +vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) + +-- Add `:OR` command for organize imports of the current buffer +vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) + +-- Add (Neo)Vim's native statusline support +-- NOTE: Please see `:h coc-status` for integrations with external plugins that +-- provide custom statusline: lightline.vim, vim-airline +vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") + +-- Mappings for CoCList +-- code actions and coc stuff +---@diagnostic disable-next-line: redefined-local +local opts = {silent = true, nowait = true} +-- Show all diagnostics +keyset("n", "a", ":CocList diagnostics", opts) +-- Manage extensions +keyset("n", "e", ":CocList extensions", opts) +-- Show commands +keyset("n", "c", ":CocList commands", opts) +-- Find symbol of current document +keyset("n", "o", ":CocList outline", opts) +-- Search workspace symbols +keyset("n", "s", ":CocList -I symbols", opts) +-- Do default action for next item +keyset("n", "j", ":CocNext", opts) +-- Do default action for previous item +keyset("n", "k", ":CocPrev", opts) +-- Resume latest coc list +keyset("n", "p", ":CocListResume", opts) diff --git a/hm-imports/nvim/config/coc.nvim b/hm-imports/nvim/config/coc.nvim new file mode 100644 index 00000000..dc703ccc --- /dev/null +++ b/hm-imports/nvim/config/coc.nvim @@ -0,0 +1,186 @@ +-- Some servers have issues with backup files, see #649 +vim.opt.backup = false +vim.opt.writebackup = false + +-- Having longer updatetime (default is 4000 ms = 4s) leads to noticeable +-- delays and poor user experience +vim.opt.updatetime = 300 + +-- Always show the signcolumn, otherwise it would shift the text each time +-- diagnostics appeared/became resolved +vim.opt.signcolumn = "yes" + +local keyset = vim.keymap.set +-- Autocomplete +function _G.check_back_space() + local col = vim.fn.col('.') - 1 + return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil +end + +-- Use Tab for trigger completion with characters ahead and navigate +-- NOTE: There's always a completion item selected by default, you may want to enable +-- no select by setting `"suggest.noselect": true` in your configuration file +-- NOTE: Use command ':verbose imap ' to make sure Tab is not mapped by +-- other plugins before putting this into your config +local opts = {silent = true, noremap = true, expr = true, replace_keycodes = false} +keyset("i", "", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "" : coc#refresh()', opts) +keyset("i", "", [[coc#pum#visible() ? coc#pum#prev(1) : "\"]], opts) + +-- Make to accept selected completion item or notify coc.nvim to format +-- u breaks current undo, please make your own choice +keyset("i", "", [[coc#pum#visible() ? coc#pum#confirm() : "\u\\=coc#on_enter()\"]], opts) + +-- Use to trigger snippets +keyset("i", "", "(coc-snippets-expand-jump)") +-- Use to trigger completion +keyset("i", "", "coc#refresh()", {silent = true, expr = true}) + +-- Use `[g` and `]g` to navigate diagnostics +-- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list +keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) +keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) + +-- GoTo code navigation +keyset("n", "gd", "(coc-definition)", {silent = true}) +keyset("n", "gy", "(coc-type-definition)", {silent = true}) +keyset("n", "gi", "(coc-implementation)", {silent = true}) +keyset("n", "gr", "(coc-references)", {silent = true}) + + +-- Use K to show documentation in preview window +function _G.show_docs() + local cw = vim.fn.expand('') + if vim.fn.index({'vim', 'help'}, vim.bo.filetype) >= 0 then + vim.api.nvim_command('h ' .. cw) + elseif vim.api.nvim_eval('coc#rpc#ready()') then + vim.fn.CocActionAsync('doHover') + else + vim.api.nvim_command('!' .. vim.o.keywordprg .. ' ' .. cw) + end +end +keyset("n", "K", 'lua _G.show_docs()', {silent = true}) + + +-- Highlight the symbol and its references on a CursorHold event(cursor is idle) +vim.api.nvim_create_augroup("CocGroup", {}) +vim.api.nvim_create_autocmd("CursorHold", { + group = "CocGroup", + command = "silent call CocActionAsync('highlight')", + desc = "Highlight symbol under cursor on CursorHold" +}) + + +-- Symbol renaming +keyset("n", "rn", "(coc-rename)", {silent = true}) + + +-- Formatting selected code +keyset("x", "f", "(coc-format-selected)", {silent = true}) +keyset("n", "f", "(coc-format-selected)", {silent = true}) + + +-- Setup formatexpr specified filetype(s) +vim.api.nvim_create_autocmd("FileType", { + group = "CocGroup", + pattern = "typescript,json", + command = "setl formatexpr=CocAction('formatSelected')", + desc = "Setup formatexpr specified filetype(s)." +}) + +-- Update signature help on jump placeholder +vim.api.nvim_create_autocmd("User", { + group = "CocGroup", + pattern = "CocJumpPlaceholder", + command = "call CocActionAsync('showSignatureHelp')", + desc = "Update signature help on jump placeholder" +}) + +-- Apply codeAction to the selected region +-- Example: `aap` for current paragraph +local opts = {silent = true, nowait = true} +keyset("x", "a", "(coc-codeaction-selected)", opts) +keyset("n", "a", "(coc-codeaction-selected)", opts) + +-- Remap keys for apply code actions at the cursor position. +keyset("n", "ac", "(coc-codeaction-cursor)", opts) +-- Remap keys for apply code actions affect whole buffer. +keyset("n", "as", "(coc-codeaction-source)", opts) +-- Remap keys for applying codeActions to the current buffer +keyset("n", "ac", "(coc-codeaction)", opts) +-- Apply the most preferred quickfix action on the current line. +keyset("n", "qf", "(coc-fix-current)", opts) + +-- Remap keys for apply refactor code actions. +keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) +keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) +keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) + +-- Run the Code Lens actions on the current line +keyset("n", "cl", "(coc-codelens-action)", opts) + + +-- Map function and class text objects +-- NOTE: Requires 'textDocument.documentSymbol' support from the language server +keyset("x", "if", "(coc-funcobj-i)", opts) +keyset("o", "if", "(coc-funcobj-i)", opts) +keyset("x", "af", "(coc-funcobj-a)", opts) +keyset("o", "af", "(coc-funcobj-a)", opts) +keyset("x", "ic", "(coc-classobj-i)", opts) +keyset("o", "ic", "(coc-classobj-i)", opts) +keyset("x", "ac", "(coc-classobj-a)", opts) +keyset("o", "ac", "(coc-classobj-a)", opts) + + +-- Remap and to scroll float windows/popups +---@diagnostic disable-next-line: redefined-local +local opts = {silent = true, nowait = true, expr = true} +keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) +keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) +keyset("i", "", + 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) +keyset("i", "", + 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) +keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) +keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) + + +-- Use CTRL-S for selections ranges +-- Requires 'textDocument/selectionRange' support of language server +keyset("n", "", "(coc-range-select)", {silent = true}) +keyset("x", "", "(coc-range-select)", {silent = true}) + + +-- Add `:Format` command to format current buffer +vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) + +-- " Add `:Fold` command to fold current buffer +vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) + +-- Add `:OR` command for organize imports of the current buffer +vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) + +-- Add (Neo)Vim's native statusline support +-- NOTE: Please see `:h coc-status` for integrations with external plugins that +-- provide custom statusline: lightline.vim, vim-airline +vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") + +-- Mappings for CoCList +-- code actions and coc stuff +---@diagnostic disable-next-line: redefined-local +local opts = {silent = true, nowait = true} +-- Show all diagnostics +keyset("n", "a", ":CocList diagnostics", opts) +-- Manage extensions +keyset("n", "e", ":CocList extensions", opts) +-- Show commands +keyset("n", "c", ":CocList commands", opts) +-- Find symbol of current document +keyset("n", "o", ":CocList outline", opts) +-- Search workspace symbols +keyset("n", "s", ":CocList -I symbols", opts) +-- Do default action for next item +keyset("n", "j", ":CocNext", opts) +-- Do default action for previous item +keyset("n", "k", ":CocPrev", opts) +-- Resume latest coc list +keyset("n", "p", ":CocListResume", opts) diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index 0da2c0f9..114c4392 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -15,9 +15,8 @@ require('plugin.telescope') -- plugins - coc -vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua --- terminal -vim.cmd 'source ~/.config/nvim/terminal.vim' -- too lazy to convert all the shit to lua +--vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua +require('coc') -- color stuff vim.g.gruvbox_italic = 1 From c27f88ec40a8e8192e962431f2588d89a135d3a8 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Mar 2023 20:37:22 +0100 Subject: [PATCH 207/525] update --- hm-imports/nvim/config/coc.nvim | 186 ----------------------- hm-imports/nvim/config/{ => lua}/coc.lua | 0 2 files changed, 186 deletions(-) delete mode 100644 hm-imports/nvim/config/coc.nvim rename hm-imports/nvim/config/{ => lua}/coc.lua (100%) diff --git a/hm-imports/nvim/config/coc.nvim b/hm-imports/nvim/config/coc.nvim deleted file mode 100644 index dc703ccc..00000000 --- a/hm-imports/nvim/config/coc.nvim +++ /dev/null @@ -1,186 +0,0 @@ --- Some servers have issues with backup files, see #649 -vim.opt.backup = false -vim.opt.writebackup = false - --- Having longer updatetime (default is 4000 ms = 4s) leads to noticeable --- delays and poor user experience -vim.opt.updatetime = 300 - --- Always show the signcolumn, otherwise it would shift the text each time --- diagnostics appeared/became resolved -vim.opt.signcolumn = "yes" - -local keyset = vim.keymap.set --- Autocomplete -function _G.check_back_space() - local col = vim.fn.col('.') - 1 - return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil -end - --- Use Tab for trigger completion with characters ahead and navigate --- NOTE: There's always a completion item selected by default, you may want to enable --- no select by setting `"suggest.noselect": true` in your configuration file --- NOTE: Use command ':verbose imap ' to make sure Tab is not mapped by --- other plugins before putting this into your config -local opts = {silent = true, noremap = true, expr = true, replace_keycodes = false} -keyset("i", "", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "" : coc#refresh()', opts) -keyset("i", "", [[coc#pum#visible() ? coc#pum#prev(1) : "\"]], opts) - --- Make to accept selected completion item or notify coc.nvim to format --- u breaks current undo, please make your own choice -keyset("i", "", [[coc#pum#visible() ? coc#pum#confirm() : "\u\\=coc#on_enter()\"]], opts) - --- Use to trigger snippets -keyset("i", "", "(coc-snippets-expand-jump)") --- Use to trigger completion -keyset("i", "", "coc#refresh()", {silent = true, expr = true}) - --- Use `[g` and `]g` to navigate diagnostics --- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list -keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) -keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) - --- GoTo code navigation -keyset("n", "gd", "(coc-definition)", {silent = true}) -keyset("n", "gy", "(coc-type-definition)", {silent = true}) -keyset("n", "gi", "(coc-implementation)", {silent = true}) -keyset("n", "gr", "(coc-references)", {silent = true}) - - --- Use K to show documentation in preview window -function _G.show_docs() - local cw = vim.fn.expand('') - if vim.fn.index({'vim', 'help'}, vim.bo.filetype) >= 0 then - vim.api.nvim_command('h ' .. cw) - elseif vim.api.nvim_eval('coc#rpc#ready()') then - vim.fn.CocActionAsync('doHover') - else - vim.api.nvim_command('!' .. vim.o.keywordprg .. ' ' .. cw) - end -end -keyset("n", "K", 'lua _G.show_docs()', {silent = true}) - - --- Highlight the symbol and its references on a CursorHold event(cursor is idle) -vim.api.nvim_create_augroup("CocGroup", {}) -vim.api.nvim_create_autocmd("CursorHold", { - group = "CocGroup", - command = "silent call CocActionAsync('highlight')", - desc = "Highlight symbol under cursor on CursorHold" -}) - - --- Symbol renaming -keyset("n", "rn", "(coc-rename)", {silent = true}) - - --- Formatting selected code -keyset("x", "f", "(coc-format-selected)", {silent = true}) -keyset("n", "f", "(coc-format-selected)", {silent = true}) - - --- Setup formatexpr specified filetype(s) -vim.api.nvim_create_autocmd("FileType", { - group = "CocGroup", - pattern = "typescript,json", - command = "setl formatexpr=CocAction('formatSelected')", - desc = "Setup formatexpr specified filetype(s)." -}) - --- Update signature help on jump placeholder -vim.api.nvim_create_autocmd("User", { - group = "CocGroup", - pattern = "CocJumpPlaceholder", - command = "call CocActionAsync('showSignatureHelp')", - desc = "Update signature help on jump placeholder" -}) - --- Apply codeAction to the selected region --- Example: `aap` for current paragraph -local opts = {silent = true, nowait = true} -keyset("x", "a", "(coc-codeaction-selected)", opts) -keyset("n", "a", "(coc-codeaction-selected)", opts) - --- Remap keys for apply code actions at the cursor position. -keyset("n", "ac", "(coc-codeaction-cursor)", opts) --- Remap keys for apply code actions affect whole buffer. -keyset("n", "as", "(coc-codeaction-source)", opts) --- Remap keys for applying codeActions to the current buffer -keyset("n", "ac", "(coc-codeaction)", opts) --- Apply the most preferred quickfix action on the current line. -keyset("n", "qf", "(coc-fix-current)", opts) - --- Remap keys for apply refactor code actions. -keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) -keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) -keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) - --- Run the Code Lens actions on the current line -keyset("n", "cl", "(coc-codelens-action)", opts) - - --- Map function and class text objects --- NOTE: Requires 'textDocument.documentSymbol' support from the language server -keyset("x", "if", "(coc-funcobj-i)", opts) -keyset("o", "if", "(coc-funcobj-i)", opts) -keyset("x", "af", "(coc-funcobj-a)", opts) -keyset("o", "af", "(coc-funcobj-a)", opts) -keyset("x", "ic", "(coc-classobj-i)", opts) -keyset("o", "ic", "(coc-classobj-i)", opts) -keyset("x", "ac", "(coc-classobj-a)", opts) -keyset("o", "ac", "(coc-classobj-a)", opts) - - --- Remap and to scroll float windows/popups ----@diagnostic disable-next-line: redefined-local -local opts = {silent = true, nowait = true, expr = true} -keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) -keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) -keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) -keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) -keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) -keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) - - --- Use CTRL-S for selections ranges --- Requires 'textDocument/selectionRange' support of language server -keyset("n", "", "(coc-range-select)", {silent = true}) -keyset("x", "", "(coc-range-select)", {silent = true}) - - --- Add `:Format` command to format current buffer -vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) - --- " Add `:Fold` command to fold current buffer -vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) - --- Add `:OR` command for organize imports of the current buffer -vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) - --- Add (Neo)Vim's native statusline support --- NOTE: Please see `:h coc-status` for integrations with external plugins that --- provide custom statusline: lightline.vim, vim-airline -vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") - --- Mappings for CoCList --- code actions and coc stuff ----@diagnostic disable-next-line: redefined-local -local opts = {silent = true, nowait = true} --- Show all diagnostics -keyset("n", "a", ":CocList diagnostics", opts) --- Manage extensions -keyset("n", "e", ":CocList extensions", opts) --- Show commands -keyset("n", "c", ":CocList commands", opts) --- Find symbol of current document -keyset("n", "o", ":CocList outline", opts) --- Search workspace symbols -keyset("n", "s", ":CocList -I symbols", opts) --- Do default action for next item -keyset("n", "j", ":CocNext", opts) --- Do default action for previous item -keyset("n", "k", ":CocPrev", opts) --- Resume latest coc list -keyset("n", "p", ":CocListResume", opts) diff --git a/hm-imports/nvim/config/coc.lua b/hm-imports/nvim/config/lua/coc.lua similarity index 100% rename from hm-imports/nvim/config/coc.lua rename to hm-imports/nvim/config/lua/coc.lua From 44c2cd9bbc822e0753df8940251aa6b275d88905 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Mar 2023 20:46:03 +0100 Subject: [PATCH 208/525] update --- flake.lock | 117 ++++++++++++++++++++++++++++++++---- flake.nix | 9 ++- hm-imports/nvim/default.nix | 2 +- hosts/daedalus/default.nix | 3 - 4 files changed, 109 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index fac21bd8..fc4e725e 100644 --- a/flake.lock +++ b/flake.lock @@ -100,21 +100,34 @@ "emacs-overlay": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1678097883, - "narHash": "sha256-IG/v/syRMm0OLjT7F/naRjqN6bvAQEhlIlnS4U5y5EQ=", + "lastModified": 1678127991, + "narHash": "sha256-wsm36K1cCAKXiuETDXnSBi3A4si/fPRnGAO+OIXRazU=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "3f8a6436e158849050e711574a97126a6d3fec02", + "rev": "c1355f8ece3ec5f73b42776401e459a05b48a715", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "emacs-overlay", + "id": "emacs-overlay", + "type": "indirect" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, @@ -133,6 +146,21 @@ "type": "github" } }, + "flake-utils_2": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -206,6 +234,52 @@ "type": "github" } }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1678060331, + "narHash": "sha256-JnKiZsG4MlNDNaSy9WvRJF2a6gaeiqtw0BmYNQ4DquQ=", + "owner": "neovim", + "repo": "neovim", + "rev": "e389b189021cb6b72cfd7583ce6fb5d8d3346d45", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "neovim-flake": "neovim-flake", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1678090567, + "narHash": "sha256-ZSKhaesPn2WHnqfshj6TDHO5ob1o+wgUjiP4oZ11eLc=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "13bcb7770ffa76e5e35a9dc1c12b146c22f10bdf", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1678095239, @@ -224,16 +298,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678072060, - "narHash": "sha256-6a9Tbjhir5HxDx4uw0u6Z+LHUfYf7tsT9QxF9FN/32w=", + "lastModified": 1677932085, + "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47c003416297e4d59a5e3e7a8b15cdbdf5110560", + "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -270,6 +344,22 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1678072060, + "narHash": "sha256-6a9Tbjhir5HxDx4uw0u6Z+LHUfYf7tsT9QxF9FN/32w=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47c003416297e4d59a5e3e7a8b15cdbdf5110560", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nnn-vim": { "flake": false, "locked": { @@ -382,8 +472,9 @@ "home-manager": "home-manager", "impermanence": "impermanence", "miro": "miro", + "neovim-nightly-overlay": "neovim-nightly-overlay", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", diff --git a/flake.nix b/flake.nix index 9ce24c97..8013229d 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,8 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; # programs xynoblog.url = "github:thexyno/blog"; @@ -27,10 +29,6 @@ rnix-lsp.url = "github:nix-community/rnix-lsp"; rnix-lsp.inputs.nixpkgs.follows = "nixpkgs"; - ## emacs - emacs-overlay.url = "github:nix-community/emacs-overlay"; - emacs-overlay.inputs.nixpkgs.follows = "nixpkgs"; - ## vim nnn-vim.url = "github:mcchrish/nnn.vim"; nnn-vim.flake = false; @@ -75,6 +73,7 @@ inputs @ { self , nixpkgs , nixpkgs-darwin + , neovim-nightly-overlay , nixpkgs-master , agenix , home-manager @@ -98,7 +97,7 @@ }; overlays = [ self.overlays.default - emacs-overlay.overlay + neovim-nightly-overlay.overlay (final: prev: { python3 = prev.python3.override { packageOverrides = pyself: pysuper: { diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 5f5abbe9..125d6183 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -24,7 +24,7 @@ in { enable = true; - #package = pkgs.neovim-nightly; + package = pkgs.neovim-nightly; extraConfig = '' set runtimepath^=~/.config/nvim lua dofile('${./config/nvim.lua}') diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 307169e5..91a1722b 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -1,9 +1,6 @@ { pkgs, inputs, lib, ... }: with lib; with lib.my; -let - myEmacs = pkgs.emacsNativeComp; -in { users.users.ragon = { From a0b8181590653082e58eeb7adf0cc1428ef11807 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Mar 2023 21:00:37 +0100 Subject: [PATCH 209/525] update --- flake.lock | 51 +++++++++++++------- flake.nix | 6 ++- hm-imports/nvim/config/lua/coc.lua | 4 +- hm-imports/nvim/config/lua/plugin/notice.lua | 18 +++++++ hm-imports/nvim/config/nvim.lua | 1 + hm-imports/nvim/default.nix | 17 +++++++ 6 files changed, 76 insertions(+), 21 deletions(-) create mode 100644 hm-imports/nvim/config/lua/plugin/notice.lua diff --git a/flake.lock b/flake.lock index fc4e725e..aea551b8 100644 --- a/flake.lock +++ b/flake.lock @@ -38,22 +38,6 @@ "type": "github" } }, - "coc-nvim": { - "flake": false, - "locked": { - "lastModified": 1677728877, - "narHash": "sha256-Btj7crJo0zk8/uF/RXtbGOiD3fQxzxKwmK+mMhf2s0I=", - "owner": "neoclide", - "repo": "coc.nvim", - "rev": "b28b8dc4278f0c68f14b74609d73169c88c97ec4", - "type": "github" - }, - "original": { - "owner": "neoclide", - "repo": "coc.nvim", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -376,6 +360,38 @@ "type": "github" } }, + "notice-nvim": { + "flake": false, + "locked": { + "lastModified": 1677882849, + "narHash": "sha256-3XQklNVwwzkrQtaKw8U8iXnNcDMiuEvXtceE2ACY6wc=", + "owner": "folke", + "repo": "noice.nvim", + "rev": "c22651651da01239fc4afac4cdb7261797d5f02e", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "noice.nvim", + "type": "github" + } + }, + "notify-nvim": { + "flake": false, + "locked": { + "lastModified": 1677922748, + "narHash": "sha256-3E9FN+dAKswzLTX6PYJIj30MWxd3estsZORBEf2Csn0=", + "owner": "rcarriga", + "repo": "nvim-notify", + "rev": "281e4d793c550c866bea3fb85d39de1f0188fb50", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-notify", + "type": "github" + } + }, "octoprint-spoolmanager": { "flake": false, "locked": { @@ -466,7 +482,6 @@ "inputs": { "agenix": "agenix", "agkozak-zsh-prompt": "agkozak-zsh-prompt", - "coc-nvim": "coc-nvim", "darwin": "darwin_2", "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", @@ -478,6 +493,8 @@ "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", + "notice-nvim": "notice-nvim", + "notify-nvim": "notify-nvim", "octoprint-spoolmanager": "octoprint-spoolmanager", "octoprint-telegram": "octoprint-telegram", "pandoc-latex-template": "pandoc-latex-template", diff --git a/flake.nix b/flake.nix index 8013229d..97e08cae 100644 --- a/flake.nix +++ b/flake.nix @@ -32,8 +32,10 @@ ## vim nnn-vim.url = "github:mcchrish/nnn.vim"; nnn-vim.flake = false; - coc-nvim.url = "github:neoclide/coc.nvim"; - coc-nvim.flake = false; + notify-nvim.url = "github:rcarriga/nvim-notify"; + notify-nvim.flake = false; + notice-nvim.url = "github:folke/noice.nvim"; + notice-nvim.flake = false; ## zsh zsh-completions.url = "github:zsh-users/zsh-completions"; diff --git a/hm-imports/nvim/config/lua/coc.lua b/hm-imports/nvim/config/lua/coc.lua index 8a02a154..f3043c7e 100644 --- a/hm-imports/nvim/config/lua/coc.lua +++ b/hm-imports/nvim/config/lua/coc.lua @@ -146,8 +146,8 @@ keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', o -- Use CTRL-S for selections ranges -- Requires 'textDocument/selectionRange' support of language server -keyset("n", "", "(coc-range-select)", {silent = true}) -keyset("x", "", "(coc-range-select)", {silent = true}) +keyset("n", "", "(coc-range-select)", {silent = true}) +keyset("x", "", "(coc-range-select)", {silent = true}) -- Add `:Format` command to format current buffer diff --git a/hm-imports/nvim/config/lua/plugin/notice.lua b/hm-imports/nvim/config/lua/plugin/notice.lua new file mode 100644 index 00000000..9b8e296a --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/notice.lua @@ -0,0 +1,18 @@ +require("noice").setup({ + lsp = { + -- override markdown rendering so that **cmp** and other plugins use **Treesitter** + override = { + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + ["cmp.entry.get_documentation"] = true, + }, + }, + -- you can enable a preset for easier configuration + presets = { + bottom_search = true, -- use a classic bottom cmdline for search + command_palette = true, -- position the cmdline and popupmenu together + long_message_to_split = true, -- long messages will be sent to a split + inc_rename = false, -- enables an input dialog for inc-rename.nvim + lsp_doc_border = false, -- add a border to hover docs and signature help + }, +}) diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index 114c4392..251d9a73 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -11,6 +11,7 @@ require('plugin.nnn') require('plugin.rainbow') require('plugin.terminal') require('plugin.project') +require('plugin.notice') require('plugin.telescope') diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 125d6183..4f6672b2 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -38,6 +38,16 @@ version = "1.0.0"; src = inputs.nnn-vim; }; + notify-nvim = pkgs.vimUtils.buildVimPlugin { + pname = "notify-nvim"; + version = "1.0.0"; + src = inputs.notify-nvim; + }; + notice-nvim = pkgs.vimUtils.buildVimPlugin { + pname = "notice-nvim"; + version = "1.0.0"; + src = inputs.notice-nvim; + }; #coc-nvim = pkgs.vimUtils.buildVimPlugin { # name = "coc-nvim"; # src = inputs.coc-nvim; @@ -74,6 +84,13 @@ ultisnips #dart-vim + nvim-treesitter + notify-nvim + notice-nvim + nui-nvim + + + plenary-nvim telescope-nvim project-nvim From ff9e47e96b28d5837b35abc84878def52c8c82d8 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 6 Mar 2023 21:27:28 +0100 Subject: [PATCH 210/525] update --- flake.lock | 4 +- flake.nix | 4 +- hm-imports/nvim/config/coc-settings.json | 29 -------------- hm-imports/nvim/config/lua/coc.lua | 16 ++++---- hm-imports/nvim/config/lua/keybindings.lua | 40 +++++++++++-------- hm-imports/nvim/config/lua/plugin/lualine.lua | 4 +- .../lua/plugin/{notice.lua => noice.lua} | 7 ++++ hm-imports/nvim/config/nvim.lua | 5 ++- hm-imports/nvim/default.nix | 19 ++++----- hm-imports/tmux/default.nix | 3 +- 10 files changed, 57 insertions(+), 74 deletions(-) rename hm-imports/nvim/config/lua/plugin/{notice.lua => noice.lua} (87%) diff --git a/flake.lock b/flake.lock index aea551b8..5d7e9655 100644 --- a/flake.lock +++ b/flake.lock @@ -360,7 +360,7 @@ "type": "github" } }, - "notice-nvim": { + "noice-nvim": { "flake": false, "locked": { "lastModified": 1677882849, @@ -493,7 +493,7 @@ "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-master": "nixpkgs-master", "nnn-vim": "nnn-vim", - "notice-nvim": "notice-nvim", + "noice-nvim": "noice-nvim", "notify-nvim": "notify-nvim", "octoprint-spoolmanager": "octoprint-spoolmanager", "octoprint-telegram": "octoprint-telegram", diff --git a/flake.nix b/flake.nix index 97e08cae..12e92a2a 100644 --- a/flake.nix +++ b/flake.nix @@ -34,8 +34,8 @@ nnn-vim.flake = false; notify-nvim.url = "github:rcarriga/nvim-notify"; notify-nvim.flake = false; - notice-nvim.url = "github:folke/noice.nvim"; - notice-nvim.flake = false; + noice-nvim.url = "github:folke/noice.nvim"; + noice-nvim.flake = false; ## zsh zsh-completions.url = "github:zsh-users/zsh-completions"; diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json index 6aa24b5c..7ae2aeb2 100644 --- a/hm-imports/nvim/config/coc-settings.json +++ b/hm-imports/nvim/config/coc-settings.json @@ -1,36 +1,7 @@ { - "suggest.triggerCompletionWait": 50, - "semanticTokens": { - "filetypes": ["nix"] - }, - "coc.preferences.formatOnSaveFiletypes": ["nix"], - "suggest.enablePreview": true, - "html.enable": true, - "python.linting.enabled": true, - "html.format.enable": true, - "html.suggest.html5": true, - "html.validate.html": true, - "html.validate.styles": true, - "diagnostic-languageserver.mergeConfig": true, - "diagnostic-languageserver.filetypes": { - "vim": "vint", - "sh": "shellcheck", - "markdown": "write-good" - }, - "diagnostic-languageserver.formatFiletypes": { - "sh": "shfmt" - }, - "tabnine.disable_filetypes": ["pandoc"], - "flutter.provider.hot-reload": true, - "flutter.provider.enableSnippet": true, - "snippets.ultisnips.direcories": ["snippets"], "rust-analyzer.procMacro.enable": true, - "rust-analyzer.cargo.allFeatures": true, - "rust-analyzer.inlayHints.refreshOnInsertMode": true, "rust-analyzer.updates.channel": "nightly", "html.validate.scripts": true, - "git.gitlab.hosts": ["gitlab.com"], - "git.addGBlameToVirtualText": true, "languageserver": { "nix": { "command": "nil", diff --git a/hm-imports/nvim/config/lua/coc.lua b/hm-imports/nvim/config/lua/coc.lua index f3043c7e..72fecd8c 100644 --- a/hm-imports/nvim/config/lua/coc.lua +++ b/hm-imports/nvim/config/lua/coc.lua @@ -169,18 +169,18 @@ vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}" ---@diagnostic disable-next-line: redefined-local local opts = {silent = true, nowait = true} -- Show all diagnostics -keyset("n", "a", ":CocList diagnostics", opts) +keyset("n", ",a", ":CocList diagnostics", opts) -- Manage extensions -keyset("n", "e", ":CocList extensions", opts) +keyset("n", ",e", ":CocList extensions", opts) -- Show commands -keyset("n", "c", ":CocList commands", opts) +keyset("n", ",c", ":CocList commands", opts) -- Find symbol of current document -keyset("n", "o", ":CocList outline", opts) +keyset("n", ",o", ":CocList outline", opts) -- Search workspace symbols -keyset("n", "s", ":CocList -I symbols", opts) +keyset("n", ",s", ":CocList -I symbols", opts) -- Do default action for next item -keyset("n", "j", ":CocNext", opts) +keyset("n", ",j", ":CocNext", opts) -- Do default action for previous item -keyset("n", "k", ":CocPrev", opts) +keyset("n", ",k", ":CocPrev", opts) -- Resume latest coc list -keyset("n", "p", ":CocListResume", opts) +keyset("n", ",p", ":CocListResume", opts) diff --git a/hm-imports/nvim/config/lua/keybindings.lua b/hm-imports/nvim/config/lua/keybindings.lua index e2029a78..64ce5cc9 100644 --- a/hm-imports/nvim/config/lua/keybindings.lua +++ b/hm-imports/nvim/config/lua/keybindings.lua @@ -1,14 +1,14 @@ local map = require('utils').map -- split binds -map { 'n', '', ':vertical resize -5', noremap = true, silent = true} -map { 'n', '', ':vertical resize +5', noremap = true, silent = true} -map { 'n', '', ':resize -5', noremap = true, silent = true} -map { 'n', '', ':resize +5', noremap = true, silent = true} +map { 'n', '', 'vertical resize -5', noremap = true, silent = true} +map { 'n', '', 'vertical resize +5', noremap = true, silent = true} +map { 'n', '', 'resize -5', noremap = true, silent = true} +map { 'n', '', 'resize +5', noremap = true, silent = true} map { 'n', '', ' =', noremap = true, silent = true} -map { 'n', '', ':vsp', noremap = true, silent = true} -map { 'n', '', ':split', noremap = true, silent = true} +map { 'n', '', 'vsp', noremap = true, silent = true} +map { 'n', '', 'split', noremap = true, silent = true} map { 'n', '', 'h', noremap = true, silent = true} map { 'n', '', 'j', noremap = true, silent = true} @@ -16,34 +16,40 @@ map { 'n', '', 'k', noremap = true, silent = true} map { 'n', '', 'l', noremap = true, silent = true} -- buffer binds -map { 'n', 'q', ':bd', noremap = false, silent = true} +map { 'n', 'q', 'bd', noremap = false, silent = true} -- telescope -map { 'n', 'fb', 'Telescope buffers', noremap = false, silent = true} -map { 'n', 'ff', 'Telescope find_files', noremap = false, silent = true} -map { 'n', 'fs', 'Telescope live_grep', noremap = false, silent = true} -map { 'n', 'fr', 'Telescope registers', noremap = false, silent = true} -map { 'n', 'pp', 'lua require\'telescope\'.extensions.projects.projects{}', noremap = false, silent = true} +map { 'n', 'b', 'Telescope buffers', noremap = false, silent = true} +--map { 'n', 'ff', 'Telescope find_files', noremap = false, silent = true} +map { 'n', 's', 'Telescope live_grep', noremap = false, silent = true} +map { 'n', '', 'Telescope registers', noremap = false, silent = true} +--map { 'n', 'pp', 'lua require\'telescope\'.extensions.projects.projects{}', noremap = false, silent = true} -- tab binds -map { 'n', '', ':tabnew', noremap = false, silent = true} +map { 'n', '', 'tabnew', noremap = false, silent = true} +map { 'n', '', 'tabprevious', noremap = false, silent = true} +map { 'n', '', 'tabnext', noremap = false, silent = true} -- copy paste map { 'v', '', '"+y', noremap = true, silent = true} -map { 'n', '', '"+P', noremap = false, silent = true} +--map { 'n', '', '"+P', noremap = false, silent = true} -- sudo :w map { 'c', 'w!!', 'w !sudo tee > /dev/null %', noremap = false, silent = false} +-- vimspector +map { 'n', 'di', 'VimspectorBalloonEval', noremap = false, silent = false } +map { 'x', 'di', 'VimspectorBalloonEval', noremap = false, silent = false } -- terminal -- map { 'n', 't', ':term', noremap = false, silent = true} -- map { 't', '', '', noremap = true, silent = true} -- plugins - commentary -map { 'n', 'c', ':Commentary', noremap = false, silent = true} +map { 'n', 'c', 'Commentary', noremap = false, silent = true} -- plugins - vista -map { 'n', 'v', ':Vista!!', noremap = false, silent = true} +map { 'n', 'v', 'Vista!!', noremap = false, silent = true} -- plugins - nnn -map { 'n', '', '::NnnPicker %:p:h', noremap = true, silent = true} +map { 'n', '', ':NnnPicker %:p:h', noremap = true, silent = true} +map { 'n', '', ':NnnExplorer %:p:h', noremap = true, silent = true} -- plugins - terminal map {"n", "gg", "lua _lazygit_toggle()", {noremap = true, silent = true}} diff --git a/hm-imports/nvim/config/lua/plugin/lualine.lua b/hm-imports/nvim/config/lua/plugin/lualine.lua index 6baeafcf..cec15262 100644 --- a/hm-imports/nvim/config/lua/plugin/lualine.lua +++ b/hm-imports/nvim/config/lua/plugin/lualine.lua @@ -2,8 +2,8 @@ require('lualine').setup { options = { icons_enabled = true, theme = 'gruvbox', - component_separators = { left = '', right = ''}, - section_separators = { left = '', right = ''}, + --component_separators = { left = '', right = ''}, + --section_separators = { left = '', right = ''}, disabled_filetypes = {}, always_divide_middle = true, }, diff --git a/hm-imports/nvim/config/lua/plugin/notice.lua b/hm-imports/nvim/config/lua/plugin/noice.lua similarity index 87% rename from hm-imports/nvim/config/lua/plugin/notice.lua rename to hm-imports/nvim/config/lua/plugin/noice.lua index 9b8e296a..938a4b10 100644 --- a/hm-imports/nvim/config/lua/plugin/notice.lua +++ b/hm-imports/nvim/config/lua/plugin/noice.lua @@ -7,6 +7,9 @@ require("noice").setup({ ["cmp.entry.get_documentation"] = true, }, }, + messages = { + view = "mini" + }, -- you can enable a preset for easier configuration presets = { bottom_search = true, -- use a classic bottom cmdline for search @@ -16,3 +19,7 @@ require("noice").setup({ lsp_doc_border = false, -- add a border to hover docs and signature help }, }) +require("notify").setup({ + stages = "static", + max_width = 70, + }) diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index 251d9a73..ae4ec326 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -7,11 +7,12 @@ require('filetypes') local opt = vim.opt -- load plugin luas (idk how to do that autmagically) +--require('plugin.treesitter') require('plugin.nnn') require('plugin.rainbow') require('plugin.terminal') require('plugin.project') -require('plugin.notice') +require('plugin.noice') require('plugin.telescope') @@ -20,9 +21,9 @@ require('plugin.telescope') require('coc') -- color stuff +opt.termguicolors = true -- 24bit color vim.g.gruvbox_italic = 1 vim.cmd ':colorscheme gruvbox' -opt.termguicolors = true -- 24bit color opt.background = 'dark' -- dark gruvbox --vimspector vim.g.vimspector_base_dir = vim.env.HOME .. "/.local/share/nvim/vimspector" diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 4f6672b2..d8401f42 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -1,4 +1,4 @@ -{ pkgs, config, inputs, ... }: +{ pkgs, config, lib, inputs, ... }: { home.packages = with pkgs;[ python3 # ultisnips @@ -19,9 +19,6 @@ home.file.".config/nvim".source = ./config; home.file.".config/nvim".recursive = true; programs.neovim = - let - conf = inputs.self.nixosConfigurations.enterprise.config.programs.neovim.configure; - in { enable = true; package = pkgs.neovim-nightly; @@ -43,10 +40,10 @@ version = "1.0.0"; src = inputs.notify-nvim; }; - notice-nvim = pkgs.vimUtils.buildVimPlugin { - pname = "notice-nvim"; + noice-nvim = pkgs.vimUtils.buildVimPlugin { + pname = "noice-nvim"; version = "1.0.0"; - src = inputs.notice-nvim; + src = inputs.noice-nvim; }; #coc-nvim = pkgs.vimUtils.buildVimPlugin { # name = "coc-nvim"; @@ -81,12 +78,12 @@ undotree vim-pandoc vim-pandoc-syntax - ultisnips + #ultisnips #dart-vim - nvim-treesitter + nvim-treesitter.withAllGrammars notify-nvim - notice-nvim + noice-nvim nui-nvim @@ -106,7 +103,7 @@ #coc-vimtex #coc-vimlsp #coc-vetur # vue - coc-ultisnips + #coc-ultisnips coc-tsserver #coc-tslint-plugin #coc-tslint diff --git a/hm-imports/tmux/default.nix b/hm-imports/tmux/default.nix index b0410eca..9dc95a05 100644 --- a/hm-imports/tmux/default.nix +++ b/hm-imports/tmux/default.nix @@ -15,7 +15,8 @@ bind '"' split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" - + set-option -g default-terminal "tmux-256color" + set -as terminal-overrides ',xterm*:Tc:sitm=\E[3m' ''; }; } From 6c615e4ed6904d8b0572a7294f5eaaecfed67087 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 8 Mar 2023 22:35:02 +0100 Subject: [PATCH 211/525] vim stuffzies --- hm-imports/nvim/config/lua/coc.lua | 6 +++--- hm-imports/nvim/config/lua/plugin/noice.lua | 14 ++++--------- .../nvim/config/lua/plugin/treesitter.lua | 20 +++++++++++++++++++ 3 files changed, 27 insertions(+), 13 deletions(-) create mode 100644 hm-imports/nvim/config/lua/plugin/treesitter.lua diff --git a/hm-imports/nvim/config/lua/coc.lua b/hm-imports/nvim/config/lua/coc.lua index 72fecd8c..4a5b2e7d 100644 --- a/hm-imports/nvim/config/lua/coc.lua +++ b/hm-imports/nvim/config/lua/coc.lua @@ -146,8 +146,8 @@ keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', o -- Use CTRL-S for selections ranges -- Requires 'textDocument/selectionRange' support of language server -keyset("n", "", "(coc-range-select)", {silent = true}) -keyset("x", "", "(coc-range-select)", {silent = true}) +keyset("n", "", "(coc-range-select)", {silent = true}) +keyset("x", "", "(coc-range-select)", {silent = true}) -- Add `:Format` command to format current buffer @@ -183,4 +183,4 @@ keyset("n", ",j", ":CocNext", opts) -- Do default action for previous item keyset("n", ",k", ":CocPrev", opts) -- Resume latest coc list -keyset("n", ",p", ":CocListResume", opts) +keyset("n", ",p", ":CocListResume", opts) diff --git a/hm-imports/nvim/config/lua/plugin/noice.lua b/hm-imports/nvim/config/lua/plugin/noice.lua index 938a4b10..b8235b7b 100644 --- a/hm-imports/nvim/config/lua/plugin/noice.lua +++ b/hm-imports/nvim/config/lua/plugin/noice.lua @@ -1,14 +1,8 @@ require("noice").setup({ - lsp = { - -- override markdown rendering so that **cmp** and other plugins use **Treesitter** - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - messages = { - view = "mini" + views = { + notify = { + merge = true, + } }, -- you can enable a preset for easier configuration presets = { diff --git a/hm-imports/nvim/config/lua/plugin/treesitter.lua b/hm-imports/nvim/config/lua/plugin/treesitter.lua new file mode 100644 index 00000000..8559c440 --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/treesitter.lua @@ -0,0 +1,20 @@ +require'nvim-treesitter.configs'.setup { + highlight = { + enable = true, + use_languagetree = true, + }, + indent = { + enable = true, + }, + autotag = { + enable = true, + }, + context_commentstring = { + enable = true, + enable_autocmd = false, + }, + refactor = { + highlight_definitions = { enable = true }, + highlight_current_scope = { enable = false }, + }, +} From 2cb4835f7ab18c71d5fb998d512cb7c9c72fa9f2 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 9 Mar 2023 13:05:39 +0100 Subject: [PATCH 212/525] chore: update --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 5d7e9655..5d46575c 100644 --- a/flake.lock +++ b/flake.lock @@ -87,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1678127991, - "narHash": "sha256-wsm36K1cCAKXiuETDXnSBi3A4si/fPRnGAO+OIXRazU=", + "lastModified": 1678356895, + "narHash": "sha256-o1Tnh8StrfPomHNYtoH2GmzSdt2W2CC3bgEt8lGbZhw=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "c1355f8ece3ec5f73b42776401e459a05b48a715", + "rev": "5ac0d2b9ccdb3dd52d0dcbc79e78b2c7a3fed2b1", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1678060331, - "narHash": "sha256-JnKiZsG4MlNDNaSy9WvRJF2a6gaeiqtw0BmYNQ4DquQ=", + "lastModified": 1678340821, + "narHash": "sha256-08+zYDO+gDbp7IvKfJKNYoKLC8Z1FBYaRQDcrhks+jE=", "owner": "neovim", "repo": "neovim", - "rev": "e389b189021cb6b72cfd7583ce6fb5d8d3346d45", + "rev": "3ad845882413944a8d6ed3bd9da68c6b4cee0afb", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1678090567, - "narHash": "sha256-ZSKhaesPn2WHnqfshj6TDHO5ob1o+wgUjiP4oZ11eLc=", + "lastModified": 1678349739, + "narHash": "sha256-+Pt0UMMld9tXVeZVi4VyXwKjG7HhU0T1DKR+eJyY4Ag=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "13bcb7770ffa76e5e35a9dc1c12b146c22f10bdf", + "rev": "833d858f16d41d6aad76d901c4bd208fbed448aa", "type": "github" }, "original": { @@ -266,11 +266,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1678095239, - "narHash": "sha256-4F6jovFJcwh6OkMsY94ZrHdrvVqZi1FX5pYv6V9LIQw=", + "lastModified": 1678350133, + "narHash": "sha256-sUxDtERkqq0oGU5eGtlem5zE5ga801yXfpc3XlPfC4k=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f6610997b0fc5ea5f9e142c348fca27497efe1c7", + "rev": "6e303a505ad31a8e68a7f0d43e2170e81c16919b", "type": "github" }, "original": { @@ -282,11 +282,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1677932085, - "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", + "lastModified": 1673540789, + "narHash": "sha256-xqnxBOK3qctIeUVxecydrEDbEXjsvHCPGPbvsl63M/U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", + "rev": "0f213d0fee84280d8c3a97f7469b988d6fe5fcdf", "type": "github" }, "original": { @@ -298,11 +298,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1678101631, - "narHash": "sha256-vuuvWBNGhNSPPbFCjp2XZmBqJOvsFF1T0hyleRnHZlc=", + "lastModified": 1678315186, + "narHash": "sha256-DVKPeIZqzkNOOsxxx6iHTg2J+R/8hLWZLppK25ixD00=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "934e613c31cf7af0624dcf088b9e2d9b802d0717", + "rev": "523b39618444fa921d3230c8f10f1563612d785d", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1678114995, - "narHash": "sha256-omVBgEEPyS9/a55U8/8uqCJMTCPOqedkcK/9ggsFRHQ=", + "lastModified": 1678370117, + "narHash": "sha256-kj3xTzYDZFLpdN/pXRJ/ajobnmtDjute/xcVKz/lxzM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "acddb9f5fbc2159eeae36929b3f013da20628a29", + "rev": "2a71eb4aff501754e00c0a7d40fbde2c9d8cc837", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1678072060, - "narHash": "sha256-6a9Tbjhir5HxDx4uw0u6Z+LHUfYf7tsT9QxF9FN/32w=", + "lastModified": 1678230755, + "narHash": "sha256-SFAXgNjNTXzcAideXcP0takfUGVft/VR5CACmYHg+Fc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47c003416297e4d59a5e3e7a8b15cdbdf5110560", + "rev": "a7cc81913bb3cd1ef05ed0ece048b773e1839e51", "type": "github" }, "original": { @@ -582,11 +582,11 @@ ] }, "locked": { - "lastModified": 1678115021, - "narHash": "sha256-zgTqZCKlgHECeyJw03f5LPHuAyb4ZRjZ8bcEJs+kflk=", + "lastModified": 1678370159, + "narHash": "sha256-YJGfS0vpr+EWqgRCU67Vfe7MTrGKVZuo9v12gnnnbvg=", "owner": "thexyno", "repo": "blog", - "rev": "cb328c56a36c78a4e8aea398c264c3f9bf21d411", + "rev": "68d8e64cd6b00d8223223d2c00f65b5401b0a946", "type": "github" }, "original": { From 29d434925fd2560b03e23b3bbb1f5a86cee553ee Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 10:36:32 +0100 Subject: [PATCH 213/525] chore: update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 5d46575c..a29a1459 100644 --- a/flake.lock +++ b/flake.lock @@ -87,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1678356895, - "narHash": "sha256-o1Tnh8StrfPomHNYtoH2GmzSdt2W2CC3bgEt8lGbZhw=", + "lastModified": 1678439275, + "narHash": "sha256-ugErJAZB0K5Ml6Gow94e3knILog9nSXpBTVVv70r6DY=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "5ac0d2b9ccdb3dd52d0dcbc79e78b2c7a3fed2b1", + "rev": "c8421fbdb7d831296ecb735c8a7f60964809c857", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1678340821, - "narHash": "sha256-08+zYDO+gDbp7IvKfJKNYoKLC8Z1FBYaRQDcrhks+jE=", + "lastModified": 1678396628, + "narHash": "sha256-mc1Ei4kwt0+5ynviSHbyg+9DVsCASQV5QBwGWhZkj7k=", "owner": "neovim", "repo": "neovim", - "rev": "3ad845882413944a8d6ed3bd9da68c6b4cee0afb", + "rev": "0ecb4d725e9e2086b045670e4c2fa8962b63d99c", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1678349739, - "narHash": "sha256-+Pt0UMMld9tXVeZVi4VyXwKjG7HhU0T1DKR+eJyY4Ag=", + "lastModified": 1678436134, + "narHash": "sha256-DNNJGOL3YegK5PTcE+ysT50l3lEIcn5R64idc5K3PjE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "833d858f16d41d6aad76d901c4bd208fbed448aa", + "rev": "d75d960731ec20825bf7ba5dfb5d454d3c09128a", "type": "github" }, "original": { @@ -266,11 +266,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1678350133, - "narHash": "sha256-sUxDtERkqq0oGU5eGtlem5zE5ga801yXfpc3XlPfC4k=", + "lastModified": 1678397099, + "narHash": "sha256-5xq8YJe+h19TlD+EI4AE/3H3jcCcQ2AWU6CWBVc5tRc=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "6e303a505ad31a8e68a7f0d43e2170e81c16919b", + "rev": "556101ff85bd6e20900ec73ee525b935154bc8ea", "type": "github" }, "original": { @@ -298,11 +298,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1678315186, - "narHash": "sha256-DVKPeIZqzkNOOsxxx6iHTg2J+R/8hLWZLppK25ixD00=", + "lastModified": 1678378881, + "narHash": "sha256-paqOg3fhRlij6qfuG0ox69V4Z+d7E9IhdNqbGLTxMjA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "523b39618444fa921d3230c8f10f1563612d785d", + "rev": "3318f4d7fa653aa8750a32c98845a7e716a863ff", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1678370117, - "narHash": "sha256-kj3xTzYDZFLpdN/pXRJ/ajobnmtDjute/xcVKz/lxzM=", + "lastModified": 1678440846, + "narHash": "sha256-XYZLvnaj6C5FxjvDkQBgeE0dOBHy5Ax93WL1uyvt92Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2a71eb4aff501754e00c0a7d40fbde2c9d8cc837", + "rev": "d60c3be234c940986f85d86e7c78900c4c4f8986", "type": "github" }, "original": { @@ -582,11 +582,11 @@ ] }, "locked": { - "lastModified": 1678370159, - "narHash": "sha256-YJGfS0vpr+EWqgRCU67Vfe7MTrGKVZuo9v12gnnnbvg=", + "lastModified": 1678440933, + "narHash": "sha256-OJE4QRer/qJSdwSONLsC4nM1HTSmmC6kUHTykrpJiPU=", "owner": "thexyno", "repo": "blog", - "rev": "68d8e64cd6b00d8223223d2c00f65b5401b0a946", + "rev": "4c18cd50b97e0359dcb79f283906e53c175d744a", "type": "github" }, "original": { From 3539821976aa3176542f0dfa8f23f8c093d3634d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 11:37:21 +0100 Subject: [PATCH 214/525] a --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a29a1459..e6a91523 100644 --- a/flake.lock +++ b/flake.lock @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1678440846, - "narHash": "sha256-XYZLvnaj6C5FxjvDkQBgeE0dOBHy5Ax93WL1uyvt92Y=", + "lastModified": 1678443571, + "narHash": "sha256-tWTnT2CbmudpwM4BWNoWbs0Pjl99XVSAbWV1lGTJzuQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d60c3be234c940986f85d86e7c78900c4c4f8986", + "rev": "bca9ab3d26317bf5a057ecf832c298310d271794", "type": "github" }, "original": { @@ -582,11 +582,11 @@ ] }, "locked": { - "lastModified": 1678440933, - "narHash": "sha256-OJE4QRer/qJSdwSONLsC4nM1HTSmmC6kUHTykrpJiPU=", + "lastModified": 1678444563, + "narHash": "sha256-jK/I9JOJGXkA9vLZcOwK5rsscpn8dWLfMdEGFBar+RQ=", "owner": "thexyno", "repo": "blog", - "rev": "4c18cd50b97e0359dcb79f283906e53c175d744a", + "rev": "205b371cdfe7d328c7f66b1b5973e3c5673bf985", "type": "github" }, "original": { From 3cfa4969840ee0f47be2145d91e0ca4e38499d51 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 11:55:14 +0100 Subject: [PATCH 215/525] a --- hosts/picard/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 51c4d9cf..e0ac17ef 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -45,10 +45,22 @@ ragon.agenix.secrets."picardResticSSHKey" = { }; ragon.agenix.secrets."picardResticHealthCheckUrl" = { }; + extraConfig = '' + proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m max_size=4g + inactive=60m use_temp_path=off; + ''; + services.nginx.recommendedOptimisation = true; services.nginx.virtualHosts."xyno.space" = { enableACME = true; forceSSL = true; locations."/".proxyPass = "http://[::1]${config.services.xynoblog.listen}"; + locations."/".extraConfig = '' + proxy_buffering on; + proxy_cache STATIC; + proxy_cache_valid 200 1d; + proxy_cache_use_stale error timeout invalid_header updating + http_500 http_502 http_503 http_504; + ''; }; services.nginx.appendHttpConfig = '' From 59a1e58620c71e8d17c1dd8251f7641c558dbf60 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 12:03:41 +0100 Subject: [PATCH 216/525] a --- hosts/picard/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index e0ac17ef..c20d91fc 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -45,7 +45,7 @@ ragon.agenix.secrets."picardResticSSHKey" = { }; ragon.agenix.secrets."picardResticHealthCheckUrl" = { }; - extraConfig = '' + appendConfig = '' proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m max_size=4g inactive=60m use_temp_path=off; ''; From 6187f85e3c84162dade9dafacd0d5aeab6767ceb Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 12:04:07 +0100 Subject: [PATCH 217/525] a --- hosts/picard/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index c20d91fc..440c8548 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -45,7 +45,7 @@ ragon.agenix.secrets."picardResticSSHKey" = { }; ragon.agenix.secrets."picardResticHealthCheckUrl" = { }; - appendConfig = '' + services.nginx.appendConfig = '' proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m max_size=4g inactive=60m use_temp_path=off; ''; From 50f1f37da647ff1607ee8e1bc6ad2181657855b6 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 12:07:56 +0100 Subject: [PATCH 218/525] a --- hosts/picard/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 440c8548..d472a604 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -45,7 +45,7 @@ ragon.agenix.secrets."picardResticSSHKey" = { }; ragon.agenix.secrets."picardResticHealthCheckUrl" = { }; - services.nginx.appendConfig = '' + services.nginx.commonHttpConfig = '' proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m max_size=4g inactive=60m use_temp_path=off; ''; From 2459c30198e8d1f1716b8c7b08c1b833a26c74cc Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 12:30:42 +0100 Subject: [PATCH 219/525] update blog --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e6a91523..a5956095 100644 --- a/flake.lock +++ b/flake.lock @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1678443571, - "narHash": "sha256-tWTnT2CbmudpwM4BWNoWbs0Pjl99XVSAbWV1lGTJzuQ=", + "lastModified": 1678446970, + "narHash": "sha256-NvyUlgOOM3BAVn56cn3DDe+Yd6Hmn22PxqTmWbzMPGA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bca9ab3d26317bf5a057ecf832c298310d271794", + "rev": "c233aa68adf677462ff93775a0fe315f52f38437", "type": "github" }, "original": { @@ -582,11 +582,11 @@ ] }, "locked": { - "lastModified": 1678444563, - "narHash": "sha256-jK/I9JOJGXkA9vLZcOwK5rsscpn8dWLfMdEGFBar+RQ=", + "lastModified": 1678447697, + "narHash": "sha256-RXhNzvUT8VHkbzITUP883GA7J3I32IOyQHBrFxpWUqM=", "owner": "thexyno", "repo": "blog", - "rev": "205b371cdfe7d328c7f66b1b5973e3c5673bf985", + "rev": "1333f7768a9ccb961764a466ea4dcc8a8ade4fcb", "type": "github" }, "original": { From 40b7cedf19a2d2ea9f611aca2ff8425a309aad78 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 12:34:55 +0100 Subject: [PATCH 220/525] picard nginx cache --- hosts/picard/default.nix | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index d472a604..e1e79132 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -45,22 +45,11 @@ ragon.agenix.secrets."picardResticSSHKey" = { }; ragon.agenix.secrets."picardResticHealthCheckUrl" = { }; - services.nginx.commonHttpConfig = '' - proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m max_size=4g - inactive=60m use_temp_path=off; - ''; services.nginx.recommendedOptimisation = true; services.nginx.virtualHosts."xyno.space" = { enableACME = true; forceSSL = true; locations."/".proxyPass = "http://[::1]${config.services.xynoblog.listen}"; - locations."/".extraConfig = '' - proxy_buffering on; - proxy_cache STATIC; - proxy_cache_valid 200 1d; - proxy_cache_use_stale error timeout invalid_header updating - http_500 http_502 http_503 http_504; - ''; }; services.nginx.appendHttpConfig = '' From 2fd8760eda855182747bfff942e79c45e05dcfae Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 17:53:06 +0100 Subject: [PATCH 221/525] vimtex --- hm-imports/nvim/config/coc-settings.json | 11 +++++++++++ hm-imports/nvim/config/lua/filetypes.lua | 8 ++++++++ hm-imports/nvim/config/nvim.lua | 15 ++++++++------- hm-imports/nvim/default.nix | 4 +++- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json index 7ae2aeb2..68e4c59c 100644 --- a/hm-imports/nvim/config/coc-settings.json +++ b/hm-imports/nvim/config/coc-settings.json @@ -1,6 +1,17 @@ { "rust-analyzer.procMacro.enable": true, "rust-analyzer.updates.channel": "nightly", + "texlab.build.executable": "tectonic", + "texlab.build.args": [ + "%f", + "--keep-logs", + "--synctex", + ], +"texlab.build.onSave": true, +"texlab.chktex.onOpenAndSave": true, +"texlab.build.forwardSearchAfter": false, +"texlab.forwardSearch.executable": "/Applications/Skim.app/Contents/SharedSupport/displayline", +"texlab.forwardSearch.args": ["-r", "-d", "%l","%p","%f"], "html.validate.scripts": true, "languageserver": { "nix": { diff --git a/hm-imports/nvim/config/lua/filetypes.lua b/hm-imports/nvim/config/lua/filetypes.lua index d4a414f2..b1244524 100644 --- a/hm-imports/nvim/config/lua/filetypes.lua +++ b/hm-imports/nvim/config/lua/filetypes.lua @@ -1,3 +1,11 @@ vim.cmd [[ autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab + augroup vimtex_mac + autocmd! + autocmd FileType tex call SetServerName() + augroup END + + function! SetServerName() + call system('echo ' . v:servername . ' > /tmp/curvimserver') + endfunction ]] diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index ae4ec326..f12a8f4d 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -1,5 +1,13 @@ +-- general settings +vim.cmd [[ + filetype plugin on + filetype indent plugin on + filetype plugin indent on + syntax on +]] -- mapleader vim.g.mapleader = ' ' +vim.g.maplocalleader = ',' require('utils') require('keybindings') @@ -30,13 +38,6 @@ vim.g.vimspector_base_dir = vim.env.HOME .. "/.local/share/nvim/vimspector" vim.g.vimspector_enable_mappings = "HUMAN" --- general settings -vim.cmd [[ - filetype plugin on - filetype indent plugin on - filetype plugin indent on - syntax on -]] opt.encoding = 'utf-8' opt.number = true opt.relativenumber = true diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index d8401f42..2bca2c31 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -7,6 +7,8 @@ yarn # coc-nvim #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp nil + neovim-remote + tectonic # lsp shfmt @@ -108,7 +110,7 @@ #coc-tslint-plugin #coc-tslint coc-toml - #coc-texlab + coc-texlab #coc-tailwindcss #coc-tabnine #coc-svelte From d21325b30758e5ba84bab6b0a8f76c03716e0d64 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 10 Mar 2023 22:13:05 +0100 Subject: [PATCH 222/525] auto optimise store on macos --- darwin-common.nix | 1 + hosts/daedalus/default.nix | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index b50cda69..68160a8f 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -6,6 +6,7 @@ nix.package = pkgs.nixVersions.stable; nix.settings.cores = 0; # use all cores nix.settings.max-jobs = 10; # use all cores + nix.settings.auto-optimise-store = true; nix.distributedBuilds = true; nix.nixPath = [{ nixpkgs = "${inputs.nixpkgs}"; }]; nix.buildMachines = [{ diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 91a1722b..a4e7e33a 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -82,9 +82,7 @@ with lib.my; JAVA_HOME = "/Applications/Android Studio.app/Contents/jre/Contents/Home/"; }; home.packages = with pkgs; [ - terraform-ls mosh - terraform nodePackages.pyright nodejs @@ -92,9 +90,7 @@ with lib.my; cmake pandoc - texlive.combined.scheme-full - google-cloud-sdk ]; # home.activation = { From ea320ce78909310835f00aede12d328471481884 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 23 Mar 2023 17:01:19 +0100 Subject: [PATCH 223/525] fix: websockets for bw --- nixos-modules/services/bitwarden.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-modules/services/bitwarden.nix b/nixos-modules/services/bitwarden.nix index 09d5c7b0..6d3750d2 100644 --- a/nixos-modules/services/bitwarden.nix +++ b/nixos-modules/services/bitwarden.nix @@ -29,6 +29,7 @@ in forceSSL = true; useACMEHost = "${domain}"; locations."/".proxyPass = "http://${config.services.vaultwarden.config.rocketAddress}:${toString config.services.vaultwarden.config.rocketPort}"; + locations."/".proxyWebsockets = true; }; services.postgresql = { enable = true; From 1d4aea0e8e96dc202cf58095992e19352a699c9a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 4 Apr 2023 21:41:54 +0200 Subject: [PATCH 224/525] ds9: spin down hdds without use --- hosts/ds9/default.nix | 7 +++++++ hosts/ds9/hardware-configuration.nix | 1 + 2 files changed, 8 insertions(+) diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index e801234e..76143050 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -16,6 +16,12 @@ in # Don't Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; + # power save stuffzies + services.udev.path = [ pkgs.hdparm ]; + services.udev.extraRules = '' + ACTION=="add|change", KERNEL=="sd[a-z]", ATTRS{queue/rotational}=="1", RUN+="${pkgs.hdparm}/bin/hdparm -S 60 -B 100 /dev/%k" + ''; + services.syncthing.enable = true; services.syncthing.user = "ragon"; @@ -234,6 +240,7 @@ in services.smartd = { enable = true; + extraOptions = [ "--interval=7200" ]; #notifications.test = true; }; nixpkgs.overlays = [ diff --git a/hosts/ds9/hardware-configuration.nix b/hosts/ds9/hardware-configuration.nix index 93dc9b3b..89b544be 100644 --- a/hosts/ds9/hardware-configuration.nix +++ b/hosts/ds9/hardware-configuration.nix @@ -27,6 +27,7 @@ services.sanoid.datasets."rpool/content/safe/data/media" = { }; services.sanoid.enable = true; + services.sanoid.interval = "0/8:00:00"; swapDevices = [{ device = "/dev/disk/by-id/nvme-eui.000000000000000100a075202c247839-part1"; randomEncryption = true; }]; fileSystems."/boot".device = "/dev/disk/by-uuid/149F-23AA"; From 88159f67111cca7c19dcdd7e5df7713422e0974f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Wed, 5 Apr 2023 19:36:03 +0200 Subject: [PATCH 225/525] nushell --- hosts/daedalus/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index a4e7e33a..4574c07c 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -83,6 +83,7 @@ with lib.my; }; home.packages = with pkgs; [ mosh + nushell nodePackages.pyright nodejs From 4e740a4bc0c74068beccb8a2ee2c422bfd76d818 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 11 Apr 2023 20:03:49 +0200 Subject: [PATCH 226/525] update flake lock --- flake.lock | 114 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 48 deletions(-) diff --git a/flake.lock b/flake.lock index a5956095..2eae1d10 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1677969766, - "narHash": "sha256-AIp/ZYZMNLDZR/H7iiAlaGpu4lcXsVt9JQpBlf43HRY=", + "lastModified": 1680281360, + "narHash": "sha256-XdLTgAzjJNDhAG2V+++0bHpSzfvArvr2pW6omiFfEJk=", "owner": "ryantm", "repo": "agenix", - "rev": "03b51fe8e459a946c4b88dcfb6446e45efb2c24e", + "rev": "e64961977f60388dd0b49572bb0fc453b871f896", "type": "github" }, "original": { @@ -67,11 +67,11 @@ ] }, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "lastModified": 1681154394, + "narHash": "sha256-avnu1K9AuouygBiwVKuDp6emiTET43az3rcpv0ctLjc=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "rev": "025912529dd0b31dead95519e944ea05f1ad56f2", "type": "github" }, "original": { @@ -87,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1678439275, - "narHash": "sha256-ugErJAZB0K5Ml6Gow94e3knILog9nSXpBTVVv70r6DY=", + "lastModified": 1681212122, + "narHash": "sha256-zyqlgECc+/MeCGnxpyDJ1K7r0t4OefuPtoEnorTBObc=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "c8421fbdb7d831296ecb735c8a7f60964809c857", + "rev": "86ea3268b55bb632de43a80a37501a3d05cdb224", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1678396628, - "narHash": "sha256-mc1Ei4kwt0+5ynviSHbyg+9DVsCASQV5QBwGWhZkj7k=", + "lastModified": 1681179625, + "narHash": "sha256-+ySYAm4QHNSW+82wsEsKlVLhIRwJmZDmTrZ8q3EHzU8=", "owner": "neovim", "repo": "neovim", - "rev": "0ecb4d725e9e2086b045670e4c2fa8962b63d99c", + "rev": "7ffe450173d2521c2d53b147e930c50767a7795a", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1678436134, - "narHash": "sha256-DNNJGOL3YegK5PTcE+ysT50l3lEIcn5R64idc5K3PjE=", + "lastModified": 1681200825, + "narHash": "sha256-Tksu8Jsefj0XNMtqqEUe2oi3/zmi3CoY3hWDOoajfvM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d75d960731ec20825bf7ba5dfb5d454d3c09128a", + "rev": "d70a64bccd2c68b15593beb523a50bd011bfdab5", "type": "github" }, "original": { @@ -266,11 +266,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1678397099, - "narHash": "sha256-5xq8YJe+h19TlD+EI4AE/3H3jcCcQ2AWU6CWBVc5tRc=", + "lastModified": 1680876084, + "narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "556101ff85bd6e20900ec73ee525b935154bc8ea", + "rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2", "type": "github" }, "original": { @@ -298,11 +298,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1678378881, - "narHash": "sha256-paqOg3fhRlij6qfuG0ox69V4Z+d7E9IhdNqbGLTxMjA=", + "lastModified": 1681154110, + "narHash": "sha256-OQwWzlzAY1dCqgSsgZzsPIOGmX4pBGaoXOy0rSl4b5Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3318f4d7fa653aa8750a32c98845a7e716a863ff", + "rev": "115a96e2ac1e92937cd47c30e073e16dcaaf6247", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1678446970, - "narHash": "sha256-NvyUlgOOM3BAVn56cn3DDe+Yd6Hmn22PxqTmWbzMPGA=", + "lastModified": 1681235871, + "narHash": "sha256-Stj/ZGUQnV9SnpcCOiAXNROLfDa5SzHOdOqPtke8uVg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c233aa68adf677462ff93775a0fe315f52f38437", + "rev": "6c5e8bcc15fd27055b3a74d8e179d737fa9607e3", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1678230755, - "narHash": "sha256-SFAXgNjNTXzcAideXcP0takfUGVft/VR5CACmYHg+Fc=", + "lastModified": 1681091990, + "narHash": "sha256-ifIzhksUBZKp5WgCuoVhDY32qaEplXp7khzrB6zkaFc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a7cc81913bb3cd1ef05ed0ece048b773e1839e51", + "rev": "ea96b4af6148114421fda90df33cf236ff5ecf1d", "type": "github" }, "original": { @@ -363,11 +363,11 @@ "noice-nvim": { "flake": false, "locked": { - "lastModified": 1677882849, - "narHash": "sha256-3XQklNVwwzkrQtaKw8U8iXnNcDMiuEvXtceE2ACY6wc=", + "lastModified": 1679827108, + "narHash": "sha256-05/yAwaoz7mAAKXP1CsRXUoqsTW/z1wAT0OodiYJw6M=", "owner": "folke", "repo": "noice.nvim", - "rev": "c22651651da01239fc4afac4cdb7261797d5f02e", + "rev": "1da4edfba3e9278e98fc9723d7235d9ab3889744", "type": "github" }, "original": { @@ -379,11 +379,11 @@ "notify-nvim": { "flake": false, "locked": { - "lastModified": 1677922748, - "narHash": "sha256-3E9FN+dAKswzLTX6PYJIj30MWxd3estsZORBEf2Csn0=", + "lastModified": 1679522899, + "narHash": "sha256-xkDr0tASezDmnxyLb7JvzCjE/HPv4ckqiJsBmaSR+Fs=", "owner": "rcarriga", "repo": "nvim-notify", - "rev": "281e4d793c550c866bea3fb85d39de1f0188fb50", + "rev": "50d037041ada0895aeba4c0215cde6d11b7729c4", "type": "github" }, "original": { @@ -427,11 +427,11 @@ "pandoc-latex-template": { "flake": false, "locked": { - "lastModified": 1676650196, - "narHash": "sha256-IsOLTKnchMSW7cAhMhaT5TmiICrM6DfT03isObXTc98=", + "lastModified": 1678725608, + "narHash": "sha256-suGdvbPSdUvQIoN9rL7+muXtXmMHAiI+mcWCks68A8w=", "owner": "Wandmalfarbe", "repo": "pandoc-latex-template", - "rev": "789dc693c10f2c7a2ca61eff4205f0980a450986", + "rev": "032a84d21a33cafff597e6a7f4490d8ac802a6aa", "type": "github" }, "original": { @@ -512,11 +512,11 @@ "spoons": { "flake": false, "locked": { - "lastModified": 1677493806, - "narHash": "sha256-GYguRzulBiBErTmCElmquQA0of9bqMa5FA43mIm4bus=", + "lastModified": 1680861546, + "narHash": "sha256-WglkABrf81CwCWXUj+Y7j1mVJo5hl8vr6RU/tyVCHzM=", "owner": "Hammerspoon", "repo": "Spoons", - "rev": "73e8c8e3ca38d55159d95226de513df4001ff518", + "rev": "85c47f7abdd49b6d7dfe6ed90cf61e6800bfdda1", "type": "github" }, "original": { @@ -525,6 +525,21 @@ "type": "github" } }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1656928814, @@ -541,12 +556,15 @@ } }, "utils_2": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1676283394, - "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "owner": "numtide", "repo": "flake-utils", - "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", "type": "github" }, "original": { @@ -562,11 +580,11 @@ ] }, "locked": { - "lastModified": 1667192681, - "narHash": "sha256-YOgbJWP/dxPhVBbz6+tMauRgmZLZmCGGnyw5PBSp8Uc=", + "lastModified": 1680879729, + "narHash": "sha256-ItGaOeb0wt8ESKTJxPkFVbV8cyR/0RhSFVltelLQ9b4=", "owner": "thexyno", "repo": "x", - "rev": "d3f3d2d6245d04da44d1fd0ffc768b0bd3215beb", + "rev": "5b15dd8e511c9cd39c7dbfa583e2c85ff30afecb", "type": "github" }, "original": { @@ -598,11 +616,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1677389225, - "narHash": "sha256-Wtw9U3tMTTR6gU2BVcbUC2XjD6eRPVQyiySGXJPaH7c=", + "lastModified": 1680041579, + "narHash": "sha256-Z47jddKwIgMu6DwOWBPKFRhh8BpLK7jvyZWM9j0rfzM=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "98ea8e685c1a9630a21b39a1596cb94794d1cb3c", + "rev": "820aaba911fce0594bf17f0e9a82092a6af7810e", "type": "github" }, "original": { From c18d20d33d258ba31ae32bc3340c74e1d84b1178 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 11 Apr 2023 21:16:07 +0200 Subject: [PATCH 227/525] fixes --- flake.lock | 23 +------ flake.nix | 4 -- hosts/daedalus/default.nix | 5 -- hosts/daedalus/hammerspoon.lua | 121 +-------------------------------- 4 files changed, 5 insertions(+), 148 deletions(-) diff --git a/flake.lock b/flake.lock index 2eae1d10..80c61e60 100644 --- a/flake.lock +++ b/flake.lock @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1681235871, - "narHash": "sha256-Stj/ZGUQnV9SnpcCOiAXNROLfDa5SzHOdOqPtke8uVg=", + "lastModified": 1681239518, + "narHash": "sha256-Q2qOhm6GzTIMb9y9sEsvn4hRFqCzVZiUkJkqf/ITXuc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c5e8bcc15fd27055b3a74d8e179d737fa9607e3", + "rev": "c8619bc275bdc78302602b9b60d9635733619578", "type": "github" }, "original": { @@ -440,22 +440,6 @@ "type": "github" } }, - "private": { - "flake": false, - "locked": { - "lastModified": 1667531394, - "narHash": "sha256-eo5s09w9DjRTqk4y+ULpYHQw5RNjNi+n9tEyvpbL84g=", - "owner": "thexyno", - "repo": "nixos-config-private-dummy", - "rev": "b38da5d5dd120e7dcc61b2ed3536be69fac649da", - "type": "github" - }, - "original": { - "owner": "thexyno", - "repo": "nixos-config-private-dummy", - "type": "github" - } - }, "rnix-lsp": { "inputs": { "naersk": "naersk", @@ -498,7 +482,6 @@ "octoprint-spoolmanager": "octoprint-spoolmanager", "octoprint-telegram": "octoprint-telegram", "pandoc-latex-template": "pandoc-latex-template", - "private": "private", "rnix-lsp": "rnix-lsp", "spoons": "spoons", "utils": "utils_2", diff --git a/flake.nix b/flake.nix index 12e92a2a..bffa6038 100644 --- a/flake.nix +++ b/flake.nix @@ -65,10 +65,6 @@ octoprint-spoolmanager.url = "github:OllisGit/OctoPrint-SpoolManager"; octoprint-spoolmanager.flake = false; - ## mail - private.url = "github:thexyno/nixos-config-private-dummy"; - private.flake = false; - }; outputs = diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 4574c07c..1617dd1d 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -49,10 +49,6 @@ with lib.my; home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { - imports = [ - "${inputs.private}/mail.nix" - ]; - home.file.".hammerspoon/init.lua".source = let notmuchMails = pkgs.writeScript "notmuch-get-mail-count" '' @@ -64,7 +60,6 @@ with lib.my; src = ./hammerspoon.lua; inherit notmuchMails; }; home.file.".hammerspoon/Spoons/MiroWindowsManager.spoon".source = "${inputs.miro}/MiroWindowsManager.spoon"; - home.file.".hammerspoon/Spoons/MusicAppMediaFix.spoon".source = "${inputs.spoons}/Source/MusicAppMediaFix.spoon"; home.file.".finicky.js".source = ./finicky.js; programs.home-manager.enable = true; diff --git a/hosts/daedalus/hammerspoon.lua b/hosts/daedalus/hammerspoon.lua index 81163790..2f20dfc3 100644 --- a/hosts/daedalus/hammerspoon.lua +++ b/hosts/daedalus/hammerspoon.lua @@ -39,7 +39,7 @@ local bundleID = { firefox = "org.mozilla.firefox", emacs = "org.gnu.emacs", iterm = "com.googlecode.iterm2", - safari = "com.apple.Safari", + orion = "com.kagi.kagimacOS", safariTechnologyPreview = "com.apple.SafariTechnologyPreview", spotify = "com.spotify.client", bitwarden = "com.bitwarden.desktop", @@ -55,57 +55,6 @@ local usbDevice = { local function languageIsGerman() return hs.host.locale.preferredLanguages()[1]:sub(0, 2) == "de" end --- local function maximizeCurrentWindow() hs.window.focusedWindow():maximize() end --- -local function centerCurrentWindow() hs.window.focusedWindow():centerOnScreen() end --- --- local function moveCurrentWindowToLeftHalf() --- local win = hs.window.focusedWindow() --- local screenFrame = win:screen():frame() --- local newFrame = hs.geometry.rect(screenFrame.x, screenFrame.y, screenFrame.w / 2, screenFrame.h) --- win:setFrame(newFrame) --- end --- --- local function moveCurrentWindowToRightHalf() --- local win = hs.window.focusedWindow() --- local screenFrame = win:screen():frame() --- local newFrame = hs.geometry.rect(screenFrame.x + screenFrame.w / 2, screenFrame.y, screenFrame.w / 2, screenFrame.h) --- win:setFrame(newFrame) --- end --- --- local function moveCurentWindowToNextScreen() --- local win = hs.window.focusedWindow() --- win:moveToScreen(win:screen():next()) --- end - -local function moveMouseToWindowCenter() - local windowCenter = hs.window.frontmostWindow():frame().center - hs.mouse.absolutePosition(windowCenter) -end - -local function moveMouseToUpperLeft() - local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() - local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w / 4, screenFrame.y + screenFrame.h / 4) - hs.mouse.absolutePosition(newPoint) -end - -local function moveMouseToUpperRight() - local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() - local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w * 3 / 4, screenFrame.y + screenFrame.h / 4) - hs.mouse.absolutePosition(newPoint) -end - -local function moveMouseToLowerLeft() - local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() - local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w / 4, screenFrame.y + screenFrame.h * 3 / 4) - hs.mouse.absolutePosition(newPoint) -end - -local function moveMouseToLowerRight() - local screenFrame = (hs.window.focusedWindow():screen() or hs.screen.primaryScreen()):frame() - local newPoint = hs.geometry.point(screenFrame.x + screenFrame.w * 3 / 4, screenFrame.y + screenFrame.h * 3 / 4) - hs.mouse.absolutePosition(newPoint) -end ---------------------------------------------------------------------------------------------------- -- Menu @@ -263,12 +212,6 @@ function showHideBundleId(bundleId) end end --- hs.hotkey.bind(modifiers.window, hs.keycodes.map.left, moveCurrentWindowToLeftHalf) --- hs.hotkey.bind(modifiers.window, hs.keycodes.map.right, moveCurrentWindowToRightHalf) --- hs.hotkey.bind(modifiers.window, hs.keycodes.map.down, moveCurentWindowToNextScreen) --- hs.hotkey.bind(modifiers.window, hs.keycodes.map["return"], maximizeCurrentWindow) -hs.hotkey.bind(modifiers.window, "c", centerCurrentWindow) - hs.loadSpoon("MiroWindowsManager") hs.window.animationDuration = 0 spoon.MiroWindowsManager:bindHotkeys({ @@ -281,27 +224,13 @@ spoon.MiroWindowsManager:bindHotkeys({ }) -hs.hotkey.bind(modifiers.hyper, "[", moveMouseToWindowCenter) -hs.hotkey.bind(modifiers.hyper, "m", moveMouseToUpperLeft) -hs.hotkey.bind(modifiers.hyper, "o", moveMouseToUpperRight) -hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.up, moveMouseToLowerLeft) -hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.down, moveMouseToLowerRight) hs.hotkey.bind(modifiers.hyper, hs.keycodes.map.delete, function() hs.caffeinate.lockScreen() end) hs.hotkey.bind(modifiers.hyper, "a", function() showHideBundleId(bundleID.activityMonitor) end) -hs.hotkey.bind(modifiers.hyper, "c", function() showHideBundleId(bundleID.safari) end) +hs.hotkey.bind(modifiers.hyper, "o", function() showHideBundleId(bundleID.orion) end) hs.hotkey.bind(modifiers.hyper, "f", function() showHideBundleId(bundleID.faclieThings) end) hs.hotkey.bind(modifiers.hyper, "p", function() showHideBundleId(bundleID.timeular) end) hs.hotkey.bind(modifiers.hyper, "b", function() showHideBundleId(bundleID.bitwarden) end) hs.hotkey.bind(modifiers.hyper, "t", function() showHideBundleId(bundleID.iterm) end) -hs.hotkey.bind({ modifier.cmd }, "\\", function() - local application = hs.application.frontmostApplication() - - if application:bundleID() == bundleID.bitwarden then - application:hide() - else - hs.application.launchOrFocusByBundleID(bundleID.bitwarden) - end -end) ---------------------------------------------------------------------------------------------------- -- Mouse Shortcuts @@ -327,49 +256,3 @@ mouseTap = hs.eventtap.new({ hs.eventtap.event.types.otherMouseDown }, function( return false end) mouseTap:start() - ----------------------------------------------------------------------------------------------------- --- Clipboard Manager ----------------------------------------------------------------------------------------------------- - --- clipboard = require("clipboard") --- clipboard:start() --- --- hs.hotkey.bind(modifiers.clipboard, "v", function() clipboard:toggleClipboard() end) --- hs.hotkey.bind(modifiers.clipboard, hs.keycodes.map.delete, function() clipboard:clearAll() end) - ----------------------------------------------------------------------------------------------------- --- notmuch indicator ----------------------------------------------------------------------------------------------------- - -local notmuchTaskRunning = false -local function refreshNotmuchMenubar(currentlyRunning) - hs.task.new("@notmuchMails@", function(exitCode, stdout, stderr) - if currentlyRunning then - stdout = "R: " .. stdout - end - print(stdout) - notmuchMenubar:setTitle(hs.styledtext.new(stdout)) - end):start() -end - -local function notmuchTimerFunction() - if not notmuchTaskRunning then - refreshNotmuchMenubar(true) - notmuchTaskRunning = true - hs.task.new("/etc/profiles/per-user/ragon/bin/zsh", - function() notmuchTaskRunning = false; refreshNotmuchMenubar(false) end, - function() return false end, { "-c", "syncmail" }):start() - end -end - -notmuchMenubar = hs.menubar.new() --- notmuchMenubar:setClickCallback(function(options) --- if options.shift then --- notmuchTimerFunction() --- else --- hs.task.new("@myEmacs@/bin/emacsclient", nil, function() return false end, --- { "-c", "-a", "", "--eval", "(=notmuch)" }):start() --- end --- end) -notmuchTimer = hs.timer.doEvery(300, notmuchTimerFunction) From 5b240e6ffff177f3476fac555c0ccb98a76523e4 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 11 Apr 2023 21:18:32 +0200 Subject: [PATCH 228/525] revert neovim version --- darwin-common.nix | 2 +- flake.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index 68160a8f..8f2a8369 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -8,7 +8,7 @@ nix.settings.max-jobs = 10; # use all cores nix.settings.auto-optimise-store = true; nix.distributedBuilds = true; - nix.nixPath = [{ nixpkgs = "${inputs.nixpkgs}"; }]; + nix.nixPath = [{ nixpkgs = "${inputs.nixpkgs-darwin}"; nixpkgs-master = "${inputs.nixpkgs-master}"; nixpkgs-nixos = "${inputs.nixpkgs}"; }]; nix.buildMachines = [{ systems = [ "x86_64-linux" ]; supportedFeatures = [ "kvm" "big-parallel" ]; diff --git a/flake.lock b/flake.lock index 80c61e60..25daf655 100644 --- a/flake.lock +++ b/flake.lock @@ -228,11 +228,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681179625, - "narHash": "sha256-+ySYAm4QHNSW+82wsEsKlVLhIRwJmZDmTrZ8q3EHzU8=", + "lastModified": 1678396628, + "narHash": "sha256-mc1Ei4kwt0+5ynviSHbyg+9DVsCASQV5QBwGWhZkj7k=", "owner": "neovim", "repo": "neovim", - "rev": "7ffe450173d2521c2d53b147e930c50767a7795a", + "rev": "0ecb4d725e9e2086b045670e4c2fa8962b63d99c", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1681200825, - "narHash": "sha256-Tksu8Jsefj0XNMtqqEUe2oi3/zmi3CoY3hWDOoajfvM=", + "lastModified": 1678436134, + "narHash": "sha256-DNNJGOL3YegK5PTcE+ysT50l3lEIcn5R64idc5K3PjE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d70a64bccd2c68b15593beb523a50bd011bfdab5", + "rev": "d75d960731ec20825bf7ba5dfb5d454d3c09128a", "type": "github" }, "original": { From 8523ef80be9e5454f483b8fa53563e904c34e797 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 16 Apr 2023 20:48:33 +0200 Subject: [PATCH 229/525] chore: ssl on hseu --- hm-imports/nvim/config/coc-settings.json | 2 ++ hm-imports/nvim/default.nix | 3 ++- hosts/ds9/default.nix | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json index 68e4c59c..9bc1ac39 100644 --- a/hm-imports/nvim/config/coc-settings.json +++ b/hm-imports/nvim/config/coc-settings.json @@ -1,5 +1,7 @@ { "rust-analyzer.procMacro.enable": true, + "cSpellExt.enableDictionaries": ["german"], + "cSpell.language": "en,de", "rust-analyzer.updates.channel": "nightly", "texlab.build.executable": "tectonic", "texlab.build.args": [ diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 2bca2c31..c23f7cca 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -47,7 +47,7 @@ version = "1.0.0"; src = inputs.noice-nvim; }; - #coc-nvim = pkgs.vimUtils.buildVimPlugin { + #coc-ltex = pkgs.vimUtils.buildVimPlugin { # name = "coc-nvim"; # src = inputs.coc-nvim; #}; @@ -118,6 +118,7 @@ coc-stylelint coc-sqlfluff #coc-spell-checker + pkgs.nodePackages.coc-ltex #coc-solargraph # ruby coc-snippets #coc-smartf diff --git a/hosts/ds9/default.nix b/hosts/ds9/default.nix index 76143050..05fbb310 100644 --- a/hosts/ds9/default.nix +++ b/hosts/ds9/default.nix @@ -69,7 +69,7 @@ in services.nginx.virtualHosts."h.hailsatan.eu" = { listenAddresses = [ "0.0.0.0" "[::0]" ]; useACMEHost = "hailsatan.eu"; - addSSL = true; + forceSSL = true; locations = { "/".proxyPass = "http://192.168.122.76:8123"; "/".proxyWebsockets = true; From 7b690a771403c90cd30b63c66316ed33c2d2e93b Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 16 Apr 2023 20:54:12 +0200 Subject: [PATCH 230/525] a --- flake.lock | 17 +++++++++++++++++ flake.nix | 4 ++++ hosts/daedalus/default.nix | 4 ++++ 3 files changed, 25 insertions(+) diff --git a/flake.lock b/flake.lock index 25daf655..d39336ba 100644 --- a/flake.lock +++ b/flake.lock @@ -440,6 +440,22 @@ "type": "github" } }, + "private": { + "flake": false, + "locked": { + "lastModified": 1667531394, + "narHash": "sha256-eo5s09w9DjRTqk4y+ULpYHQw5RNjNi+n9tEyvpbL84g=", + "owner": "thexyno", + "repo": "nixos-config-private-dummy", + "rev": "b38da5d5dd120e7dcc61b2ed3536be69fac649da", + "type": "github" + }, + "original": { + "owner": "thexyno", + "repo": "nixos-config-private-dummy", + "type": "github" + } + }, "rnix-lsp": { "inputs": { "naersk": "naersk", @@ -482,6 +498,7 @@ "octoprint-spoolmanager": "octoprint-spoolmanager", "octoprint-telegram": "octoprint-telegram", "pandoc-latex-template": "pandoc-latex-template", + "private": "private", "rnix-lsp": "rnix-lsp", "spoons": "spoons", "utils": "utils_2", diff --git a/flake.nix b/flake.nix index bffa6038..12e92a2a 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,10 @@ octoprint-spoolmanager.url = "github:OllisGit/OctoPrint-SpoolManager"; octoprint-spoolmanager.flake = false; + ## mail + private.url = "github:thexyno/nixos-config-private-dummy"; + private.flake = false; + }; outputs = diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 1617dd1d..4e2bc384 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -49,6 +49,10 @@ with lib.my; home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { + imports = [ + "${inputs.private}/mail.nix" + ]; + home.file.".hammerspoon/init.lua".source = let notmuchMails = pkgs.writeScript "notmuch-get-mail-count" '' From 380be27b0af4af5d5e24a07000229765015cd54f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 21 Apr 2023 21:53:36 +0200 Subject: [PATCH 231/525] feat: nvim with lsp --- flake.lock | 18 +- flake.nix | 4 +- hm-imports/nvim/config/coc-settings.json | 41 ---- hm-imports/nvim/config/coc.vim | 145 ----------- hm-imports/nvim/config/lua/.luarc.json | 137 +++++++++++ hm-imports/nvim/config/lua/coc.lua | 186 --------------- hm-imports/nvim/config/lua/keybindings.lua | 12 +- hm-imports/nvim/config/lua/plugin/cmp.lua | 52 ++++ .../nvim/config/lua/plugin/gitsigns.lua | 1 + hm-imports/nvim/config/lua/plugin/lsp.lua | 101 ++++++++ hm-imports/nvim/config/lua/plugin/lualine.lua | 225 ++++++++++++++++-- hm-imports/nvim/config/lua/plugin/noice.lua | 11 +- hm-imports/nvim/config/lua/plugin/project.lua | 3 - hm-imports/nvim/config/lua/plugin/rainbow.lua | 1 - .../nvim/config/lua/plugin/telescope.lua | 13 +- .../nvim/config/lua/plugin/treesitter.lua | 32 +-- hm-imports/nvim/config/nvim.lua | 34 ++- hm-imports/nvim/config/terminal.vim | 9 - hm-imports/nvim/default.nix | 171 +++++-------- 19 files changed, 627 insertions(+), 569 deletions(-) delete mode 100644 hm-imports/nvim/config/coc-settings.json delete mode 100644 hm-imports/nvim/config/coc.vim create mode 100644 hm-imports/nvim/config/lua/.luarc.json delete mode 100644 hm-imports/nvim/config/lua/coc.lua create mode 100644 hm-imports/nvim/config/lua/plugin/cmp.lua create mode 100644 hm-imports/nvim/config/lua/plugin/gitsigns.lua create mode 100644 hm-imports/nvim/config/lua/plugin/lsp.lua delete mode 100644 hm-imports/nvim/config/lua/plugin/project.lua delete mode 100644 hm-imports/nvim/config/lua/plugin/rainbow.lua delete mode 100644 hm-imports/nvim/config/terminal.vim diff --git a/flake.lock b/flake.lock index d39336ba..aad85a0e 100644 --- a/flake.lock +++ b/flake.lock @@ -344,19 +344,19 @@ "type": "github" } }, - "nnn-vim": { + "nnn-nvim": { "flake": false, "locked": { - "lastModified": 1661779055, - "narHash": "sha256-OLghcQP0vQ0ZceFja1SbFqkevjREzNPCMBGRVnVbt/s=", - "owner": "mcchrish", - "repo": "nnn.vim", - "rev": "46bb8355a3bbe7df9f466bb116534dda4f257895", + "lastModified": 1681744148, + "narHash": "sha256-Kods3PyV1iN+/owXuJxztWpAqAUW76ct96ALTQj3i98=", + "owner": "luukvbaal", + "repo": "nnn.nvim", + "rev": "a2394f3a7a963587a38fb7349d939b12c1c7a757", "type": "github" }, "original": { - "owner": "mcchrish", - "repo": "nnn.vim", + "owner": "luukvbaal", + "repo": "nnn.nvim", "type": "github" } }, @@ -492,7 +492,7 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-master": "nixpkgs-master", - "nnn-vim": "nnn-vim", + "nnn-nvim": "nnn-nvim", "noice-nvim": "noice-nvim", "notify-nvim": "notify-nvim", "octoprint-spoolmanager": "octoprint-spoolmanager", diff --git a/flake.nix b/flake.nix index 12e92a2a..e4fa8019 100644 --- a/flake.nix +++ b/flake.nix @@ -30,8 +30,8 @@ rnix-lsp.inputs.nixpkgs.follows = "nixpkgs"; ## vim - nnn-vim.url = "github:mcchrish/nnn.vim"; - nnn-vim.flake = false; + nnn-nvim.url = "github:luukvbaal/nnn.nvim"; + nnn-nvim.flake = false; notify-nvim.url = "github:rcarriga/nvim-notify"; notify-nvim.flake = false; noice-nvim.url = "github:folke/noice.nvim"; diff --git a/hm-imports/nvim/config/coc-settings.json b/hm-imports/nvim/config/coc-settings.json deleted file mode 100644 index 9bc1ac39..00000000 --- a/hm-imports/nvim/config/coc-settings.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "rust-analyzer.procMacro.enable": true, - "cSpellExt.enableDictionaries": ["german"], - "cSpell.language": "en,de", - "rust-analyzer.updates.channel": "nightly", - "texlab.build.executable": "tectonic", - "texlab.build.args": [ - "%f", - "--keep-logs", - "--synctex", - ], -"texlab.build.onSave": true, -"texlab.chktex.onOpenAndSave": true, -"texlab.build.forwardSearchAfter": false, -"texlab.forwardSearch.executable": "/Applications/Skim.app/Contents/SharedSupport/displayline", -"texlab.forwardSearch.args": ["-r", "-d", "%l","%p","%f"], - "html.validate.scripts": true, - "languageserver": { - "nix": { - "command": "nil", - "filetypes": ["nix"], - "settings": { - "nil": { - "formatting": { "command": ["nixpkgs-fmt"] } - } - }, - "rootPatterns": ["flake.nix"] - }, - "csharp-ls": { - "command": "csharp-ls", - "filetypes": ["cs", "razor"] - }, - "terraform": { - "command": "terraform-ls", - "args": ["serve"], - "filetypes": ["terraform", "tf"], - "initializationOptions": {}, - "settings": {} - } - } -} diff --git a/hm-imports/nvim/config/coc.vim b/hm-imports/nvim/config/coc.vim deleted file mode 100644 index 38f14004..00000000 --- a/hm-imports/nvim/config/coc.vim +++ /dev/null @@ -1,145 +0,0 @@ -" if system('id -u') > 500 -" let g:coc_global_extensions = [ 'coc-markdownlint', 'coc-diagnostic', 'coc-angular', 'coc-css', 'coc-docker', 'coc-flutter-tools', 'coc-git', 'coc-homeassistant', 'coc-html', 'coc-json', 'coc-marketplace', 'coc-prettier', 'coc-pyright', 'coc-rls', 'coc-rust-analyzer', 'coc-scssmodules', 'coc-sh', 'coc-snippets', 'coc-stylelintplus', 'coc-swagger', 'coc-tabnine', 'coc-eslint', 'coc-tsserver', 'coc-webpack', 'coc-yaml' ] -" endif -" \coc Some servers have issues with backup files, see #649. -set nobackup -set nowritebackup -" \coc Don't pass messages to |ins-completion-menu|. -set shortmess+=c -" \coc Always show the signcolumn, otherwise it would shift the text each time -" diagnostics appear/become resolved. -set signcolumn=number -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -" c-space to trigger completion -inoremap coc#refresh() -" Make auto-select the first completion item and notify coc.nvim to -" format on enter, could be remapped by other vim plugin -inoremap pumvisible() ? coc#_select_confirm() - \: "\u\\=coc#on_enter()\" - -" Use `[g` and `]g` to navigate diagnostics -" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. -nmap [g (coc-diagnostic-prev) -nmap ]g (coc-diagnostic-next) - -inoremap pumvisible() ? "\" : "\" -inoremap pumvisible() ? "\" : "\" - -" GoTo code navigation. -nmap gd (coc-definition) -nmap gy (coc-type-definition) -nmap gi (coc-implementation) -nmap gr (coc-references) -" Use K to show documentation in preview window. -nnoremap K :call show_documentation() -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - execute 'h '.expand('') - elseif (coc#rpc#ready()) - call CocActionAsync('doHover') - else - execute '!' . &keywordprg . " " . expand('') - endif -endfunction -" Highlight the symbol and its references when holding the cursor. -autocmd CursorHold * silent call CocActionAsync('highlight') -" Symbol renaming. -nmap rn (coc-rename) - -" coc snippets -" Use for trigger snippet expand. -imap (coc-snippets-expand) - -" Use for select text for visual placeholder of snippet. -vmap (coc-snippets-select) - -" Use for jump to next placeholder, it's default of coc.nvim -let g:coc_snippet_next = '' - -" Use for jump to previous placeholder, it's default of coc.nvim -let g:coc_snippet_prev = '' - -" Use for both expand and jump (make expand higher priority.) -imap (coc-snippets-expand-jump) - -" Use x for convert visual selected code to snippet -xmap x (coc-convert-snippet) - - - -" Formatting selected code. -xmap f (coc-format-selected) -nmap f (coc-format-selected) -augroup mygroup - autocmd! - " Setup formatexpr specified filetype(s). - autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') - " Update signature help on jump placeholder. - autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') -augroup end - -" Applying codeAction to the selected region. -" Example: `aap` for current paragraph -xmap a (coc-codeaction-selected) -nmap a (coc-codeaction-selected) - -" Remap keys for applying codeAction to the current buffer. -nmap ac (coc-codeaction) -" Apply AutoFix to problem on the current line. -nmap qf (coc-fix-current) -nmap f :CocFix - -" Map function and class text objects -" NOTE: Requires 'textDocument.documentSymbol' support from the language server. -xmap if (coc-funcobj-i) -omap if (coc-funcobj-i) -xmap af (coc-funcobj-a) -omap af (coc-funcobj-a) -xmap ic (coc-classobj-i) -omap ic (coc-classobj-i) -xmap ac (coc-classobj-a) -omap ac (coc-classobj-a) - -" Remap and for scroll float windows/popups. -nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" -nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" -inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" -inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" -vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" -vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" - -" Use CTRL-S for selections ranges. -" Requires 'textDocument/selectionRange' support of language server. -nmap (coc-range-select) -xmap (coc-range-select) - -" Add `:Format` command to format current buffer. -command! -nargs=0 Format :call CocAction('format') - -" Add `:Fold` command to fold current buffer. -command! -nargs=? Fold :call CocAction('fold', ) - -" Add `:OR` command for organize imports of the current buffer. -command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') - -" Mappings for CoCList -" Show all diagnostics. -nnoremap a :CocList diagnostics -" Manage extensions. -nnoremap e :CocList extensions -" Show commands. -nnoremap c :CocList commands -" Find symbol of current document. -nnoremap o :CocList outline -" Search workspace symbols. -nnoremap s :CocList -I symbols -" Do default action for next item. -nnoremap j :CocNext -" Do default action for previous item. -nnoremap k :CocPrev -" Resume latest coc list. -nnoremap p :CocListResume diff --git a/hm-imports/nvim/config/lua/.luarc.json b/hm-imports/nvim/config/lua/.luarc.json new file mode 100644 index 00000000..e3a8d25e --- /dev/null +++ b/hm-imports/nvim/config/lua/.luarc.json @@ -0,0 +1,137 @@ +{ + "$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json", + "Lua.workspace.checkThirdParty": false, + "Lua.workspace.library": [ + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-buffer", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-cmdline", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-nvim-lsp", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-path", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp_luasnip", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/gruvbox", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/luasnip", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nnn-nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/noice-nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/notify-nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nui.nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-cmp", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-lspconfig", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-bash-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-beancount-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-bibtex-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-c-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-clojure-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-cmake-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-comment-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-commonlisp-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-cpp-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-css-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-cuda-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-c_sharp-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-dart-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-devicetree-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-dockerfile-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-dot-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-eex-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-elisp-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-elixir-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-elm-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-embedded_template-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-erlang-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-fennel-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-fish-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-fortran-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-gdscript-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-glimmer-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-glsl-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-go-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-godot_resource-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-gomod-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-gowork-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-graphql-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-haskell-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-hcl-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-heex-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-hjson-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-html-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-http-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-janet_simple-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-java-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-javascript-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-jsdoc-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-json-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-json5-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-jsonnet-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-julia-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-kotlin-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-latex-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ledger-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-llvm-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-lua-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-make-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-markdown-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-markdown_inline-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-nickel-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-nix-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-norg-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ocaml-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ocaml_interface-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-org-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-perl-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-pgn-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-php-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-pioasm-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-prisma-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-pug-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-python-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ql-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ql_dbscheme-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-query-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-r-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-regex-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-rego-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-rst-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-ruby-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-rust-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-scala-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-scheme-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-scss-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-smithy-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-sparql-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-sql-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-supercollider-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-surface-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-svelte-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tiger-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tlaplus-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-toml-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tsq-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-tsx-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-turtle-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-typescript-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-verilog-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-vim-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-vue-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-yaml-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-yang-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter-zig-grammar", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/plenary.nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/rust-tools.nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/telescope.nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/toggleterm.nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/vim-tmux-navigator", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/vimspector", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/__python3_dependencies", + "/Users/ragon/.config/nvim", + "/Users/ragon/.local/share/nvim/site", + "/nix/store/j5myw4djaj1hmi5r8p5hxaynhingy8k5-neovim-unwrapped-0ecb4d7/share/nvim/runtime", + "/nix/store/j5myw4djaj1hmi5r8p5hxaynhingy8k5-neovim-unwrapped-0ecb4d7/lib/nvim", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-buffer/after", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-cmdline/after", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-nvim-lsp/after", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp-path/after", + "/nix/store/y7fc4px5ijgv7wpls3r0xiw2hd600q7n-vim-pack-dir/pack/myNeovimPackages/start/cmp_luasnip/after", + "${3rd}/love2d/library" + ] +} \ No newline at end of file diff --git a/hm-imports/nvim/config/lua/coc.lua b/hm-imports/nvim/config/lua/coc.lua deleted file mode 100644 index 4a5b2e7d..00000000 --- a/hm-imports/nvim/config/lua/coc.lua +++ /dev/null @@ -1,186 +0,0 @@ --- Some servers have issues with backup files, see #649 -vim.opt.backup = false -vim.opt.writebackup = false - --- Having longer updatetime (default is 4000 ms = 4s) leads to noticeable --- delays and poor user experience -vim.opt.updatetime = 100 - --- Always show the signcolumn, otherwise it would shift the text each time --- diagnostics appeared/became resolved -vim.opt.signcolumn = "yes" - -local keyset = vim.keymap.set --- Autocomplete -function _G.check_back_space() - local col = vim.fn.col('.') - 1 - return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil -end - --- Use Tab for trigger completion with characters ahead and navigate --- NOTE: There's always a completion item selected by default, you may want to enable --- no select by setting `"suggest.noselect": true` in your configuration file --- NOTE: Use command ':verbose imap ' to make sure Tab is not mapped by --- other plugins before putting this into your config -local opts = {silent = true, noremap = true, expr = true, replace_keycodes = false} -keyset("i", "", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "" : coc#refresh()', opts) -keyset("i", "", [[coc#pum#visible() ? coc#pum#prev(1) : "\"]], opts) - --- Make to accept selected completion item or notify coc.nvim to format --- u breaks current undo, please make your own choice -keyset("i", "", [[coc#pum#visible() ? coc#pum#confirm() : "\u\\=coc#on_enter()\"]], opts) - --- Use to trigger snippets -keyset("i", "", "(coc-snippets-expand-jump)") --- Use to trigger completion -keyset("i", "", "coc#refresh()", {silent = true, expr = true}) - --- Use `[g` and `]g` to navigate diagnostics --- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list -keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) -keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) - --- GoTo code navigation -keyset("n", "gd", "(coc-definition)", {silent = true}) -keyset("n", "gy", "(coc-type-definition)", {silent = true}) -keyset("n", "gi", "(coc-implementation)", {silent = true}) -keyset("n", "gr", "(coc-references)", {silent = true}) - - --- Use K to show documentation in preview window -function _G.show_docs() - local cw = vim.fn.expand('') - if vim.fn.index({'vim', 'help'}, vim.bo.filetype) >= 0 then - vim.api.nvim_command('h ' .. cw) - elseif vim.api.nvim_eval('coc#rpc#ready()') then - vim.fn.CocActionAsync('doHover') - else - vim.api.nvim_command('!' .. vim.o.keywordprg .. ' ' .. cw) - end -end -keyset("n", "K", 'lua _G.show_docs()', {silent = true}) - - --- Highlight the symbol and its references on a CursorHold event(cursor is idle) -vim.api.nvim_create_augroup("CocGroup", {}) -vim.api.nvim_create_autocmd("CursorHold", { - group = "CocGroup", - command = "silent call CocActionAsync('highlight')", - desc = "Highlight symbol under cursor on CursorHold" -}) - - --- Symbol renaming -keyset("n", "rn", "(coc-rename)", {silent = true}) - - --- Formatting selected code -keyset("x", "f", "(coc-format-selected)", {silent = true}) -keyset("n", "f", "(coc-format-selected)", {silent = true}) - - --- Setup formatexpr specified filetype(s) -vim.api.nvim_create_autocmd("FileType", { - group = "CocGroup", - pattern = "typescript,json", - command = "setl formatexpr=CocAction('formatSelected')", - desc = "Setup formatexpr specified filetype(s)." -}) - --- Update signature help on jump placeholder -vim.api.nvim_create_autocmd("User", { - group = "CocGroup", - pattern = "CocJumpPlaceholder", - command = "call CocActionAsync('showSignatureHelp')", - desc = "Update signature help on jump placeholder" -}) - --- Apply codeAction to the selected region --- Example: `aap` for current paragraph -local opts = {silent = true, nowait = true} -keyset("x", "a", "(coc-codeaction-selected)", opts) -keyset("n", "a", "(coc-codeaction-selected)", opts) - --- Remap keys for apply code actions at the cursor position. -keyset("n", "ac", "(coc-codeaction-cursor)", opts) --- Remap keys for apply code actions affect whole buffer. -keyset("n", "as", "(coc-codeaction-source)", opts) --- Remap keys for applying codeActions to the current buffer -keyset("n", "ac", "(coc-codeaction)", opts) --- Apply the most preferred quickfix action on the current line. -keyset("n", "qf", "(coc-fix-current)", opts) - --- Remap keys for apply refactor code actions. -keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) -keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) -keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) - --- Run the Code Lens actions on the current line -keyset("n", "cl", "(coc-codelens-action)", opts) - - --- Map function and class text objects --- NOTE: Requires 'textDocument.documentSymbol' support from the language server -keyset("x", "if", "(coc-funcobj-i)", opts) -keyset("o", "if", "(coc-funcobj-i)", opts) -keyset("x", "af", "(coc-funcobj-a)", opts) -keyset("o", "af", "(coc-funcobj-a)", opts) -keyset("x", "ic", "(coc-classobj-i)", opts) -keyset("o", "ic", "(coc-classobj-i)", opts) -keyset("x", "ac", "(coc-classobj-a)", opts) -keyset("o", "ac", "(coc-classobj-a)", opts) - - --- Remap and to scroll float windows/popups ----@diagnostic disable-next-line: redefined-local -local opts = {silent = true, nowait = true, expr = true} -keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) -keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) -keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) -keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) -keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) -keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) - - --- Use CTRL-S for selections ranges --- Requires 'textDocument/selectionRange' support of language server -keyset("n", "", "(coc-range-select)", {silent = true}) -keyset("x", "", "(coc-range-select)", {silent = true}) - - --- Add `:Format` command to format current buffer -vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) - --- " Add `:Fold` command to fold current buffer -vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) - --- Add `:OR` command for organize imports of the current buffer -vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) - --- Add (Neo)Vim's native statusline support --- NOTE: Please see `:h coc-status` for integrations with external plugins that --- provide custom statusline: lightline.vim, vim-airline -vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") - --- Mappings for CoCList --- code actions and coc stuff ----@diagnostic disable-next-line: redefined-local -local opts = {silent = true, nowait = true} --- Show all diagnostics -keyset("n", ",a", ":CocList diagnostics", opts) --- Manage extensions -keyset("n", ",e", ":CocList extensions", opts) --- Show commands -keyset("n", ",c", ":CocList commands", opts) --- Find symbol of current document -keyset("n", ",o", ":CocList outline", opts) --- Search workspace symbols -keyset("n", ",s", ":CocList -I symbols", opts) --- Do default action for next item -keyset("n", ",j", ":CocNext", opts) --- Do default action for previous item -keyset("n", ",k", ":CocPrev", opts) --- Resume latest coc list -keyset("n", ",p", ":CocListResume", opts) diff --git a/hm-imports/nvim/config/lua/keybindings.lua b/hm-imports/nvim/config/lua/keybindings.lua index 64ce5cc9..49bf2785 100644 --- a/hm-imports/nvim/config/lua/keybindings.lua +++ b/hm-imports/nvim/config/lua/keybindings.lua @@ -15,8 +15,6 @@ map { 'n', '', 'j', noremap = true, silent = true} map { 'n', '', 'k', noremap = true, silent = true} map { 'n', '', 'l', noremap = true, silent = true} --- buffer binds -map { 'n', 'q', 'bd', noremap = false, silent = true} -- telescope map { 'n', 'b', 'Telescope buffers', noremap = false, silent = true} --map { 'n', 'ff', 'Telescope find_files', noremap = false, silent = true} @@ -43,10 +41,6 @@ map { 'x', 'di', 'VimspectorBalloonEval', noremap = false, silent -- map { 'n', 't', ':term', noremap = false, silent = true} -- map { 't', '', '', noremap = true, silent = true} --- plugins - commentary -map { 'n', 'c', 'Commentary', noremap = false, silent = true} --- plugins - vista -map { 'n', 'v', 'Vista!!', noremap = false, silent = true} -- plugins - nnn map { 'n', '', ':NnnPicker %:p:h', noremap = true, silent = true} map { 'n', '', ':NnnExplorer %:p:h', noremap = true, silent = true} @@ -54,3 +48,9 @@ map { 'n', '', ':NnnExplorer %:p:h', noremap = true, silent = tr -- plugins - terminal map {"n", "gg", "lua _lazygit_toggle()", {noremap = true, silent = true}} map {"n", "gp", "lua _pipeline_toggle()", {noremap = true, silent = true}} + +-- diagnostic +map {"n", "e", "lua require\'telescope.builtin\'.lsp_diagnostics{}", { noremap = true, silent = true}} +map {"n", "q", "lua vim.diagnostic.setloclist()", { noremap = true, silent = true}} +map {"n", "]g", "lua vim.diagnostic.goto_next()", { noremap = true, silent = true}} +map {"n", "[g", "lua vim.diagnostic.goto_prev()", { noremap = true, silent = true}} diff --git a/hm-imports/nvim/config/lua/plugin/cmp.lua b/hm-imports/nvim/config/lua/plugin/cmp.lua new file mode 100644 index 00000000..e157b97b --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/cmp.lua @@ -0,0 +1,52 @@ +local cmp = require 'cmp' +local lspkind = require 'lspkind' +local luasnip = require 'luasnip' +local has_words_before = function() + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil +end + +cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + mapping = { + [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() -- The fallback function sends a already mapped key. In this case, it's probably ``. + end + end, { "i", "s" }), + [""] = cmp.mapping(function() + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + end + end, { "i", "s" }), + }, + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + }, { name = "buffer" }), + formatting = { + format = lspkind.cmp_format({ + mode = "symbol_text", + menu = ({ + buffer = "[Buffer]", + nvim_lsp = "[LSP]", + luasnip = "[LuaSnip]", + nvim_lua = "[Lua]", + latex_symbols = "[Latex]", + }) + }), +}, +}) diff --git a/hm-imports/nvim/config/lua/plugin/gitsigns.lua b/hm-imports/nvim/config/lua/plugin/gitsigns.lua new file mode 100644 index 00000000..53d1a1ec --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/gitsigns.lua @@ -0,0 +1 @@ +require('gitsigns').setup {} diff --git a/hm-imports/nvim/config/lua/plugin/lsp.lua b/hm-imports/nvim/config/lua/plugin/lsp.lua new file mode 100644 index 00000000..22fd6f44 --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/lsp.lua @@ -0,0 +1,101 @@ +local lspconfig = require 'lspconfig' +local capabilities = require('cmp_nvim_lsp').default_capabilities() +-- lsp keymaps +local lsp_attach_keymappings = { + ['gD'] = 'vim.lsp.buf.declaration()', + ['gd'] = 'vim.lsp.buf.definition()', + ['K'] = 'vim.lsp.buf.hover()', + ['gi'] = 'vim.lsp.buf.implementation()', + [''] = 'vim.lsp.buf.signature_help()', + ['wa'] = 'vim.lsp.buf.add_workspace_folder()', + ['wr'] = 'vim.lsp.buf.remove_workspace_folder()', + ['ws'] = 'vim.lsp.buf.workspace_symbol()', + ['wl'] = 'print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', + ['D'] = 'vim.lsp.buf.type_definition()', + ['rn'] = 'vim.lsp.buf.rename()', + ['ca'] = 'vim.lsp.buf.code_action()', + ['gr'] = 'vim.lsp.buf.references()', + ['f'] = 'vim.lsp.buf.format()' +} +local buf_nnoremap_lua = function(bufnr, keys, command) + vim.api.nvim_buf_set_keymap(bufnr, 'n', keys, 'lua ' .. command .. '', { noremap = true, silent = true }) +end +local on_lsp_attach = function(_, bufnr) + -- Enable completion triggered by : + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + for key, cmd in pairs(lsp_attach_keymappings) do buf_nnoremap_lua(bufnr, key, cmd) end +end + +lspconfig.gopls.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.pyright.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.nil_ls.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- nix +-- lspconfig.rnix.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- nix +lspconfig.terraformls.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.tsserver.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.vimls.setup { + capabilities = capabilities, + on_attach = on_lsp_attach, + isNeovim = true, +} + +lspconfig.csharp_ls.setup { + capabilities = capabilities, + on_attach = on_lsp_attach, + cmd = {vim.env.HOME .. "/.dotnet/tools/csharp-ls"}, +} +lspconfig.ltex.setup { capabilities = capabilities, on_attach = on_lsp_attach } +-- start vscode included language servers +lspconfig.eslint.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.html.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.cssls.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.jsonls.setup { capabilities = capabilities, on_attach = on_lsp_attach } +-- end vscode included language servers +lspconfig.texlab.setup { capabilities = capabilities, on_attach = on_lsp_attach, settings = { texlab = { + build = { + executable = "tectonic", + args = { "%f", "--keep-logs", "--synctex"}, + onSave = true, + forwardSearchAfter = true, + }, + chktex = { onOpenAndSave = true, }, + forwardSearch = { + executable = "/Applications/Skim.app/Contents/SharedSupport/displayline", + args = {"-r", "-d", "%l","%p","%f"}, + }, +}} } +lspconfig.sumneko_lua.setup { + capabilities = capabilities, on_attach = on_lsp_attach, + settings = { + Lua = { + runtime = { + version = 'LuaJIT' + }, + diagnostics = { globals = { 'vim' } }, + workspace = { + -- Make the LSP aware of Neovim runtime files: + library = vim.api.nvim_get_runtime_file('', true) + }, + format = { + enable = true, + defaultConfig = { + indent_style = 'space', + indent_size = '2', + } + }, + } + } +} + + + +local rt = require("rust-tools") +rt.setup({ + tools = { + inlay_hints = { + auto = true, + }, + }, + server = { + capabilities = capabilities, on_attach = on_lsp_attach, + }, +}) diff --git a/hm-imports/nvim/config/lua/plugin/lualine.lua b/hm-imports/nvim/config/lua/plugin/lualine.lua index cec15262..f57cce16 100644 --- a/hm-imports/nvim/config/lua/plugin/lualine.lua +++ b/hm-imports/nvim/config/lua/plugin/lualine.lua @@ -1,28 +1,215 @@ -require('lualine').setup { +-- Eviline config for lualine +-- Author: shadmansaleh +-- Credit: glepnir +local lualine = require('lualine') + +-- Color table for highlights +-- stylua: ignore +local colors = { + bg = '#202328', + fg = '#bbc2cf', + yellow = '#ECBE7B', + cyan = '#008080', + darkblue = '#081633', + green = '#98be65', + orange = '#FF8800', + violet = '#a9a1e1', + magenta = '#c678dd', + blue = '#51afef', + red = '#ec5f67', +} + +local conditions = { + buffer_not_empty = function() + return vim.fn.empty(vim.fn.expand('%:t')) ~= 1 + end, + hide_in_width = function() + return vim.fn.winwidth(0) > 80 + end, + check_git_workspace = function() + local filepath = vim.fn.expand('%:p:h') + local gitdir = vim.fn.finddir('.git', filepath .. ';') + return gitdir and #gitdir > 0 and #gitdir < #filepath + end, +} + +-- Config +local config = { options = { - icons_enabled = true, + -- Disable sections and component separators + component_separators = '', + section_separators = '', theme = 'gruvbox', - --component_separators = { left = '', right = ''}, - --section_separators = { left = '', right = ''}, - disabled_filetypes = {}, - always_divide_middle = true, }, sections = { - lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, - lualine_c = {'filename'}, - lualine_x = {'encoding', 'fileformat', 'filetype'}, - lualine_y = {'progress'}, - lualine_z = {'location'} - }, - inactive_sections = { + -- these are to remove the defaults lualine_a = {}, lualine_b = {}, - lualine_c = {'filename'}, - lualine_x = {'location'}, lualine_y = {}, - lualine_z = {} + lualine_z = {}, + -- These will be filled later + lualine_c = {}, + lualine_x = {}, + }, + inactive_sections = { + -- these are to remove the defaults + lualine_a = {}, + lualine_b = {}, + lualine_y = {}, + lualine_z = {}, + lualine_c = {}, + lualine_x = {}, }, - tabline = {}, - extensions = {} } + +-- Inserts a component in lualine_c at left section +local function ins_left(component) + table.insert(config.sections.lualine_c, component) +end + +-- Inserts a component in lualine_x at right section +local function ins_right(component) + table.insert(config.sections.lualine_x, component) +end + +ins_left { + function() + return '▊' + end, + color = { fg = colors.blue }, -- Sets highlighting of component + padding = { left = 0, right = 1 }, -- We don't need space before this +} + +ins_left { + -- mode component + function() + return '' + end, + color = function() + -- auto change color according to neovims mode + local mode_color = { + n = colors.red, + i = colors.green, + v = colors.blue, + [''] = colors.blue, + V = colors.blue, + c = colors.magenta, + no = colors.red, + s = colors.orange, + S = colors.orange, + [''] = colors.orange, + ic = colors.yellow, + R = colors.violet, + Rv = colors.violet, + cv = colors.red, + ce = colors.red, + r = colors.cyan, + rm = colors.cyan, + ['r?'] = colors.cyan, + ['!'] = colors.red, + t = colors.red, + } + return { fg = mode_color[vim.fn.mode()] } + end, + padding = { right = 1 }, +} + +ins_left { + -- filesize component + 'filesize', + cond = conditions.buffer_not_empty, +} + +ins_left { + 'filename', + cond = conditions.buffer_not_empty, + color = { fg = colors.magenta, gui = 'bold' }, +} + +ins_left { 'location' } + +ins_left { 'progress', color = { fg = colors.fg, gui = 'bold' } } + +ins_left { + 'diagnostics', + sources = { 'nvim_diagnostic' }, + symbols = { error = ' ', warn = ' ', info = ' ' }, + diagnostics_color = { + color_error = { fg = colors.red }, + color_warn = { fg = colors.yellow }, + color_info = { fg = colors.cyan }, + }, +} + +-- Insert mid section. You can make any number of sections in neovim :) +-- for lualine it's any number greater then 2 +ins_left { + function() + return '%=' + end, +} + +ins_left { + -- Lsp server name . + function() + local msg = 'No Active Lsp' + local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype') + local clients = vim.lsp.get_active_clients() + if next(clients) == nil then + return msg + end + for _, client in ipairs(clients) do + local filetypes = client.config.filetypes + if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then + return client.name + end + end + return msg + end, + icon = ' LSP:', + color = { fg = '#ffffff', gui = 'bold' }, +} + +-- Add components to right sections +ins_right { + 'o:encoding', -- option component same as &encoding in viml + fmt = string.upper, -- I'm not sure why it's upper case either ;) + cond = conditions.hide_in_width, + color = { fg = colors.green, gui = 'bold' }, +} + +ins_right { + 'fileformat', + fmt = string.upper, + icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh + color = { fg = colors.green, gui = 'bold' }, +} + +ins_right { + 'branch', + icon = '', + color = { fg = colors.violet, gui = 'bold' }, +} + +ins_right { + 'diff', + -- Is it me or the symbol for modified us really weird + symbols = { added = ' ', modified = '柳 ', removed = ' ' }, + diff_color = { + added = { fg = colors.green }, + modified = { fg = colors.orange }, + removed = { fg = colors.red }, + }, + cond = conditions.hide_in_width, +} + +ins_right { + function() + return '▊' + end, + color = { fg = colors.blue }, + padding = { left = 1 }, +} + +-- Now don't forget to initialize lualine +lualine.setup(config) diff --git a/hm-imports/nvim/config/lua/plugin/noice.lua b/hm-imports/nvim/config/lua/plugin/noice.lua index b8235b7b..d09e94af 100644 --- a/hm-imports/nvim/config/lua/plugin/noice.lua +++ b/hm-imports/nvim/config/lua/plugin/noice.lua @@ -4,6 +4,13 @@ require("noice").setup({ merge = true, } }, + lsp = { + override = { + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + ["cmp.entry.get_documentation"] = true, + }, + }, -- you can enable a preset for easier configuration presets = { bottom_search = true, -- use a classic bottom cmdline for search @@ -14,6 +21,6 @@ require("noice").setup({ }, }) require("notify").setup({ - stages = "static", - max_width = 70, + -- stages = "static", + -- max_width = 70, }) diff --git a/hm-imports/nvim/config/lua/plugin/project.lua b/hm-imports/nvim/config/lua/plugin/project.lua deleted file mode 100644 index 7d14dd92..00000000 --- a/hm-imports/nvim/config/lua/plugin/project.lua +++ /dev/null @@ -1,3 +0,0 @@ -require('project_nvim').setup { - detection_methods = { "pattern" }, -} diff --git a/hm-imports/nvim/config/lua/plugin/rainbow.lua b/hm-imports/nvim/config/lua/plugin/rainbow.lua deleted file mode 100644 index 3a0549cf..00000000 --- a/hm-imports/nvim/config/lua/plugin/rainbow.lua +++ /dev/null @@ -1 +0,0 @@ -vim.g.rainbow_active = 1 diff --git a/hm-imports/nvim/config/lua/plugin/telescope.lua b/hm-imports/nvim/config/lua/plugin/telescope.lua index 236915cb..9b86a9e1 100644 --- a/hm-imports/nvim/config/lua/plugin/telescope.lua +++ b/hm-imports/nvim/config/lua/plugin/telescope.lua @@ -1,2 +1,11 @@ -require('telescope').setup {} -require('telescope').load_extension('projects') +local telescope = require('telescope') +telescope.setup { + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown { + -- even more opts + } + } + } +} +telescope.load_extension('ui-select') diff --git a/hm-imports/nvim/config/lua/plugin/treesitter.lua b/hm-imports/nvim/config/lua/plugin/treesitter.lua index 8559c440..7cd5ecf6 100644 --- a/hm-imports/nvim/config/lua/plugin/treesitter.lua +++ b/hm-imports/nvim/config/lua/plugin/treesitter.lua @@ -1,20 +1,22 @@ +local treesitter_parser_install_dir = '/var/tmp/nvim-treesitter/parser' require'nvim-treesitter.configs'.setup { highlight = { enable = true, - use_languagetree = true, - }, - indent = { - enable = true, - }, - autotag = { - enable = true, - }, - context_commentstring = { - enable = true, - enable_autocmd = false, - }, - refactor = { - highlight_definitions = { enable = true }, - highlight_current_scope = { enable = false }, + -- use_languagetree = true, }, + parser_install_dir = treesitter_parser_install_dir, + -- indent = { + -- enable = true, + -- }, + -- autotag = { + -- enable = true, + -- }, + -- context_commentstring = { + -- enable = true, + -- enable_autocmd = false, + -- }, + -- refactor = { + -- highlight_definitions = { enable = true }, + -- highlight_current_scope = { enable = false }, + -- }, } diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index f12a8f4d..f129ea15 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -6,28 +6,10 @@ vim.cmd [[ syntax on ]] -- mapleader +local opt = vim.opt vim.g.mapleader = ' ' vim.g.maplocalleader = ',' -require('utils') -require('keybindings') -require('filetypes') -local opt = vim.opt - --- load plugin luas (idk how to do that autmagically) ---require('plugin.treesitter') -require('plugin.nnn') -require('plugin.rainbow') -require('plugin.terminal') -require('plugin.project') -require('plugin.noice') -require('plugin.telescope') - - --- plugins - coc ---vim.cmd 'source ~/.config/nvim/coc.vim' -- too lazy to convert all the shit to lua -require('coc') - -- color stuff opt.termguicolors = true -- 24bit color vim.g.gruvbox_italic = 1 @@ -56,4 +38,18 @@ opt.softtabstop = 2 opt.hidden = true -- low updatetime so it isnt as slow opt.updatetime = 100 + +require('utils') +require('keybindings') +require('filetypes') + +-- load plugin luas (idk how to do that autmagically) +require('plugin.treesitter') +require('plugin.nnn') +require('plugin.terminal') +require('plugin.noice') +require('plugin.telescope') +require('plugin.cmp') +require('plugin.lsp') require('plugin.lualine') +require('plugin.gitsigns') diff --git a/hm-imports/nvim/config/terminal.vim b/hm-imports/nvim/config/terminal.vim deleted file mode 100644 index 7a3c3d5a..00000000 --- a/hm-imports/nvim/config/terminal.vim +++ /dev/null @@ -1,9 +0,0 @@ -augroup neovim_terminal - autocmd! - " Enter Terminal-mode (insert) automatically - autocmd TermOpen * startinsert - " Disables number lines on terminal buffers - autocmd TermOpen * :set nonumber norelativenumber - " allows you to use Ctrl-c on terminal window - autocmd TermOpen * nnoremap i -augroup END diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index c23f7cca..04b60a09 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -1,22 +1,35 @@ { pkgs, config, lib, inputs, ... }: { home.packages = with pkgs;[ - python3 # ultisnips + # telescope + ripgrep + # embedded terminal lazygit - nodejs # coc-nvim - yarn # coc-nvim - #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp - nil - neovim-remote - tectonic - - # lsp - shfmt - shellcheck - vim-vint glab - nodePackages.write-good - ctags + + # language servers + nil # nix + #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + gopls # go + pyright # python3 + terraform-ls + terraform + nodePackages.typescript + nodePackages.typescript-language-server + sumneko-lua-language-server + ltex-ls # languageTool + nodePackages.vscode-langservers-extracted # eslint, ... + texlab # latex + tectonic + # rust completion + cargo + rustc + rustfmt + rust-analyzer + + + # other stuff + neovim-remote ]; home.file.".config/nvim".source = ./config; home.file.".config/nvim".recursive = true; @@ -32,10 +45,10 @@ viAlias = true; plugins = let - nnn-vim = pkgs.vimUtils.buildVimPlugin { - pname = "nnn-vim"; + nnn-nvim = pkgs.vimUtils.buildVimPlugin { + pname = "nnn-nvim"; version = "1.0.0"; - src = inputs.nnn-vim; + src = inputs.nnn-nvim; }; notify-nvim = pkgs.vimUtils.buildVimPlugin { pname = "notify-nvim"; @@ -47,107 +60,45 @@ version = "1.0.0"; src = inputs.noice-nvim; }; - #coc-ltex = pkgs.vimUtils.buildVimPlugin { - # name = "coc-nvim"; - # src = inputs.coc-nvim; - #}; - #dart-vim = pkgs.vimUtils.buildVimPlugin { - # name = "dart-vim"; - # src = inputs.dart-vim; - #}; in map (x: { plugin = x; }) (with pkgs.vimPlugins; [ - vim-tmux-navigator - galaxyline-nvim - nvim-web-devicons - nnn-vim - rainbow - vista-vim - polyglot - vim-commentary - vim-table-mode - vim-speeddating - vim-nix - gruvbox - incsearch-vim - vim-highlightedyank - vim-fugitive - #fzf-vim - lualine-nvim - #fzfWrapper - vim-devicons - toggleterm-nvim - undotree - vim-pandoc - vim-pandoc-syntax - #ultisnips - #dart-vim - - nvim-treesitter.withAllGrammars + vim-tmux-navigator # tmux + nnn-nvim # nnn as filebrowser + gruvbox # theme + # complete ui overhaul notify-nvim - noice-nvim nui-nvim - - - - plenary-nvim + noice-nvim telescope-nvim - project-nvim + telescope-ui-select-nvim + # line + lualine-nvim - vimspector + # vcs integration + gitsigns-nvim - coc-nvim + # completion + nvim-lspconfig # lsp + vimspector # dap + pkgs.unstable.vimPlugins.rust-tools-nvim # rust special sauce + # completion - nvim-cmp + cmp-nvim-lsp + cmp-buffer + cmp-path + cmp-cmdline + nvim-cmp # completion ui + lspkind-nvim # icons for completion + # completion-snippets + luasnip + cmp_luasnip - #telescope-coc-nvim - #coc-yank - coc-yaml - #coc-wxml - #coc-vimtex - #coc-vimlsp - #coc-vetur # vue - #coc-ultisnips - coc-tsserver - #coc-tslint-plugin - #coc-tslint - coc-toml - coc-texlab - #coc-tailwindcss - #coc-tabnine - #coc-svelte - #coc-sumneko-lua - coc-stylelint - coc-sqlfluff - #coc-spell-checker - pkgs.nodePackages.coc-ltex - #coc-solargraph # ruby - coc-snippets - #coc-smartf - coc-sh - coc-rust-analyzer - #coc-rls - #coc-r-lsp - coc-python - #coc-pyright - coc-prettier - #coc-pairs - #coc-nginx - #coc-neco - #coc-metals - coc-markdownlint - coc-lua - #coc-lists - coc-json - coc-jest - coc-java - #coc-imselect - coc-html - coc-highlight - #coc-haxe - coc-go - #coc-git - #coc-fzf - coc-flutter - #coc-explorer + + toggleterm-nvim # embed terminals (for lazygit,...) + + # treesitter + (nvim-treesitter.withPlugins ( + plugins: pkgs.tree-sitter.allGrammars + )) ]); }; } From a03dfbc8dd8e68054aadeb34645e771222da41c8 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 22 Apr 2023 02:33:10 +0200 Subject: [PATCH 232/525] gruvbox material? --- hm-imports/nvim/config/lua/plugin/lualine.lua | 2 +- hm-imports/nvim/config/nvim.lua | 5 +++-- hm-imports/nvim/default.nix | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hm-imports/nvim/config/lua/plugin/lualine.lua b/hm-imports/nvim/config/lua/plugin/lualine.lua index f57cce16..c6c1070f 100644 --- a/hm-imports/nvim/config/lua/plugin/lualine.lua +++ b/hm-imports/nvim/config/lua/plugin/lualine.lua @@ -39,7 +39,7 @@ local config = { -- Disable sections and component separators component_separators = '', section_separators = '', - theme = 'gruvbox', + theme = 'gruvbox-material', }, sections = { -- these are to remove the defaults diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index f129ea15..e214d9f1 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -12,9 +12,10 @@ vim.g.maplocalleader = ',' -- color stuff opt.termguicolors = true -- 24bit color -vim.g.gruvbox_italic = 1 -vim.cmd ':colorscheme gruvbox' +--vim.g.gruvbox_italic = 1 opt.background = 'dark' -- dark gruvbox +vim.g.gruvbox_material_background = 'soft' +vim.cmd ':colorscheme gruvbox-material' --vimspector vim.g.vimspector_base_dir = vim.env.HOME .. "/.local/share/nvim/vimspector" vim.g.vimspector_enable_mappings = "HUMAN" diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 04b60a09..c588a0f9 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -64,7 +64,7 @@ map (x: { plugin = x; }) (with pkgs.vimPlugins; [ vim-tmux-navigator # tmux nnn-nvim # nnn as filebrowser - gruvbox # theme + gruvbox-material # theme # complete ui overhaul notify-nvim nui-nvim From 8bb834b24f51599f65304345d20c51fd28fd8ff9 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sat, 22 Apr 2023 02:39:01 +0200 Subject: [PATCH 233/525] Revert "gruvbox material?" This reverts commit a03dfbc8dd8e68054aadeb34645e771222da41c8. --- hm-imports/nvim/config/lua/plugin/lsp.lua | 1 + hm-imports/nvim/config/lua/plugin/lualine.lua | 2 +- hm-imports/nvim/config/nvim.lua | 5 ++--- hm-imports/nvim/default.nix | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hm-imports/nvim/config/lua/plugin/lsp.lua b/hm-imports/nvim/config/lua/plugin/lsp.lua index 22fd6f44..0328e944 100644 --- a/hm-imports/nvim/config/lua/plugin/lsp.lua +++ b/hm-imports/nvim/config/lua/plugin/lsp.lua @@ -73,6 +73,7 @@ lspconfig.sumneko_lua.setup { diagnostics = { globals = { 'vim' } }, workspace = { -- Make the LSP aware of Neovim runtime files: + checkThirdParty = false, library = vim.api.nvim_get_runtime_file('', true) }, format = { diff --git a/hm-imports/nvim/config/lua/plugin/lualine.lua b/hm-imports/nvim/config/lua/plugin/lualine.lua index c6c1070f..f57cce16 100644 --- a/hm-imports/nvim/config/lua/plugin/lualine.lua +++ b/hm-imports/nvim/config/lua/plugin/lualine.lua @@ -39,7 +39,7 @@ local config = { -- Disable sections and component separators component_separators = '', section_separators = '', - theme = 'gruvbox-material', + theme = 'gruvbox', }, sections = { -- these are to remove the defaults diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index e214d9f1..4bab0d9b 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -12,10 +12,9 @@ vim.g.maplocalleader = ',' -- color stuff opt.termguicolors = true -- 24bit color ---vim.g.gruvbox_italic = 1 +require('gruvbox').setup({}) opt.background = 'dark' -- dark gruvbox -vim.g.gruvbox_material_background = 'soft' -vim.cmd ':colorscheme gruvbox-material' +vim.cmd ':colorscheme gruvbox' --vimspector vim.g.vimspector_base_dir = vim.env.HOME .. "/.local/share/nvim/vimspector" vim.g.vimspector_enable_mappings = "HUMAN" diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index c588a0f9..9e01154e 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -64,7 +64,7 @@ map (x: { plugin = x; }) (with pkgs.vimPlugins; [ vim-tmux-navigator # tmux nnn-nvim # nnn as filebrowser - gruvbox-material # theme + gruvbox-nvim # theme # complete ui overhaul notify-nvim nui-nvim From 2c6f3a5ee340f91551b3989ef93d20a59b25229a Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 23 Apr 2023 23:56:59 +0200 Subject: [PATCH 234/525] redo daedalusvm --- data/pubkeys.nix | 4 +- hosts/daedalusvm/default.nix | 5 +-- hosts/daedalusvm/hardware-configuration.nix | 26 +++++++------ secrets/aliases.age | Bin 943 -> 951 bytes secrets/cloudflareAcme.age | Bin 908 -> 869 bytes secrets/ds9OffsiteBackupSSH.age | Bin 982 -> 1001 bytes secrets/gatebridgeHostKeys.age | Bin 1709 -> 1687 bytes secrets/gitlabDBFile.age | 27 ++++++-------- secrets/gitlabInitialRootPassword.age | Bin 632 -> 684 bytes secrets/gitlabJWSFile.age | Bin 2279 -> 2296 bytes secrets/gitlabOTPFile.age | 28 +++++++------- secrets/gitlabSecretFile.age | 26 ++++++------- secrets/hedgedocSecret.age | 25 ++++++------- secrets/mailmoverConf.age | Bin 1068 -> 1053 bytes secrets/matrixSecrets.age | 28 ++++++++------ secrets/msmtprc.age | Bin 1282 -> 1210 bytes secrets/nextcloudAdminPass.age | 25 +++++++------ secrets/nextshot.age | Bin 640 -> 733 bytes secrets/paperlessAdminPW.age | 24 ++++++------ secrets/photoprismEnv.age | Bin 1366 -> 1406 bytes secrets/picardResticHealthCheckUrl.age | 24 ++++++------ secrets/picardResticPassword.age | 25 ++++++------- secrets/picardResticSSHKey.age | Bin 1004 -> 1084 bytes secrets/pulseLaunch.age | Bin 1111 -> 1056 bytes secrets/ragonPasswd.age | Bin 1124 -> 1075 bytes secrets/rootPasswd.age | 39 ++++++++++---------- secrets/tailscaleKey.age | Bin 1086 -> 1067 bytes secrets/wpa_supplicant.age | Bin 1083 -> 1144 bytes 28 files changed, 154 insertions(+), 152 deletions(-) diff --git a/data/pubkeys.nix b/data/pubkeys.nix index 14a74958..3a126d32 100644 --- a/data/pubkeys.nix +++ b/data/pubkeys.nix @@ -4,14 +4,14 @@ let user = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJwOH1b6xWmEr1VZh48kBIYhW11vtPFR3my8stAHlSi" # saurier "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIuwQJY0H/fdu1UmGXAut7VfcvAk2Dm78tJpkyyv2in2" # daedalus - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWd5d20Q3bmme9eVHbCphIJ7TvP/llTxXvRT1xYl6xm" # daedalusvm + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKZ0hlF6EFQXpw74kkpoA8vxMX6vVDTnpM41rCDXRMuo" # daedalusvm ]; server = user ++ hosts.ds9 ++ hosts.picard; client = user; hosts = { ds9 = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+BBXufXAJhyUHVfhqlk8Y4zEKJbKXgJQvsdE482lpV" ]; picard = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAm3UXZaN95WBUaS9SiHLNEuI1tP1x1w07qnYxPe+vdr" ]; - daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMmScjeua/5JC1vKeV0jDMC9ravORscENZVvshEJ1X0u" ]; + daedalusvm = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKJCNGGsnAPPmhQnEMBWJulM2pi3pw/tdX1vi3l6cRky" ]; octopi = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+0/lwNc/KN8LrS3KvDCuuipQokO+7qELfksepJXz6a" ]; }; in diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index 457927e1..3b8c4c58 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -3,9 +3,6 @@ # and in the NixOS manual (accessible by running ‘nixos-help’). { config, inputs, pkgs, lib, ... }: -let - pubkeys = import ../../data/pubkeys.nix; -in { imports = [ @@ -23,6 +20,8 @@ in boot.supportedFilesystems = [ "nfs" "nfs4" ]; environment.systemPackages = [ pkgs.nfs-utils pkgs.virt-manager pkgs.firefox pkgs.kitty inputs.nixpkgs.legacyPackages.x86_64-linux.hello ]; + services.tailscale.enable = true; + nix.settings.extra-platforms = [ "x86_64-linux" ]; nix.settings.extra-sandbox-paths = [ "/tmp/rosetta" "/run/binfmt" ]; boot.binfmt.registrations."rosetta" = { diff --git a/hosts/daedalusvm/hardware-configuration.nix b/hosts/daedalusvm/hardware-configuration.nix index 5df831a4..099340bf 100644 --- a/hosts/daedalusvm/hardware-configuration.nix +++ b/hosts/daedalusvm/hardware-configuration.nix @@ -4,10 +4,11 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = - [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + fileSystems."/tmp/rosetta" = { + device = "rosetta"; + fsType = "virtiofs"; + }; + imports = [ ]; boot.initrd.availableKernelModules = [ "virtio_pci" "xhci_pci" "usb_storage" "usbhid" ]; boot.initrd.kernelModules = [ ]; @@ -16,22 +17,23 @@ fileSystems."/" = { - device = "/dev/disk/by-uuid/14a6e16d-ee41-4ad9-bd97-e7a96ca9fa61"; - fsType = "ext4"; + device = "/dev/disk/by-uuid/cd9a98fe-0ba3-401d-a2e0-4332faf279dd"; + fsType = "btrfs"; }; fileSystems."/boot" = { - device = "/dev/disk/by-uuid/1695-4C0D"; + device = "/dev/disk/by-uuid/7A8E-EF98"; fsType = "vfat"; }; swapDevices = - [{ device = "/dev/disk/by-uuid/c7a01b09-8ae7-43c1-b09c-550df57eb3a1"; }]; - fileSystems."/tmp/rosetta" = { - device = "rosetta"; - fsType = "virtiofs"; - }; + [{ device = "/dev/disk/by-uuid/f322c2e1-2aec-4a21-bf76-f01022d07f10"; }]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; # networking.interfaces.enp0s1.useDHCP = lib.mkDefault true; diff --git a/secrets/aliases.age b/secrets/aliases.age index 14a150250b5c74778b2c3eca10f56841bd9f2de6..5e48bd36439fb8e3c7b069e552617b34e1be3922 100644 GIT binary patch literal 951 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIOlp^2yH0 zh|o6h%QOwh32_SwbqX&vPR;U9iOMZ5%qYq+@-a2Z@C(jxDdx&CO-pw5b9N5#^3(VB zGtzd9^hk@eNV6;q&GZb)O|?v_DhkPT%SFcS>h^uvlv0u>4)^@F^8vr+@{BP)wDd?URAN`eiw^GX6TwbQem z+)a$a@|?{x%W~7xO}K(G^gRo5+{(hrOtQ<%N-GM?T|GTh^TM){k~1x|D@vSALcBtJ zeT)4HFl_Toil|5{SE$PMtqOB?PYg}-Oic9f4%3ftDK@lBEGY@H@OLjNEDp}fh%hZL zEXwdO;qq_{tu*!VNv`q>3M+9=N%hNcH1p4|EKUjcDR&MFNK1+Ev2c$Hk915AME9GC zSxQ-9x`J=Heo&B)c7bVui;rJas=u3idS0$`VR1y6fpb!DV4zWki%)izNkNLUBUhzQ zs86t=Q<8^=c}YNeU_iQ4Vr8Y9i+{Gav7vieZg_=-c3D74ezCh_KDuq;$*JD{feLQ< z{)UOJ8QD>xxlW-@`IVI^o*AWq!3LE9K1F$+RZbS66)u65E|FeF*<5D9hGmiYc@fF} z;T4Gn6<+CXIW9$}!Rdxkfn_c}rYU}YhQ3CQ29-utV86xarWd6q7N>HVMJ2lzNBTHL zhWfdO7U=ti6;gp;a8M(ORB!;+{`BsLP=Z0kz`nj8D zMpcm>N4aw4xwZA>Wc}Uia%wjB>VPkqFS7k_Pv!BFFbtd3 p|MGRW(u}1EDPb2Q;u$(wIj){t7}c89xyWmpmCx_;e7+qK+EsRJ`tco%Z%tyB^G}JOE*ij)b&n+U+-Pb9qvcStD zBO~0=s4&|rJ1w`;F*h_j!Zg=8BqBZEC(19!z?G}Q+uW(J$UGw{H9OrP&&@xj$gs3D zI55?;q%_RJBOoW&&>%O_B|J($BN^Sc%EDY@Q%8kjp9ojebZ!00q@*C@vVvlRs>WsB(Es9YzwXoYGy{k%13bM^}43Z5>-IIdzJ+l){!VS`s1HBB5 za}zBCii(m#&CAOZ-3_?%!h`ga%G}+OO#)L4D!f8+@~hIzD?>}O%c??h^NZ4xGxXC# zo%8c5LQK$Y^Gu4UNGn$`^mmDJ33PD_4>CN=Y%!$}mr@$}cML z_scSKtZ?MYPImJP%QO#lt*CHLG0!i}4#=@IDa=oGNlQ+w2sKE{^LGymEVC%_4#S8y z6SI`E!gK|Tl$11W^Blv}NFQ&16Q^L$lHk0uM2{+GZFB$Ja{nAR?Z|Yqta9@*r*y8O z6eEMoynsZDO5-fk;C#Pe!?3_8gTjpL@+eF1{9xyN<3#_Qpdi!WL=4-)lT*F@0~Ip$ zGmL#Ji-V&qv%T{jy^Zu;JbXhPJvhsaROT9e9 ztI}PvLoJKTObm;Y@>BD3i~UP;^CBw>+!LK5&3v5vLO~(vr<@q2n_iTfSe&Y$Rawqu z;#5%T=xmu7k`bC{VHxNWmYJNyrK_u}5Lr;<<`t%&VH}j=mu2FcSEL>46yO$Q8D$af zZ=U31R$dZX9F!Pdl^x~DB`T%WxXateZL&gky<42xRpavNbo=t(+Oo?Iu*~`;!@s)n iT|pXO_Z8L`63fE(9)4(<*IrfR$FY0Ly>bophK~S6K{&?% diff --git a/secrets/cloudflareAcme.age b/secrets/cloudflareAcme.age index 5b5c34373eeb8562f418d68c4436c21dd8c014f7..cb92cc8614d49850de15f52aaa3b3c34f41c950c 100644 GIT binary patch delta 801 zcmeBSf66vNr@k;nJI|#spft=o$uz{n-!rl-KP}9~BRwo7&p6S?#ivX=&p4`}$~(-_ zf-5pPH`m<9%*f5u+t;bs-6uWMGQ~VA#L+C+Cn?I*Gt9#@#mzi0Ff1f0luOr6p}06h zH#Nn`)YQ;YAvDx7DA-Y<(9)KgH4{$Hb_rz{u4s zP}?jo#4M+nE5O{hxXd6T%+n*+DR64g;l{W0fu?Ok);v2CX>%Hiq~6uXGfG*`MXw?mYZdj zTNYXPx@8zg8Cg2JynN^1C`&Jq|x~4g2rh|ehPscX3B1<>DC^fM-Rl(mpu}V=PO(CdC&)>T| zS3${utID9VJ}}5XsMsZ_Fg?;EIafQ#FWaanG&S7AtHRYIJk!6jP~Rifsnjsd#I3ZP zOIKG{!Ph^r&@a-pEI2H~+|b#%EG5x6-N4Z>%ipiED$&Ql$vE5C!o$ZbCC@3HEBF3W z!HLfmRv70ln11VzYTSE2F$xr>~XQue2 zMDz(AKJ0paUTETh0?ohG^UeG}-LCz{pY%TgM%LdUB0DPE$EPYVyuP5&%+S;$&nqe--M}?6Fsdpn z!zI)?-9OurD=a)Xqc}XmBhtJw)5$z2FtEf=zaYXbE3Go1sxrmVDAS_MG%CP7s46rP z-MY%cTw_y51;?VKOjD;Mw*vhKTk)$pt7Q%3jHF}V!v|FFwekX zSFTjUEOVnAKMP+!7vsQWw-ieQV~?^7qa??`L~j#=l+s`qe>d|;PygH~&&lzO;^Br7 zIi}emh6RRI6~-Y2>HZl3A;pOyh3F1c4l=!A<=cHwNWMsL!>zCyl6%_kh=7*;mWphQ8_RKGGyHFeJk_EjQ9BBq-U^E!iW-rOGs`(x|G~v)m%Mz%x)9y?pr7B>Uhrlc3jv* z*yqghV?`m$4O~wgzH>@$MNR(l8nYEUoF+x-&vBJM%{Ado48Oc?ZRycfzI^s;+U1+- znwR&eIYnsd%t-X>+WR@yjUPXXQkVR%nT6v^tRk}e*N^oI%rJt{bi@Aq|ds$9iGMBEMLUD11 zZfc5=si~o*LTS23czC&jVVFlmV6b0_NlICWdzrhdshguko||8hOOa)sab9qFgkxES zhgVWcaA39pSGu>UZ&q=JnNNhDsasg4yJ1F>k!PZ%eu#&+Uy@U5NoH|qiobV3pl^xi z#E;_j-oEKxeu1GmA+G+(+F7X?#ik{ZhAH~qmOiPbo(75DE`iww2HN>)MS-DQ<*v#3 z7KLS173JoUu0`JYCXr$0VaASy?tw+Y`Kg%(Q33hE6()X8sV)}iJ_+*jG}t@-=Y{GxiBB4UWnV3D2tl2VAw5Q%#_5dQoa(ajJrTv_gzZ zL27QYryG~MSCC0cRA7mFsfkN+L0VO@r=xpVPOfj6Q*uFlRk8t>uCA_vcS=fZN zN4c3#Qn`O-gui7-)8yY`R)ZSzG8efOKv*}v|o1< zO7$|Tek`odbmDKlW{Iw~e%K*xX4Bl5Z_FnhtY4g%Q_VETX8IP|$EoI>+#iuF=w9yUV#7%+j()Pc6fm978`}H=XrZCnET9$m@8Rv zLic#{^gY{Wr|v!Y|HaRT;Xi)a9lRoU!|I3W^25S~=66r8lX8i;|FnL~VO4(nzE4Z1 zh;%p|_~?nb*Q! zUoUS|Ivjph_tJXZp#S@fR1fT*eRt)u2&oq@vl8_;7l)cX4_UC(@7CMGjrT5E>v{>~ eT-v)?BmdMS$K5;HrA&U_-+AwjPVHqD+in2hC48>{ delta 932 zcmaFKevN&CPQ6iPMQEy5sB?)?uzqP$XmV<3q*Gpsud_=)sAEQ&Ye;fPc4}a7V0LPb zD_3f2Sbm68st8=PTszqs8vTu@Uj+;f6TbXfXd9Gi%OQ^S(w}od^ zd2V4rq?bn|S7NG>tCz85lzD-^iF=Vnc8NmX5?JXrK_u}knC#i=k9LqVP+6e@0k%~7?R`Z>6}#*6r7eD zk!T*0ROXcCTVYtKIzzzTOQq$eAcKwE@)i# z%yn+rTV+1)w?FvZ5_Qif?FegLFZN@?+R~t;+0T`_=X$M}zI8jRQ~!Zun(uO+#NTB# zX57RVak75h#@012&ew;&afl39%d4>L=CnuGw)LOAxI8^b@aw;VmggmfD33EwP2JmjbT^UftDJ>@R;paHnWPS6}VjxahXF(1+8QKV%6` z;4gTd(Wrm$jMO@vjh0uoZE5_ncirOP9--tvebelEo^PLF^`4#S!K`mS?A+<+COHeu zVe@(0v+n<6qt8`4bEVph;qarSyK|wUc=H9iG>k M{OG)-EpgZk0KTVp^#A|> diff --git a/secrets/gatebridgeHostKeys.age b/secrets/gatebridgeHostKeys.age index dd1dca83f30f07dcd3ac725633c56a36200ffd85..dc075e9846c2dbfd43d7090c301c6a56ca2e0d91 100644 GIT binary patch delta 1643 zcmZ3>JDqoePJNbVhH;uBs!@`qm$y$^X?k!_MX*<5g_*g9i+iPUewnLjVnLv5 zK39cPNx4b6X|QFuOI4JKORj&EnZIwUbC_j_L6%pPONOy&X1ZaeZ%I{z0hg|wLUD11 zZfc5=si~o*LTS23czC%&L11}kMy{E2aE57Ux@V4MkXw<7bGctmP+opPhKE_Hk-kA? zu&1-1kBgHhS8_nQmr;?2X?V7~iFZa)rdgGtvA;>WS(SETd$otv8Bm*(gaYFK1YRT7YAY7$_Ok>+JlW#Cj4SQKCoRA8AC z{q>g8)3QR-inogHqbovR&gY#fpwndG0B z6_QmN>g{V$AIi0$Sc#dR`G42X8K!D~PISuNV>`v}747rs#PW~Vd1e^q818JT`yXC^ z`gY;H5;Nq4>q-{Fp%yvyZ zi_CV>EkG2`fKYQ7HZwF)Gp1I4W{Sn$Q z+5Xepw6Kd0mPFc1gl<2naG^xFZjsH5-KJX?9JSnY`+r-VNbn^Sqb1vS2_BQ$ap{<| z{k$uC>&5P_U2WT39rvVaDSQ3xXS?|vDjv+6@h9+IpwRT3B?p!spI3c4UgzZnyXGY! zr!#z#S!e3x{_PEm{qgk5&o8^x*;5yox@F(w32m~fVSB}UYw6wJF8B4gpR;@KEU7YX zzQ37CxvxAX=KsX+J60=rIb1H8urr3UT$k(EyZKC^2i;uWCOYh$A%Ef2mPuO<%&RZc zQ2)M0y>j(VgQI8usa-g+_#M-OQ;xSEPVSVni8@&sP$vC9adUyBZrZ7bbKRGO%}S08 zWA2RGaH#xRt8mtrFFxP4IP=c_Rjnr$do^04Qd-k4$JP0O(A}2%w=M}8_dCn{4te5! z;qoP0rIZer-_c8); zXeN~%J2x>UG!(ovuE>zPy1r=QPSfI>ll~u0F8so8$M^j!W7*GB=U#m*HvOtyyTM5O z+U!fhfuGhW9z5)8ZT-?J__4s+Ujf$zCcN6$B(%^fsH!aROt_%SOs}uUcNOp4@7y7l z;Q6U+&q}rWrJ3IIJ@ppxe4cI0a8K{>#AVI${$2vF(l3UeU}0X#bLivOWy=%;uGX9m z<5?Se*X(CV>#d!apJzRIBR5m?iMNzt#Drb!MpZ9vT`d<_s;lsDPpNIt{23ZvY=8CF zEqYh!fA9X~wQ4qVFC4!6+rRLjw3)h4he%53ohi>PTsBCk1CoBv}?gw(z#hrZaYnB?2ik?3f`=co{3Rlz$c^^2-;ori|Z;$+q~mbFV)%zTun zp?^`N|6|~lw+-wqE`N`23*e0Hw|iLk^UUgyfCWG1Uz@Y}cv=?M{LIafiS8lYkN0mj z;B_^U;j4dlN#ozX=PA91z3SD^vPwzx+jc!Z+8(l&%sz z1^4|@H=XoYu2$E>@O{Nb8%f25KMTaFFD$52m=}L;lT&==s{Q$)%z>GqQ$B4~z5jgA zk}5Hg6+0rPA1ct2tozjF@nim+B{N@q>laINI_=vTHUF9B8q@W5(HrKv^J=egmbxn) e^*L$pt$Hnc28oX8k1r;_m~!CWyqh-vJ^%oeE6eEs delta 1665 zcmbQvyOwu?PJN2Iv$3I}S$L_XOKM4KhPy>lqKlEfiAkzsX=Q1SwzI2$Vs2QFdt#bL zAXk{bhkuHru~%kQW?-OSqO);8QG~Cnp|eYXi&L(7VQ64_xLcWTnnjg)I+w1ULUD11 zZfc5=si~o*LTS23czC&jUzTU2TUmKzT6Sn&VpV9WshfFOK}d#|lXIbqlS^TcV?lXk zl~-0#URY>4SE+GWxkYH2w|7*CSD8hChfhRQm9tNkd5*qETB&)4hhvdtu0>UmzOP5% z#E;_jC0WU?=K7_9}!+2v;Cp=n_enL$1UK3U~~erXZmCS^H327#{VKB+9sH8yor@F*}c z*EfmE3JLbH3^UXZ@vo06Do@VM&bCa?DRT{u)Xy|2EH_K6Oe+b`=1L5X@(If<^6_;t z^fZicigYs9cFGPkGAQ$O4Rb6FaW8T8^UESFh zZ5qhsnjTf?oRjEO8WrqcX_)6xk{)K{7Ln#tXzUYSZXB9jZ&Bgol#^lMRppyq7V2W+ z;Zjf$nPcha?;R9s;gM{d!eyRql33&ylwItSpIlk&=p2xnX<%WQlwsx_RcYp(m6qe; zZ=9pPaZr zoa<=hzf94CS3Vl4Ul(4O)bvAsu_5#KOh+H?GqXRX?2-O(p4YhJ?gaJf36enft46@{NoyRdcNxI}PG&w>?_=!*12*;6FR&w!~{Qi~mgh z<+)<5ag_J@Z3X{1t}T6Q`gzmc+Wie>FOM2#_TNufpI!R)=-cE!%N1rHw_d!ne)r1X zGvy?gpG~!%&nBc(_dtHb_SoFVDP6uP&ki>3Y5b9U=TLw0-2_KpmGFy?-JU!=SbV#9{^K<%~+a~VcoR4%b;NS0Vz5K=}-4~`m=dby= z@$-?LQzg}eU(Pwb;Dx4%<1C}!3r(6{yyh3Gf4cbg!uHyU+RJi|D$eHTo!~5x`6V%C zUpJ#V*Ml(bnjh*PXT1=ezh%qHpel1V>%5(fa~Z`ouFvsL2xji7el6GeN?CrgTI;j- z!7MDzzJf~L*77nl%>>x}v}^3GozpwdxrW@>bm7zWN4uP+eJpTEEV(KFDTry2pv@v_ zv4x*3o9mx%(dzta-?X+#{K6wq?{~Ga!6L2myes3`TQ)bm;_!T@r?=ORRow5!V}r(t zFBLzgH~(M%x-`T8oKtmHpXsh!x4VxX+Ib`VykC&2*vG<5#t-Xi`HK8EEqStT?j_sv zJ$3zOqrc5A`@M(tUVy&K;+XhZiudoFK4B!r7^ib;(XGer^`CDZ|NVA(|3g6$-B&MT z#Hy9=z6|PeVU~TA;{Ubr>+frCUyYOH92an$vt1ya>LU7pBjE0{=6zudC&Wos%={p7Wp(z%ui3* zX8hoyJogbX4%7Y4a{Fi2Z*>yfUh`Dryw2(R<8~X)S|>zs91C7-*AO`O<4wWmv78gD zn;uH;=znTvF>Te_Q!09@yO`Mh#6B$&6SBRwq&RQe{R!*RR`fh@dAC(QETSluHQQdL zKfaRpz34n~DXZ(>YUeMFI+7#ecDb{HVI4;k!>;JlA76-+27Or4II(Y|`x1i!4`Z2M x7B$t!RaWsY-~NWN!Oy=^Bz3FQS(#OrtIv2bHms5G)E5xgl=k7DfSqT|ZvfnA&~*R+ diff --git a/secrets/gitlabDBFile.age b/secrets/gitlabDBFile.age index f1774a6a..5ad508e6 100644 --- a/secrets/gitlabDBFile.age +++ b/secrets/gitlabDBFile.age @@ -1,16 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ ftjELdkpa8wjJxbYaFbOlrg2yD1JeAy8OjcGCOz5QUA -oeSpDw7dg3cP0cSB5pGybIEgpkwq04zkMBNMIllUz0Y --> ssh-ed25519 ugHWWw Kai5uGjk8HTglzi/bdpnowCJopsuydjilhk72VIn3y0 -/9kjg4DjrFh9ImOxUkGiPnJhYYmlP2Nb41PcBck0vUI --> ssh-ed25519 UU9RSA xV3Qwi37Ra66IWNP5suyAmjIReGIj+ffwwf6/uPAwDk -MC3bk7UAjUq/lcO14CfrTtMcCBiYSaj+5/NzGdY5oQg --> ssh-ed25519 yqm35A uiLM3OVHD6eKrZZpe652qPYYSVbMoP0UvEhtD79Nvzw -7W+0JJKblQmNOOYkbExZxaForJTaHXv5KBTwabVcSKc --> 6o-grease M r.cI Xhk -JQTE6H6YJb9LuuzPhdolIFd6EQGMwa6sOEwDZ66D0gE+bXKEhj9wJbUU2dJoUfAs -xgsVPmMZpXjp/MmXrBXNbYmwARziLspJwPW1N5KBM+zj5dlTmpY1l1S6wxbPOTjX -WwU ---- x1L5p2ENivfoJHqRBfndkzojus5Q0rctQOVj9qut5s0 -0c=i3 [* (]83YXe\Z -Cl\v$N,_{̢CɛMޏhv?wsrrtN \ No newline at end of file +-> ssh-ed25519 WceKOQ b9+AasMklXdDJvNzaEd/sh9HJ+SDcgwF4dbryk/rrwI +AWD89EOgpvL24jCPLRlhAg1b/6rwaCX/jONULgOkrFU +-> ssh-ed25519 ugHWWw 2WWyI3Xhd0oVWDyTAv1W5quE9Rco7w7p6HVfPHP28CU +SJfRG8yHteoUaM/V7vHlHG2XYmIfbjOiispobT0cBXg +-> ssh-ed25519 UU9RSA GpTYwOKjRU4xNXZQ+Cd4DcbMbNy/9DTE9qcRonZj0zk +aHqBALdAnGMMmmUsbrfBJgmD13fDuMcWa2WMf2Dwe+M +-> ssh-ed25519 RJI3BA RdzGEnQykpZzcKWyjSUynltDhijPWJPrR1knhAedvEk +bMvdyaQpLca19Sejn/DG0IN0HkqpmuWIarhc0Bqd610 +-> I5PWX-grease +doGrcnZB+gt9co3chYiimN0+g4SabKtOVJ4 +--- C9VuCDj9K/ECbvBR+GOa/tkUB+66v0jXwIlSAykFcu8 +F"n[tx1NANR,-A5tH1k@X;JfȨT1\A{W~E8hM7AD^29tFmMg@Go)Vfs;K*~MNJ7D{{;&^)|1H46F~VN(wbJaP;wUtu)N4vds3-j&d@|OmhheCy^K&lGb}cb7bJBN=1X<@?WaOV>lc$?rl$uza$`xT) z=B{m&o$2aal<8aIos@48ZW84lTAr938IoI-8fSYT1^5fG6U9^h+K z?w6DnoS5Ng7?97UUFlkyQ7E|p9307|tE;P!k`-Z) z=Vsz<9PAkCU23kKoA2V2nO{`qkx`Nv9ueV_VwCL|5n}9`k($r-&8>>Dy3}!^&eG~aZ_z7GclPdu#me7i?PRN6Ms{q*q@t1e0b E07ORB{Qv*} delta 579 zcmZ3(`h#VHPQ6=EnX6Y+Mq-4Upe?sd-q5YjUukWvGW^VyQ=dm8X7IMP6Z9WwyUlU|E=nFPE;JLUD11 zZfc5=si~o*LTS23czC%&mU~jLg=esrwsvv3sadgplv_x-qoJc=c0jqaL2zN2u~BeU zYC(2dxkqp@S3qj2g-3d6S)xx#vWH8hqjOP^QKWX2S8A}QqhWEXV`@@)mS;h^caUlE z#E;_j1)=(`nQq!)k!HDOt{DL-;U?u#m7bM3`YE1a{z-0y#`;CRX+gzaL9Y2+u0^4y zC9c|8>87Q|WuA#9=8+N3IfWVJ`X(V3<|gT-#W`Vx8HwhZS(c9IKB+9sH8yorFmv+s z&M*l|H`6Z2^C`DXa;mpT%rwlctgK3N364l93<~x%vD7y)49`zb=Bf&{$S6xp_YL$l z^)Ai#v-BybbdR#kcF(MGtul!+jr2D)$*K&fNDp@M1X*X28K9e9l$uzasu1a{kZ2g~ zTWQ3VSf-zpu3zXB<`U^XPbKlw+Qe@8ig&tE;O}?w;lz zkrm)knVX*L9jfgXrk|znYM7pzV-XdcnPeH}6;hf}Vd~+LR#nb*p*`RBmfEBSwob>_d*)`OWoTvDug!RLT9@;7(Qo^s$|81` z1y_VcsD+=iXOw<~QL&?sVMa-gVNRJ(fM>RkerBY9c3xU}iE(6kS%yctCzr0BLUD11 zZfc5=si~o*LTS23czC%&RdAYlo_A2TSB`c@wv(ZSpIeAiscCkxYniscfoq1Nd%AaF zo_1l7MNxSqmurr`TYyV$rD;mIpKm~(iFbH$o_lenQKoO2e|m~DbA?{0Uia8W=6hTZppdk z$*!3uhGjX)MwLdErirFS`k9Fl`eBZ)Wy$%4$r;9F-kBAKk$%4DJ_+*jG9OROx?OIe~p>6J68EjD+995W;o$KvVpKTEonN?-3Z)jpx=wpd!a8ft#l5*_I$^5T#6vyp*VbChd*nAq!f5wfUyG3M zil%k}Ql91O%s775z7O&F1nG4oD7nVBKbLvY$hFaZk-s0ou;#qvxbf+mF z^{(s5|9Sf7?%wIYY=3Qfbw_pIBcs13bGl+S%<$8(dowR=Qj&69M-jnFpnUx!xh8XN$925}(yE&lE)jIl*cVy<5cc->F1YO+uKdoZx?j{+= zKRQuMITnijzqHab=90SaypYfLmsn10nzQApj?hiMASdP@6_(ZI6%4=jC?0kDc!ITc z)67;6=Vgk;^ENYGx>mQQ@y`9&jQVquV)i@@%Fl~Kk}^}2tklzV7o=)4EGjXYIeUB7 z-l}e^o8P_%3BOG>?z|Ux+);PI=_C3(YZXPFo^1W{yGtgnczun``J}1m?`}F8dY|=5 zivXv>+^wr$#jT$6!s0|T`(5r2pJMJ8IW}dVXbqZr=YC?vq?wgklYMms4!q~MVi$I= z-c}}-{b=2_=@J^h=Ir3P{k%O{YsadeW)s)Ho)!=qHaYnkQ{}{?-s}9FFMs8Wm+ozH zC|I!g+RCW{>}}om${dRg_Q>p)(r?N$RcB~+m{wMq+v$|P>AAvltJ5=5eZqd6DRMNi zZj)~NbmD)oz?U^yTas>RtX)~LUGDIl-QPSn?tfb!u<3!(nKhSqmad2n=u3~^AI;Fu zY%GwGtLU-CTMsZ9zOW=AI#bL~Cv#IWx7y}c`s?RnLISJ7+Q&KDeW>nbvHpO~fn zX?63EsImOAv_PNZ&ZgM-_Gx!iv=pYhT-xMVf8Eyd^u--VHf< zpV}sEar12Nud7cx*#7@1`}XKP2?A5ydmPqg#UC&~x$f&xdjY>^`DsQri~mJrYX*xw z-KhHSnr=nCoadv+EHCNuzy4oWon7gpSM$Fr$$h6z;O8aD+@|-fw_l!SxKHO^XSVJA zSbqg6VV^z!t+z;hnNyrL{a0&9r*4qNY?X8KAFX%w(Jx~$wsn73e```q=%s_}1KRj^ zEdE-xYM1M@aFq*BWIh$mXJ;*ZrImd8&DM>Rgsp9=U;Hx>R&32Fa@SSlwU*Eeni*_z z;FY-RiOEi^X3ByZ7W~&|?22yv^x?GM%d}M|KfoHLJFwCURj?$HhS;P_+Ls)@?Gx8~Gcc(4B4 z_SwWhW#jqD`MW=TQa@?1AtRl0>*bKW3-!WT^%&ipLgQ0rryakMcQ7g|KP$guVPXZV zv(Bg0AKP`$-INKBVZO#(q)<`i()UKxRigUc{8bt3^1Qv}zX} z+v)x<%|I%6Nx=U%59Lhr{8`4Kkfgr+4ZMi1#qppI`6iOqu|YJ z3O8@{8?yx%hD)F7J$&r-$qC28kFu1>3b*}{m@X{)W*wjA{mg~-Hzsucys>nGC)2eT znsv8bTmtKMwVvlP`1UDzvzf|i|65b<&%gLducC2!poqSW-=uwN$E6>X7TbKh^S@JT z(f{A~S6JEUX|roQUE|y)ULVSRNn@>x{==zkMzglh(cnG#{&J3R-PIX9<}CcW)?a02 zTsgWX-l1yap#zCGSuE#nQlGjw?@NS0$l=v5jqzgxM#v72F1KuMl*f(2b{NyO^iyOv2J=%YGQG!LQJMY zCResgVwO*sWmT$ENJUgYscT48SZ0u;e^Fs}W<@|*kYh@HPC%KqBbTnOu0n>FzEhsQ ze@L01VNs@sUr2F9T8K-QcBYSyfkl*KmO*Anlu=-Kg}Zl%Bi9f9ns&F8ys4Y= zaR2kAdYwLNZ+>{aQD^S1&7#_W-mOWSr1o#~-U<9K#g{!;{-kvFL0L|(%;|RPR_s=q zq_E)FdxM%;jQS}x^;7>P8nNbHzRN7!r}n*V_2O6Rt3LYX#xHk%5D>fJa8UmbU$fbJ zVh_a6IqZ5(?&9&INuP6T)f^8bv#}*b`7GIL7?)){Mc=IZWY~#RNvAS}ZxUYl|E72H z*c*3E4Xe5Rde?%4d7%n2Lhn~;T$pj^tKl*R$-=fLigNljYmaTv4tiFG2;6x2^mZ)m&mf&&EkO?)&=q`Sn_gKZCWRW2Swzpa`2hT_)}Rs%630@Y=XK(q(f#e|ICtqXEoNj+>GuGvybw2Dn1-=ZDLh@ z0avgLpJ#rw&*O))x@I-ye>uN!msto;ozK^{vP9-}MvW)RmG&?motSe)Hh*{SI!%Rk z4dWZ(`?eUFZNG7E?pZoTrG8|q6%^K>~Ea910-CW(HUQKD*NW|Y$X zv3Fy%s@1&X8#iA`6mC7Us7@y!)OOy+e`OC$qprIbNA3>f-u%_5(cZ42LLznPZq|Rg zU(ZxezSZg;H+jL9DW*q7&I{%1>lGFX|9HCXtb0{Z!%dmIKic}QRyiMGQCMEa5Hjhn z`-b~Mnny0xpKa(4m7Hh0qi<6&JW`CHz_z1m(${@nZ&JD&%)xfdhtiydnP@voP0Gk&nGQi6( z^yMufp&5QJze-t27m{B>?a#4dZU|G!%H8&x0X;5hrqU~|8u$b?U?BMya5e4c9?-p%r8tM(hM zGt-;2Q{z{&Oel;#I&lgA)cQZE_l)>_wA+8ayO=#|(drkys?A>v=lwqTQTU|#z1zX6 zKNHe9cUq=f8J13TmTmWB-`4xWFKyn7o{jaZ-&nPIJ&f1?nJ?AcajQ>y{^r?d=e$ed zkyQFGBf7N3Z<#`n>dpjt|DRKnn@r4-7LD-b)w{< z%?p(*pY6SQ{k_$rC5@t9UtarJ=lwY)T&>!<^4HxL`qC7UB_$kRuK#+mO5)tI zPYoTaQNPZpW$V37@K~{PYWs_sEtS2+ZOQQhYa@9g?DC#lu99+zpZiZjcJs@ZLOWtS zUQXBFvQj?bZ&Cc|{zETj?$wVn(~M4Z|6gRa+P3K7@#g~Pt|Xsbr}Fgq6`SajHgk{e z-f&MSFDZP{=Dkn-Kbu|3t2iz#m?8eZvQPU~_Po_Lo@=g`#7wiXh>XiRpQyU@USLn5 zw*IZp>-Rp|?7d!6q2bosG^rSk0yU6zg>N;Xm`oS|J>u7nf%+Q ssh-ed25519 WceKOQ /lham6ro2h/i/o5ziRX3yt6g24K6HM4YMZ7tAZ9bfmE -BzTv3RPKKJlOrtueziAD1WMy9adhVTz+F57dPvIRENI --> ssh-ed25519 ugHWWw WdBsjtniI+bGBE/O2jnoFImNpN1cph2Auf6RF18Cvkc -26Vj7/dhz4fwmlK0MDbHXGG94I4OHig3JvhEIkCG9JM --> ssh-ed25519 UU9RSA zomfHM5eAReQEEvU3vRafn3tzv3oYrN1KyjLk7tfWV4 -5WOXTB2pta8HY8gSaZldRKhU1jx79D+LNLfMXTYfkso --> ssh-ed25519 yqm35A 0A4wVoIp6NRl3qTFfeg7D4+JlMOCVjP5KnNC+YZKwz8 -Pn5ZZCXDFTqDNRvM7ZsSzuB6k7aQunFGPK3jVvQe/gs --> -Ef[-grease -+dO1U5SNWP2oLlU+htpGiUYnYg22yF21q3tooMpTHXzYfVtNgGMcHTSAXj1HbeM4 -ZUJ1R2uOPY4WefwDxNSsAg ---- JRUjIjsbKdlnfDIcXwuogRvY+yBhwwk3p0UzyT3HEEE -Հ??_1bs\s75K5[B.)XZVuՇb$8 ).*@Q;c +Ҙ]YPg\SVbC \ No newline at end of file +-> ssh-ed25519 WceKOQ HoIpD3NepjL1py9zYTHxwIBTGxUS8J/+0/APhkz43R0 +AALK9sE9tEz7KFGcbkBAU+wDoHz0Ogs5zJwNLDzO7a4 +-> ssh-ed25519 ugHWWw hpXFFD/0SLtVHV2B5BLJHbU75TSyEL7us8SbVltS5H8 +5M2C5Y8TWWdd6EFj3iCnNOtJ1kLvzI+WyGYIE4f99PY +-> ssh-ed25519 UU9RSA D3Jcvp3+brjFDPnama0Jl4aPE1GyDOlGjqmRVobLd2w +vbeYhGCjnQcXJN49qXOUl1obzHfc4VdocnyzQUH0brE +-> ssh-ed25519 RJI3BA IHGNJql5H1r57GGgMh3VJPGVK3Yh9/uq7WZpuRRE/Ds +v6PE59/uveUZWhqTBiivNdeZqtKD52lJS2fwMw5Zrsg +-> _g_k\S-grease 1``2X +Z6Dr1RR3ZE7TR2SF2AUhSP6A/ZTK9+iBlcIlUUKORQUpoc3OLt0AFCqU88MzRXk+ +wolJUYa+mj8dziER0JLxLSmVCXXFu26BM/MfbaTaNtaJ2WlYZ3ZS9NwY9VCKwGkq +fQ +--- /WMR7sWzCVbzNFaeonUXeYziChhFvgqDitvFP6+pUc0 +zӞjr'54鈡( uwOpn~)}<^CAF0gX胥qLJl +$O^|kw;m@bqG𢐴&Z(M8 diff --git a/secrets/gitlabSecretFile.age b/secrets/gitlabSecretFile.age index 2f672476..e8b9cc25 100644 --- a/secrets/gitlabSecretFile.age +++ b/secrets/gitlabSecretFile.age @@ -1,14 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ yjAMn/mUv2KsHYr17wcqqHdtuPO4SdjFXFCvQnOHjF4 -F+eh/BpzrBw37O/pQpPu92846W3SwAzgSyujDuD3uU4 --> ssh-ed25519 ugHWWw tw/quweHQjz0HsHZmsLRngJb6oT0e8f5jFPqqw9ux0Y -BKfOV9+xL1uEk50urbwOSVS3Sn7QXVX+KbLTNH8HqMw --> ssh-ed25519 UU9RSA x4/sFTnitODlgtyO07UF+X9Kff0sj2jcTJrA37sDyRs -7+bswl1nv4I0XmFjJCiES+G9+w9VeLK82RdmLcbdlb4 --> ssh-ed25519 yqm35A BjI00JyLCUbamD/K4+FpuUIAv/wiNVHD9coJZ4aCOCc -TW5JRbAITa6dgu8BRRU6SBuyutEzAwMta3GVqmFIcSo --> $|_=-grease 1) ]oX +<4@W0/A -SWSybdIzij8SrcIBUqIuBaXOyQgyzSXRZlJ8vbcSNk8RQWU ---- LaiAgQq8rY4fUjjERN4vHLnXKTVq7CbOOZtScEDkPqY -A~ ->fVV,P!Кzس+eGv0z&5Id Ox+EDGc驉4oM6+{u?x &};A\ \ No newline at end of file +-> ssh-ed25519 WceKOQ Mij75ZZ6ZkEWBeT7oVRZ2YihXQQBTtQVZS8BDuxxuCM +8X8zp8NtutWQ/1sB6P+JrV1ScAlMMni0rtJ4mmvO+Ro +-> ssh-ed25519 ugHWWw J2D9VkJ9CxbdJUKUfmL7UdbeVyyJLmt2oJ2cKaX7fC8 +B5tTxccNrepoBrVQR8F2DC1oM0bN+iKYg8Ot0scrPWU +-> ssh-ed25519 UU9RSA m04wst9rOG+SDglrF90J8jCFY+rB06H2dgfdXd62UVs +4FZTRyeT4bx3E+cnTtyBI9C/m3XIYbXIq7eWz79/SjQ +-> ssh-ed25519 RJI3BA 4gi2v5Z+LtCqrj2YiEvmPlJlPnXgr7PQwzh67DA5Uxo +e1W0Q8Fb52MwYFlgI0uvFEnaS78bHyVdeg9ehk0F2rk +-> aH-grease ],3b@i mp_ 3m=!n!f +2ryDTLBvpf2ddjP1gzRfqFbvsYJvttaIhQ +--- +9bjbQrzG0BKCKnm6Xwinq4VTz7GbrndR4VkdM+L3Rg +uBKHmjN<.SUȬS Bs:+,Q }ýrPK2& +ٓڜ".QEN?Fɘ:н-/avq[ \ No newline at end of file diff --git a/secrets/hedgedocSecret.age b/secrets/hedgedocSecret.age index ffe9f8e6..a3c7a631 100644 --- a/secrets/hedgedocSecret.age +++ b/secrets/hedgedocSecret.age @@ -1,14 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ n3u3jXLpyL2JYTaE1nDUXxA2KFFuwL01kVd6MPm25yM -AuzrWm/Zq3xZr63Dva2AzvH5RM+ULDKEerFuO+roVI4 --> ssh-ed25519 ugHWWw 6Im4/TIMtVo7DskO33Jtb0SSngwFmXdTiq8gppNpTT0 -Na7aOJT73/LtAF9FWonvhTsovCF4O6PPp5NfdeNj13M --> ssh-ed25519 UU9RSA F1MTANZAIdeX6jbMYNVvoYQzwHGyg9Umo1pEnEOymSs -bN8r8+PYKP9fpWhFU5RVOjEYeTpBQ+kS05Rbk6cVwrg --> ssh-ed25519 yqm35A hqQJwkG+0CM2NKH5A4tsqfK43eaocwfAG1LZNAlnpFo -Rjs3mTe5/iumoAnTb6v8tMJDhOY/N+SDBvjwenoZcls --> 3@[B.D!_-grease d*d7 -nQdanXQsb0cz/NP640uvxVuJqduDZRfnaxBHm0480XR5/BOd1FrDnR3Vrpi/iP/H -KoCPcmE ---- WLBvSCFW7W5dZgnbND4wOwC/Rtfyx0wFJ9STuUP4FVM -)Gͅ/i}rpU.lGamXڼfBCE|LɁik1)3 \ No newline at end of file +-> ssh-ed25519 WceKOQ w1wDgTtQhmW+jPlInHeNZlRyLrZoSZEC4XDeX55jORg +k6Km7YhewQ8NoJQvF6l6j9dS0322jzxvLey5nrMb7dA +-> ssh-ed25519 ugHWWw /a3Xdowz468Ewe1MOyoqqtocJB/laWLBtYoVipo+jX8 +6zlbJ0OxHQlfjgl6n64s7Q5yT7iNP+Zhk/mODIk73XQ +-> ssh-ed25519 UU9RSA wIIuiTfXRBNJSXK0zKrdeb3hC0zj6WOV1y6u4Y0kIks +P0N8twgZZfz/r7s0lvqex0m0FKj/X45AKoVqxz7D/Yo +-> ssh-ed25519 RJI3BA 3PkMh4ZCFVRsrZI7MSev2y5j7Z7oM74Zt8q3dStVEUA +EJGFUDH/2hx/FLWpxXzxzddXwL6gj0Vj4JjU8sNWMM0 +-> 5?yb^-grease @KZJB{q9 +KaDLx4IhqaWizNeWc+4M7miT9q3zYfI +--- ustDTdnwadbcz5iKvADbiyVWVOX1jTn5cA9j4iFYAJA +,5' g3vd\ , y2k}4]#U~, @'y_] \ No newline at end of file diff --git a/secrets/mailmoverConf.age b/secrets/mailmoverConf.age index 7be50d5f7d540ee54d212653acbce0974a345f3e..4188ee82cd3fd11022de2745a8e0198948b24b91 100644 GIT binary patch delta 1004 zcmZ3(F_&Y4PQ8n3V0o~gXF-OEqkdX;NN`$3TDgmn#4YMP6QU$I+2MU+Xp zSB|z}MU+b*SB8;^uR)ZPuXd41q={F6i-kd9vT3+WR&bb4T9r$IYlcT@TC%=JZk1c{ z#E;_j0TCwpIYnMUzLCC8;ZflxA(@^@c~O?(!BHN?F1{97K82R0uI5gWQROCFk=|jh znI8Hs>8aZJWlklfi3R1Z&hEzLZstB!9_C)gS*Dq3fnMfi!I_chJ_+*jGRKt4hgF^7II{;4(Llbac~q$<9eh z4s!Ij3{1&%wa^bOun3JRH!pJc^#~2EO3lf4_6&Co1X&kjVvujHn_iTfSe&Y0nBt>Q zRM`AU*#DPKGR8QEpgn;Z_nF zk!j)X6cSKXWo+qX9-5k#9G01!5|rlY;>#sx+V)$)!Rl+T__sd=nHyX1EPSf{{Q%N=1y7JmErhInM$+lzR>K9dObj9|cWmT*GswFxV$Hx`}y?Fw#i#J{l90Pc(t!N)3t0zfxAR6p9^p7!mZWcXYOoe z;40`27fXm`*P3fR`#t}Yh6B+iCr>W1{dG*=qIK0Q!;+)sWs)j~{_lBsG&FbBqjKx0 zE-v2S3s3Yk1o+$v_FuU;^F{r&LfHq+2h(<^p7FNu?Ub7P z;&az*y=(m8)|uV2Wn=$Xtg3gNu+rdf{QAe!PVansXWLiitQBvsnkaqyvgCSuLExzs zylhIv0S&yrZ-2}{;1E+s?_JnaP?D)nRaUO0U#fOhhQ49CrK4Mli&Lq-XPUO5V?bf0 z30GoeqKRLbp|fj&se5E(vXi54igt*luW50jc0`4jhlf+HTUu12S!G68D3`9CLUD11 zZfc5=si~o*LTS23czC%&prN_GtE*W_k*k4!cxYw5ms^ytubYdDYe9CUQEqW~sJoG$ zyK{JGWI$ z#E;_jZXRwK8LlQKsS%EW+NnWV=Kh9ZVMZx|N#Ul!`YELW?vDBCMUGDCnFgL*sUe|G znTDPvRms{u5vlHh8E$U5r50WRLB?gJk(o)U-YEr@#@XgM&RNOmKB+9sH8yor2=FY* zc1`lq4l5}1$u%+!H>vk1Dk+Ne@+&Pd&dDk&bMy5}%5*NaNGo=WMLp>g!+Og^p?s-2sdQ3H|i@$48_WGvH!=0r@yO%S_d(TdMbx-KLDa+d0 zgWGh4V#KD;I@bQN^;U4#+jFN)YM;tXSafIkrUS3N?uss5@XXu(N_}#)Y0`7+4O5Q# zhNtP==qx(jbV75>Ws3`)arZ;obASBXabs%!HGVGR1oc%CE}o@(H=a;nlAe5S<{1TZ zuT^b*i4t4wcU?{VYVTqh&p6X@YQNfv^L9?E+vE1lHRxx~%2<^vWp%!8gU@%{H08}V zUYz>$&4g=Nb4zLeh43dOx~ZG%6<2b4)tq>9N-(*3=jGLBEEsgnYOE){n|NeLsNjZ> z3w-S71QquftckrZH_!KPlc7UUe`fNdyVou<-~IK;UoGg@{GT>kUz}jiPH;OPBX_vX z$sj`W+x)$|r}6g->Micw)Xn*~_Ek>&`Sf+tw|5zr&2U_j{dbBD^UIB2wlK&B@%w;eyuT2duF_J9@0J(;iCjbBd diff --git a/secrets/matrixSecrets.age b/secrets/matrixSecrets.age index 514959df..75b1e447 100644 --- a/secrets/matrixSecrets.age +++ b/secrets/matrixSecrets.age @@ -1,13 +1,17 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ eEZvYWCG2EVC11UIinRUA2K/7YlmduL+1pvnnz+MawQ -VnmUxjL1GeZTKhb+hQrQbbvGmXoacukoQ82qfTGQcnk --> ssh-ed25519 ugHWWw I9G1S7oFjqcbW8axnMpqNJdBqs9VY2+1z1WUZ0wpuBU -2iR7EsxMXFJGqMkf+okIL5ZJ4TrJaliQ5Hu+rRRav0M --> ssh-ed25519 UU9RSA EI9Bmyv2cULFAkYubVK3N1iyrNl2IbG6pjDGFoCz+z4 -ZYdVKoA2N61UBQ+1MV6eO0HJpmuHz+BJ+lXUru1wxIc --> ssh-ed25519 yqm35A FItjF+xpgmsCzEFjm4VrdV3pV88ZbzWBiXVdD5fpTmE -Cg6Ch09rQpmeZ+O10Z3zm2Q6eOwXwu/Gd7fQ56rpgV8 --> AwK-grease 7I -QX2e1cYE/0RZP0H6 ---- TZJgtBFJBRpOwZRtT60cDtNo1UanyicGpp5ZsPXlFpg -(.̾q hY373>pI'\#$}b7畼zA I2V ky ́pGOXbM) \ No newline at end of file +-> ssh-ed25519 WceKOQ yBLQvCqjIQA0q/Glv9FunViOneSc/5cOZ4L2ypejUUA +eXGBJJev6Sg8ots60v6WmWjmL5CdLIe+WZolG1KAAdM +-> ssh-ed25519 ugHWWw j0Q/slfBhJkUn6ordv29nXvV8PZ+WZFssloOoctZw2E +01B8HjQIGj/PTvZQJoE4VWX5jJvLmRgRJQP8Ixzeppw +-> ssh-ed25519 UU9RSA ax0Z9moz6KFZri7+SscwfWGL7oFFkv40ntABh3Mak0w +Mk0K25rpAPdNKsRVNeYoE9WRaijbodwsWIDNkQ2xfGw +-> ssh-ed25519 RJI3BA mYzc7giL48yqCuB1EXsoUbR6OVeKn3/M8fXEu+PX/Qw +SuWnSNiDoTwBR4s9Uw95w2yzN8C/ksmFrPj6YYsX+zI +-> T6l-grease z=1o C;#$J>xO Usu,q +MO4MzS0K5WAfD5kF01ngoRJF5b7k1svRZFi4bHDCBRAuddkXAodIlzNzvc7vGRHd +9ToYAz/NJUsZUkZq9HLEnL52gYwTGek6UdUirfQP9g4tpLozvVBewRJf4Mbsu+Cv +/Q +--- QPx8XT//3P3rmR3up98qVJJhRqme4+tYVhOxK+8l10U +槩'[ +BL~Ǜ?מ/# +,#{Z;RW6n<Rf'[%w8ɐtVOya9O\ \ No newline at end of file diff --git a/secrets/msmtprc.age b/secrets/msmtprc.age index 972bfd757bd4c585b585efecc1f0a4914c7a0495..19079ad2c6ded37f9d8fa00c3466f569de40be2f 100644 GIT binary patch literal 1210 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIO;0Ne&3j zhzKrEE-lJ+ax`)`b1E=P39U%X&nhWOPc=6QE+|Q@DzuEK2;?&MHZ3(U&dQ63aPv1P zPpfdPbaFFFHw-q@H%v>mOg3~$wkYww3PiUpG}JOE*ioT8G19Ck+ds)7r^4LQ zC%wecE7i+C$Uxtq)G#6>+`}x=-NQW~DpB9d*nq3VGAS@SHP0#0%`(|6*rLSH)xycc zvM9~d%h5Z)$T7e-s?aadFF!Xj)B@eMATLj2Cr5?c$o$O0P`^m$)D(}3u(a^Rpp;6Z zqNwm>|47Re7o+5`oWQ6`OLtGVU=yye{H&s^ytGP7(+sDy0_P&X^!#+!5ErB3w5l@K zB=g9mst^y4kPrhuLkzzK>4z1U1SuU$)RfGn3 zCAn%l2bbnVxjI=mxpJAMrMNn$m+Ge!_?u;v`9(T==9GtrSh{8yn|XQ|32eswg8_-`zVcFSR(_A|=bY(89>sI3&l?&nF|IC^y6< zGR!m5F`vt#I433Dv&1toG~LL}$t2RpGuJscv9c=1$Sk$cCnGD{)i^5EH_0q7G#TAC z6SI`E!gPhmyquiGbbrSjLyMqr)3nlniXtDcsL&!G$H-K_BvlzepC!jn_I{R0)! zLOcUZa)L^eosBHrU44=w&5A+--CRloi*rp1s+>I{O^vhsDgrWd6q7N>Hh z_~dv+IU0p!d1aLt6__T5hFLfU80%XWl?JB-BnCNG1V)58x&}n%WLFrbN2Nx1lsFj% z2bYxlMR|rgrE}@(>MA(;6%=F}mxPB0`bHI4m?aiOn&r3zX6B|Bh89Hz`DOVg`DcYz z6}YBa7IWo)HZ*XMyQT5>zF1$+p_rUo6ZfBXDU{^;yuUr~n^o!Smv;r4GG-b5*VR?D z$XQYMNjrXGhX47c((4&@B+fFNojWfnq1dkKoUi#t>os938-pf&eYks$;`!%qE{a|> z-(4m2vG&a5lEhoruZ!PqE8KJBqRayq6IOPUjD`8P7EhGhsPn%2*xG#Wj+8#GXp0TM zUY%HWM#N#!;X@fgTyw6tORRsjeAE1yle(R+&G_T+U}{Zk_*dy`L5orn;3uHJPXcWbmi&(b~|0}`CJLsMDgHHe_nq!Prb#EbAjd7o%6jRtwJoC z&XP~picIIaS`iZRzDe7z`F+sm<3G;3FR)@i_U=m10e7aFN-geXZldDbXG@&CQsUJJ E0LAXN_5c6? literal 1282 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FITWEHqY_X zPcQZ?G${6QD>I5Riz-j@@(<0>_AArRvNVe-F|zbA4!6w6u;8kUN({;MF)}c6jVv|D zs_^#@^$RM>Nip=yFE4krC`k&cw9t+yvj{Z_Nk+FVG}JOE*ij)OEz_eUIVjQ~E!?fd z)zd5>-6zDtCD17#+q@{E(5tkuS4-!_G7P`D1p8N}q${LHh576IR+trg85u+r={pCPCx&Q8Cc9bqdlZG{ z`6dS%lvL-n1D6BF~I48#3h@&ig-gTW!`q#v)FUX+?xoT^Y5QWfl| z;9#BR9G+;btYEFD5^7%L?5&XMujj-S5EA9>66WQW=8~OcS`?7wSDK>jmXniXR^aEK zT2W}JpO|Qxof?oI?wjvgEsz<9O+-m72p)E@03?m=BjblUxvB?pdCenP};k%%!WVtKeE`oLOR;7v>-4TNM>(;N%}% znPe2U&sj%8{)d^8|FN z-aMXlWfH&kepX&H0h3ilYuC2FE7$w~j9ail?sfL&%e#wCPIO-Q%}tBRx2NYsfX?|6 z%{y*C-X8nC`2OjQr%!)wn*ZfrN9Hc~5Au^%r`~b5Pr7#Aih0X~siuvIxtYz!W_o@9 zJ#%5%p^!%_Zrs`_e)-wWU0*qX|UIVSlAf1g;^ z>UieDRu6WL$I^$5Qe ssh-ed25519 WceKOQ lOuhio6aaOvb4oq4veoYYBMC1yYdF4NtWnAh/lOmtB4 -OZ7osbB9dTkZwYT4mRTqM3OUbjGsU+u7+qV7E2o3OuU --> ssh-ed25519 ugHWWw VyFVB2yuSsVHTqZKR/nsoQMJcQfd0s+vk1Y2zq2r+3Q -djEwpHwRzo761CVncBJ/S0mM3Dt12nkDGEf8F0kB87c --> ssh-ed25519 UU9RSA 4c65O11kfxiW++STYkUvsy7gZZwk0Eea52ilcXtyGiM -BUaGhHxrdCA/VMVV/X+M7YDUUA7OSZWpZUr1TmtUORA --> ssh-ed25519 yqm35A Ycl1UjkpLJLZD/KhrV8lwqMZt1JaPBOXA5Y1oddxByk -sxsXAtOITNA84/nZfNWO+b201DqKzxkQgsacDQ4qlfg --> 'D3*6-grease 8:[~6B U #TV':8 Q -H2fXXegX5x2UA8QooaTgR4CS/rgWffxPHmlVIBYwiuYkML3a3OU8gszcpAs4 ---- dW6nBAoEWeYuOFlgiWUwgwwRGeEpI8AwFlFVd9Ybqlw -\рsJ5:!>,FHvUw~EKQ]&^=鸼DƹHFW"+?Eav+& \ No newline at end of file +-> ssh-ed25519 WceKOQ ofXeR/h70Q97/ZaES9aSqozXB4KcxMXdzA7wqR1yqwU +38BAUTvTRIZfG922VkNFp7QmRmBvdjI1y6opFrji6vo +-> ssh-ed25519 ugHWWw HO1aZyKKtQXhcQLw6qp78TjLpsaogQHyr/osaiywMCU +o/aKBz9ENEThTBOo3cxQ8cs9SlVcj7bxlQtgvk28mW4 +-> ssh-ed25519 UU9RSA xiErZurwx3omwAsJ95YzNmRtufLRdux5eF+i1gsKxhg +WxqGVUui+jXl9QwzXCx5qou+4TX2vYpErAEf/oUZKkI +-> ssh-ed25519 RJI3BA Yg7N2yedVv0NnvBkSkERUUaFBSGL8vW2192xoR9VYho +oOGIwCa6uMi3cc46R/rI6kZQwYqMAww6OW752KV+PwY +-> '-J6YKco-grease +Upcjx4f7BzZSgtv51Q +--- 8Ug9an7EuVoyoCvKZ8hTqWjCT4UXfh869Dq+Q/dPUfc +~$;3a!$ReoJBf>I0z$M4SFwoRJsyHb(%{a}~sj4Ex%+tj(nM>DBp}06h zH#Nn`)YQ;YAvDx7DA-XUDAh06G~CRzAh*iEFC#yvyxt_EpwKkaEi~6W$El#gqtMUI zJv1rRFv&2PE4#3yD$>-gz@;+Bq{62#N#EZz93&mt_vFr&&a-^jVd$J8`GGAqgx z-MSzzPh%%Xg$mP*^g!2A5B;DJUl%9OBsUKW-(-_CZO5vVMC06~Tz9kjlB^{6u+q$O z6E3&%0ArurLQ}^84_S8GmEHFuyvWn(J_(U zmD;-LMX8C!sS2JB{sGRCX8JgDGT>eGwjv;}ip^5nxUcpZJi9u$0Ny%P?W*#14 z`JSOcCg%P|S>_o=^;urw7LnPWiG}&u<~{)hrtW5*B_S07zPVh+{w~fD;o-rRMn*1K z?%n~p>ABu+Nd*z%mW9Pdp=AXYNk&125kXf&%D}{tw>ch8A@0Q?C)|H!7dC|_B zr(rI)y!u=Db-#9I&93XP?3%4;d4;>jnV&tpE_2?oc`Kvx4sR24nlHDu;+GdRaGC^I0jG{nt6J1^4MB`G7%tT3;lAjzPr(l0_kG%4JxOh3vc znaj<{Bg;QC(x<4>$GOPZ#KSzN(8tHg*jYQsEiKbCKh@1I*FPsbHA_3Am`m4Ap}06h zH#Nn`)YQ;YAvDx7DA-XU+0`uD&Bv%DILJN7&A=_V^c>3&){^&3iAl};N0ABGxuWe%)~s8NRN=B%+j=cFa65O%Dno53~k5apyZ5D zE|)3;^Ww5HGc$`Qi`<}+k}?ZRV~?`%662h(()1LIVt2E^kdz1)L-Vpwknd_jLUq%N zQWJ|)6%69kBYmuWxDq3Mf+C}eBV9w1qspqXiroW4lZukkB7AewxpZ}P6)Ln{yz)Ks z%Mgv@qReyh%}Ol|9i5E4{ByknTuNOtJh^rh_%bzoj$f1a(EQ?; z|K6Idr>u{$_1qUTy|_GPmeR8qnoEmktUPSqqxg5Zzv+we_wgYwuXz9Hapr9M9vGE> z(=q(VcFpD88Btzq?7T{!c+KcKS!35IRXAHVi!=CqrL1%2)?F62$|E>3WX}huh+MkK zu)X>E*5^$6dmpC;B^=iLu)q45w2%?B)h6! j2l4ObN$po|F8K8Q!i~mjY5X@%+6n4DDt*u>xg#3@wqWKH diff --git a/secrets/paperlessAdminPW.age b/secrets/paperlessAdminPW.age index 112b580d..b3ff91ae 100644 --- a/secrets/paperlessAdminPW.age +++ b/secrets/paperlessAdminPW.age @@ -1,13 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 IbXxfw EWdIdabXnDGXxOu34VcBYTFa4KQrRC8Y8ivW2+WTLXs -3oLH24hiiRVS5Hn5o01NmSG9gd6aHqbZDmRW4VbH//k --> ssh-ed25519 ugHWWw sdAAPBBAIJkgebQcWIR+tg0D9Y5azVyafHFkDjZLtSU -r1F4C7E1BYMyRUoBWt8/Q4rY6An+9vhDdJSvlur0Mwg --> ssh-ed25519 UU9RSA /Ok5w4QWJO1cB3Rw5/hvaIkUNYCPbDRi3brSqf0tWB8 -fPuZaIon6Puq+N+jxUpsO00hBZ6vrei/vWQjor6h9Vo --> ssh-ed25519 yqm35A 93dw5smJPW4RbgcVQNymJ5Zl4BTg9Z9C3YSdFk7mMl4 -EURXDN7/2sUA9wIjyoqTDCrQl600Wpc7QKc4YhRsiCM --> <3sx-grease f^h9GH # py -Q5YEwLO9Z4he6zc ---- drvKpikKIMxW/wjNDQHqUaY9bMKq9CG2jm5fKgjqjxU -D |t[Lqd,>o8e%I7vP .g^c՟']fDo \ No newline at end of file +-> ssh-ed25519 IbXxfw flY55GVc+5gTGtNCmA4QTL1DZ6w8LNmHCBI8DNeyIGE +ncTwV8OS12G1nUbxW2nSI7bhuf91q9QcUF/ZQZXLTGs +-> ssh-ed25519 ugHWWw hUvOdu87y2+7QGV9Kx6YjwZlofaERU05DmjN3zv/ZwY +riCqvpo0Uc/v8ompL14ENBkxsWbPFJTu6Fid5J76qbc +-> ssh-ed25519 UU9RSA 6FXp6sXqg+5osDjmZOi5wTmu9n+yMAiIjep8SbmzJWo ++azebeSNM4B+xsCNdGkt2omnPZXWDoPYdragTWky0rc +-> ssh-ed25519 RJI3BA 1wwP58dEl8xYdbsHS0ZjFGYZuivowryVdOWIXJsi40M +Fdcq1FHtEWrG36ucnik80sgwI8B/bcdUmjHLQlyLqeo +-> xf-grease e+ jDj`R Mu (G,2 +UFF1bXvGwOIE2fv0bd7HfTmRKzdo6w7mCVTg6teITcVjdGxQmrYdyw +--- ruQKbeYtNcXn28Xef/dwKjdOVDAEkNQNrzM6h+KYG4Q +韔M(}(Q*Ĥ0ںd>G6U=i i ]_kHI)pjWs \ No newline at end of file diff --git a/secrets/photoprismEnv.age b/secrets/photoprismEnv.age index cdc004bf3947b9509b464798d7e4eb2a89da74ad..1d976ddf68cbe58453aa905ee6d62982267534ae 100644 GIT binary patch delta 1359 zcmcb{^^a?UPJMu{pQV?NQ)NYRgsEjfc|cWmkfpIjut{oQWu$XhrD23Yv35X~Q<<;3 zBUe(eU%sD5aG_I_K|qwNvwl*AX>LY-K%kj-q^Y)1pjo-8lar~rZ+J+6BbTn7LUD11 zZfc5=si~o*LTS23czC&jsdkD_S*}yDpNX$ac|clPqMNq4Pey)ZdZuS&S-59GQL1*8 zzp-z&OO8P@S6)eJq@__*l|_MvaZZ|kn15w(xRGT4Awwu8!qgsR8*_ z7Cvc-PUYqvX5q!DhFOV0DV}MD+U}li=6RlxWq!pu9?szwX@M5#J_+*jGnq9Il}0p%a&yQx>6MlCPJkk*dOFp6_R3ndaEY^bk>*n2XC4+@oNO6nW?Wbq z6t11?7aEuqV36mP6`JqK<@ovTbm#y5k)DEGvX2&OJ3oELXY%2}GkvR;Pi0-coE!6N z=05xGAG+ZCzghJ&%TI{L&b+?wWc#nb%zK?5tp5{qXnON3rU<)3ZL8|LG@_&1XluS5L8@e^~au$-R2l*K%uZH@2NH zFMGhTRlL-YBmIIw;v(Tqch@u=S^E6@Y)+B6)7gL6TNiD!X4uGocD?!%^|jld%XINE zEzsE{WVy11DP2DO>CWj=4G%AF{dK6ZT*6*}_a_ca=nxwtpLCug^^Z)V8kTZBz zzr|^%VEV-M&o-aEy}p`*^{?!oTKV;6i?;8HylgT>#%;%Pm5{eiv3y(!`_vzQbXUmD zGRl8r$(D5a`<(JGXVTs`?K-1fTWaZhZP!NT))@&2JsXtIzqI2s-yL^B{?T%2_rUxY zm%9^m#Qz2beawjD+U|zwCsIm)RYXe0>9=T;ONIzHGydt5=FBixcp7xPOB&T0U{el{Qv*} delta 1319 zcmeyzb&YF+PQ726pQ)E&fn&I1V5w7p_933 zR;Wp8WKf7BS7>39cVK0axrITpk%e!GS4m{KX^3%zL0Wovm|u2Qx@T^hyK6?afuCpk z#E;_jm0lhJCZQFnZUseImOjN1`euQC`koQyW=;i0W#yKU-r7Fi&R)5e-WlawRfcZC zDVdHDCa#ew;RZP+xq03u!NtaTF6ku|nZ{|Z6<#@!d6r>OLD>fAKB+9sH8yorND2wb z&rCGWwn*|w3`q4cG^|f`E^>}6&h^#Ka|-s)%<)MIN%hQ6@`!K?<#I17vMBT_$_q0s zEA?|v$1&YTmtGW_Zt0$wSLRsGb;m+k-fk+x#@1XZf5zbafav3o3f`Ph z|EZ%~cl}Gnlllgay&?^{3(DMh-t{R)S$v+}xPw38$!ga-{(r9Sa9e&fS>!;c#Oq^1 zGk(=N3JIP~Y+dP5uQIiEvF_Cj-4FYt7tg;OKPzjJYh!rn_DtD-jjW#4Ol$T?owZ-K zBGvmWqoh&a6z_sd@!QwF-QH<-MaW#||7&Y@hvPk3O67Hd6RmFM+FFRX%dTSzXP*~X z6uv%ey4p==6;dhqCDZ|~*CU5qC`|C*K8w4k0_@_BCbS%vwm zJ6NLUP818jbfh+8*$Q6m%KO1?Zp&4R8aDRdV>CY0ylis!x@jM^9kiHBUfou`QM@H6 zdS3kzCMC!1Rx06r8|7F0<5!qv$@G+CYtN+Pj6TB5=dQ>9e0cRi%9_fL+pg@fQQiI2 z)kJF{Yx&$s>3ag*RF6De+{=^ks$Pv}Vfx#!eTMS+hb?d3j`6q@(!4T8`sGc95S`90 z?!PQEJF<Xrlu}`yX-Q_d>UL0#4Y(HBh z*6uRRt}ocgM#=uE}^Zmx{K_*E(o~zn3|JR#tFBB}TnSbbsRHUmo;&A(R6+|7R*H|=lv_vl{Ur6PuT#aWA|Rps$jemc=EvODQQ zee-k1gAE%TclFP_B=dhmMd0fnnZZTs1)o^*Uvq9~EIP=^C%iq{{&Vz$&Tkq3$vG=b diff --git a/secrets/picardResticHealthCheckUrl.age b/secrets/picardResticHealthCheckUrl.age index b9869b5e..023a6b2e 100644 --- a/secrets/picardResticHealthCheckUrl.age +++ b/secrets/picardResticHealthCheckUrl.age @@ -1,13 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ pTx54VFC2SW+QDaJbJjOmK2OxoMSnV/ajYCqyKHFYzg -Av19xyCszRkkhNKCHGqxP0Hxnd88qjbyS7UOVaBywQ4 --> ssh-ed25519 ugHWWw QFEEod3gCTXUc07t9vwhwFMCtVUkUDGez4FeQbad0VU -FIOYIkL4QxClbK+rdSY/i3XGaE1T2mA9+NUrhrEIv5g --> ssh-ed25519 UU9RSA rIy8DkpSIJ5qr0wWsk4wp749b5DvKWan+KsBj+30DXQ -MRF7D83RAemdGYbMWrg5OqNAhyCzwCq6lE24bNgBqyI --> ssh-ed25519 yqm35A mmgR6OxpefBI7gSjcN7bzqyBkb6AM1ojSnxpYOltTAc -UPf0w+x4UjfpZ+rEerrwq1JCUL6BjrEMz14Lzj+ljME --> $-grease Ycya Cj:~N &H1`Q'j w%,A -UikJw7v50qnlDNuE91khhmU ---- 5ECHHehTN8pGD5Qi1BbxBB4kQG+HuZy0vDDE7M0ELtY -B:QeܗF ssh-ed25519 WceKOQ FLnoAcRst2UMzIsBapoG2jVwt3CxX2laHMLCRX9Q7Gc +9KtsuTxlQnsxzBr1yUpDWLlKtm8q9fatOrNbePhMieA +-> ssh-ed25519 ugHWWw 243opN+v72OEsOgdYqzZySU3uEB/UHh5gYCo6gAOtlY +7IicwTKyDDwSLaZ/kqu2DBmJyn2ip1amGt5vEOuMizM +-> ssh-ed25519 UU9RSA 9VSN1u2zKE1KL4tXLRS+ouoqkXDdRSE8nC4mM+nLP3I +fK4eGYWesaAQSnQyjlt46dmkJlU2FpAL7ildRujLqn8 +-> ssh-ed25519 RJI3BA wnJs5EfZBp66tNdgx9Y25d4lAb+RVIoYdiIsQlpRfwg +4ASJcNoPBuvtCDm6NOeNihhtOp43mELbyXBsKSKjMuU +-> Ss~qy=$*-grease A20YZ?J N!xR-r ]|Ava<> +vWdAXn5cqDHxDb+0oZhJtQ7ZG+QxiqwW/gKY7cVJ +--- nghcbQbqWA2VlM+0jsIqBmQthsjuv9+1gQcekjZHHPc +mD~DИ?!m̓r^aԷjOҤezdhިFzr^KWyٽ?AI̊3X/_DA[ \ No newline at end of file diff --git a/secrets/picardResticPassword.age b/secrets/picardResticPassword.age index 8d345a54..cf7e3f88 100644 --- a/secrets/picardResticPassword.age +++ b/secrets/picardResticPassword.age @@ -1,14 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 WceKOQ ZVtkXRE3WKHnP3LQWidWgrjQKMO/+CmVh0wErqTTwUQ -xE+IKYpR2QHas3+0S4T1MWv8hMTzDXtCAwUTCA4Ibsg --> ssh-ed25519 ugHWWw aLnaBGnxWM64d3ETirqXHeO6aVFmaPNfKPklV2ZMkgo -HaW2hJ4Soffykgp1FVuS61CSn7OVwnklEBU7WO2UKK8 --> ssh-ed25519 UU9RSA zvijKaRpugMZHQ5d1J1BKJWIvLFZaih7kEu+dTEe8FU -kXxtTOhHQWVh7bvLYJlQmFcpj1e4nUXQPOVznnch/ac --> ssh-ed25519 yqm35A RmuKFtSrEB4r87600KBpJJMQvkbFSoa1D9vXHITkkUo -1eRldsBcyJPE6SO5LC02ZyBNSFHH8fiIJ6pdU/QA+TM --> 0"-grease *7 -E0QWHsRXPNHUOuVzGOk8Tr+1D6l+yp+vCk5lirAsTNg1+uLhOS3lVPE+YiTBFXzC -UTFEU0kQIN0KNrCfHToPYKh6hXvUMQ ---- AozCj0sYojaMSMJF5cL3s+8NhxBqfswkolKlhvjx0lQ -Q4$?'V;]UjĖ+>vsGϖ3˱z ҟl.\>!yK \ No newline at end of file +-> ssh-ed25519 WceKOQ 7As5oxIfq9FfRzrCj5q0VpO+PhcRzPyTFrjqbaO7zG8 +XAUVqPtaMAEtvBfte5L5mNrdbEN8S4jj1kOkf3fDFcE +-> ssh-ed25519 ugHWWw U6XyGWO6OfV+2zf/dgMVVVkWnRGYl8kB5sXCn4jR9Gs +avWsiPRwkvWFDLYeTLm+M7fhSpP6sdCOxq4AOD1dm/c +-> ssh-ed25519 UU9RSA +NCKHl7f4L6FQGl5vKTX9AFEbCG6K19DFJSxy0g8/z4 +yMql8nRtJkpreuZuJfqihHWwBVaRfuMTBAzXeA+oy9o +-> ssh-ed25519 RJI3BA 5kOFp1C7lSMhla05+WJn8VnFk3BqSWhx9q9IG9f0mGc +FtN4NxUSU1gz+LoSrGp3ezoXr0Fu1dfJg9yhrO/p7QE +-> gAT7IVf-grease 2m}Fb[ _hsN +qaTH1Vbg8+WRKf/SJA0 +--- J0vqUPn057VaFKkqc1Awa8fKSm70a/dm525lL2uKhec + ~@}^ƼQxWaWa v¦ksK$Y6k*x>x!grb<1]Bty(H \ No newline at end of file diff --git a/secrets/picardResticSSHKey.age b/secrets/picardResticSSHKey.age index c242e25e8c6baa1e42462db3f16041e05d87e449..19e34b251b52a4ecc97446e87f262d9f2ad3bbaf 100644 GIT binary patch delta 1035 zcmaFEzK3IiPQ6oVl0igCWI$<&b5y8tL|Iw6g_&1kNqVJkly+pXwzIxxxT#5HaY$vk zE0%Czr0BLUD11 zZfc5=si~o*LTS23czC%&ZdSgdn^%fOzIIlTgh1ueP_Ro4Z+IV76Iqs(zZe zaeA6|NJxbzSCL0fZkUU?M^SO8uWwqEnWwX9g|lx|m0?w|rMan3ikU%RX-QO-n|ZkJ z#E;_jQ59Z3DW;jG8O4q%rb$Ls?v9QnWs%uQrlDDR#l{uBegVdnIUf1?#+iX!p@EL2 z5dq!-X67ZvncBflWlp80fsQF&+IeQ~K^2~cx#8N0nW>5TX~pH}J_+*jGQ z2u?L~PxVdC&NL~?NilaX$SVx1C@|4>H#aN}2`&qW1X*Wq?h)o05u}@5l$uzas!$s1 zryg9Q5Y3eyYEV^Z;2NwQs2{5B>k*oo;~bDuQC658W@)NjZ(1A_>|Ji+SK<_C>Qa)E zZQxsJ6zuC=?3|bw;2UA!SrnYZRpei6uAfyFo^Nj9XcU(0mlS0XkmKf(kyK?=6{4Tv z>{#TK8<5VWtE;O}QBq{+mE;nU;p87u=@VS$VU(v`ToLACX;>6uYGzvE=IbAs7#fsW z5*El6|NF$o`n)4no=@(j3T~@=Z1bM=cSP2qF7MOQk6af{TDi%<+`#gD85YoeI;RZi%eCvR!H`kJ}3POT;H;X5z3|Bn|w_#{SFtE-*wc*NUR zYb%+Q*nAIl*PAf(AHS$J_4Ff$G7U|(kn$T+KQD?sPTBCrSL;~)r`ekhO}b;IU{hg{ zF>R8y7`IEG{0&i2XyAE#%p7BALx8%mc0PRT%kxfBwH!thu+Ob(D zb$Zvm(ofIMJ(Thdym9p1-K+KaA>Lt4hq*Gf_&x>S{CHr_Z2vp9awTU4#a8vHFs-^| zJ#qVYUBQrdQLRf3Pqz*@^w)9W-Ly;z`7NfdenmQxe%I<(GuXDQRjgjWW$Bu~UyX8Z zt*VxC>X`BSz73zqzZvgzuUBk4^OVKRp~iX2WRpb~XDs_)cx8XIg8Jtd8&6iho^Lf} zEC2aUX|CyAhYfCNEV$CBQ~0rVTTS$r6u;6l@Ady*S9#6*3WqR@b>L5 Nq9%(nH=D4W005irJH|AxO29DQi_kChpTU9c4lH_ zl$&;{rGJGlS4O^xznPJ1hPRh-U~WiZaH^BGc1gZlQMs#+VOnm!cA%M;ak95_ieXCm z#E;_juKGDeK9%N0{y_$2mMO_zj@ia3xdEk?{;q~8#YuUFo{?2~QTmC7<(c_h$wj&4 zRT)l^DL%#_j&7M%*%7XZ0cOFb?kS;pIbr%a>4{N6l?6^g`i2-jsVvMjHg!~}2n_eh z^RFoJ3P?1r^wbXytk1Iu4NQrs^mGmIt#Avdk_NjcXsp;Udn$2-oHsdJxiIcc!jD&x3cX3g^7 zQvWZ$-nb|56z7{)D>=nE`VOy2*4Q#}8^>k8C(Gr0|6MAu^vT#zUHNH(U1H+vlS@ym z)N&E!>17e)|1nFaJ}z~RLj%ji8T)rm5#K#!#++xd*%=I97v4U*b8nvI?Ipif-T%Go zS!n}g9Gvd6Q{t>n`sBuKo-4|F1L7jN=UVRcm^+#E$JVPq^>%#aPPy2& z{~V`u{+t>Sd*cTn|Oc%^!Eqce~B>x@OlTrBA-Emq)#N5%E>d lvFDff`UQ_`uUy^wH0QjUQ54S_c2Sl+fB(K-EhnS<2LS7Ak1GHG diff --git a/secrets/pulseLaunch.age b/secrets/pulseLaunch.age index fe9c16d96a409f0f7ec21f09c92b72164b8cec28..061e48362f72b31533ad705959903de01b3d0012 100644 GIT binary patch delta 1026 zcmcc4v4CTOPJL!%Mviu=X=;#@dwOx8MPZn4xoc2%gqxqXmsy6XPnvd_w~tq0mA*-? z1y_+rsBw|Ev#DEpVMUsGl23@YSA|h(nUSeQN|>9MpL{I@ zx~EsJM}&tjSB}1OR$;lbSGkvCs6|9kX|PwenVE}`b6|LuPoaB&SAm&}rDd{TMUjy! zx^+Qbp2kj&3aKW}VVNZ!{+?xN87bv?!D;ysLCGdQm6;{3etuCE=IO!pfgzF3-buwS z23&c;6*>9=hE-{1PRW%{;USg5egUZ!5lIEkX&HXTK9*q-0dAF%hGCZOjv(s-vvt#p zQWJ|)xx7O1J=`O5Lmex_6N6GqlcJJcOER?cOP$@S3@t)@Es84A5|dJ#LxMue&8o7h z%8R11%)Ep3OWeyX-0Dkx)BU(YTr3hRP0E7IvP?`POj2@l(z$eXbrswVDqKyC6U{t5 zi;Y8ztI~aZ3$z2xgUbAT{7QXubFxZZ(n`Zz(h390%DFCZ%kDnP*=|mIqEUL;;@GkY8;@?PuDh-?=cVMop38CH{QlO>bI5io-`!Vl zvF=CT&V4WH{lCVDDgS-3r;=~ONp;Qb%Oj>*OrOwmI9H?Zh2sgvjgBs>w}<_FD|h*b>F zT`UZu9owFS2qpiiTq-5)`B{0F%C3uN`6daehE!kCyYf&pU2KufuAK8~sh1v#W_}b} z@ao38Ypc(FtzLh-CpkAbuWFlab-4HRtE}h_ zkLa@X9PhvX_}lTd{3lcI&d`Ld>{cOj?pn9_1ZtNVy|?;dbf~^(Dd&ZAUuqui^<`yy IU?W%v0Hh_ag#Z8m delta 1082 zcmZ3$ah+p=PQ6Q1MO1K3d6B$HU`S!Qmq}%A zBv+naihfnPaao>QR(evUpKE}rmxZrcilc>_wtxyGiB3V~+M>BT|mNuHrDxjE^M78xFi=9#6D?x~*s9>uB2MHwme8O6zlK}BH| zu3TpNMdn2jj@g-hK1O9xdH(4^zQ#q76@eD+rjb$QrutPup@EqJW|_{8*&yrOb<>Md z6N^(75+nVM0t4!z6w1?;GqjVFs zOCySm-SbUc++9n`qUzJLQl0Zl3M@js3k{lS51^v&{6( zE1grE&3#LfO0&J9va8H1484`mL;S0Xf*s3?(=5$AoDIE`^ZgtHa$QXF%)K3xN<%6=x#}&in@byOWh7rX{3vJv zPy3HgLHn3&UdW#^+P6bEJ5wvotEYT{l7sr(t4)HbC!U7;Cp zSH-uh_r%QOS`v&!yT321&+hM2z91HD(Y{aS$NSlb`hLbtdCapm%dI(EE@gkE^#iZj z4RW{s3x-Ej?~*)ysO)n%TiCNxH7VUJyW&4p+L@jVI)9>R_GJ}QS(7R5e6{v#XYKhp zb4t0L@ykWZ&!+3P^LBEn`MUM@eVou}oBqIoch-F!)m1^)ZqzGq%&jm!v9NyGgsHl2 zVqGm736nkqExBXxOtScN+7GY)5v&F;kAF$@k)QgjOQXYEaqjhlyKX$-F`D-9fa=+t z2Om#c*E4rF#+W|&&RDp(sC&0%)jHjB|HBT#dNB-szPhjGt8SOcTh^oWdAHN;552k% zg=0Ln-kHU@>D*DS-zrsYj4!p4lrEW+)?e}{lbEBXbAq3lWyPrzQzJhz-Tdxwdy;a# zYMNmEtn_PYDo>3TbCyYjS9tbWSor*N4zT*$HnsAjWYcu7J&Sf(y|!v{Z>x*>J#m3; zn15H8*?%d)GfS#pJh9Z>x5#wIk@$aHM=gC`Onayv@|Wd#i))EMcaSCP64lPveFyfn z`vn_s54Ep7*?4>6AB&6cpDn(S7gS)#bdf70#%#~VvOJv+$9-dVC|r(|-QIiVqsz4u J1!8Uong9yFxhDVs diff --git a/secrets/ragonPasswd.age b/secrets/ragonPasswd.age index 2e7ac4052ff177150368e24460774f40e28d9fdf..d7ae1ac2e9c3280d31be2407f467f2632d284938 100644 GIT binary patch literal 1075 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIO)@XYqk3Cb`I&v%LP z&e69FakKO&56dmgGYd^|bj>hucTKS{DF`SxEJn92G}JOE*ioUtF+ZZRB*-Ph#3HyV zBCX0TJSbPYz_~ms*|RD;$2_9K+ezQw($dH%FP$sX+bmJvDW%9S)GZ(-+c{l3H!M9P z+``|?y~-ss)Tl7WJFVQuRNqLu%op9ZATLj2Cr1U#bZ=uri>O5XD35d>^T^_W;$#;? z_xvzlkHm_+{GxQ1{Om$MXYEXX14k~)$jY1~uk<8$?Nt51%FM$2(l8fqXD?rKp z(@V1RJkf3QOp2&TD_1bdbjvlaN(%M!&CT;LOtJ{}FmN--F)Yr>b}P&?v`EfMPR?{L zsWdPSw%|%KFN+G-_xH}p_6>J;a>_LeOAV_mFRjoHObm`H5A`e!t*{KODogWnHbA${ z#4M$(FkK^xV0uk?Jk5GPkRM+2@*V?SpTFN?|w zr{ZKYm-O^1XCwWf5KluB=j31?U$a8z!i++fNWT!r^lXrAIXZPwy6Hu!iN&c3j_K+J z=61D33Yx_U3g!wCT;|T%Mqx>Lxw&a&IVJ`{0qK!}-eDEmrM^`aDL#R2+1eht`8icp zjs~t48NSYCj>*9RJ^`s&X(g%J8RgnZPFyABT)Mit3Ol}BZ})$F0cKs1a>G>80FJx#37magF50=oKse?Tc2Lxx(^&OGVb_ QmBogiqE&sKD%ETP0I$_>H~;_u literal 1124 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIO;jcB%?Y zO-pr8&Pj38HcB(f^03S<);0;uGx7+Jh%63v_Dy$>@QW%BPv_FE3Np%d5;IF`~jb(xSjWClKAX%EDY@Q%8l${{OphE7 ze>0!L2**lqgTM?U-%xbhT!Q^8Q_>ZDT};b7)1BRXJ@Q?GO0|>Ak_>~3Q`1AkT@1r5 zU5$<1Q!4X|wA~A|on5)gL&8GRii?Ay{PMDlLK3Uob3?0)+{}vdwX?me0;+<8QnCtD zO8pE?T`kaU^Gu4UNGn(HFE&gv@F_M3s0vFp^Q?%J151s)Xmi+wba}>xG2iWLOayO-N?hY)HS@)+}Oj*EtxB| zJh><{FFz;DD5JnJB-=2mIL*z>xYXGv*|N+n(Zi#{Bs0aMxG+My0wW~DlT*F@0~L(S zJ$yX0U4mWG15*R_Ba(gmQuWQu!wsUcTuoBbEzLXvLIPY}D&0yvlDW(+wY|(zLIV9V z{rtW21B0s~Lh|$tvmO1s^qn&OEYm{MDm+5mDlDr~!G1Gxws14jO)pAKEKXI3sH}_& zwpLOwHO~#nHVIa!RS2}MjN=LjOf-#h%rG_nXQEiubV^$y^QGBh`<3QF-vDU2x2b@M58&oK(f z$;>e*PO~%%Hg*qBt1LDTNHq61b+=66($&>fND2x|H+Bn4&o*=Q@OKO~4lb*3cky#g z4DpHbady$Sbj&F&C@(ZHFAnzP>MeWtM>;-udQK{PV|?8K+18A0XA5SRn^k?wb~zCL zHu=TFiE>wZr>A6AeealGzvg=HyKmX@L1zTqc}(u4>puT>{mZ=t`k7VNFCXBZuzqUa zmWlTY?Q-_5y#Ab%zuLSZ)~f#Fo7(70&3iZ6G1LcmOt25|y_2$E()CN@g+Dvp?gT#4 L%M1N=uWbhapWlQH diff --git a/secrets/rootPasswd.age b/secrets/rootPasswd.age index 82c21e8e..97667246 100644 --- a/secrets/rootPasswd.age +++ b/secrets/rootPasswd.age @@ -1,21 +1,20 @@ age-encryption.org/v1 --> ssh-ed25519 ugHWWw ungXH1XTaVXtO4xTEyMW+xNnZKrkTM1fvhZBGQZX0Bc -DP25nmmLteIaIdoIKrCj1MW7xbbj67ZYTczrhYArsYw --> ssh-ed25519 UU9RSA tIxInf/N7vkAdppMRRNQR69b7KSVabrjEtwsmtO0fU0 -JsmajjzvMHRaXBKYLAGo6XjFgNW0UVOBTNQ6j1tkpiA --> ssh-ed25519 yqm35A MNmL+uERHibh99+IYIOllayZLLIMWljOoAv8IItb43k -70UPbYxDWeerx+vkwchdXfZfsFsxflCHUht04ESYEaM --> ssh-ed25519 DSOydg Dkwlh9rF7hBGSj60Ikav2RAsD+GQVMwwGeEGTPpqZQo -m1RRiTi/M0FAZQctKAqTV06Y6L5wyuJzlf+HWU0own8 --> ssh-ed25519 IbXxfw Tm3DeWlMmBxfg6I67o/vaCJNVBsI85GDQ+W3XQRSSQ0 -s80H+85Up3IDgi3+nidcIigIsEDdoSL2Ymux3lk3GD4 --> ssh-ed25519 46dvqg gAnBlXJvpq0DBUq/ywlqZHtGHMHN8s/WybZjV0GnIS8 -nTH45reYfQXuURjfhpRSAVby6JVBOHL+enKUVjQGL3k --> ssh-ed25519 WceKOQ H3O2KZc7tSLfdIw7MnhGB2TKkko7/7CRobJap5qrAFo -IGfwrHqFkrs0KscZezLDT81zcvE/VOxjPQ8mS1zxxG8 --> fFLH-grease -+vFtZ/XRJN9yqnEsmfY+a9NDz1Lv8dFxOe5ca8UY6BkWvQGz2brPRw8UqDoD4Rds -O0JrsGJlYdkLmrdBXB+FgGHr6bLJXkn2uvzFSu5Meoj7jz5gHslbjiwaGKbDV4tB - ---- OmW5QsvoFTynCAk1UCTfDqwOLiD7C4RCtq0yjxyrAWE -"-;ш_}y*iH9DngR{{gIis]+~ʻ2hiKPC?G%D UlU :YHyQc)Z*Pk:uZ \ No newline at end of file +-> ssh-ed25519 ugHWWw 4p+B9y6wXOJfVJwD2XEw1tyCNzaSyM6+CV7TFq7cdDk +Ayj9e+7slBoZxhNtyA4UBdy2OS+lRcjsUcBQeK7fytQ +-> ssh-ed25519 UU9RSA Jc9jphsOFHEbbk16qrIroYB38CfnxS7S5Prt/grSpwI +/xwbSkWh0wM8xAIcGPYryEbFOBhGfgs4UVP5uJvNfr8 +-> ssh-ed25519 RJI3BA CCR8yhArRNhOrBWNOPHsaVmg5Gp44xZZOCl0BL4yMy0 +beIN4dcrVWXNImaTi62oYyOnwRFqioIUr6Hj1ZgAo90 +-> ssh-ed25519 R/VstQ iRe59WizoGfDgVRif4YZ1/M8kC6623iAx1r3ZYIoPkA +onEwCoydnLRnBv6WyE5qyWicJ6+IpOHgRU4LYU9uWq0 +-> ssh-ed25519 IbXxfw XKQ5/q2HpQ6fvd6Wqq6lyvKZmvV1aXumw9dvu/h8wFQ +Gc2/lF6kKrmJVfekOtH+WSs9QxPMSZ5ToYg1IoQLUZA +-> ssh-ed25519 46dvqg md2KiKF+Ag4muG7425gUP3LyCKHoSR7X3bVsA4+zfmc +hCvMC7UvaOUBSDMH+jjmqvJEfchKVaT6HCjYAq8UxWM +-> ssh-ed25519 WceKOQ q/59YeeFxSYTBqQY7bS6v06WhM7ijttX/VmR4wDzqHk +pUNGZ3RLGFDlK2LWuV10wlsShNngEcAQ2Azk5ooSM7Y +-> #bmj-grease I$ Fx g=:*3 Q?EqzhQ +JU7ywobTCZL/UEfQOgB1UXj52hCn1LM3eUfv/S5LxLWAq+H8LD+exMHVYFeYz7s9 +d/K0bnjyAZrlK3dG+C6cHWIlVKj8Y1debxEJphtbmD00glb60hSRphtJxTNp +--- heTbYeedM7bEZ6pYyv+zTFG5P9XnbP/3kKukdwNFoQc +7S1$BpQ0YZ(.0?SѨF+p,G% hd3#2䘍P7WW_u Wo-3w0}c"quR?* M7y!ظ * \ No newline at end of file diff --git a/secrets/tailscaleKey.age b/secrets/tailscaleKey.age index 88787aa10da926129fb60ef504073c90b6ddd75c..c261a8791cc79ae253f69bde07cc49e921e0d0bd 100644 GIT binary patch literal 1067 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIR~2bo5L2 zaCUJq@+?S9bG66_tSZe6%gQWv%r!7Hbgjrvck<5lO>^?k3gmK%$S4W%GA}DOE-?+y z_DnY~Fw+mu%}q@9jc^R|@-r@QDhLQqD=vN;kKv;9za15_6LZ zkIJetBa^Ihi%{pX4A0E8khBah_du?~jFgC+QcJheLif~^;QSzqM0f2XBR}(UH|^XI zU$bBjmuwSfeamt)M^_Bn^uvlv0u>yK%Bw6qT*52Uf*d`)Jq*($vXcreGn0HQj3b11!?~LiKZ;L(+}Ii$Q)<;3`ld#NX+rc3&=CeFf#FS3Jk0A z^bbu835@V?3H7&hS^GgD_p7?^yA6} E05U{i$^ZZW literal 1086 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIPx4Gz@l3 z2}%#GOv;Ez%F-_MicELOHO_E0EOoT>&nyeea}6;LwlH-p_vA{caB@%e$P9I_@Jco+ zj?DH=D{wYRbIcAhNHliI_lt5dHS)Fe4XlXFN=COWG}JOE*ij)o+21+XqRK1HC_S+x zD%sgGH!UeF)ZIxtv?M>oImJ87+qo<^$iqF;$$-lZZ%p(nobM@WbqAV;bs!UTni*s_aBYcW0k`0Z6 zP260AVfbxw3PEXhrAb~LvP%MWriEOYet zuE_WCu5jdX4G#`4_HlFeFmov>4l9VLG|hD`@b^y7&oK-O4K)Ze&h_;%F$=WF@XtrL z&BQFFtT0`nJli)UH#H?JpdcwpJ2I*`JI}Q!%FEX^w?x~-C^6s7DLc`;q*UJ|D#Cy( z(j(C+*UjI=HN`C@)3wy!F~mRLt2{K-&7@er(z(<#AfPP6ET_s?-^dZ&w(#UsZ~s7r zzalaNFc?|@W;2y^q?48L&0?6eX?edkIOzbI!j7vpl1C?Dp0MFDQ*QDa|l60d=SA#<1Bn#t`&46-IbKf1>B&YB z&K~}erM|AI74EK~75@5x0bG_&PCjY50l6XRIp#^ZrG-Yxl}TnkQ5G4&<|#&jk)ah4 z+Fst?RT-w*S-ysr1r=41r4^oTxn@SD{uQB#B}QDi8_iDa{QXPs<)4Ee)BppvXVm}z diff --git a/secrets/wpa_supplicant.age b/secrets/wpa_supplicant.age index f35b7e87e230a67379f29fa8cfcb114e9cebdf75..9ba59a00233a9c01e3aab48690f4396de1405ef3 100644 GIT binary patch literal 1144 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSHP4@^7FIVu53J!8C zt}xR!F~}-S%F48eN;S;L_jc6xNGwnBvoO^T&2kUT@G6dQ3*^c)aZPt}a`D!$@^TF* z^7cC)X&ef(%CR4 z*rYt%KhUGfEH9@hMcX^9z&Fn^Hx%8rATLj2Cr5>{q`VUIG9RyU?;tE5eICt8zk} zBfSG%^aC9o1KnH<4Y<u|T)Y z#4M$(FkPV_FF38TGQcgY$k8Ay+c8Ps$=yJ|G$hzU+bJk4(aFuY*e@`!#HBQ(+?6Za zF~BXyBgd>PH`3oI*wLUoBD2`v#Ko<$D!0&A-!LSlBHc49uQ;TrEFayr@Z?l)|3HQG z06)ik{ooRFFRvii2#>0a5SO65vP#RMe2-M4eEpQ-0Cx+|{0!4jw`8uOaF>#>&>&ZR zZxioCPp1GAgY5hQA4AWid1X~q_w&i=V!Nf{yjhN3y1KdwS;i$6A%1C@g`O#aY33fb;gRK8m09|pfj&h}CV7Ee>sCLXx?M|n{r`e}OQp}3$*Mn6sEI4~JIGb= zuHnDR|1hd>IG($HOQp)`rhy>b-!pEY+vX$XR+}%`&&C4 z%9)>jT*6k`C~G4TpvdOtIFV)EEIHA#$}rC()Hll9 z%hkZCz{tHs+o&k4(lXM_r%1arHLM~#-N(Z#)0eBz%_1-@$-u(hzbZ5_sMI2?*eoEW zFr}YItICUfJ###a!hJk~Je|FQ43bKV%tNz1O3OnX z12TMq$^(*I&0T|xvP`&g!}Fa?oGZ#al0$MlN^-oi3M!&;nBrXZPelgLJM$ zlgwiMg0S#Hw~DG9fZVj)G81&ag(s(a`v)qN zCFXh+WO{}rdHDo}1iGeMni*z$h8YzFnrB3%dgq!~r3Pl@ndhaNTA0yBGW9R66AbdzQPKm{jHX`WQs%hlYY|3)k1vO)pAKEKXI>ip};? z$OsBCSBTL~sZxmXsdLN-<}wKi&2sdq$Oxz^4RrVM^3Ai%%ybPbayQAebP24=ObRft zC@#x&^2*DN^w-WT$?>-=O*0JS($&>fNH%lH2uw1K4D>a0_eiSn4)Jp|@b-173N_5&TNxKmwtcg4=U6De*2GS+$Gh{jh6H4Ubm=itMcExvMPh4X}ij^ z{<6L$@~e9uP5YVax-`$QX6Bv)QrEbqrz!l@E34lW61?{CN0t Date: Mon, 24 Apr 2023 00:10:15 +0200 Subject: [PATCH 235/525] add nzbr user --- hosts/daedalusvm/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hosts/daedalusvm/default.nix b/hosts/daedalusvm/default.nix index 3b8c4c58..36a5f1d7 100644 --- a/hosts/daedalusvm/default.nix +++ b/hosts/daedalusvm/default.nix @@ -15,6 +15,14 @@ boot.loader.efi.canTouchEfiVariables = true; # Immutable users due to tmpfs users.mutableUsers = false; + users.users."nzbr" = { + extraGroups = [ "wheel" ]; + isNormalUser = true; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkFgHr6OMwsnGhdG4TwKdthlJC/B9ELqZfrmJ9Sf7qk" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkNP8Lo20fw3Ysq3B64Iep9WyVKWxdv5KJOZRLmAaaM" + ]; + }; services.openssh.forwardX11 = true; services.rpcbind.enable = true; boot.supportedFilesystems = [ "nfs" "nfs4" ]; From 8531fab65bdfd6018f4569c149f727a03aa841e7 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 24 Apr 2023 06:01:42 +0200 Subject: [PATCH 236/525] dap --- hm-imports/nvim/config/lua/keybindings.lua | 9 +- hm-imports/nvim/config/lua/plugin/dap.lua | 25 ++++ hm-imports/nvim/config/lua/plugin/lsp.lua | 126 +++++++++--------- .../nvim/config/lua/plugin/telescope.lua | 1 + .../nvim/config/lua/plugin/terminal.lua | 16 ++- hm-imports/nvim/config/nvim.lua | 1 + hm-imports/nvim/default.nix | 10 +- 7 files changed, 120 insertions(+), 68 deletions(-) create mode 100644 hm-imports/nvim/config/lua/plugin/dap.lua diff --git a/hm-imports/nvim/config/lua/keybindings.lua b/hm-imports/nvim/config/lua/keybindings.lua index 49bf2785..19de72e6 100644 --- a/hm-imports/nvim/config/lua/keybindings.lua +++ b/hm-imports/nvim/config/lua/keybindings.lua @@ -47,10 +47,17 @@ map { 'n', '', ':NnnExplorer %:p:h', noremap = true, silent = tr -- plugins - terminal map {"n", "gg", "lua _lazygit_toggle()", {noremap = true, silent = true}} -map {"n", "gp", "lua _pipeline_toggle()", {noremap = true, silent = true}} +map {"n", "gl", "lua _glab_toggle()", {noremap = true, silent = true}} +map {"n", "gh", "lua _ghub_toggle()", {noremap = true, silent = true}} -- diagnostic map {"n", "e", "lua require\'telescope.builtin\'.lsp_diagnostics{}", { noremap = true, silent = true}} map {"n", "q", "lua vim.diagnostic.setloclist()", { noremap = true, silent = true}} map {"n", "]g", "lua vim.diagnostic.goto_next()", { noremap = true, silent = true}} map {"n", "[g", "lua vim.diagnostic.goto_prev()", { noremap = true, silent = true}} +-- dap +map {"n", "db", "lua require'dap'.toggle_breakpoint()", { noremap = true, silent = true}} +map {"n", "du", "lua require'dapui'.toggle()", { noremap = true, silent = true}} +map {"n", "dc", "lua require'dap'.continue()", { noremap = true, silent = true}} +map {"n", "dr", "lua require'dap'.repl.open()", { noremap = true, silent = true}} +map {"n", "di", "lua require'dap'.step_into()", { noremap = true, silent = true}} diff --git a/hm-imports/nvim/config/lua/plugin/dap.lua b/hm-imports/nvim/config/lua/plugin/dap.lua new file mode 100644 index 00000000..e5a4cf7f --- /dev/null +++ b/hm-imports/nvim/config/lua/plugin/dap.lua @@ -0,0 +1,25 @@ +local dap = require('dap') +dap.adapters.coreclr = { + type = 'executable', + command = '/nix/var/nix/profiles/per-user/ragon/home-manager/home-path/bin/netcoredbg', -- TODO this is a gross hack, please fix + args = {'--interpreter=vscode'} +} +dap.configurations.cs = { + { + type = "coreclr", + name = "launch - netcoredbg", + request = "launch", + program = function() + return vim.fn.input('Path to dll', vim.fn.getcwd() .. '/bin/Debug/', 'file') + end, + }, + { + type = "coreclr", + name = "attach - netcoredbg", + mode = "local", + request = "attach", + processId = require("dap.utils").pick_process, + }, +} + +require'dapui'.setup {} diff --git a/hm-imports/nvim/config/lua/plugin/lsp.lua b/hm-imports/nvim/config/lua/plugin/lsp.lua index 0328e944..bf974765 100644 --- a/hm-imports/nvim/config/lua/plugin/lsp.lua +++ b/hm-imports/nvim/config/lua/plugin/lsp.lua @@ -2,28 +2,28 @@ local lspconfig = require 'lspconfig' local capabilities = require('cmp_nvim_lsp').default_capabilities() -- lsp keymaps local lsp_attach_keymappings = { - ['gD'] = 'vim.lsp.buf.declaration()', - ['gd'] = 'vim.lsp.buf.definition()', - ['K'] = 'vim.lsp.buf.hover()', - ['gi'] = 'vim.lsp.buf.implementation()', - [''] = 'vim.lsp.buf.signature_help()', - ['wa'] = 'vim.lsp.buf.add_workspace_folder()', - ['wr'] = 'vim.lsp.buf.remove_workspace_folder()', - ['ws'] = 'vim.lsp.buf.workspace_symbol()', - ['wl'] = 'print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', - ['D'] = 'vim.lsp.buf.type_definition()', - ['rn'] = 'vim.lsp.buf.rename()', - ['ca'] = 'vim.lsp.buf.code_action()', - ['gr'] = 'vim.lsp.buf.references()', - ['f'] = 'vim.lsp.buf.format()' + ['gD'] = 'vim.lsp.buf.declaration()', + ['gd'] = 'vim.lsp.buf.definition()', + ['K'] = 'vim.lsp.buf.hover()', + ['gi'] = 'require\'telescope.builtin\'.lsp_implementations()', + ['k'] = 'vim.lsp.buf.signature_help()', + ['wa'] = 'vim.lsp.buf.add_workspace_folder()', + ['wr'] = 'vim.lsp.buf.remove_workspace_folder()', + ['ws'] = 'require\'telescope.builtin\'.lsp_workspace_symbols()', + ['wl'] = 'print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', + ['D'] = 'require\'telescope.builtin\'.lsp_type_definitions()', + ['rn'] = 'vim.lsp.buf.rename()', + ['ca'] = 'vim.lsp.buf.code_action()', + ['gr'] = 'require\'telescope.builtin\'.lsp_references()', + ['f'] = 'vim.lsp.buf.format()' } local buf_nnoremap_lua = function(bufnr, keys, command) - vim.api.nvim_buf_set_keymap(bufnr, 'n', keys, 'lua ' .. command .. '', { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', keys, 'lua ' .. command .. '', { noremap = true, silent = true }) end local on_lsp_attach = function(_, bufnr) - -- Enable completion triggered by : - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - for key, cmd in pairs(lsp_attach_keymappings) do buf_nnoremap_lua(bufnr, key, cmd) end + -- Enable completion triggered by : + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + for key, cmd in pairs(lsp_attach_keymappings) do buf_nnoremap_lua(bufnr, key, cmd) end end lspconfig.gopls.setup { capabilities = capabilities, on_attach = on_lsp_attach } @@ -33,15 +33,15 @@ lspconfig.nil_ls.setup { capabilities = capabilities, on_attach = on_lsp_attach lspconfig.terraformls.setup { capabilities = capabilities, on_attach = on_lsp_attach } lspconfig.tsserver.setup { capabilities = capabilities, on_attach = on_lsp_attach } lspconfig.vimls.setup { - capabilities = capabilities, - on_attach = on_lsp_attach, - isNeovim = true, + capabilities = capabilities, + on_attach = on_lsp_attach, + isNeovim = true, } lspconfig.csharp_ls.setup { - capabilities = capabilities, - on_attach = on_lsp_attach, - cmd = {vim.env.HOME .. "/.dotnet/tools/csharp-ls"}, + capabilities = capabilities, + on_attach = on_lsp_attach, + cmd = { vim.env.HOME .. "/.dotnet/tools/csharp-ls" }, } lspconfig.ltex.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- start vscode included language servers @@ -51,52 +51,54 @@ lspconfig.cssls.setup { capabilities = capabilities, on_attach = on_lsp_attach } lspconfig.jsonls.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- end vscode included language servers lspconfig.texlab.setup { capabilities = capabilities, on_attach = on_lsp_attach, settings = { texlab = { - build = { - executable = "tectonic", - args = { "%f", "--keep-logs", "--synctex"}, - onSave = true, - forwardSearchAfter = true, - }, - chktex = { onOpenAndSave = true, }, - forwardSearch = { - executable = "/Applications/Skim.app/Contents/SharedSupport/displayline", - args = {"-r", "-d", "%l","%p","%f"}, - }, -}} } + build = { + executable = "tectonic", + args = { "%f", "--keep-logs", "--synctex" }, + onSave = true, + forwardSearchAfter = true, + }, + chktex = { onOpenAndSave = true, }, + forwardSearch = { + executable = "/Applications/Skim.app/Contents/SharedSupport/displayline", + args = { "-r", "-d", "%l", "%p", "%f" }, + }, +} } } lspconfig.sumneko_lua.setup { - capabilities = capabilities, on_attach = on_lsp_attach, - settings = { - Lua = { - runtime = { - version = 'LuaJIT' - }, - diagnostics = { globals = { 'vim' } }, - workspace = { - -- Make the LSP aware of Neovim runtime files: - checkThirdParty = false, - library = vim.api.nvim_get_runtime_file('', true) - }, - format = { - enable = true, - defaultConfig = { - indent_style = 'space', - indent_size = '2', - } - }, + capabilities = capabilities, on_attach = on_lsp_attach, + settings = { + Lua = { + runtime = { + version = 'LuaJIT' + }, + diagnostics = { globals = { 'vim' } }, + workspace = { + -- Make the LSP aware of Neovim runtime files: + checkThirdParty = false, + library = vim.api.nvim_get_runtime_file('', true) + }, + format = { + enable = true, + defaultConfig = { + indent_style = 'space', + indent_size = '2', } + }, } + } } local rt = require("rust-tools") rt.setup({ - tools = { - inlay_hints = { - auto = true, - }, - }, - server = { - capabilities = capabilities, on_attach = on_lsp_attach, + tools = { + inlay_hints = { + auto = true, }, + }, + server = { + capabilities = capabilities, on_attach = on_lsp_attach, + }, }) +local ft = require('flutter-tools') +ft.setup {} diff --git a/hm-imports/nvim/config/lua/plugin/telescope.lua b/hm-imports/nvim/config/lua/plugin/telescope.lua index 9b86a9e1..adb3f7c4 100644 --- a/hm-imports/nvim/config/lua/plugin/telescope.lua +++ b/hm-imports/nvim/config/lua/plugin/telescope.lua @@ -8,4 +8,5 @@ telescope.setup { } } } + telescope.load_extension('ui-select') diff --git a/hm-imports/nvim/config/lua/plugin/terminal.lua b/hm-imports/nvim/config/lua/plugin/terminal.lua index 675b815b..9dec0789 100644 --- a/hm-imports/nvim/config/lua/plugin/terminal.lua +++ b/hm-imports/nvim/config/lua/plugin/terminal.lua @@ -14,12 +14,22 @@ function _lazygit_toggle() lazygit:toggle() end -local pipeline = Terminal:new { +local glab = Terminal:new { cmd = "glab ci view", hidden = true, direction = 'float' } -function _pipeline_toggle() - pipeline:toggle() +function _glab_toggle() + glab:toggle() +end + +local ghub = Terminal:new { + cmd = "gh run view", + hidden = true, + direction = 'float' +} + +function _ghub_toggle() + ghub:toggle() end diff --git a/hm-imports/nvim/config/nvim.lua b/hm-imports/nvim/config/nvim.lua index 4bab0d9b..8c47223f 100644 --- a/hm-imports/nvim/config/nvim.lua +++ b/hm-imports/nvim/config/nvim.lua @@ -51,5 +51,6 @@ require('plugin.noice') require('plugin.telescope') require('plugin.cmp') require('plugin.lsp') +require('plugin.dap') require('plugin.lualine') require('plugin.gitsigns') diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 9e01154e..5d234faf 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -6,6 +6,7 @@ # embedded terminal lazygit glab + gh # language servers nil # nix @@ -26,7 +27,8 @@ rustc rustfmt rust-analyzer - + # c# debugging + (pkgs.writeShellScriptBin "netcoredbg" ''exec ${pkgs.unstable.netcoredbg}/bin/netcoredbg "$@"'') # don't fill $path with dlls # other stuff neovim-remote @@ -79,8 +81,11 @@ # completion nvim-lspconfig # lsp - vimspector # dap + nvim-dap # dap + nvim-dap-ui # dap stuffzies + nvim-dap-go pkgs.unstable.vimPlugins.rust-tools-nvim # rust special sauce + pkgs.unstable.vimPlugins.flutter-tools-nvim # completion - nvim-cmp cmp-nvim-lsp cmp-buffer @@ -91,6 +96,7 @@ # completion-snippets luasnip cmp_luasnip + friendly-snippets # some premade snippets toggleterm-nvim # embed terminals (for lazygit,...) From bf6b806f8886409efcf647f6d9c0aa27477af2c6 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 24 Apr 2023 21:15:11 +0200 Subject: [PATCH 237/525] update --- flake.lock | 78 +++++++++++++++++++++++++++--------------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/flake.lock b/flake.lock index aad85a0e..93558284 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1680281360, - "narHash": "sha256-XdLTgAzjJNDhAG2V+++0bHpSzfvArvr2pW6omiFfEJk=", + "lastModified": 1682101079, + "narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=", "owner": "ryantm", "repo": "agenix", - "rev": "e64961977f60388dd0b49572bb0fc453b871f896", + "rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447", "type": "github" }, "original": { @@ -67,11 +67,11 @@ ] }, "locked": { - "lastModified": 1681154394, - "narHash": "sha256-avnu1K9AuouygBiwVKuDp6emiTET43az3rcpv0ctLjc=", + "lastModified": 1682009832, + "narHash": "sha256-QdNOeFE7sI+0ddqVfn9vQDCUs7OdxhJ7evo9sdyP82Y=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "025912529dd0b31dead95519e944ea05f1ad56f2", + "rev": "a1ee4d333b092bc055655fb06229eb3013755812", "type": "github" }, "original": { @@ -87,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681212122, - "narHash": "sha256-zyqlgECc+/MeCGnxpyDJ1K7r0t4OefuPtoEnorTBObc=", + "lastModified": 1682360587, + "narHash": "sha256-BOE3F9R4Sf0m43yIeKZCH159UMbumP420MvFWhuf/TI=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "86ea3268b55bb632de43a80a37501a3d05cdb224", + "rev": "65ee69cd3f82450078247145f3b61e4a52e1ef7a", "type": "github" }, "original": { @@ -168,11 +168,11 @@ }, "impermanence": { "locked": { - "lastModified": 1675359654, - "narHash": "sha256-FPxzuvJkcO49g4zkWLSeuZkln54bLoTtrggZDJBH90I=", + "lastModified": 1682268411, + "narHash": "sha256-ICDKQ7tournRVtfM8C2II0qHiOZOH1b3dXVOCsgr11o=", "owner": "nix-community", "repo": "impermanence", - "rev": "6138eb8e737bffabd4c8fc78ae015d4fd6a7e2fd", + "rev": "df1692e2d9f1efc4300b1ea9201831730e0b817d", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1678396628, - "narHash": "sha256-mc1Ei4kwt0+5ynviSHbyg+9DVsCASQV5QBwGWhZkj7k=", + "lastModified": 1682299570, + "narHash": "sha256-YA+wPrXEwe2yjO0DfX/ux/pmvVTf+Y8UKQPQQIOWP14=", "owner": "neovim", "repo": "neovim", - "rev": "0ecb4d725e9e2086b045670e4c2fa8962b63d99c", + "rev": "c1331a65dd12dd1128db5fb136a77218ef7376f1", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1678436134, - "narHash": "sha256-DNNJGOL3YegK5PTcE+ysT50l3lEIcn5R64idc5K3PjE=", + "lastModified": 1682324064, + "narHash": "sha256-5TfSKIEMv8yD18L4RZuCyDlUkpaY47J4jEysvAI3FuE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d75d960731ec20825bf7ba5dfb5d454d3c09128a", + "rev": "78ad21f19b4cdeef9656ca204c4f4393ed10e1c3", "type": "github" }, "original": { @@ -298,11 +298,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1681154110, - "narHash": "sha256-OQwWzlzAY1dCqgSsgZzsPIOGmX4pBGaoXOy0rSl4b5Y=", + "lastModified": 1682303062, + "narHash": "sha256-x+KAADp27lbxeoPXLUMxKcRsUUHDlg+qVjt5PjgBw9A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "115a96e2ac1e92937cd47c30e073e16dcaaf6247", + "rev": "f5364316e314436f6b9c8fd50592b18920ab18f9", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1681239518, - "narHash": "sha256-Q2qOhm6GzTIMb9y9sEsvn4hRFqCzVZiUkJkqf/ITXuc=", + "lastModified": 1682362401, + "narHash": "sha256-/UMUHtF2CyYNl4b60Z2y4wwTTdIWGKhj9H301EDcT9M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c8619bc275bdc78302602b9b60d9635733619578", + "rev": "884ac294018409e0d1adc0cae185439a44bd6b0b", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681091990, - "narHash": "sha256-ifIzhksUBZKp5WgCuoVhDY32qaEplXp7khzrB6zkaFc=", + "lastModified": 1682303062, + "narHash": "sha256-x+KAADp27lbxeoPXLUMxKcRsUUHDlg+qVjt5PjgBw9A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea96b4af6148114421fda90df33cf236ff5ecf1d", + "rev": "f5364316e314436f6b9c8fd50592b18920ab18f9", "type": "github" }, "original": { @@ -363,11 +363,11 @@ "noice-nvim": { "flake": false, "locked": { - "lastModified": 1679827108, - "narHash": "sha256-05/yAwaoz7mAAKXP1CsRXUoqsTW/z1wAT0OodiYJw6M=", + "lastModified": 1682187536, + "narHash": "sha256-r6QBdJr1MEuGgso//ORwWRmTZ0vjTDad3rG7ZXxi1KQ=", "owner": "folke", "repo": "noice.nvim", - "rev": "1da4edfba3e9278e98fc9723d7235d9ab3889744", + "rev": "0f12ed399e79aa49f283aa954468b92be65e03ed", "type": "github" }, "original": { @@ -379,11 +379,11 @@ "notify-nvim": { "flake": false, "locked": { - "lastModified": 1679522899, - "narHash": "sha256-xkDr0tASezDmnxyLb7JvzCjE/HPv4ckqiJsBmaSR+Fs=", + "lastModified": 1681892404, + "narHash": "sha256-TEjd5Ikq0QFkmamlCRUgAMd6f53Cz/+2n6mfNEaxZQs=", "owner": "rcarriga", "repo": "nvim-notify", - "rev": "50d037041ada0895aeba4c0215cde6d11b7729c4", + "rev": "159c6cf1be25a933f35e97499314c9faab55c98f", "type": "github" }, "original": { @@ -427,11 +427,11 @@ "pandoc-latex-template": { "flake": false, "locked": { - "lastModified": 1678725608, - "narHash": "sha256-suGdvbPSdUvQIoN9rL7+muXtXmMHAiI+mcWCks68A8w=", + "lastModified": 1681739697, + "narHash": "sha256-l7SGMjRIXnUm79nIP7PAvM/xeB3jBjoipRho37j+0Zo=", "owner": "Wandmalfarbe", "repo": "pandoc-latex-template", - "rev": "032a84d21a33cafff597e6a7f4490d8ac802a6aa", + "rev": "8114319d5c2c17f4d047ebf7ecddd20446b2518d", "type": "github" }, "original": { @@ -616,11 +616,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1680041579, - "narHash": "sha256-Z47jddKwIgMu6DwOWBPKFRhh8BpLK7jvyZWM9j0rfzM=", + "lastModified": 1682252939, + "narHash": "sha256-snX1KB2jxDNFPEEKzyOSdgQKuo+3xyfbUzdWTRAdXZo=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "820aaba911fce0594bf17f0e9a82092a6af7810e", + "rev": "45a37bc26f12821c2ce416aea3a09177640821ec", "type": "github" }, "original": { From d8fafd40b6d72ec97458fca59ddf778f748f1a1d Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Tue, 25 Apr 2023 12:59:04 +0200 Subject: [PATCH 238/525] forgot bind --- hm-imports/nvim/config/lua/plugin/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hm-imports/nvim/config/lua/plugin/lsp.lua b/hm-imports/nvim/config/lua/plugin/lsp.lua index bf974765..dffe64a0 100644 --- a/hm-imports/nvim/config/lua/plugin/lsp.lua +++ b/hm-imports/nvim/config/lua/plugin/lsp.lua @@ -3,7 +3,7 @@ local capabilities = require('cmp_nvim_lsp').default_capabilities() -- lsp keymaps local lsp_attach_keymappings = { ['gD'] = 'vim.lsp.buf.declaration()', - ['gd'] = 'vim.lsp.buf.definition()', + ['gd'] = 'require\'telescope.builtin\'.lsp_definitions()', ['K'] = 'vim.lsp.buf.hover()', ['gi'] = 'require\'telescope.builtin\'.lsp_implementations()', ['k'] = 'vim.lsp.buf.signature_help()', From 99e51034e125ebd669757d6f5b2be3ba039e4a84 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 27 Apr 2023 16:23:13 +0200 Subject: [PATCH 239/525] fixi fixi wupsi upsi --- flake.lock | 42 ++++++++++++++++++------------------- hm-imports/nvim/default.nix | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index 93558284..fed9733f 100644 --- a/flake.lock +++ b/flake.lock @@ -87,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682360587, - "narHash": "sha256-BOE3F9R4Sf0m43yIeKZCH159UMbumP420MvFWhuf/TI=", + "lastModified": 1682592091, + "narHash": "sha256-JQTGiWOhj+/ZoJfWPQ3vOYAXf0SsMtJuOPTvwArPyIg=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "65ee69cd3f82450078247145f3b61e4a52e1ef7a", + "rev": "23488bbca5ea0012bafa2c75b88902b540ff9940", "type": "github" }, "original": { @@ -228,11 +228,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682299570, - "narHash": "sha256-YA+wPrXEwe2yjO0DfX/ux/pmvVTf+Y8UKQPQQIOWP14=", + "lastModified": 1682581904, + "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", "owner": "neovim", "repo": "neovim", - "rev": "c1331a65dd12dd1128db5fb136a77218ef7376f1", + "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1682324064, - "narHash": "sha256-5TfSKIEMv8yD18L4RZuCyDlUkpaY47J4jEysvAI3FuE=", + "lastModified": 1682583188, + "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "78ad21f19b4cdeef9656ca204c4f4393ed10e1c3", + "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", "type": "github" }, "original": { @@ -298,11 +298,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1682303062, - "narHash": "sha256-x+KAADp27lbxeoPXLUMxKcRsUUHDlg+qVjt5PjgBw9A=", + "lastModified": 1682538316, + "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5364316e314436f6b9c8fd50592b18920ab18f9", + "rev": "15b75800dce80225b44f067c9012b09de37dfad2", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1682362401, - "narHash": "sha256-/UMUHtF2CyYNl4b60Z2y4wwTTdIWGKhj9H301EDcT9M=", + "lastModified": 1682604483, + "narHash": "sha256-KsjKgQhAUXu2ZX9u421dwfVsn2Pgr7/mNDqQ4pVLvk8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "884ac294018409e0d1adc0cae185439a44bd6b0b", + "rev": "f602fe84197a455c44373b5d0fcf6eb18c1c353f", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682303062, - "narHash": "sha256-x+KAADp27lbxeoPXLUMxKcRsUUHDlg+qVjt5PjgBw9A=", + "lastModified": 1682538316, + "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5364316e314436f6b9c8fd50592b18920ab18f9", + "rev": "15b75800dce80225b44f067c9012b09de37dfad2", "type": "github" }, "original": { @@ -616,11 +616,11 @@ "zsh-completions": { "flake": false, "locked": { - "lastModified": 1682252939, - "narHash": "sha256-snX1KB2jxDNFPEEKzyOSdgQKuo+3xyfbUzdWTRAdXZo=", + "lastModified": 1682561073, + "narHash": "sha256-3VHYrMI8MHiNfKLfZ+Rc5B4t0ywIRqlovasQToDGrz0=", "owner": "zsh-users", "repo": "zsh-completions", - "rev": "45a37bc26f12821c2ce416aea3a09177640821ec", + "rev": "64ec7994dc1ecf7aa36d35574a45a203fdbbb6ad", "type": "github" }, "original": { diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index 5d234faf..a66c5016 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -63,7 +63,7 @@ src = inputs.noice-nvim; }; in - map (x: { plugin = x; }) (with pkgs.vimPlugins; [ + map (x: { plugin = x; }) (with pkgs.unstable.vimPlugins; [ vim-tmux-navigator # tmux nnn-nvim # nnn as filebrowser gruvbox-nvim # theme From b0d67cc741b1a57b60619ad01ec08b7f98d719ca Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Thu, 27 Apr 2023 16:25:50 +0200 Subject: [PATCH 240/525] fixi2 --- flake.lock | 2 +- flake.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index fed9733f..2da84257 100644 --- a/flake.lock +++ b/flake.lock @@ -247,7 +247,7 @@ "flake-compat": "flake-compat", "neovim-flake": "neovim-flake", "nixpkgs": [ - "nixpkgs" + "nixpkgs-master" ] }, "locked": { diff --git a/flake.nix b/flake.nix index e4fa8019..9a366ef7 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; + neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs-master"; # programs xynoblog.url = "github:thexyno/blog"; From 7cdd07a9aefaa03b06f7ebea011a6c55fb5388d9 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 28 Apr 2023 12:22:12 +0200 Subject: [PATCH 241/525] added haskell language server --- flake.lock | 18 +++++++++--------- hm-imports/nvim/config/lua/plugin/lsp.lua | 2 ++ hm-imports/nvim/default.nix | 5 +++-- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 2da84257..a668d557 100644 --- a/flake.lock +++ b/flake.lock @@ -87,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682592091, - "narHash": "sha256-JQTGiWOhj+/ZoJfWPQ3vOYAXf0SsMtJuOPTvwArPyIg=", + "lastModified": 1682673816, + "narHash": "sha256-C5zxg5AbMbX3UD2iiWL6fqvp/csTnk8JeXh6PHf7zOI=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "23488bbca5ea0012bafa2c75b88902b540ff9940", + "rev": "60fe647be71d6f433f4a8f9f22d7430bf0ef58a4", "type": "github" }, "original": { @@ -251,11 +251,11 @@ ] }, "locked": { - "lastModified": 1682583188, - "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", + "lastModified": 1682669607, + "narHash": "sha256-m+KpU/R71cpPZ0jLyC15u58wpA7MXtanXz0QetN1V/s=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", + "rev": "ab48027070ebb931feeb468f30641b9906a1fa8e", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1682604483, - "narHash": "sha256-KsjKgQhAUXu2ZX9u421dwfVsn2Pgr7/mNDqQ4pVLvk8=", + "lastModified": 1682692888, + "narHash": "sha256-DJW9LNTwIzx0q348t+TEVrW7Ds2fvOjVnTQzFk7tKcg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f602fe84197a455c44373b5d0fcf6eb18c1c353f", + "rev": "1f3c4bf6b40ef3a6fd8f6afe19bc5c7ef0db0b62", "type": "github" }, "original": { diff --git a/hm-imports/nvim/config/lua/plugin/lsp.lua b/hm-imports/nvim/config/lua/plugin/lsp.lua index dffe64a0..6bb32c3f 100644 --- a/hm-imports/nvim/config/lua/plugin/lsp.lua +++ b/hm-imports/nvim/config/lua/plugin/lsp.lua @@ -86,6 +86,8 @@ lspconfig.sumneko_lua.setup { } } } +-- haskell +lspconfig.hls.setup { capabilities = capabilities, on_attach = on_lsp_attach } diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index a66c5016..c08b3254 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -17,6 +17,7 @@ terraform nodePackages.typescript nodePackages.typescript-language-server + haskell-language-server sumneko-lua-language-server ltex-ls # languageTool nodePackages.vscode-langservers-extracted # eslint, ... @@ -26,7 +27,7 @@ cargo rustc rustfmt - rust-analyzer + unstable.rust-analyzer # c# debugging (pkgs.writeShellScriptBin "netcoredbg" ''exec ${pkgs.unstable.netcoredbg}/bin/netcoredbg "$@"'') # don't fill $path with dlls @@ -63,7 +64,7 @@ src = inputs.noice-nvim; }; in - map (x: { plugin = x; }) (with pkgs.unstable.vimPlugins; [ + map (x: { plugin = x; }) (with pkgs.vimPlugins; [ vim-tmux-navigator # tmux nnn-nvim # nnn as filebrowser gruvbox-nvim # theme From 3ce1b14157fab59284bd63b0a7026648d8af121b Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 30 Apr 2023 22:57:59 +0200 Subject: [PATCH 242/525] some changes --- flake.lock | 17 -- flake.nix | 4 - hm-imports/nvim/config/lua/plugin/lsp.lua | 1 + hm-imports/nvim/default.nix | 215 ++++++++++++---------- hosts/daedalus/default.nix | 5 +- 5 files changed, 116 insertions(+), 126 deletions(-) diff --git a/flake.lock b/flake.lock index a668d557..fc9977b0 100644 --- a/flake.lock +++ b/flake.lock @@ -440,22 +440,6 @@ "type": "github" } }, - "private": { - "flake": false, - "locked": { - "lastModified": 1667531394, - "narHash": "sha256-eo5s09w9DjRTqk4y+ULpYHQw5RNjNi+n9tEyvpbL84g=", - "owner": "thexyno", - "repo": "nixos-config-private-dummy", - "rev": "b38da5d5dd120e7dcc61b2ed3536be69fac649da", - "type": "github" - }, - "original": { - "owner": "thexyno", - "repo": "nixos-config-private-dummy", - "type": "github" - } - }, "rnix-lsp": { "inputs": { "naersk": "naersk", @@ -498,7 +482,6 @@ "octoprint-spoolmanager": "octoprint-spoolmanager", "octoprint-telegram": "octoprint-telegram", "pandoc-latex-template": "pandoc-latex-template", - "private": "private", "rnix-lsp": "rnix-lsp", "spoons": "spoons", "utils": "utils_2", diff --git a/flake.nix b/flake.nix index 9a366ef7..3f0c05c1 100644 --- a/flake.nix +++ b/flake.nix @@ -65,10 +65,6 @@ octoprint-spoolmanager.url = "github:OllisGit/OctoPrint-SpoolManager"; octoprint-spoolmanager.flake = false; - ## mail - private.url = "github:thexyno/nixos-config-private-dummy"; - private.flake = false; - }; outputs = diff --git a/hm-imports/nvim/config/lua/plugin/lsp.lua b/hm-imports/nvim/config/lua/plugin/lsp.lua index 6bb32c3f..ce6930bc 100644 --- a/hm-imports/nvim/config/lua/plugin/lsp.lua +++ b/hm-imports/nvim/config/lua/plugin/lsp.lua @@ -31,6 +31,7 @@ lspconfig.pyright.setup { capabilities = capabilities, on_attach = on_lsp_attach lspconfig.nil_ls.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- nix -- lspconfig.rnix.setup { capabilities = capabilities, on_attach = on_lsp_attach } -- nix lspconfig.terraformls.setup { capabilities = capabilities, on_attach = on_lsp_attach } +lspconfig.kotlin_language_server.setup { capabilities = capabilities, on_attach = on_lsp_attach } lspconfig.tsserver.setup { capabilities = capabilities, on_attach = on_lsp_attach } lspconfig.vimls.setup { capabilities = capabilities, diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index c08b3254..a09e0f0a 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -1,111 +1,124 @@ { pkgs, config, lib, inputs, ... }: +let + cfg = config.ragon.nvim; +in { - home.packages = with pkgs;[ - # telescope - ripgrep - # embedded terminal - lazygit - glab - gh + options.ragon.nvim.enable = lib.mkOption { default = true; }; + options.ragon.nvim.maximal = lib.mkOption { default = false; }; + config = lib.mkIf cfg.enable { + home.packages = + (with pkgs;[ + # telescope + ripgrep + # embedded terminal + lazygit + glab + gh - # language servers - nil # nix - #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp - gopls # go - pyright # python3 - terraform-ls - terraform - nodePackages.typescript - nodePackages.typescript-language-server - haskell-language-server - sumneko-lua-language-server - ltex-ls # languageTool - nodePackages.vscode-langservers-extracted # eslint, ... - texlab # latex - tectonic - # rust completion - cargo - rustc - rustfmt - unstable.rust-analyzer - # c# debugging - (pkgs.writeShellScriptBin "netcoredbg" ''exec ${pkgs.unstable.netcoredbg}/bin/netcoredbg "$@"'') # don't fill $path with dlls + # other stuff + neovim-remote + ]) ++ + lib.optionals cfg.maximal (with pkgs;[ + # language servers + nil # nix + #inputs.rnix-lsp.packages."${pkgs.system}".rnix-lsp + gopls # go + pyright # python3 + terraform-ls + terraform + nodePackages.typescript + nodePackages.typescript-language-server + haskell-language-server + sumneko-lua-language-server + ltex-ls # languageTool + nodePackages.vscode-langservers-extracted # eslint, ... + texlab # latex + tectonic + kotlin + kotlin-language-server + ktlint + # rust completion + cargo + rustc + rustfmt + unstable.rust-analyzer + # c# debugging + (pkgs.writeShellScriptBin "netcoredbg" ''exec ${pkgs.unstable.netcoredbg}/bin/netcoredbg "$@"'') # don't fill $path with dlls - # other stuff - neovim-remote - ]; - home.file.".config/nvim".source = ./config; - home.file.".config/nvim".recursive = true; - programs.neovim = - { - enable = true; - package = pkgs.neovim-nightly; - extraConfig = '' - set runtimepath^=~/.config/nvim - lua dofile('${./config/nvim.lua}') - ''; - vimAlias = true; - viAlias = true; - plugins = - let - nnn-nvim = pkgs.vimUtils.buildVimPlugin { - pname = "nnn-nvim"; - version = "1.0.0"; - src = inputs.nnn-nvim; - }; - notify-nvim = pkgs.vimUtils.buildVimPlugin { - pname = "notify-nvim"; - version = "1.0.0"; - src = inputs.notify-nvim; - }; - noice-nvim = pkgs.vimUtils.buildVimPlugin { - pname = "noice-nvim"; - version = "1.0.0"; - src = inputs.noice-nvim; - }; - in - map (x: { plugin = x; }) (with pkgs.vimPlugins; [ - vim-tmux-navigator # tmux - nnn-nvim # nnn as filebrowser - gruvbox-nvim # theme - # complete ui overhaul - notify-nvim - nui-nvim - noice-nvim - telescope-nvim - telescope-ui-select-nvim - # line - lualine-nvim + ]); + home.file.".config/nvim".source = ./config; + home.file.".config/nvim".recursive = true; + programs.neovim = + { + enable = true; + package = pkgs.neovim-nightly; + extraConfig = '' + set runtimepath^=~/.config/nvim + lua dofile('${./config/nvim.lua}') + ''; + vimAlias = true; + viAlias = true; + plugins = + let + nnn-nvim = pkgs.vimUtils.buildVimPlugin { + pname = "nnn-nvim"; + version = "1.0.0"; + src = inputs.nnn-nvim; + }; + notify-nvim = pkgs.vimUtils.buildVimPlugin { + pname = "notify-nvim"; + version = "1.0.0"; + src = inputs.notify-nvim; + }; + noice-nvim = pkgs.vimUtils.buildVimPlugin { + pname = "noice-nvim"; + version = "1.0.0"; + src = inputs.noice-nvim; + }; + in + map (x: { plugin = x; }) (with pkgs.vimPlugins; [ + vim-tmux-navigator # tmux + nnn-nvim # nnn as filebrowser + gruvbox-nvim # theme + # complete ui overhaul + notify-nvim + nui-nvim + noice-nvim + telescope-nvim + telescope-ui-select-nvim + # line + lualine-nvim - # vcs integration - gitsigns-nvim + # vcs integration + gitsigns-nvim - # completion - nvim-lspconfig # lsp - nvim-dap # dap - nvim-dap-ui # dap stuffzies - nvim-dap-go - pkgs.unstable.vimPlugins.rust-tools-nvim # rust special sauce - pkgs.unstable.vimPlugins.flutter-tools-nvim - # completion - nvim-cmp - cmp-nvim-lsp - cmp-buffer - cmp-path - cmp-cmdline - nvim-cmp # completion ui - lspkind-nvim # icons for completion - # completion-snippets - luasnip - cmp_luasnip - friendly-snippets # some premade snippets + # completion + nvim-lspconfig # lsp + nvim-dap # dap + nvim-dap-ui # dap stuffzies + nvim-dap-go + pkgs.unstable.vimPlugins.rust-tools-nvim # rust special sauce + pkgs.unstable.vimPlugins.flutter-tools-nvim + # completion - nvim-cmp + cmp-nvim-lsp + cmp-buffer + cmp-path + cmp-cmdline + nvim-cmp # completion ui + lspkind-nvim # icons for completion + # completion-snippets + luasnip + cmp_luasnip + friendly-snippets # some premade snippets - toggleterm-nvim # embed terminals (for lazygit,...) + toggleterm-nvim # embed terminals (for lazygit,...) - # treesitter - (nvim-treesitter.withPlugins ( - plugins: pkgs.tree-sitter.allGrammars - )) - ]); - }; + # treesitter + (nvim-treesitter.withPlugins ( + plugins: pkgs.tree-sitter.allGrammars + )) + ]); + }; + }; } diff --git a/hosts/daedalus/default.nix b/hosts/daedalus/default.nix index 4e2bc384..c07cd92d 100644 --- a/hosts/daedalus/default.nix +++ b/hosts/daedalus/default.nix @@ -48,10 +48,7 @@ with lib.my; programs.gnupg.agent.enable = true; home-manager.users.ragon = { pkgs, lib, inputs, config, ... }: { - - imports = [ - "${inputs.private}/mail.nix" - ]; + ragon.nvim.maximal = true; home.file.".hammerspoon/init.lua".source = let From da23e52670648c9b281b9691773ce431b96e10cc Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 30 Apr 2023 23:11:54 +0200 Subject: [PATCH 243/525] test --- hm-imports/nvim/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index a09e0f0a..b50c17f7 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -115,7 +115,7 @@ in toggleterm-nvim # embed terminals (for lazygit,...) # treesitter - (nvim-treesitter.withPlugins ( + (pkgs.unstable.vimPlugins.nvim-treesitter.withPlugins ( plugins: pkgs.tree-sitter.allGrammars )) ]); From d59bfa1906bae792c4d2baaee9132e78e27df212 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 30 Apr 2023 23:17:42 +0200 Subject: [PATCH 244/525] a --- flake.lock | 85 +++++++++++-------------------------- flake.nix | 2 + hm-imports/nvim/default.nix | 6 +-- 3 files changed, 28 insertions(+), 65 deletions(-) diff --git a/flake.lock b/flake.lock index fc9977b0..116d9e6b 100644 --- a/flake.lock +++ b/flake.lock @@ -67,11 +67,11 @@ ] }, "locked": { - "lastModified": 1682009832, - "narHash": "sha256-QdNOeFE7sI+0ddqVfn9vQDCUs7OdxhJ7evo9sdyP82Y=", + "lastModified": 1682773107, + "narHash": "sha256-+h94XeJnG3uk5imJlBi/1lVmcfCbxHpwZp5u7n3Krwg=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a1ee4d333b092bc055655fb06229eb3013755812", + "rev": "379d42fad6bc5c28f79d5f7ff2fa5f1c90cb7bf8", "type": "github" }, "original": { @@ -87,11 +87,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682673816, - "narHash": "sha256-C5zxg5AbMbX3UD2iiWL6fqvp/csTnk8JeXh6PHf7zOI=", + "lastModified": 1682871454, + "narHash": "sha256-NiozRbgHVHg5WXmcQVOABzKGTVgsLPE2k9VTudd+LoY=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "60fe647be71d6f433f4a8f9f22d7430bf0ef58a4", + "rev": "ff0f8af5d4f511adf3a3252d1c09bfdc1912e8c6", "type": "github" }, "original": { @@ -130,21 +130,6 @@ "type": "github" } }, - "flake-utils_2": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -218,44 +203,22 @@ "type": "github" } }, - "neovim-flake": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "dir": "contrib", - "lastModified": 1682581904, - "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", - "owner": "neovim", - "repo": "neovim", - "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", - "type": "github" - }, - "original": { - "dir": "contrib", - "owner": "neovim", - "repo": "neovim", - "type": "github" - } - }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat", - "neovim-flake": "neovim-flake", + "neovim-flake": [ + "nixpkgs-master" + ], "nixpkgs": [ "nixpkgs-master" ] }, "locked": { - "lastModified": 1682669607, - "narHash": "sha256-m+KpU/R71cpPZ0jLyC15u58wpA7MXtanXz0QetN1V/s=", + "lastModified": 1682842314, + "narHash": "sha256-0+Co6bCq6G1IM2IxY2zj/TSlmEk7VhtKnZdV41IkK1A=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ab48027070ebb931feeb468f30641b9906a1fa8e", + "rev": "e33a45a398694d15e6947472f9559f90b97bd5f4", "type": "github" }, "original": { @@ -266,11 +229,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1680876084, - "narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=", + "lastModified": 1682836095, + "narHash": "sha256-PdzpJhuXBz71AgWNWMMYLbB8GMMce6QguhQY/6HOOcc=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2", + "rev": "e4a21ddcb45ee5f5c85a5d9e9698debf77fb98c3", "type": "github" }, "original": { @@ -298,11 +261,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1682538316, - "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", + "lastModified": 1682817260, + "narHash": "sha256-kFMXzKNj4d/0Iqbm5l57rHSLyUeyCLMuvlROZIuuhvk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "15b75800dce80225b44f067c9012b09de37dfad2", + "rev": "db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36", "type": "github" }, "original": { @@ -314,11 +277,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1682692888, - "narHash": "sha256-DJW9LNTwIzx0q348t+TEVrW7Ds2fvOjVnTQzFk7tKcg=", + "lastModified": 1682889332, + "narHash": "sha256-Vu7xYVP7ccj00wDmvQABLtsT+8u/y8c5ZU+7JOr71gw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1f3c4bf6b40ef3a6fd8f6afe19bc5c7ef0db0b62", + "rev": "0097559c15143e5446075b163b7c26523db7a1ac", "type": "github" }, "original": { @@ -330,11 +293,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682538316, - "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", + "lastModified": 1682669017, + "narHash": "sha256-Vi+p4y3wnl0/4gcwTdmCO398kKlDaUrNROtf3GOD2NY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "15b75800dce80225b44f067c9012b09de37dfad2", + "rev": "7449971a3ecf857b4a554cf79b1d9dcc1a4647d8", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3f0c05c1..d4a131c3 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,8 @@ darwin.inputs.nixpkgs.follows = "nixpkgs"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs-master"; + neovim-nightly-overlay.inputs.neovim-flake.url = "github:neovim/neovim?dir=contrib&rev=4725ea69feb422a7bc07ceca0af795877d7f4532"; + neovim-nightly-overlay.inputs.neovim-flake.follows = "nixpkgs-master"; # programs xynoblog.url = "github:thexyno/blog"; diff --git a/hm-imports/nvim/default.nix b/hm-imports/nvim/default.nix index b50c17f7..e368d6c3 100644 --- a/hm-imports/nvim/default.nix +++ b/hm-imports/nvim/default.nix @@ -76,7 +76,7 @@ in src = inputs.noice-nvim; }; in - map (x: { plugin = x; }) (with pkgs.vimPlugins; [ + map (x: { plugin = x; }) (with pkgs.unstable.vimPlugins; [ vim-tmux-navigator # tmux nnn-nvim # nnn as filebrowser gruvbox-nvim # theme @@ -115,9 +115,7 @@ in toggleterm-nvim # embed terminals (for lazygit,...) # treesitter - (pkgs.unstable.vimPlugins.nvim-treesitter.withPlugins ( - plugins: pkgs.tree-sitter.allGrammars - )) + (nvim-treesitter.withAllGrammars) ]); }; }; From fe322905be8f81a20446bc9e04feaadc326017c8 Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Sun, 30 Apr 2023 23:50:46 +0200 Subject: [PATCH 245/525] a --- darwin-common.nix | 4 ++-- flake.lock | 59 +++++++++++++++++++++++++++++++++++++++++++---- flake.nix | 4 ++-- 3 files changed, 59 insertions(+), 8 deletions(-) diff --git a/darwin-common.nix b/darwin-common.nix index 8f2a8369..c1292e4d 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -24,9 +24,9 @@ supportedFeatures = [ "kvm" "big-parallel" ]; sshUser = "ragon"; maxJobs = 8; - hostName = "192.168.65.4"; + hostName = "192.168.65.7"; sshKey = "/Users/ragon/.ssh/id_ed25519"; - publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU1tU2NqZXVhLzVKQzF2S2VWMGpETUM5cmF2T1JzY0VOWlZ2c2hFSjFYMHUK"; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUM4aG9teFlQZlk4bS9JQ2c2NVNWNU9Temp3eW1sNmxEMXhGNi9zWUxPQkY="; }]; nix.extraOptions = '' builders-use-substitutes = true diff --git a/flake.lock b/flake.lock index 116d9e6b..5bd3522f 100644 --- a/flake.lock +++ b/flake.lock @@ -130,6 +130,21 @@ "type": "github" } }, + "flake-utils_2": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -203,12 +218,32 @@ "type": "github" } }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "dir": "contrib", + "lastModified": 1681563256, + "narHash": "sha256-efqY64VXxpcBCBouHwl0d0fJ6Aol3gzQB7/eXFO4gI0=", + "owner": "neovim", + "repo": "neovim", + "rev": "eb151a9730f0000ff46e0b3467e29bb9f02ae362", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "rev": "4725ea69feb422a7bc07ceca0af795877d7f4532", + "type": "github" + } + }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat", - "neovim-flake": [ - "nixpkgs-master" - ], + "neovim-flake": "neovim-flake", "nixpkgs": [ "nixpkgs-master" ] @@ -292,6 +327,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1681465517, + "narHash": "sha256-EasJh15/jcJNAHtq2SGbiADRXteURAnQbj1NqBoKkzU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "abe7316dd51a313ce528972b104f4f04f56eefc4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1682669017, "narHash": "sha256-Vi+p4y3wnl0/4gcwTdmCO398kKlDaUrNROtf3GOD2NY=", @@ -436,7 +487,7 @@ "miro": "miro", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-master": "nixpkgs-master", "nnn-nvim": "nnn-nvim", diff --git a/flake.nix b/flake.nix index d4a131c3..619f53ec 100644 --- a/flake.nix +++ b/flake.nix @@ -18,8 +18,8 @@ darwin.inputs.nixpkgs.follows = "nixpkgs"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs-master"; - neovim-nightly-overlay.inputs.neovim-flake.url = "github:neovim/neovim?dir=contrib&rev=4725ea69feb422a7bc07ceca0af795877d7f4532"; - neovim-nightly-overlay.inputs.neovim-flake.follows = "nixpkgs-master"; + neovim-nightly-overlay.inputs.neovim-flake.url = "github:neovim/neovim?dir=contrib&rev=eb151a9730f0000ff46e0b3467e29bb9f02ae362"; + neovim-nightly-overlay.inputs.neovim-flake.inputs.nixpkgs.follows = "nixpkgs-master"; # programs xynoblog.url = "github:thexyno/blog"; From 8de7a014b5a6fcbc8877b83ec3f613392f122d0f Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Fri, 5 May 2023 01:53:16 +0200 Subject: [PATCH 246/525] a --- darwin-common.nix | 1 + hm-imports/nvim/config/lua/plugin/cmp.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/darwin-common.nix b/darwin-common.nix index c1292e4d..d024f407 100644 --- a/darwin-common.nix +++ b/darwin-common.nix @@ -44,6 +44,7 @@ dock.mru-spaces = false; dock.show-recents = false; dock.static-only = true; + dock.expose-animation-duration = 0.01; finder.AppleShowAllExtensions = true; finder.FXEnableExtensionChangeWarning = false; loginwindow.GuestEnabled = false; diff --git a/hm-imports/nvim/config/lua/plugin/cmp.lua b/hm-imports/nvim/config/lua/plugin/cmp.lua index e157b97b..35d1569f 100644 --- a/hm-imports/nvim/config/lua/plugin/cmp.lua +++ b/hm-imports/nvim/config/lua/plugin/cmp.lua @@ -35,6 +35,7 @@ cmp.setup({ }, sources = cmp.config.sources({ { name = "nvim_lsp" }, + { name = "xynowiki" }, { name = "luasnip" }, }, { name = "buffer" }), formatting = { From d915e02e3a12aa02d9f66fae46a66fab5a32cccc Mon Sep 17 00:00:00 2001 From: Philipp Hochkamp Date: Mon, 8 May 2023 23:29:44 +0200 Subject: [PATCH 247/525] a --- hm-imports/nvim/config/lua/keybindings.lua | 5 +++++ hm-imports/nvim/config/lua/plugin/cmp.lua | 1 - hm-imports/nvim/config/nvim.lua | 1 + packages/scripts/{ns => ,} | 0 4 files changed, 6 insertions(+), 1 deletion(-) rename packages/scripts/{ns => ,} (100%) diff --git a/hm-imports/nvim/config/lua/keybindings.lua b/hm-imports/nvim/config/lua/keybindings.lua index 19de72e6..6fc35d79 100644 --- a/hm-imports/nvim/config/lua/keybindings.lua +++ b/hm-imports/nvim/config/lua/keybindings.lua @@ -61,3 +61,8 @@ map {"n", "du", "lua require'dapui'.toggle()", { noremap = true map {"n", "dc", "lua require'dap'.continue()", { noremap = true, silent = true}} map {"n", "dr", "lua require'dap'.repl.open()", { noremap = true, silent = true}} map {"n", "di", "lua require'dap'.step_into()", { noremap = true, silent = true}} +-- cp +map {"n", "c", "Copilot panel", { noremap = true, silent = true}} +vim.cmd [[ + imap