Compare commits

...

3 Commits

28 changed files with 274 additions and 268 deletions

View File

@@ -1,37 +0,0 @@
#!/usr/bin/env bash
gsettings set org.gnome.desktop.background primary-color "#555555"
gsettings set org.gnome.desktop.wm.preferences workspace-names "['sh', 'www', 'dev', 'info', 'etc']"
gsettings set org.gnome.desktop.wm.keybindings close "['<Shift><Super>Delete']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>j']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Super>k']"
gsettings set org.gnome.shell.keybindings toggle-application-view "['<Super>p']"
gsettings set org.gnome.mutter center-new-windows true
gsettings set org.gnome.shell.keybindings toggle-quick-settings []
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>a']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['<Super>s']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['<Super>d']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['<Super>f']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Super>g']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 "['<Super><Shift>a']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 "['<Super><Shift>s']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 "['<Super><Shift>d']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 "['<Super><Shift>f']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 "['<Super><Shift>g']"
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name "Kitty"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command "kitty"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding "<Shift><Super>Return"
gsettings set org.gnome.shell.keybindings screenshot "['Print']"
gsettings set org.gnome.desktop.wm.preferences num-workspaces "5"
gsettings set org.gnome.mutter dynamic-workspaces "false"
gsettings set org.gnome.shell.extensions.window-list display-all-workspaces "true"
gsettings set org.gnome.shell.app-switcher current-workspace-only "true"
gsettings set org.gnome.login-screen logo ''
gsettings set org.gnome.shell favorite-apps "['firefox-developer-edition.desktop']"

View File

@@ -73,11 +73,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1769421245, "lastModified": 1769433173,
"narHash": "sha256-m5QLKjpdhbDrhyrUbEm5Haq3lqE5Z6xh2tab5vTHUTo=", "narHash": "sha256-Gf1dFYgD344WZ3q0LPlRoWaNdNQq8kSBDLEWulRQSEs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5b265bda51b42a2a85af0a543c3e57b778b01b7d", "rev": "13b0f9e6ac78abbbb736c635d87845c4f4bee51b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -174,7 +174,7 @@
packageDefinitions = { packageDefinitions = {
nvim = nvim =
{ ... }: _:
{ {
settings = { settings = {
suffix-path = true; suffix-path = true;

12
flake.lock generated
View File

@@ -53,11 +53,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1769400223, "lastModified": 1769486619,
"narHash": "sha256-YJRz6mriRWr5wGftEwm8KFRKtu6ZgsX21NYeXVKGd9M=", "narHash": "sha256-MEBKRsOj9s65KRvvugu4i7ytW2eASk67pFDgxgwsEr4=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "25dae404070232baab384b281dbdc8eb70f37ad0", "rev": "02ae5ccdcbe8defe6047840a7b46e67e215bef69",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -458,11 +458,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769314333, "lastModified": 1769469829,
"narHash": "sha256-+Uvq9h2eGsbhacXpuS7irYO7fFlz514nrhPCSTkASlw=", "narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "2eb9eed7ef48908e0f02985919f7eb9d33fa758f", "rev": "c5eebd4eb2e3372fe12a8d70a248a6ee9dd02eff",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -56,7 +56,7 @@
}@inputs: }@inputs:
let let
inherit (self) outputs; inherit (self) outputs;
lib = inputs.nixpkgs.lib; inherit (inputs.nixpkgs) lib;
utils = import ./utils { inherit lib; }; utils = import ./utils { inherit lib; };
hostDirNames = utils.dirNames ./hosts; hostDirNames = utils.dirNames ./hosts;
system = "x86_64-linux"; system = "x86_64-linux";

View File

@@ -27,9 +27,11 @@ in
../../modules/shell ../../modules/shell
]; ];
home.stateVersion = "25.05"; home = {
home.username = username; stateVersion = "25.05";
home.homeDirectory = "/home/${username}"; inherit username;
homeDirectory = "/home/${username}";
};
xdg.userDirs.createDirectories = false; xdg.userDirs.createDirectories = false;
xdg.userDirs.download = "${config.home.homeDirectory}/dl"; xdg.userDirs.download = "${config.home.homeDirectory}/dl";

View File

@@ -23,9 +23,11 @@ in
../../modules/shell ../../modules/shell
]; ];
home.stateVersion = "25.05"; home = {
home.username = username; stateVersion = "25.05";
home.homeDirectory = "/home/${username}"; inherit username;
homeDirectory = "/home/${username}";
};
xdg.userDirs.createDirectories = false; xdg.userDirs.createDirectories = false;
xdg.userDirs.download = "${config.home.homeDirectory}/dl"; xdg.userDirs.download = "${config.home.homeDirectory}/dl";

