Compare commits

..

3 Commits

Author SHA1 Message Date
2248d7d781 fix: resolve niri xdg portal issues 2026-04-05 16:11:41 +02:00
0b79904103 refactor: simplify host config 2026-04-05 16:01:08 +02:00
2929a10d62 feat: add 'torrenting' module 2026-04-05 15:38:23 +02:00
10 changed files with 63 additions and 14 deletions

View File

@@ -28,6 +28,7 @@
../../modules/ssh ../../modules/ssh
../../modules/taskwarrior ../../modules/taskwarrior
../../modules/terminal ../../modules/terminal
../../modules/torrenting
]; ];
home = { home = {
@@ -50,6 +51,7 @@
git.github.enable = true; git.github.enable = true;
shell.bash.aliases.lang-js = true; shell.bash.aliases.lang-js = true;
shell.bash.addBinToPath = true; shell.bash.addBinToPath = true;
torrenting.enable = true;
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;

View File

@@ -0,0 +1,21 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.torrenting;
in
{
options.torrenting = {
enable = lib.mkEnableOption "transmission torrent client";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
transmission_4
];
};
}

View File

@@ -31,7 +31,7 @@ in
../../modules/firewall ../../modules/firewall
../../modules/fonts ../../modules/fonts
../../modules/gaming ../../modules/gaming
(import ../../modules/networking { hostName = config.host.name; }) ../../modules/networking
../../modules/keyboard ../../modules/keyboard
../../modules/localization ../../modules/localization
../../modules/nvidia ../../modules/nvidia

View File

@@ -27,7 +27,7 @@ in
../../modules/backups ../../modules/backups
../../modules/bluetooth ../../modules/bluetooth
../../modules/keyboard ../../modules/keyboard
(import ../../modules/networking { hostName = config.host.name; }) ../../modules/networking
../../modules/users ../../modules/users
../../modules/localization ../../modules/localization
../../modules/fonts ../../modules/fonts

View File

@@ -14,7 +14,7 @@
../../modules/common ../../modules/common
../../modules/boot/bootloader.nix ../../modules/boot/bootloader.nix
../../modules/keyboard ../../modules/keyboard
(import ../../modules/networking { hostName = config.host.name; }) ../../modules/networking
../../modules/users ../../modules/users
../../modules/audio ../../modules/audio
../../modules/localization ../../modules/localization
@@ -32,7 +32,6 @@
inherit inputs config pkgs; inherit inputs config pkgs;
}; };
networking.hostName = config.host.name;
ssh.username = config.host.username; ssh.username = config.host.username;
secrets.username = config.host.username; secrets.username = config.host.username;

View File

@@ -9,5 +9,15 @@
name = lib.mkOption { name = lib.mkOption {
type = lib.types.str; type = lib.types.str;
}; };
timezone = lib.mkOption {
type = lib.types.str;
default = "Europe/Brussels";
};
locale = lib.mkOption {
type = lib.types.str;
default = "en_US.UTF-8";
};
}; };
} }

View File

@@ -1,4 +1,9 @@
{ config, lib, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.desktop; cfg = config.desktop;
@@ -16,6 +21,17 @@ in
config = { config = {
programs.niri.enable = true; programs.niri.enable = true;
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
config.niri.default = lib.mkForce [
"niri"
"gtk"
];
};
services = { services = {
dbus.enable = true; dbus.enable = true;
logind.settings.Login = { logind.settings.Login = {

View File

@@ -1,4 +1,6 @@
{ config, ... }:
{ {
time.timeZone = "Europe/Brussels"; time.timeZone = config.host.timezone;
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = config.host.locale;
} }

View File

@@ -1,11 +1,8 @@
{ { config, ... }:
hostName ? "nixos",
...
}:
{ {
networking = { networking = {
inherit hostName; hostName = config.host.name;
wireless.iwd.enable = true; wireless.iwd.enable = true;
networkmanager.wifi.backend = "iwd"; networkmanager.wifi.backend = "iwd";
nftables.enable = true; nftables.enable = true;

View File

@@ -1,7 +1,9 @@
{ config, ... }:
{ {
users.users.h = { users.users.${config.host.username} = {
isNormalUser = true; isNormalUser = true;
description = "h"; description = config.host.username;
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
initialPassword = "h"; initialPassword = "h";
}; };