Compare commits

...

3 commits

7 changed files with 152 additions and 148 deletions

View file

@ -4,78 +4,74 @@
system.stateVersion = "25.11";
custom =
let
privateDomain = config.custom.networking.overlay.domain;
in
{
boot.loader.grub.enable = true;
custom = {
boot.loader.grub.enable = true;
networking = {
overlay.address = "10.254.250.6";
underlay = {
interface = "enp2s0";
cidr = "192.168.0.64/24";
gateway = "192.168.0.1";
};
};
services = {
recursive-nameserver = {
enable = true;
blockAds = true;
};
private-nameserver.enable = true;
syncthing = {
enable = true;
isServer = true;
gui.domain = "syncthing.${privateDomain}";
doBackups = true;
};
prometheus.storageRetentionSize = "20GB";
};
web-services = {
atuin = {
enable = true;
domain = "atuin.${privateDomain}";
};
filebrowser = {
enable = true;
domain = "files.${privateDomain}";
doBackups = true;
};
radicale = {
enable = true;
domain = "dav.${privateDomain}";
doBackups = true;
};
actualbudget = {
enable = true;
domain = "budget.${privateDomain}";
doBackups = true;
};
karakeep = {
enable = true;
domain = "bookmarks.${privateDomain}";
};
grafana = {
enable = true;
domain = "grafana.${privateDomain}";
};
gatus = {
enable = true;
domain = "status.${privateDomain}";
generateDefaultEndpoints = true;
};
networking = {
overlay.address = "10.254.250.6";
underlay = {
interface = "enp2s0";
cidr = "192.168.0.64/24";
gateway = "192.168.0.1";
};
};
services = {
recursive-nameserver = {
enable = true;
blockAds = true;
};
private-nameserver.enable = true;
syncthing = {
enable = true;
isServer = true;
gui.domain = "syncthing.${config.custom.networking.overlay.domain}";
doBackups = true;
};
prometheus.storageRetentionSize = "20GB";
};
web-services = {
atuin = {
enable = true;
domain = "atuin.${config.custom.networking.overlay.domain}";
};
filebrowser = {
enable = true;
domain = "files.${config.custom.networking.overlay.domain}";
doBackups = true;
};
radicale = {
enable = true;
domain = "dav.${config.custom.networking.overlay.domain}";
doBackups = true;
};
actualbudget = {
enable = true;
domain = "budget.${config.custom.networking.overlay.domain}";
doBackups = true;
};
karakeep = {
enable = true;
domain = "bookmarks.${config.custom.networking.overlay.domain}";
};
grafana = {
enable = true;
domain = "grafana.${config.custom.networking.overlay.domain}";
};
gatus = {
enable = true;
domain = "status.${config.custom.networking.overlay.domain}";
generateDefaultEndpoints = true;
};
};
};
}

View file

@ -67,8 +67,6 @@
MAXTEMP=hwmon2/pwm2=100
MINSTART=hwmon2/pwm2=35
MINSTOP=hwmon2/pwm2=25
MINPWM=hwmon2/pwm2=0
MAXPWM=hwmon2/pwm2=255
'';
};
}

View file

@ -4,74 +4,66 @@
system.stateVersion = "25.11";
custom =
let
sproutedDomain = "sprouted.cloud";
in
{
boot.loader.systemd-boot.enable = true;
custom = {
boot.loader.systemd-boot.enable = true;
networking = {
overlay.address = "10.254.250.4";
underlay = {
interface = "enp1s0";
cidr = "167.235.73.246/32";
isPublic = true;
gateway = "172.31.1.1";
};
networking = {
overlay.address = "10.254.250.4";
underlay = {
interface = "enp1s0";
cidr = "167.235.73.246/32";
isPublic = true;
gateway = "172.31.1.1";
};
services.public-nameserver = {
enable = true;
publicHostName = "ns2";
zones = [
"sprouted.cloud"
"sstork.dev"
];
};
web-services =
let
sstorkDomain = "sstork.dev";
in
{
personal-blog = {
enable = true;
domain = sstorkDomain;
};
forgejo = {
enable = true;
domain = "git.${sstorkDomain}";
doBackups = true;
};
outline = {
enable = true;
domain = "wiki.${sproutedDomain}";
doBackups = true;
};
it-tools = {
enable = true;
domain = "it-tools.${sproutedDomain}";
};
networking-toolbox = {
enable = true;
domain = "net-tools.${sproutedDomain}";
};
privatebin = {
enable = true;
domain = "pastebin.${sproutedDomain}";
branding.name = "SproutedBin";
};
screego = {
enable = true;
domain = "mirror.${sproutedDomain}";
};
};
};
services.public-nameserver = {
enable = true;
publicHostName = "ns2";
zones = [
"sprouted.cloud"
"sstork.dev"
];
};
web-services = {
personal-blog = {
enable = true;
domain = "sstork.dev";
};
forgejo = {
enable = true;
domain = "git.sstork.dev";
doBackups = true;
};
outline = {
enable = true;
domain = "wiki.sprouted.cloud";
doBackups = true;
};
it-tools = {
enable = true;
domain = "it-tools.sprouted.cloud";
};
networking-toolbox = {
enable = true;
domain = "net-tools.sprouted.cloud";
};
privatebin = {
enable = true;
domain = "pastebin.sprouted.cloud";
branding.name = "SproutedBin";
};
screego = {
enable = true;
domain = "mirror.sprouted.cloud";
};
};
};
}

View file

@ -18,8 +18,11 @@
services = {
wpaperd.enable = true;
hypridle.enable = true;
cliphist.enable = true;
hypridle = {
enable = true;
lockCommand = "pidof hyprlock || hyprlock";
};
};
};

View file

@ -14,7 +14,13 @@
noctalia-shell.enable = true;
};
services.cliphist.enable = true;
services = {
cliphist.enable = true;
hypridle = {
enable = true;
lockCommand = "noctalia-shell ipc call lockScreen lock";
};
};
};
home.packages = [ pkgs.grimblast ];
@ -35,8 +41,8 @@
bind = SUPER, V, exec, $ipc launcher clipboard
# Manage session
bindrl = SUPER CONTROL, L, exec, $ipc lockScreen lock
bindrl = SUPER CONTROL, S, exec, $ipc sessionMenu lockAndSuspend
bindrl = SUPER CONTROL, L, exec, loginctl lock-session
bindrl = SUPER CONTROL, S, exec, systemctl sleep
'';
};
}

View file

@ -96,7 +96,7 @@
largeButtonsStyle = false;
countdownDuration = 3000;
};
idle.enabled = true;
idle.enabled = false;
audio.mprisBlacklist = [ "firefox" ];
network.bluetoothAutoConnect = false;
location = {

View file

@ -4,17 +4,26 @@
lib,
...
}:
let
cfg = config.custom.services.hypridle;
in
{
options.custom.services.hypridle.enable = lib.mkEnableOption "";
options.custom.services.hypridle = {
enable = lib.mkEnableOption "";
lockCommand = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "";
};
};
config = lib.mkIf config.custom.services.hypridle.enable {
config = lib.mkIf cfg.enable {
services.hypridle = {
enable = true;
package = pkgs-unstable.hypridle;
settings = {
general = {
lock_cmd = lib.mkIf config.custom.programs.hyprlock.enable "pidof hyprlock || hyprlock";
lock_cmd = cfg.lockCommand;
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
};