View File

@@ -45,12 +45,14 @@ in
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
home.stateVersion = "25.05"; home = {
home.username = username; stateVersion = "25.05";
home.homeDirectory = "/home/${username}"; inherit username;
homeDirectory = "/home/${username}";
};
targets.genericLinux.nixGL = { targets.genericLinux.nixGL = {
packages = inputs.nixgl.packages; inherit (inputs.nixgl) packages;
defaultWrapper = "mesa"; defaultWrapper = "mesa";
}; };

View File

@@ -13,4 +13,4 @@ let
[ ]; [ ];
in in
[ ] ++ localPackages localPackages

View File

@@ -1,21 +1,13 @@
{ config, ... }:
let
terminal = "kitty";
browser = config.browser.primary;
in
{ {
dconf.settings = { dconf.settings = {
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-schedule-automatic = true;
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/desktop/applications/terminal" = {
exec = "kitty";
exec-arg = "";
};
"org/gnome/desktop/background" = { "org/gnome/desktop/background" = {
color-shading-type = "solid"; color-shading-type = "solid";
picture-opacity = 100;
picture-options = "zoom"; picture-options = "zoom";
picture-uri = "none"; picture-uri = "none";
picture-uri-dark = "none"; picture-uri-dark = "none";
@@ -24,55 +16,54 @@
show-desktop-icons = false; show-desktop-icons = false;
}; };
# "org/gnome/desktop/input-sources" = { "org/gnome/desktop/default-applications/office/calendar" = {
# sources = [ exec = "${browser} https://calendar.proton.me";
# (mkTuple [ needs-term = false;
# "xkb" };
# "us"
# ]) "org/gnome/desktop/default-applications/office/tasks" = {
# ]; exec = "task";
# xkb-options = [ "caps:none" ]; needs-term = true;
# }; };
"org/gnome/desktop/default-applications/terminal" = {
exec = terminal;
exec-arg = "";
};
"org/gnome/desktop/input-sources" = {
xkb-options = [ "caps:none" ];
};
"org/gnome/desktop/interface" = {
clock-format = "24h";
clock-show-weekday = true;
color-scheme = "prefer-dark";
enable-hot-corners = false;
font-name = "Iosevka Term SS08 12";
locate-pointer = true;
monospace-font-name = "Iosevka Term SS08 12";
};
"org/gnome/desktop/wm/keybindings" = { "org/gnome/desktop/wm/keybindings" = {
close = [ "<Shift><Super>Delete" ]; close = [ "<Shift><Super>Delete" ];
cycle-group = [ ]; minimize = [ "<Super>h" ];
cycle-group-backward = [ ]; move-to-monitor-down = [ "<Super><Shift>Down" ];
cycle-panels = [ ]; move-to-monitor-left = [ "<Super><Shift>Left" ];
cycle-panels-backward = [ ]; move-to-monitor-right = [ "<Super><Shift>Right" ];
cycle-windows = [ ]; move-to-monitor-up = [ "<Super><Shift>Up" ];
cycle-windows-backward = [ ];
maximize = [ "<Super> " ];
minimize = [ ];
move-to-workspace-1 = [ "<Super><Shift>a" ]; move-to-workspace-1 = [ "<Super><Shift>a" ];
move-to-workspace-2 = [ "<Super><Shift>s" ]; move-to-workspace-2 = [ "<Super><Shift>s" ];
move-to-workspace-3 = [ "<Super><Shift>d" ]; move-to-workspace-3 = [ "<Super><Shift>d" ];
move-to-workspace-4 = [ "<Super><Shift>f" ]; move-to-workspace-4 = [ "<Super><Shift>f" ];
move-to-workspace-5 = [ "<Super><Shift>g" ]; move-to-workspace-5 = [ "<Super><Shift>g" ];
move-to-workspace-last = [ ];
move-to-workspace-left = [ "<Super><Shift>h" ];
move-to-workspace-right = [ "<Super><Shift>l" ];
panel-run-dialog = [ ];
switch-applications = [ "<Super>j" ]; switch-applications = [ "<Super>j" ];
switch-applications-backward = [ "<Super>k" ]; switch-applications-backward = [ "<Super>k" ];
switch-group = [ ];
switch-group-backward = [ ];
switch-input-source = [ ];
switch-input-source-backward = [ ];
switch-panels = [ ];
switch-panels-backward = [ ];
switch-to-workspace-1 = [ "<Super>a" ]; switch-to-workspace-1 = [ "<Super>a" ];
switch-to-workspace-2 = [ "<Super>s" ]; switch-to-workspace-2 = [ "<Super>s" ];
switch-to-workspace-3 = [ "<Super>d" ]; switch-to-workspace-3 = [ "<Super>d" ];
switch-to-workspace-4 = [ "<Super>f" ]; switch-to-workspace-4 = [ "<Super>f" ];
switch-to-workspace-5 = [ "<Super>g" ]; switch-to-workspace-5 = [ "<Super>g" ];
switch-to-workspace-last = [ ];
switch-to-workspace-left = [ "<Super>h" ];
switch-to-workspace-right = [ "<Super>l" ];
switch-windows = [ ];
switch-windows-backward = [ ];
toggle-maximized = [ "<Super>space" ];
unmaximize = [ ];
}; };
"org/gnome/desktop/wm/preferences" = { "org/gnome/desktop/wm/preferences" = {
@@ -86,8 +77,19 @@
]; ];
}; };
"org/gnome/mutter" = {
center-new-windows = true;
dynamic-workspaces = false;
};
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-schedule-automatic = true;
};
"org/gnome/settings-daemon/plugins/media-keys" = { "org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [ custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
]; ];
}; };
@@ -100,12 +102,19 @@
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Super>Return"; binding = "<Super>Return";
command = "kitty"; command = terminal;
name = "Kitty"; name = "Kitty";
}; };
"org/gnome/settings-daemon/plugins/power" = {
power-button-action = "suspend";
};
"org/gnome/shell/app-switcher" = {
current-workspace-only = true;
};
"org/gnome/shell/keybindings" = { "org/gnome/shell/keybindings" = {
screenshot = [ "Print" ];
toggle-application-view = [ "<Super>p" ]; toggle-application-view = [ "<Super>p" ];
toggle-quick-settings = [ ]; toggle-quick-settings = [ ];
}; };

