From a5a9a29e2de849b2969feb1c7abeb10535542b8d Mon Sep 17 00:00:00 2001 From: dish Date: Sat, 20 Jun 2026 11:15:28 -0400 Subject: [PATCH] [skye] finish moving over her config --- hosts/dialga/services/scrutiny.nix | 4 +- nixosModules/default.nix | 14 +- .../homes/{ => dish}/pyrox-zaphod/default.nix | 0 .../pyrox-zaphod/files/distrobox-config.nix | 0 .../{ => dish}/pyrox-zaphod/files/pamKeys.nix | 0 .../homes/{ => dish}/pyrox/default.nix | 0 .../{ => dish}/thehedgehog-zaphod/default.nix | 0 .../homes/{ => dish}/thehedgehog/default.nix | 0 nixosModules/homes/skye/common.nix | 55 +++++ nixosModules/homes/skye/desktop.nix | 200 ++++++++++++++++++ nixosModules/homes/skye/server.nix | 10 + nixosModules/skye/base/backup.nix | 10 +- .../base/secrets/lastfm-rpc/ninetails.age | Bin 0 -> 583 bytes .../skye/base/secrets/monitoring/scrutiny.age | 9 + .../base/secrets/restic/dialga/password.age | Bin 0 -> 561 bytes .../skye/base/secrets/restic/dialga/repo.age | 9 + nixosModules/skye/base/secrets/restic/env.age | 12 ++ .../secrets/restic/ninetails/password.age | 11 + .../base/secrets/restic/ninetails/repo.age | 10 + nixosModules/skye/base/secrets/secrets.nix | 83 ++++++++ .../base/secrets/server-checks/altaria.age | 10 + .../base/secrets/server-checks/dialga.age | 10 + .../base/secrets/server-checks/mareep.age | Bin 0 -> 487 bytes .../skye/base/secrets/server-checks/zorua.age | 9 + nixosModules/skye/base/server/checks.nix | 2 +- nixosModules/skye/base/users.nix | 2 +- 26 files changed, 445 insertions(+), 15 deletions(-) rename nixosModules/homes/{ => dish}/pyrox-zaphod/default.nix (100%) rename nixosModules/homes/{ => dish}/pyrox-zaphod/files/distrobox-config.nix (100%) rename nixosModules/homes/{ => dish}/pyrox-zaphod/files/pamKeys.nix (100%) rename nixosModules/homes/{ => dish}/pyrox/default.nix (100%) rename nixosModules/homes/{ => dish}/thehedgehog-zaphod/default.nix (100%) rename nixosModules/homes/{ => dish}/thehedgehog/default.nix (100%) create mode 100644 nixosModules/homes/skye/common.nix create mode 100644 nixosModules/homes/skye/desktop.nix create mode 100644 nixosModules/homes/skye/server.nix create mode 100644 nixosModules/skye/base/secrets/lastfm-rpc/ninetails.age create mode 100644 nixosModules/skye/base/secrets/monitoring/scrutiny.age create mode 100644 nixosModules/skye/base/secrets/restic/dialga/password.age create mode 100644 nixosModules/skye/base/secrets/restic/dialga/repo.age create mode 100644 nixosModules/skye/base/secrets/restic/env.age create mode 100644 nixosModules/skye/base/secrets/restic/ninetails/password.age create mode 100644 nixosModules/skye/base/secrets/restic/ninetails/repo.age create mode 100644 nixosModules/skye/base/secrets/secrets.nix create mode 100644 nixosModules/skye/base/secrets/server-checks/altaria.age create mode 100644 nixosModules/skye/base/secrets/server-checks/dialga.age create mode 100644 nixosModules/skye/base/secrets/server-checks/mareep.age create mode 100644 nixosModules/skye/base/secrets/server-checks/zorua.age diff --git a/hosts/dialga/services/scrutiny.nix b/hosts/dialga/services/scrutiny.nix index ca842282..5b5ed8f6 100644 --- a/hosts/dialga/services/scrutiny.nix +++ b/hosts/dialga/services/scrutiny.nix @@ -1,9 +1,9 @@ -{ self, config, ... }: +{ config, ... }: let in { age.secrets."monitoring/scrutiny" = { - file = ../../../secrets/monitoring/scrutiny.age; + file = ../../../nixosModules/skye/base/secrets/monitoring/scrutiny.age; }; services.scrutiny = { diff --git a/nixosModules/default.nix b/nixosModules/default.nix index 8525e25b..62b453ca 100644 --- a/nixosModules/default.nix +++ b/nixosModules/default.nix @@ -5,12 +5,13 @@ _: { defaultUsers = import ./default-users; profiles = import ./profiles; distributed-builds = import ./distributedBuilds; + dn42Wireguard = import ./dn42Wireguard; + + # Skye's modules skye-base = import ./skye/base; skye-server-checks = import ./skye/server-checks; skye-lastfm-rpc = import ./skye/lastfm-rpc; - dn42Wireguard = import ./dn42Wireguard; - # Programs chromium = import ./programs/chromium; dms = import ./programs/dms; @@ -25,9 +26,10 @@ _: { scrutiny = import ./services/scrutiny; voidauth = import ./services/voidauth; - hm-pyrox = import ./homes/pyrox; - hm-thehedgehog = import ./homes/thehedgehog; - hm-pyrox-zaphod = import ./homes/pyrox-zaphod; - hm-thehedgehog-zaphod = import ./homes/thehedgehog-zaphod; + # dish's homes + hm-pyrox = import ./homes/dish/pyrox; + hm-thehedgehog = import ./homes/dish/thehedgehog; + hm-pyrox-zaphod = import ./homes/dish/pyrox-zaphod; + hm-thehedgehog-zaphod = import ./homes/dish/thehedgehog-zaphod; }; } diff --git a/nixosModules/homes/pyrox-zaphod/default.nix b/nixosModules/homes/dish/pyrox-zaphod/default.nix similarity index 100% rename from nixosModules/homes/pyrox-zaphod/default.nix rename to nixosModules/homes/dish/pyrox-zaphod/default.nix diff --git a/nixosModules/homes/pyrox-zaphod/files/distrobox-config.nix b/nixosModules/homes/dish/pyrox-zaphod/files/distrobox-config.nix similarity index 100% rename from nixosModules/homes/pyrox-zaphod/files/distrobox-config.nix rename to nixosModules/homes/dish/pyrox-zaphod/files/distrobox-config.nix diff --git a/nixosModules/homes/pyrox-zaphod/files/pamKeys.nix b/nixosModules/homes/dish/pyrox-zaphod/files/pamKeys.nix similarity index 100% rename from nixosModules/homes/pyrox-zaphod/files/pamKeys.nix rename to nixosModules/homes/dish/pyrox-zaphod/files/pamKeys.nix diff --git a/nixosModules/homes/pyrox/default.nix b/nixosModules/homes/dish/pyrox/default.nix similarity index 100% rename from nixosModules/homes/pyrox/default.nix rename to nixosModules/homes/dish/pyrox/default.nix diff --git a/nixosModules/homes/thehedgehog-zaphod/default.nix b/nixosModules/homes/dish/thehedgehog-zaphod/default.nix similarity index 100% rename from nixosModules/homes/thehedgehog-zaphod/default.nix rename to nixosModules/homes/dish/thehedgehog-zaphod/default.nix diff --git a/nixosModules/homes/thehedgehog/default.nix b/nixosModules/homes/dish/thehedgehog/default.nix similarity index 100% rename from nixosModules/homes/thehedgehog/default.nix rename to nixosModules/homes/dish/thehedgehog/default.nix diff --git a/nixosModules/homes/skye/common.nix b/nixosModules/homes/skye/common.nix new file mode 100644 index 00000000..4ca28686 --- /dev/null +++ b/nixosModules/homes/skye/common.nix @@ -0,0 +1,55 @@ +{ config, pkgs, ... }: + +{ + home = { + username = "skye"; + homeDirectory = "/home/skye"; + stateVersion = "25.11"; + }; + + programs.zsh = { + enable = true; + oh-my-zsh = { + enable = true; + plugins = [ "git" ]; + }; + initContent = '' + bindkey "^[[1;3D" backward-word + bindkey "^[[1;3C" forward-word + bindkey "^[[1;5D" backward-word + bindkey "^[[1;5C" forward-word + bindkey "^[b" backward-word + bindkey "^[f" forward-word + ''; + }; + + programs.git = { + enable = true; + extraConfig = { + user.name = "asleepyskye"; + user.email = "skye@vixen.lgbt"; + }; + }; + + home.packages = with pkgs; [ + hyfetch + ]; + + xdg.configFile."hyfetch.json".source = (pkgs.formats.json { }).generate "hyfetch.json" { + preset = "transgender"; + mode = "8bit"; + auto_detect_light_dark = true; + light_dark = "dark"; + lightness = 0.65; + color_align = { + mode = "horizontal"; + }; + backend = "neofetch"; + args = null; + distro = null; + pride_month_disable = false; + custom_ascii_path = null; + }; + + programs.home-manager.enable = true; +} diff --git a/nixosModules/homes/skye/desktop.nix b/nixosModules/homes/skye/desktop.nix new file mode 100644 index 00000000..c92e31ef --- /dev/null +++ b/nixosModules/homes/skye/desktop.nix @@ -0,0 +1,200 @@ +{ pkgs, inputs, ... }: +{ + imports = [ + ./common.nix + inputs.noctalia.homeModules.default + ]; + + programs.noctalia-shell = { + enable = true; + }; + + programs.zsh.oh-my-zsh = { + theme = "lesbianheart"; + custom = "${pkgs.writeTextDir "themes/lesbianheart.zsh-theme" '' + PROMPT='[%m] %F{#D52D00}♥ %F{#FF9A56}♥ %F{#FFFFFF}♥ %F{#D362A4}♥ %F{#A30262}♥%f %F{cyan}%~%f > ' + ''}"; + }; + + home.file.".face".source = pkgs.fetchurl { + url = "https://media.vixen.lgbt/sso/skye.png"; + hash = "sha256-53Mh2svqeTCI5oaQBYxRcwrzAMgmCmd2ZNljTOFNPpc="; + }; + + xdg.configFile."niri/config.kdl".text = '' + spawn-at-startup "noctalia-shell" + spawn-at-startup "playerctld" + spawn-at-startup "cider-2" + spawn-at-startup "discord" + spawn-at-startup "flatpak" "run" "me.amankhanna.opendeck" "--hide" + xwayland-satellite {} + + layout { + shadow { + off + } + focus-ring { + width 4 + active-gradient from="#b5ddf7" to="#f5a9b8" angle=45 in="srgb-linear" + } + } + + output "HP Inc. HP Z27n G2 6CM8150LVM" { + mode "2560x1440@74.971" + position x=0 y=1080 + } + output "GIGA-BYTE TECHNOLOGY CO., LTD. M27Q P 22163B004576" { + mode "2560x1440@164.958" + position x=2560 y=1080 + } + output "HP Inc. HP E223 3CQ9200Q2B" { + mode "1920x1080@60.000" + position x=359 y=0 + transform "180" + } + + window-rule { + geometry-corner-radius 10 + clip-to-geometry true + } + + debug { + honor-xdg-activation-with-invalid-serial + } + + window-rule { + draw-border-with-background false + background-effect { + blur true + xray false + } + } + + window-rule { + match app-id="discord" + open-on-output "HP Inc. HP Z27n G2 6CM8150LVM" + default-column-width { proportion 1.0; } + } + + window-rule { + match app-id="Cider" + open-on-output "HP Inc. HP E223 3CQ9200Q2B" + default-column-width { proportion 1.0; } + } + + layer-rule { + match namespace="^noctalia-(background|launcher-overlay|dock)-.*$" + background-effect { + xray false + } + } + + gestures { + hot-corners { + off + } + } + + binds { + Ctrl+Alt+T { spawn "kitty"; } + Mod+Space { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; } + Mod+V { spawn "noctalia-shell" "ipc" "call" "launcher" "clipboard"; } + Mod+L { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; } + + Mod+Alt+O repeat=false { toggle-overview; } + + Mod+Alt+Up { focus-workspace-up; } + Mod+Alt+Down { focus-workspace-down; } + + Mod+Alt+Left { set-column-width "50%"; } + Mod+Alt+Right { set-column-width "50%"; } + + Mod+Q repeat=false { close-window; } + + Mod+Alt+Return repeat=false { maximize-column; } + Mod+Shift+Alt+Return repeat=false { maximize-window-to-edges; } + Mod+Alt+Apostrophe repeat=false { toggle-window-floating; } + + Mod+Shift+S repeat=false { screenshot; } + Print repeat=false { screenshot-screen; } + + XF86AudioRaiseVolume allow-when-locked=true { spawn "sh" "-c" "playerctl status 2>/dev/null | grep -q Playing && playerctl volume 0.05+ || noctalia-shell ipc call volume increase"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "sh" "-c" "playerctl status 2>/dev/null | grep -q Playing && playerctl volume 0.05- || noctalia-shell ipc call volume decrease"; } + XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; } + XF86AudioMicMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteInput"; } + XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; } + XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; } + XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; } + + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + + Mod+Ctrl+Left { move-column-left; } + Mod+Ctrl+Down { move-window-down; } + Mod+Ctrl+Up { move-window-up; } + Mod+Ctrl+Right { move-column-right; } + Mod+Ctrl+H { move-column-left; } + Mod+Ctrl+J { move-window-down; } + Mod+Ctrl+K { move-window-up; } + Mod+Ctrl+L { move-column-right; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+End { move-column-to-last; } + + Mod+Shift+Left { focus-monitor-left; } + Mod+Shift+Down { focus-monitor-down; } + Mod+Shift+Up { focus-monitor-up; } + Mod+Shift+Right { focus-monitor-right; } + Mod+Shift+H { focus-monitor-left; } + Mod+Shift+J { focus-monitor-down; } + Mod+Shift+K { focus-monitor-up; } + Mod+Shift+L { focus-monitor-right; } + + Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } + Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } + Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + } + ''; + + programs.kitty = { + enable = true; + shellIntegration.enableZshIntegration = true; + themeFile = "Catppuccin-Mocha"; + font = { + size = 12; + name = "JetBrainsMono Nerd Font Mono"; + }; + settings = { + background_opacity = "0.8"; + wayland_titlebar_color = "system"; + macos_titlebar_color = "background"; + window_padding_width = "6 8"; + term = "xterm-256color"; + }; + }; + + home.packages = with pkgs; [ + nerd-fonts.jetbrains-mono + direnv + playerctl + + obsidian + betterdiscordctl + discord + ]; + + programs.vscode = { + enable = true; + extensions = with pkgs.vscode-extensions; [ rust-lang.rust-analyzer ]; + package = pkgs.vscode.fhs; + }; +} diff --git a/nixosModules/homes/skye/server.nix b/nixosModules/homes/skye/server.nix new file mode 100644 index 00000000..4af15bbd --- /dev/null +++ b/nixosModules/homes/skye/server.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + imports = [ ./common.nix ]; + programs.zsh.oh-my-zsh = { + theme = "transheart"; + custom = "${pkgs.writeTextDir "themes/transheart.zsh-theme" '' + PROMPT='[%m] %F{117}♥ %F{218}♥ %F{231}♥ %F{218}♥ %F{117}♥ %f %F{cyan}%~%f > ' + ''}"; + }; +} diff --git a/nixosModules/skye/base/backup.nix b/nixosModules/skye/base/backup.nix index ff25f862..a3c23e14 100644 --- a/nixosModules/skye/base/backup.nix +++ b/nixosModules/skye/base/backup.nix @@ -5,14 +5,14 @@ ... }: -let - hasConfig = builtins.pathExists ../../secrets/restic/${config.networking.hostName}/repo.age; +let + hasConfig = builtins.pathExists ./secrets/restic/${config.networking.hostName}/repo.age; in lib.mkIf hasConfig { age.secrets = { - "restic/env".file = ../../secrets/restic/env.age; - "restic/repo".file = ../../secrets/restic/${config.networking.hostName}/repo.age; - "restic/password".file = ../../secrets/restic/${config.networking.hostName}/password.age; + "restic/env".file = ./secrets/restic/env.age; + "restic/repo".file = ./secrets/restic/${config.networking.hostName}/repo.age; + "restic/password".file = ./secrets/restic/${config.networking.hostName}/password.age; }; services.restic.backups = { diff --git a/nixosModules/skye/base/secrets/lastfm-rpc/ninetails.age b/nixosModules/skye/base/secrets/lastfm-rpc/ninetails.age new file mode 100644 index 0000000000000000000000000000000000000000..b28e85e33c536799a3042fc75318e31759aea720 GIT binary patch literal 583 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+^|VMXFIVvPPcb$q zGjQ?o3a@f0Off47&MI_EEeXiJaa=sNAHweCw-4> z$6_P@aF>82pVHhavy|M@u)HM8%s{U4K*JQX@Vrc~;-n(ailj`Fa4$=XsH$Q=OLM2P zU>Aejki@d0%q$b1=uU0sE|0)3OTfS}Y2Gqda{vl2^_WH0~x6w6ANKxfA&Hw$;K zyyA=?$CS*J5?`+8?l+#E306FO>e~JOS2xU_s2Ha6H}7~^px5fY;80khnMY}vq)?t; z!?R=WP8?&nqBLdJuiIt4U$*ZOZ`a`L_piBjAYNPW*dyNaeccr&rxw`FUEK5C;`|w> z)drhCIZqYwi{w^#^dls6YWzEkwhFs`dyc(**^ib*Pi0#Dw2po8qWy+1J0>kJ|M!5$ z=a+Be*{90u{ObBu+e~k=7U^F%lWUOqbUuUqvD698o0eL0SDrH7>n@w0dGD<_02id) A?EnA( literal 0 HcmV?d00001 diff --git a/nixosModules/skye/base/secrets/monitoring/scrutiny.age b/nixosModules/skye/base/secrets/monitoring/scrutiny.age new file mode 100644 index 00000000..c2f316ae --- /dev/null +++ b/nixosModules/skye/base/secrets/monitoring/scrutiny.age @@ -0,0 +1,9 @@ +age-encryption.org/v1 +-> ssh-ed25519 UI8cww JLXAoxOUsEjRPyLw5ZHzuNON7BLqHAeFkHeDYCMkt2o +/XdizJKUd8CUcZ7OCvhrhXgmpw3RCbbDyXZQVy+xNe8 +-> ssh-ed25519 R5iBIA gfZe3hDGxdWjq7d+FlRE+B68zXB+vQIMkJKMcvSajjs +TR9q8ZkCDJyXNLBs0CEISbFDHNdaGNiUvAS4ZqagGFA +-> ssh-ed25519 E4banw HiMpRPv0qvJ+JPUiZQsFPsoDIMiZxoO/6QBhBlr9E2M +34i3AE5YBKijMha3O/+blJmRfEsafC09Y8l+udd7IjE +--- +/vs+O7AdwQ+KvHisqwmLFEkkBhcl+c9Z4CFW5outj8 +���N������k�w|`��o)�6+/��u�>T$�� ��,�����ZG3�q�IJ]+�ZV��;�J��ЌJ�^.�t���{�����Y����y�����i�rUR"估x{�h�z�s��;��, Ԅ7ߡ� \ No newline at end of file diff --git a/nixosModules/skye/base/secrets/restic/dialga/password.age b/nixosModules/skye/base/secrets/restic/dialga/password.age new file mode 100644 index 0000000000000000000000000000000000000000..330fbdb6d8f2a4b88b163b95a459d8f176085bfd GIT binary patch literal 561 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+^|VMXFIULV$@b4n zuE=#sb}=t4EhyA3_A;|{3-v9vNKY*e@eA@O4KVPr2=aC{isY)&F83}^_cL)VFo<$C zF7(h&sqjyBi!gICGOr8{3(NB@4i8PK$jQvkOGdXX$TZW*(@~+^)gvdT+$_(-ImN&v zsKnGGAg9>Hr8390G@>fp+^MW0IHNMrtR%_6D3q(zB|J#KIM7Ht%{SDwAkn1AIZQvQ z*eAcrH7L#1HONCdxY!^#FFnYwARpZ}SCgc~ymAFcAJ4)xqioMC)38!~H?tzM$e_>= zlj6jRjL2*Y(}0}fL}wSXj2wTbigYf|BJ*&IaEt7+;?T0NN>6t;6YWY*r^M{COjASc z$~@Dch`fxF%*e3f;B+osU0sDJW5bFlV~;>r=gQ2)04LK5PnQz6#C)H~0*_#`67T%H z#42-bi>TbH)N-zhC3=o0mN>QEw~2eW>xc0EQ!xThKdhLU*JJj6%{BL2Ur%Yz%H ssh-ed25519 UI8cww /Rk3MNNcVIdm5VBY2Od3x11+jpA+D3k13HRDqRZPOhs +N+D5xO/4HncSgPmIGU7ITKzrZTh5q/JYi1hkUEoNCzQ +-> ssh-ed25519 R5iBIA vL//87C4+w4NoZSDAxLHwLsipVmmWxsOLF4ZK5UTuiU +t/Bq3xJ57cDv62NlQntVKvEgEwp7pdPSj9+ukAMD2wY +-> ssh-ed25519 E4banw aE3JAjkRav+JF8VIkmUPr2pKVfsOGVfjDZ/+KomcEDU +AK92cYEgupFKaiV39/orqZKULtVMYEdyhgva3jCYTyE +--- feYc+yOxLoqBi3K9e0MlLExC5mARhn/b1WrX6ARlxfM +�� �{s!1\A��FIj���U�hn�~�}Q��\Fi�fM�����!`�#��}u�s7�G���W"X�nF��z� b��PT \ No newline at end of file diff --git a/nixosModules/skye/base/secrets/restic/env.age b/nixosModules/skye/base/secrets/restic/env.age new file mode 100644 index 00000000..489982e3 --- /dev/null +++ b/nixosModules/skye/base/secrets/restic/env.age @@ -0,0 +1,12 @@ +age-encryption.org/v1 +-> ssh-ed25519 UI8cww 9HpUUflITFaXl3eSEBHCDnF0uWDZqS2VulNkXwxcwA0 +wztJidelEbi4HEzzU1DkWm2d34MyUVDrFZFLCYrkj1o +-> ssh-ed25519 R5iBIA VCvKqdqUzLS5DwNEmaXmEVe1/nwq9XcMCFxEwwknk0M +Qksfwscjg/npywoKcEzODBamNCiGL5Q0YNBYM3vbly0 +-> ssh-ed25519 E4banw vpbp9UD+ougK9StGY8AhfiuNpBpUAC1zUS9cAV2qTEo +3Q+0YAHQ9uW0/elwAHSLfpyJut+ZfIJhPRxWEelsWWk +-> ssh-ed25519 TrfPEg utNOUlQSmdmEUwTIHhAnRcLgwFS3nldPGfTbNVPS0jM +gygKmo7OBY5l6OJ0B815qQTb3eJH8KH+9v6ilkGzGXk +--- m7SYkkvwLyp0lLyjND2Fn1MGCtkVJb1Rk+52CsKxBBg +��[��_��,���)e�ː[��IP���~z&1��:���^`9u�������]ӎD�4���T|$ �^ ��%�F�슃���B����TČ������h�֬�X(� + �E�����Fz \ No newline at end of file diff --git a/nixosModules/skye/base/secrets/restic/ninetails/password.age b/nixosModules/skye/base/secrets/restic/ninetails/password.age new file mode 100644 index 00000000..b047456d --- /dev/null +++ b/nixosModules/skye/base/secrets/restic/ninetails/password.age @@ -0,0 +1,11 @@ +age-encryption.org/v1 +-> ssh-ed25519 UI8cww Bjq0l3i4cmRm6B5eJ3vcGcMp6ndmHxEsLbGE7h3JsD0 +96RGNrW6omYujvFCCGCSzQay+XBEdIs5JZu3CstDFOw +-> ssh-ed25519 R5iBIA j/WA2v/lz9nHpv3LDE8lqkC7hLerWPEp2HBKaGRNzQQ +ZF8sAEfzb1bQbeQz5JLQub/SrvK0UCjmEWAYELMceFk +-> ssh-ed25519 TrfPEg 89gyV/RBgzVjAZCzNRxIEO1MlaJS/8uj5pU/G1qtmiA +hP6dz5417gOXeYOjVxkScbyIyfwxtME4VHAuXpG8ofs +--- TjnoEnBe1oPNh/u0kgPgxdOsz+PUyMtwuF8aMtm3z/s +��>Ѓp�b���2�uXN �D�\ϲ��O]�/��� RF���.YW1C.#�U������ +�����ffАY>8O��^ѥW& +_[�{��Y���J�������`+��o���{�8��y /�N��ݲ�L����l����H��Й��n�g�:`4c�H�K�� \ No newline at end of file diff --git a/nixosModules/skye/base/secrets/restic/ninetails/repo.age b/nixosModules/skye/base/secrets/restic/ninetails/repo.age new file mode 100644 index 00000000..79a2c597 --- /dev/null +++ b/nixosModules/skye/base/secrets/restic/ninetails/repo.age @@ -0,0 +1,10 @@ +age-encryption.org/v1 +-> ssh-ed25519 UI8cww fU7cb9MKoFAlfqyBfeoRYJW9zIuJVo1fNyqEZSUQKRs +f+UMj8543swEtXhQUVt/idMFrYSN9FmTefY3UOkOo2M +-> ssh-ed25519 R5iBIA tu/R00RiTILTKZPY6LkdlzbCB5P0oXSGyJ/ugi4AfGc +AjBepZXHF8WpInbF4j1DdjV3AIntrgEY41RfDg5sh0E +-> ssh-ed25519 TrfPEg FMckmGYcRUg/wWHuyFyrP+wtlFc61lrbnr0ti6wGtBI +sq/PqpxDpPvIuj/fOuKzBoe6MVwOlLO6adqQG4ahN0U +--- WFvAmhYelgTQlmQPyZtbygGlXI/V2grf7dceQb4sqys + KI=���Oc��0u +��bo��t0�+�ɺ���_�� �U�e�S��y0WS;����>U��=L'c��,X֨�y|Bg����� \ No newline at end of file diff --git a/nixosModules/skye/base/secrets/secrets.nix b/nixosModules/skye/base/secrets/secrets.nix new file mode 100644 index 00000000..0a3621bd --- /dev/null +++ b/nixosModules/skye/base/secrets/secrets.nix @@ -0,0 +1,83 @@ +let + inherit (import { }) lib; + readSshKeyFile = ( + file: + with builtins; + with lib; + filter (line: isString line && hasPrefix "ssh-" line) (split "\n" (readFile file)) + ); + keys = { + users.skye = readSshKeyFile ../sshKeys/skye; + systems = { + ninetails = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLoxq0t2bNBEEX6o3fEtQnT8qC/wWoXUuEXzhjYnLyv" ]; + dialga = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEIRlV0hCtR1qEhVRPm6CrwquoUNVSG3mtVtQ/lUz5hD" ]; + mareep = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDyB7xEE+FU45DgyFer/+11hXoW0axIR3RVDf+6ftPT/" ]; + zorua = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAYYPqYWx1HEduhHB9LXvzW0oIFEYXyX3TN7x9CeH8TX" ]; + altaria = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlYgikrxduQ9Mrwd1+0pINiXHDxwyStdj1/qGAC4m0e" ]; + }; + }; + + #todo: simplify this? + keysets = { + ninetails = lib.flatten ( + with keys; + [ + users.skye + systems.ninetails + ] + ); + dialga = lib.flatten ( + with keys; + [ + users.skye + systems.dialga + ] + ); + mareep = lib.flatten ( + with keys; + [ + users.skye + systems.mareep + ] + ); + zorua = lib.flatten ( + with keys; + [ + users.skye + systems.zorua + ] + ); + altaria = lib.flatten ( + with keys; + [ + users.skye + systems.altaria + ] + ); + all = lib.flatten ( + with keys; + [ + users.skye + (builtins.attrValues systems) + ] + ); + }; +in +{ + "restic/env.age".publicKeys = keysets.all; + + "restic/ninetails/repo.age".publicKeys = keysets.ninetails; + "restic/ninetails/password.age".publicKeys = keysets.ninetails; + + "restic/dialga/repo.age".publicKeys = keysets.dialga; + "restic/dialga/password.age".publicKeys = keysets.dialga; + + "server-checks/dialga.age".publicKeys = keysets.dialga; + "server-checks/mareep.age".publicKeys = keysets.mareep; + "server-checks/zorua.age".publicKeys = keysets.zorua; + "server-checks/altaria.age".publicKeys = keysets.altaria; + + "monitoring/scrutiny.age".publicKeys = keysets.dialga; + + "lastfm-rpc/ninetails.age".publicKeys = keysets.ninetails; +} diff --git a/nixosModules/skye/base/secrets/server-checks/altaria.age b/nixosModules/skye/base/secrets/server-checks/altaria.age new file mode 100644 index 00000000..361e7fa9 --- /dev/null +++ b/nixosModules/skye/base/secrets/server-checks/altaria.age @@ -0,0 +1,10 @@ +age-encryption.org/v1 +-> ssh-ed25519 UI8cww QD+UPEvANPSRU9KkHcvNAG0EXtUTj549gL+wSbpnaig +KoaVzrlIenaslod399AXukcnzuMZYcrimJGNqu0EQcM +-> ssh-ed25519 R5iBIA WVrg/b2OF7qgLEgIhfOfF4D4uVFLoKRlW8RpuC6wWAc +FFF21bExXQ+x1HIFP6MdwFM92NMI1q065EaPhleKgmY +-> ssh-ed25519 IObEQA evXHgLaRT6IHPypzCH/pPLFM10/WzSQkfSGrUqohIkQ +6uQCZ/xRgPXHedDq6qBfqseOcnzgGv0hUBAsVYG5Lus +--- +OlyAcf7WD0WCNi8ihILmFuK5Ikhl9tUox3JN8gKsyc +��jL{���/���M��1F��dj��T���Kƌ�i��Hk."]�0f����U��U +ݬ��L�<'G�&�h�� �3h�Gz p`�w&� \ No newline at end of file diff --git a/nixosModules/skye/base/secrets/server-checks/dialga.age b/nixosModules/skye/base/secrets/server-checks/dialga.age new file mode 100644 index 00000000..8ffdb9e2 --- /dev/null +++ b/nixosModules/skye/base/secrets/server-checks/dialga.age @@ -0,0 +1,10 @@ +age-encryption.org/v1 +-> ssh-ed25519 UI8cww U5kS+9VY8KcEdyHZHJQ0fgo8yK9iSpNeuTC9xSI1xD0 +Sjv9d9+6P58hcGB71P26+bx1AZumUGBtRyhG09uofk4 +-> ssh-ed25519 R5iBIA ZeyCbM3UtjjpWASQFZLdWKe/LFElAsgLEjU+embYDVE +HwhrcdWb+a8Fx7MYLtrdp8QfBMMDkdYNwVm7n3XVKcg +-> ssh-ed25519 E4banw dVJj+PtFIkjidpKQr5u7mwMoStvcOJfTV+x3EytlRVs +9i+Wfuz8emDbH10rIOFZ1CAogEVGwyn/3CpWzk8H9ns +--- 1MOEnPY++oMpHcjC32+xN7sHa72MUedkHsTJXl9eq7k +�[S.}�)��SON�� *:c�$� ��ƫ}��>�Ն` +�8 M�8�WV�U2\���>I�ǛG��>2�=� PAp�˳��j��% \ No newline at end of file diff --git a/nixosModules/skye/base/secrets/server-checks/mareep.age b/nixosModules/skye/base/secrets/server-checks/mareep.age new file mode 100644 index 0000000000000000000000000000000000000000..8273fc4ca06e8fb6f78c8232cfc90cc7b8462104 GIT binary patch literal 487 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCR+^|VMXFIVs=_O>w1 zG%xoHajXi+G%pJ&3@9-2Nb#;JbSnur4KvF%2rxCbEU`=v%IETkib{2_3a;?2taP(T z&CIH@u*~$x@^W)5E;Dv3Dlaw-38~B}$<5C+@I|*R$TZW*(@`PQCnqbZG~G+zJ1N;O zI4>vH$1l&@qSDnrB{j4vJkrm?IoQ=TH#xf^+>G%zBM6zvq} zuu79)%P0%~(sZum#T%~fVURh*yJYFbu;bke4D!Tw%sJvL;cS#^v($TONMv2^ulc9A z%U ssh-ed25519 UI8cww 5aZojzAgB1p03uVzmrSLLfUKNCylRTkx+5GqT1ZBKAU +yfk1gtfEK6gwO1W8YEffmN7WE7eoXVL5VNVV4EGaZ8Y +-> ssh-ed25519 R5iBIA 9VQsCC2+RLEuzhs/nVyG41jkgOMdOkGATi96hXILNSs +q+4z45iZ7rFdj3dGOiKXoa6QYbRZ4Jny6xUXhzJhc1w +-> ssh-ed25519 j+CTdg yy1vUAZirabmdeoEvWYB8YYyHzLhiHXBPJxu5IuF0Cg +NbINSODd4yUDbSGLxBipJHRLH7+1GgsK/bLDoUYGWTM +--- FUeRQlU7UV5rAfnAfNoGqOul4Km346gn3WdFTr5Omjw +B,g��#c�Q���lۼ�$ ��& �,Y#%��3nDab�9�,Gd�r�N5Չg�G���-C����k߄���r�4�����1y���,D�g \ No newline at end of file diff --git a/nixosModules/skye/base/server/checks.nix b/nixosModules/skye/base/server/checks.nix index aeba185f..975660aa 100644 --- a/nixosModules/skye/base/server/checks.nix +++ b/nixosModules/skye/base/server/checks.nix @@ -8,7 +8,7 @@ imports = [ self.nixosModules.skye-server-checks ]; age.secrets = { - "server-checks-env".file = ../../../secrets/server-checks/${config.networking.hostName}.age; + "server-checks-env".file = ./secrets/server-checks/${config.networking.hostName}.age; }; serverChecks = [ diff --git a/nixosModules/skye/base/users.nix b/nixosModules/skye/base/users.nix index bf6480ba..b321d807 100644 --- a/nixosModules/skye/base/users.nix +++ b/nixosModules/skye/base/users.nix @@ -24,5 +24,5 @@ home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.skye = import (inputs.self + "/home/skye/${hostType}.nix"); + home-manager.users.skye = import ../../homes/skye/${hostType}.nix; } -- 2.51.2