working on screens and power stuff

This commit is contained in:
Matt Nish-Lapidus 2025-02-16 16:24:34 -05:00
parent 6d3a143ce2
commit 2002da4dcf
14 changed files with 237 additions and 150 deletions

66
flake.lock generated
View file

@ -69,11 +69,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1739553792,
"narHash": "sha256-W/VqlGtMXv4cQ1V5j1Sbfu59x8DWntEkTJWJNHo9P+Q=",
"lastModified": 1739725136,
"narHash": "sha256-UCFiCR/DiWbOYlhlGr941rg8fHh32iE188FJ5NiQFU4=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "3a93a0a8f94fd52260b39aefc05e7bc667ded0ab",
"rev": "c356eb83c3461c19c2bf355d351354a0dcf76655",
"type": "github"
},
"original": {
@ -323,11 +323,11 @@
]
},
"locked": {
"lastModified": 1739559906,
"narHash": "sha256-iK5BXN5uDXVe76ssYTkFHl7oNZe+hhwcO3N7EN9yxqQ=",
"lastModified": 1739735835,
"narHash": "sha256-S4VskZCNjRX6saW7GtVb4MD3kWdfvRvLurLj9QcM4Wg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9daae9a67af7b4d341e2c806fa274a9c0925d7cf",
"rev": "b15e9ec6769d770879759f086dd4e51fae7f2394",
"type": "github"
},
"original": {
@ -485,11 +485,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1739183634,
"narHash": "sha256-z//x2artwXwoCKc1QEqu4wbP6K8QheFUH6EZemlFqxo=",
"lastModified": 1739687392,
"narHash": "sha256-x1NU3jIYCpju8QCzIdLmS9bvLh9ATwYlMbA/TYfDsHs=",
"owner": "hyprwm",
"repo": "hyprlock",
"rev": "82b63a6930931f9a10db578d30bb868b0e91a211",
"rev": "c4b2175822eaa13f8fd014b4763cdd10a7b69493",
"type": "github"
},
"original": {
@ -612,11 +612,11 @@
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1739346879,
"narHash": "sha256-Sq2mCT0LVrH6aVGkSZRVdUXnhT1FqiiYEEn7vpY/T7o=",
"lastModified": 1739737907,
"narHash": "sha256-b5wH4NiFBqQSKRHnAkYrhJBugnr/czUHJdH73dAXWzg=",
"owner": "isd-project",
"repo": "isd",
"rev": "a820650e5a6210cbaa8dc48a5043fcce507014b7",
"rev": "73df766d2014b9190fe3bc7456bd8b8269886049",
"type": "github"
},
"original": {
@ -712,11 +712,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1739516087,
"narHash": "sha256-X3WTcaL/9O3C03TZ+8PmXcn3sqCgig1RIYY/J27ZsLQ=",
"lastModified": 1739627445,
"narHash": "sha256-fl1kOwskXXa5dJsRcly9e+UaOTdjdvy8Jqg9WhKe0Nw=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "9669e839805737ce7c66c9c05a3f97017f84cf24",
"rev": "b4f7ae09bc209e76944fed4648191dac8381ca76",
"type": "github"
},
"original": {
@ -745,11 +745,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1739513000,
"narHash": "sha256-LDSApEzhz3I9441ocnkkEVJu18OnGSj4a4MaxvuJYMk=",
"lastModified": 1739625307,
"narHash": "sha256-BVTlrmelSAq+rlxwlRvsyZxHrmcviRu3aHJYG37Yq8c=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "7816f20e6a3ddc4057aa1ab35742dc7f67453bc2",
"rev": "f01c840ebe71f152906dbc6212f077fc72626f89",
"type": "github"
},
"original": {
@ -912,11 +912,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1739357830,
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
"lastModified": 1739484910,
"narHash": "sha256-wjWLzdM7PIq4ZAe7k3vyjtgVJn6b0UeodtRFlM/6W5U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
"rev": "0b73e36b1962620a8ac551a37229dd8662dac5c8",
"type": "github"
},
"original": {
@ -928,11 +928,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1739357830,
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
"lastModified": 1739484910,
"narHash": "sha256-wjWLzdM7PIq4ZAe7k3vyjtgVJn6b0UeodtRFlM/6W5U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
"rev": "0b73e36b1962620a8ac551a37229dd8662dac5c8",
"type": "github"
},
"original": {
@ -960,11 +960,11 @@
},
"nixpkgs-stable_4": {
"locked": {
"lastModified": 1739357830,
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
"lastModified": 1739624908,
"narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
"rev": "a60651b217d2e529729cbc7d989c19f3941b9250",
"type": "github"
},
"original": {
@ -1040,11 +1040,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1739446958,
"narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=",
"lastModified": 1739580444,
"narHash": "sha256-+/bSz4EAVbqz8/HsIGLroF8aNaO8bLRL7WfACN+24g4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2ff53fe64443980e139eaa286017f53f88336dd0",
"rev": "8bb37161a0488b89830168b81c48aed11569cb93",
"type": "github"
},
"original": {
@ -1429,11 +1429,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1739546226,
"narHash": "sha256-d7zNnAovgxugkZabfRffp0eOf6GPUmSlNyd/XOPZOlQ=",
"lastModified": 1739718339,
"narHash": "sha256-JlU4RBbzqqCWyxvPNaroiIYatMCgvMOfjFKBW0oGBEg=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "38e45c647b9e93a9d837b6f4e3f345d85608cc1a",
"rev": "f25ef0f07b99130261caf5a1605188b61ed6f617",
"type": "github"
},
"original": {

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function dim-all-monitors
brillo -e -O && brillo -e -u 150000 -S 15
end

View file

@ -2,7 +2,7 @@
name = "desk-clam"
exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
[[profile.output]]
search = ["n=eDP-1"]
search = "eDP-1"
enable = false
[[profile.output]]
@ -10,6 +10,7 @@ exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""
enable = true
mode = "3840x2160@59.997Hz"
position = "0,0"
scale = 1
[[profile]]
@ -21,13 +22,14 @@ exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""
mode = "2560x1600@240Hz"
position = "3840,0"
adaptive_sync = true
scale = 1
[[profile.output]]
enable = true
search = ["m=BenQ PD2725U", "s=N2N00414019", "v=PNP(BNQ)"]
mode = "3840x2160@59.997Hz"
position = "0,0"
scale = 1
[[profile]]
name = "laptop"
@ -38,7 +40,7 @@ exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""
mode = "2560x1600@240Hz"
position = "0,0"
adaptive_sync = true
scale = 1
# [[profile]]
# name = "laptop-mirror"

View file

@ -87,6 +87,8 @@ config.enable_kitty_keyboard = true
config.unzoom_on_switch_pane = true
config.leader = { key = 'Space', mods = 'SHIFT', timeout_milliseconds = 1000 }
config.keys = {
{
key = 'Enter',
@ -123,7 +125,7 @@ config.keys = {
},
{
key = 'E',
mods = 'CTRL',
mods = 'CTRL|SHIFT',
action = act.EmitEvent 'trigger-emacs-with-scrollback',
},
{
@ -146,6 +148,17 @@ config.keys = {
{ key='l', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Right"} },
{ key='j', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Up"} },
{ key='k', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Down"} },
{
key = "s",
mods = "CTRL|SHIFT",
action = workspace_switcher.switch_workspace(),
},
{
key = "s",
mods = "CTRL|META",
action = workspace_switcher.switch_to_prev_workspace(),
}
}
tabline.setup({

View file

@ -1,7 +1,3 @@
# 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).
{
nix-config,
config,
@ -13,11 +9,13 @@
{
imports = with nix-config.nixosModules; [
# Include the results of the hardware scan.
./hardware-configuration.nix
./razer-speaker-fix.nix
sops-config
niri
kanata
filesystems
];
nixpkgs = {
@ -42,8 +40,6 @@
};
nix = {
# registry.nixpkgs.flake = nixpkgs;
# channel.enable = false;
settings = {
experimental-features = [
"nix-command"
@ -57,79 +53,14 @@
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
];
# Workaround for https://github.com/NixOS/nix/issues/9574
nix-path = config.nix.nixPath;
};
};
sops = {
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
defaultSopsFile = ./secrets.yaml;
secrets = {
filez = {};
};
templates."smb-secrets".content = ''
username=admin
password=${config.sops.placeholder.filez}
# '';
};
environment.etc = {
"nixos/smb-secrets" = {
source = config.sops.templates."smb-secrets".path;
group = "users";
};
};
fileSystems =
let
automount_opts = "x-systemd.automount,noauto,users,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,uid=1000,credentials=/etc/nixos/smb-secrets";
in {
"/mnt/filez/media" = {
device = "//100.70.114.113/Media";
fsType = "smb3";
options = [
"${automount_opts}"
];
};
"/mnt/filez/music-production" = {
device = "//100.70.114.113/Music Production";
fsType = "smb3";
options = [
"${automount_opts}"
];
};
"/mnt/filez/storage" = {
device = "//100.70.114.113/Storage";
fsType = "smb3";
options = [
"${automount_opts}"
];
};
"/mnt/filez/photos" = {
device = "//100.70.114.113/Photo Storage";
fsType = "smb3";
options = [
"${automount_opts}"
];
};
};
# fileSystems."/mnt/beets-import" = {
# device = "//100.103.170.132/media";
# fsType = "smb3";
# options = let
# automount_opts = "x-systemd.automount,noauto,users,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,uid=1000";
# in [
# "${automount_opts}"
# ];
# };
# Set your time zone.
time.timeZone = "America/Toronto";
# Select internationalisation properties.
i18n.defaultLocale = "en_CA.UTF-8";
environment.systemPackages = with pkgs; [
wget
@ -264,10 +195,11 @@ password=${config.sops.placeholder.filez}
services.udev = {
extraRules = ''
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
ACTION=="add", SUBSYSTEM=="i2c-dev", ATTR{name}=="AMDGPU DM*", TAG+="ddcci", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ddcci@$kernel.service"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="ddcci*", RUN+="${pkgs.coreutils-full}/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="ddcci*", RUN+="${pkgs.coreutils-full}/bin/chmod a+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="i2c-dev", ATTR{name}=="AMDGPU DM*", TAG+="ddcci", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ddcci@$kernel.service"
ACTION=="add", SUBSYSTEM=="i2c-dev", ATTR{name}=="NVIDIA i2c adapter*", TAG+="ddcci", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ddcci@$kernel.service"
SUBSYSTEM=="i2c", ACTION=="add", ATTR{name}=="AMDGPU DM aux hw bus 3", RUN+="${pkgs.bash}/bin/bash -c 'sleep 30; printf ddcci\ 0x37 > /sys/bus/i2c/devices/i2c-17/new_device'"
'';
packages = [
pkgs.via
@ -313,6 +245,7 @@ password=${config.sops.placeholder.filez}
security.rtkit.enable = true;
security.pam.services.swaylock = { };
security.pam.services.hyprlock = { };
security.pam.services.greetd.enableGnomeKeyring = true;
services.xserver.videoDrivers = [
"nvidia"
@ -356,12 +289,6 @@ password=${config.sops.placeholder.filez}
'';
};
# Set your time zone.
time.timeZone = "America/Toronto";
# Select internationalisation properties.
i18n.defaultLocale = "en_CA.UTF-8";
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
@ -541,21 +468,6 @@ password=${config.sops.placeholder.filez}
services.accounts-daemon.enable = true;
services.gnome.gnome-online-accounts.enable = true;
services.kmonad = {
enable = true;
keyboards = {
sinc = {
device = "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd";
config = builtins.readFile ../../homes/emenel/dotfiles/dot_config/kmonad/sinc.kbd;
};
razer = {
extraGroups = [ "openrazer" ];
device = "/dev/input/by-id/usb-Razer_Razer_Blade-if01-event-kbd";
config = builtins.readFile ../../homes/emenel/dotfiles/dot_config/kmonad/razer.kbd;
};
};
};
programs.virt-manager.enable = true;
virtualisation = {

View file

@ -1,5 +1,4 @@
{ config, lib, pkgs, ... }:
{ ... }:
{
systemd.services.razer-speaker-fix = {
enable = true;
@ -2010,10 +2009,10 @@ hda-verb /dev/snd/hwC3D0 0x20 0x400 0xb031
hda-verb /dev/snd/hwC3D0 0x20 0x400 0x0
hda-verb /dev/snd/hwC3D0 0x20 0x500 0x23
hda-verb /dev/snd/hwC3D0 0x20 0x400 0xdd00
wpctl set-volume 95 1
'';
};
}
# amixer sset Master unmute
# amixer sset Speaker unmute
# amixer sset Headphone unmute

View file

@ -15,25 +15,40 @@
# TODO add screen dimming and test configurations with different monitors
listener = [
# battery timers
{
timeout = "60";
on-timeout = "systemd-ac-power || dim-all-monitors";
on-resume = "brillo -e -u 150000 -I";
}
{
timeout = "120";
on-timeout = "systemd-ac-power || lock-power-off-monitors";
}
{
timeout = "300";
on-timeout = "systemd-ac-power || lock-suspend";
}
# ac power timers
{
timeout = "90";
on-timeout = "systemd-ac-power && dim-all-monitors";
on-resume = "brillo -e -u 150000 -I";
}
{
timeout = "180";
on-timeout = "systemd-ac-power && loginctl lock-session";
}
{
timeout = "200";
on-timeout = "systemd-ac-power && lock-power-off-monitors";
}
{
timeout = "600";
on-timeout = "systemd-ac-power && loginctl lock-session && systemctl suspend";
on-timeout = "systemd-ac-power && lock-suspend";
}
];

View file

@ -14,7 +14,7 @@ in {
{ command = ["maestral_qt"]; }
{ command = ["clipse" "-listen"]; }
{ command = ["waybar"]; }
{ command = [ "systemctl" "--user" "restart" "xwayland-satellite.service" ]; }
{ command = [ "systemctl" "--user" "restart" "xwayland-satellite.service" "shikane.service" ]; }
];
workspaces = {
@ -222,8 +222,6 @@ in {
action = spawn "swayosd-client" "--input-volume" "mute-toggle";
};
# TODO write shell script that sets swayosd and light -O to store new value for recall
"XF86MonBrightnessUp" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--brightness" "raise";

View file

@ -24,7 +24,7 @@
tldr
glow
delta
btop
btop-rocm
gnupg
imagemagick
gnutls
@ -61,6 +61,7 @@
powertop
age
kdotool
manix
caligula

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }:
{ pkgs, ... }:
{
home.packages = [ pkgs.shikane ];
@ -6,7 +6,7 @@
systemd.user.services.shikane = {
Unit = {
Description = "Shikane";
PartOf = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
};
Install = {
WantedBy = [ "graphical-session.target" ];

View file

@ -0,0 +1,41 @@
{ config, lib, pkgs, ... }:
{
fileSystems =
let
automount-opts = "x-systemd.automount,noauto,users,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,uid=1000";
filez-opts = automount-opts + ",credentials=/etc/nixos/filez-secrets";
media-server-opts = automount-opts + ",credentials=/etc/nixos/media-server-secrets";
in {
"/mnt/filez/media" = {
device = "//100.70.114.113/Media";
fsType = "smb3";
options = [ "${filez-opts}" ];
};
"/mnt/filez/music-production" = {
device = "//100.70.114.113/Music Production";
fsType = "smb3";
options = [ "${filez-opts}" ];
};
"/mnt/filez/storage" = {
device = "//100.70.114.113/Storage";
fsType = "smb3";
options = [ "${filez-opts}" ];
};
"/mnt/filez/photos" = {
device = "//100.70.114.113/Photo Storage";
fsType = "smb3";
options = [ "${filez-opts}" ];
};
"/mnt/beets-import" = {
device = "//100.103.170.132/media";
fsType = "smb3";
options = [ "${media-server-opts}" ];
};
};
}

67
modules/system/kanata.nix Normal file
View file

@ -0,0 +1,67 @@
{ config, lib, pkgs, ... }:
{
services.kanata = {
enable = true;
keyboards = {
sinc = {
devices = [ "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd" ];
config = ''
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc ins
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
tab q w e r t y u i o p [ ] bspc end
caps a s d f g h j k l ; ' ret pgup
lsft z x c v b n m , . / rsft up pgdn
lctl slck lmet lalt spc ralt rmet rctrl left down right)
(defalias
supesc (tap-hold-press 100 200 esc lmet)
sp-lsft (tap-hold-press 100 200 S-9 lsft)
sp-rsft (tap-hold-press 100 200 S-0 lsft)
controls (layer-while-held controls))
(deflayer qwerty
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtsc ins
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
tab q w e r t y u i o p [ ] bspc end
@supesc a s d f g h j k l ; ' ret pgup
@sp-lsft z x c v b n m , . / @sp-rsft up pgdn
lmet @controls lalt lctrl spc rctrl ralt rmet left down right)
(deflayer controls
esc VolumeMute VolumeDown VolumeUp f4 f5 MediaPlayPause MediaTrackPrevious MediaTrackNext f9 f10 f11 f12 prtsc ins
grv 1 2 3 4 5 6 7 8 9 0 - = \ del home
tab q w e r t y u i o p [ ] bspc end
@supesc a s d f g h j k l ; ' ret pgup
@sp-lsft z x c v b n m , . / @sp-rsft pgup _
lmet lmet lalt lctrl spc rctrl ralt rmet home pgdn end)
'';
};
razer = {
devices = [];
config = ''
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctrl lmet lalt spc ralt rctrl)
(defalias
supesc (tap-hold-press 200 200 esc lmet)
sp-lsft (tap-hold-press 200 200 S-9 lsft)
sp-rsft (tap-hold-press 200 200 S-0 lsft))
(deflayer qwerty
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
@supesc a s d f g h j k l ; ' ret
@sp-lsft z x c v b n m , . / @sp-rsft
lmet lalt lctrl spc rctrl ralt)
'';
};
};
};
}

View file

@ -1,4 +1,5 @@
filez: ENC[AES256_GCM,data:pOnl/B+dFc+Fks7Yb3c=,iv:V99CfTUmFq9ijFHU88OIvySvKw91a9hx0fXLikaAOdY=,tag:L1E2Wur2yVYaGeY+3Ku1WA==,type:str]
media-server: ENC[AES256_GCM,data:dqwbLUXItYrx7w==,iv:lo356taPBlPPD4CqtlbQzvUJRcym0SQc1sHMYW593vw=,tag:nzhLMzVnOc0eDa/7cfnLuA==,type:str]
sops:
kms: []
gcp_kms: []
@ -14,8 +15,8 @@ sops:
OFJGS2ljaTVFcWJDL3h2S0tLR3pyekkKBY4veCtc5cmVxoDeFf1LufbFhMHnYu7U
jWaEgDUHHPpiR7+4XZI+Es71kyM+0q2UK0KSU5227eDCLkFvRN5uYg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-02-12T01:06:05Z"
mac: ENC[AES256_GCM,data:H6vfNxeGOBFtKpQr/sdtbbUX6WmV7dFN37QdAhfYJlVnUJbJqhzuyfVKUCceTwZVf18MIXKJAaGzoDUr0bL5ljA2immqmvWGSVAhmztHueRXIzWbOQVYLP5djSvFzp0yWttzG9W7j9hANkyaLsyrC9PArucWnvrwQuFf9ZA0TGM=,iv:4KcjbarJFpUcNUE06jiA43cMGGYE4GY8DgPMsnNn3iY=,tag:MWn+q4SwxWltNEfFN6HZgQ==,type:str]
lastmodified: "2025-02-15T16:32:18Z"
mac: ENC[AES256_GCM,data:drTH1sdk/KUXfeFXJVyB+21orb7maspVaDr2zZRT2z3PqLKtXVUHqSTaXKb7hETi052ibLqSfyrSCgpNcLMB4yAPrLz/u7nADcxvrnmugAkGgR/w4sK8YPNqw0F04Xx1GQV1SNcFi5lj2xBhRI862sUUiEkUEGM8UieVMgx5pFM=,iv:qBwza6BLls0WiW2DpDkb7PIt5vpjj3LmQaArDGgRXIo=,tag:W/REzW4zCNpptvbXDVCpCA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.4

View file

@ -0,0 +1,33 @@
{ config, lib, pkgs, ... }:
{
sops = {
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
defaultSopsFile = ./secrets.yaml;
secrets = {
filez = {};
media-server = {};
};
templates."media-server-secrets".content = ''
username=media
password=${config.sops.placeholder.media-server}
'';
templates."filez-secrets".content = ''
username=admin
password=${config.sops.placeholder.filez}
'';
};
environment.etc = {
"nixos/filez-secrets" = {
source = config.sops.templates."filez-secrets".path;
group = "users";
};
"nixos/media-server-secrets" = {
source = config.sops.templates."media-server-secrets".path;
group = "users";
};
};
}