View File

@@ -7,7 +7,7 @@
}: }:
let let
cfg = config.shell.bash; cfg = config.shell.bash;
username = config.home.username; inherit (config.home) username;
in in
{ {
options.shell.bash = { options.shell.bash = {

View File

@@ -27,7 +27,7 @@ in
../../modules/desktops/niri ../../modules/desktops/niri
../../modules/bluetooth ../../modules/bluetooth
../../modules/keyboard ../../modules/keyboard
(import ../../modules/networking { hostName = hostName; }) (import ../../modules/networking { inherit hostName; })
../../modules/users ../../modules/users
../../modules/audio ../../modules/audio
../../modules/localization ../../modules/localization
@@ -93,16 +93,17 @@ in
inputs.nvim.packages.x86_64-linux.nvim inputs.nvim.packages.x86_64-linux.nvim
]; ];
services.xserver = { services = {
xserver = {
videoDrivers = [ "nvidia" ]; videoDrivers = [ "nvidia" ];
}; };
services.openssh = { openssh = {
enable = true; enable = true;
harden = true; harden = true;
}; };
services.syncthing = { syncthing = {
enable = true; enable = true;
openDefaultPorts = true; openDefaultPorts = true;
settings = { settings = {
@@ -119,11 +120,11 @@ in
}; };
}; };
}; };
locate = {
services.locate = {
enable = true; enable = true;
package = pkgs.plocate; package = pkgs.plocate;
}; };
};
networking = { networking = {
# TODO: generate unique hostId on actual host with: head -c 8 /etc/machine-id # TODO: generate unique hostId on actual host with: head -c 8 /etc/machine-id
@@ -131,7 +132,7 @@ in
interfaces = { interfaces = {
eno1 = { eno1 = {
wakeOnLan.enable = true; wakeOnLan.enable = true;
macAddress = wolInterfaces.eno1.macAddress; inherit (wolInterfaces.eno1) macAddress;
}; };
}; };
firewall = { firewall = {

View File

@@ -14,7 +14,8 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ boot = {
initrd.availableKernelModules = [
"vmd" "vmd"
"xhci_pci" "xhci_pci"
"ahci" "ahci"
@@ -24,9 +25,10 @@
"uas" "uas"
"sd_mod" "sd_mod"
]; ];
boot.initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; extraModulePackages = [ ];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # 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 # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -27,7 +27,7 @@ in
../../modules/desktops/niri ../../modules/desktops/niri
../../modules/bluetooth ../../modules/bluetooth
../../modules/keyboard ../../modules/keyboard
(import ../../modules/networking { hostName = hostName; }) (import ../../modules/networking { inherit hostName; })
../../modules/users ../../modules/users
../../modules/audio ../../modules/audio
../../modules/localization ../../modules/localization

View File

@@ -14,16 +14,18 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ boot = {
initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
"thunderbolt" "thunderbolt"
"nvme" "nvme"
"uas" "uas"
"sd_mod" "sd_mod"
]; ];
boot.initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; extraModulePackages = [ ];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # 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 # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -14,7 +14,9 @@
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
boot.initrd.availableKernelModules = [ boot = {
initrd = {
availableKernelModules = [
"ahci" "ahci"
"xhci_pci" "xhci_pci"
"virtio_pci" "virtio_pci"
@@ -22,9 +24,11 @@
"sd_mod" "sd_mod"
"sr_mod" "sr_mod"
]; ];
boot.initrd.kernelModules = [ ]; kernelModules = [ ];
boot.kernelModules = [ ]; };
boot.extraModulePackages = [ ]; kernelModules = [ ];
extraModulePackages = [ ];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # 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 # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -18,7 +18,7 @@ in
./disk.nix ./disk.nix
../../modules/boot/bootloader.nix ../../modules/boot/bootloader.nix
../../modules/keyboard ../../modules/keyboard
(import ../../modules/networking { hostName = hostName; }) (import ../../modules/networking { inherit hostName; })
../../modules/users ../../modules/users
../../modules/audio ../../modules/audio
../../modules/localization ../../modules/localization
@@ -42,9 +42,11 @@ in
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ]; environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
disko = { disko = {
devices.disk.main.device = "/dev/vda"; devices.disk.main = {
devices.disk.main.imageName = "nixos-vm"; device = "/dev/vda";
devices.disk.main.imageSize = "32G"; imageName = "nixos-vm";
imageSize = "32G";
};
}; };
virtualisation.vmVariantWithDisko = { virtualisation.vmVariantWithDisko = {
@@ -59,11 +61,12 @@ in
}; };
}; };
services.qemuGuest.enable = true; services = {
services.spice-vdagentd.enable = true; qemuGuest.enable = true;
spice-vdagentd.enable = true;
services.openssh = { openssh = {
enable = true; enable = true;
harden = true; harden = true;
}; };
};
} }

View File

@@ -14,16 +14,20 @@
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
boot.initrd.availableKernelModules = [ boot = {
initrd = {
availableKernelModules = [
"ahci" "ahci"
"xhci_pci" "xhci_pci"
"virtio_pci" "virtio_pci"
"sr_mod" "sr_mod"
"virtio_blk" "virtio_blk"
]; ];
boot.initrd.kernelModules = [ ]; kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; };
boot.extraModulePackages = [ ]; kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # 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 # (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -1,13 +1,15 @@
{ ... }: _:
{ {
services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services = {
pulseaudio.enable = false;
pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
}; };
services.pulseaudio.extraConfig = "load-module module-switch-on-connect"; pulseaudio.extraConfig = "load-module module-switch-on-connect";
};
} }

View File

@@ -1,4 +1,4 @@
{ ... }: _:
{ {
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;

View File

@@ -1,4 +1,9 @@
{ inputs, outputs, dotsPath, ... }: {
inputs,
outputs,
dotsPath,
...
}:
{ {
imports = [ imports = [
@@ -23,16 +28,17 @@
}; };
}; };
nix.optimise = { nix = {
optimise = {
automatic = true; automatic = true;
dates = [ "05:00" ]; dates = [ "05:00" ];
}; };
gc = {
nix.gc = {
automatic = true; automatic = true;
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 30d"; options = "--delete-older-than 30d";
}; };
};
system.autoUpgrade = { system.autoUpgrade = {
enable = true; enable = true;

View File

@@ -1,14 +1,16 @@
{ {
programs.niri.enable = true; programs.niri.enable = true;
services.dbus.enable = true; services = {
services.logind.settings.Login = { dbus.enable = true;
logind.settings.Login = {
HandleLidSwitch = "suspend"; HandleLidSwitch = "suspend";
IdleAction = "suspend"; IdleAction = "suspend";
IdleActionSec = 1800; IdleActionSec = 1800;
}; };
services.displayManager.ly = { displayManager.ly = {
enable = true; enable = true;
}; };
};
} }

View File

@@ -11,7 +11,7 @@
disk = { disk = {
root = { root = {
type = "disk"; type = "disk";
device = config.device; inherit (config) device;
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {

View File

@@ -1,4 +1,4 @@
{ ... }: _:
{ {
time.timeZone = "Europe/Brussels"; time.timeZone = "Europe/Brussels";

View File

@@ -5,7 +5,7 @@
{ {
networking = { networking = {
hostName = hostName; inherit hostName;
wireless.iwd.enable = true; wireless.iwd.enable = true;
networkmanager.wifi.backend = "iwd"; networkmanager.wifi.backend = "iwd";
nftables.enable = true; nftables.enable = true;

View File

@@ -34,7 +34,8 @@ in
"opencode_api_key".owner = config.users.users.${cfg.username}.name; "opencode_api_key".owner = config.users.users.${cfg.username}.name;
}; };
templates."taskrc.d/sync" = { templates = {
"taskrc.d/sync" = {
owner = config.users.users.${cfg.username}.name; owner = config.users.users.${cfg.username}.name;
content = '' content = ''
sync.server.url=${config.sops.placeholder."taskwarrior_sync_server_url"} sync.server.url=${config.sops.placeholder."taskwarrior_sync_server_url"}
@@ -43,7 +44,7 @@ in
''; '';
}; };
templates.".gitconfig.email" = { ".gitconfig.email" = {
owner = config.users.users.${cfg.username}.name; owner = config.users.users.${cfg.username}.name;
path = "/home/${cfg.username}/.gitconfig.email"; path = "/home/${cfg.username}/.gitconfig.email";
content = '' content = ''
@@ -52,7 +53,7 @@ in
''; '';
}; };
templates.".gitconfig.work.email" = { ".gitconfig.work.email" = {
owner = config.users.users.${cfg.username}.name; owner = config.users.users.${cfg.username}.name;
path = "/home/${cfg.username}/.gitconfig.work.email"; path = "/home/${cfg.username}/.gitconfig.work.email";
content = '' content = ''
@@ -61,7 +62,7 @@ in
''; '';
}; };
templates."hcloud/cli.toml" = { "hcloud/cli.toml" = {
owner = config.users.users.${cfg.username}.name; owner = config.users.users.${cfg.username}.name;
path = "/home/${cfg.username}/.config/hcloud/cli.toml"; path = "/home/${cfg.username}/.config/hcloud/cli.toml";
content = '' content = ''
@@ -73,7 +74,7 @@ in
''; '';
}; };
templates."opencode/auth.json" = { "opencode/auth.json" = {
owner = config.users.users.${cfg.username}.name; owner = config.users.users.${cfg.username}.name;
path = "/home/${cfg.username}/.local/share/opencode/auth.json"; path = "/home/${cfg.username}/.local/share/opencode/auth.json";
content = '' content = ''
@@ -87,4 +88,5 @@ in
}; };
}; };
}; };
};
} }

View File

@@ -1,6 +1,6 @@
{ lib, config, ... }: { lib, config, ... }:
let let
username = config.ssh.username; inherit (config.ssh) username;
in in
{ {
# auto extract SSH keys # auto extract SSH keys

View File

@@ -1,4 +1,4 @@
{ ... }: _:
{ {
services.xserver.windowManager.xmonad = { services.xserver.windowManager.xmonad = {