chore: merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
Ahwx 2025-10-03 16:27:47 +02:00
commit 0b5f8d2633
30 changed files with 623 additions and 479 deletions

122
flake.lock generated
View file

@ -41,11 +41,11 @@
]
},
"locked": {
"lastModified": 1753216019,
"narHash": "sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk=",
"lastModified": 1755946532,
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "be166e11d86ba4186db93e10c54a141058bdce49",
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"type": "github"
},
"original": {
@ -235,11 +235,11 @@
]
},
"locked": {
"lastModified": 1755397986,
"narHash": "sha256-qwrF5laj6eE3Zht0wKYTmH6QzL7bdOyE2f6jd3WCO8g=",
"lastModified": 1758593331,
"narHash": "sha256-p+904PfmINyekyA/LieX3IYGsiFtExC00v5gSYfJtpM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8b4ac149687e8520187a66f05e9d4eafebf96522",
"rev": "9a2dc0efbc569ce9352a6ffb8e8ec8dbc098e142",
"type": "github"
},
"original": {
@ -253,11 +253,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1753252360,
"narHash": "sha256-PFAJoEqQWMlo1J+yZb+4HixmhbRVmmNl58e/AkLYDDI=",
"lastModified": 1758531979,
"narHash": "sha256-iRv5afKzuu6SkwztqMwZ33161CzBJsyeRHp0uviN9TI=",
"owner": "hyprwm",
"repo": "contrib",
"rev": "6839b23345b71db17cd408373de4f5605bf589b8",
"rev": "de79078fd59140067e53cd00ebdf17f96ce27846",
"type": "github"
},
"original": {
@ -311,11 +311,11 @@
]
},
"locked": {
"lastModified": 1754305013,
"narHash": "sha256-u+M2f0Xf1lVHzIPQ7DsNCDkM1NYxykOSsRr4t3TbSM4=",
"lastModified": 1758192433,
"narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "4c1d63a0f22135db123fc789f174b89544c6ec2d",
"rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7",
"type": "github"
},
"original": {
@ -342,11 +342,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1755416233,
"narHash": "sha256-tydnBQmV8pPHPlvq7sTEOEhkjXnYaeJtMN+77Rf/1NU=",
"lastModified": 1758542519,
"narHash": "sha256-NHEzK6MN8Tv9YrnJb2A9KxcOI2cCsKRqZOC5kUeG8Aw=",
"ref": "refs/heads/main",
"rev": "251288ec5942b3544ad31de1299569284d80f0d7",
"revCount": 6370,
"rev": "70a7047ee175d2e7fca1575d50a3738ac40fd2c6",
"revCount": 6446,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -462,11 +462,11 @@
]
},
"locked": {
"lastModified": 1753819801,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"lastModified": 1757694755,
"narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c",
"type": "github"
},
"original": {
@ -491,11 +491,11 @@
]
},
"locked": {
"lastModified": 1753622892,
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
"lastModified": 1756810301,
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
"type": "github"
},
"original": {
@ -541,11 +541,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1750371999,
"narHash": "sha256-de87tFOEhJiXTHNzG3LcwxGR1a/D6v+nC+9+V1GW1Zs=",
"lastModified": 1757972732,
"narHash": "sha256-V2lQfZyVMzlyQNtY7VZbJhh+fg9KsNztJynXBs3OgUc=",
"owner": "hyprwm",
"repo": "hyprpicker",
"rev": "d6a1363a86cd99460f0020134e455d921e8bacd8",
"rev": "6f32582d2282fd97f18e54db0f45f53f18edde4f",
"type": "github"
},
"original": {
@ -564,11 +564,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1755112136,
"narHash": "sha256-eYLtZJayWWbKBC3u/gvDSqVyffuD+egryr7zPWRAeyY=",
"lastModified": 1757678186,
"narHash": "sha256-YuvkWCVZKiUoUC2tx/N5KkPXWmje2UbeENYkOc2C31Y=",
"owner": "hyprwm",
"repo": "hyprsunset",
"rev": "1f9afca28fac5f490e5f232e6f1887a69ff34896",
"rev": "72071709f58bc2fed8546288af295aa9153a287f",
"type": "github"
},
"original": {
@ -589,11 +589,11 @@
]
},
"locked": {
"lastModified": 1754481650,
"narHash": "sha256-6u6HdEFJh5gY6VfyMQbhP7zDdVcqOrCDTkbiHJmAtMI=",
"lastModified": 1756117388,
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "df6b8820c4a0835d83d0c7c7be86fbc555f1f7fd",
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"type": "github"
},
"original": {
@ -664,11 +664,11 @@
]
},
"locked": {
"lastModified": 1751897909,
"narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=",
"lastModified": 1755184602,
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "fcca0c61f988a9d092cbb33e906775014c61579d",
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
"type": "github"
},
"original": {
@ -759,11 +759,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1755330281,
"narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=",
"lastModified": 1757943327,
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
"type": "github"
},
"original": {
@ -805,11 +805,11 @@
},
"nixpkgs_10": {
"locked": {
"lastModified": 1744868846,
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
"lastModified": 1758262103,
"narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
"rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01",
"type": "github"
},
"original": {
@ -885,11 +885,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1755186698,
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
"lastModified": 1758427187,
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
"type": "github"
},
"original": {
@ -933,11 +933,11 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1755186698,
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
"lastModified": 1758427187,
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
"type": "github"
},
"original": {
@ -954,11 +954,11 @@
"nixvim": "nixvim_2"
},
"locked": {
"lastModified": 1755007783,
"narHash": "sha256-mxKUvsLy6Nf8Td8jQ0Q7q+A+FcTuYMyp/qmnnCRK1QE=",
"lastModified": 1755612464,
"narHash": "sha256-a77eam3zh4Lr4CrzOo/QKBD+etz4+TQZv/THVoLAhBA=",
"owner": "ahwxorg",
"repo": "nixvim-config",
"rev": "d4b1e0a37718bd4b704c5c055151135094d911eb",
"rev": "76880a7e5930e8255f0d5c19b865beada4bf0573",
"type": "github"
},
"original": {
@ -993,11 +993,11 @@
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1755435577,
"narHash": "sha256-Rgcfyl8sWF+Uxe2HM51kJ72aNtaoy/UPiblwGTZHANU=",
"lastModified": 1758640565,
"narHash": "sha256-ElrlkD9NTp27BR+K8RO6KYF/5gHURj6b9Vpan/bf8wk=",
"owner": "nix-community",
"repo": "NUR",
"rev": "199390e7082f9307578531d389cccd9f37412156",
"rev": "af2e804a55892665adfd0b30c75088b1ad1b462c",
"type": "github"
},
"original": {
@ -1040,11 +1040,11 @@
]
},
"locked": {
"lastModified": 1754416808,
"narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=",
"lastModified": 1758108966,
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864",
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"type": "github"
},
"original": {
@ -1091,11 +1091,11 @@
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1754988908,
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
"lastModified": 1758425756,
"narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
"rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762",
"type": "github"
},
"original": {
@ -1192,11 +1192,11 @@
]
},
"locked": {
"lastModified": 1753633878,
"narHash": "sha256-js2sLRtsOUA/aT10OCDaTjO80yplqwOIaLUqEe0nMx0=",
"lastModified": 1755354946,
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "371b96bd11ad2006ed4f21229dbd1be69bed3e8a",
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
"type": "github"
},
"original": {

View file

@ -35,20 +35,20 @@
allowedUDPPorts = [
5201
];
interfaces."ens4s1".allowedTCPPorts = [
# allow everything for local link
{
from = 1;
to = 65354;
}
];
interfaces."ens4s1".allowedUDPPorts = [
# allow everything for local link
{
from = 1;
to = 65354;
}
];
#interfaces."ens4s1".allowedTCPPorts = [
# # allow everything for local link
# {
# from = 0;
# to = 60000;
# }
#];
#interfaces."ens4s1".allowedUDPPorts = [
# # allow everything for local link
# {
# from = 0;
# to = 65536;
# }
#];
};
};
@ -82,6 +82,7 @@
services.zfs = {
autoScrub.enable = true;
autoScrub.interval = "weekly";
trim.enable = true;
};

View file

@ -9,10 +9,11 @@
imports = [
./hardware-configuration.nix
./../../modules/core
# ./../../modules/home/nfs.nix
./../../modules/home/steam.nix
./../../modules/core/virtualization.nix
./../../modules/services/tailscale.nix
./../../modules/services/mpd.nix
./../../modules/services/ollama.nix
];
powerManagement = {
@ -26,18 +27,16 @@
networkmanager.enable = true;
};
systemd.network.networks."99-local" = {
matchConfig.name = "enp68s0";
address = [
"192.168.1.100/24"
];
routes = [
networking = {
interfaces.ens4d1 = {
ipv4.addresses = [
{
Gateway = "172.16.10.1";
GatewayOnLink = false;
address = "192.168.1.101";
prefixLength = 24;
}
];
};
};
liv = {
desktop.enable = true;

View file

@ -3,7 +3,7 @@
imports =
[ (import ./docker.nix) ]
++ [ (import ./hardware.nix) ]
# ++ [(import ./displaylink.nix)]
# ++ [ (import ./displaylink.nix) ]
# ++ [(import ./printing.nix)]
++ [ (import ./xserver.nix) ]
++ [ (import ./network.nix) ]

View file

@ -1,12 +1,13 @@
{ ... }:
{
imports =
[(import ./hardware.nix)]
++ [(import ./network.nix)]
++ [(import ./program.nix)]
++ [(import ./sshd.nix)]
++ [(import ./security.nix)]
++ [(import ./services.nix)]
++ [(import ./system.nix)]
++ [(import ./user.nix)];
[ (import ./hardware.nix) ]
++ [ (import ./network.nix) ]
++ [ (import ./program.nix) ]
++ [ (import ./sshd.nix) ]
++ [ (import ./security.nix) ]
++ [ (import ./services.nix) ]
++ [ (import ./system.nix) ]
++ [ (import ./user.nix) ]
++ [ (import ./virtualization.nix) ];
}

View file

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, inputs, ... }:
{
programs = {
dconf.enable = true;

View file

@ -3,10 +3,9 @@
services = {
fstrim.enable = true;
};
services.logind.extraConfig = ''
# dont shutdown when power button is short-pressed
HandlePowerKey=ignore
'';
services.logind.settings.Login = {
HandlePowerKey = "ignore"; # dont shutdown when power button is short-pressed
};
# To prevent getting stuck at shutdown.
# systemd.extraConfig = "DefaultTimeoutStopSec=10s"; # Deprecated now

View file

@ -23,6 +23,7 @@
owner = "matrix-synapse";
};
"smbLoginDetails" = { };
"syncplay" = { };
}
else if (host == "sakura") then
{

View file

@ -1,4 +1,10 @@
{ pkgs, host, ... }:
{
pkgs,
host,
config,
username,
...
}:
{
virtualisation = {
# vmware.host.enable = true; # Causes issues for now :p
@ -6,6 +12,8 @@
libvirtd.enable =
if (host == "violet") then
true
else if (host == "dandelion") then
true
else if (host == "sakura") then
true
else if (host == "yoshino") then
@ -14,10 +22,23 @@
true
else
false;
spiceUSBRedirection.enable = true;
spiceUSBRedirection.enable =
if (config.virtualisation.libvirtd.enable == true) then true else false;
};
programs.virt-manager.enable = true;
programs.virt-manager.enable =
if (config.virtualisation.waydroid.enable == true) then true else false;
#dconf.settings."org/virt-manager/virt-manager/connections" =
# if (config.programs.virt-manager.enable == true) then
# {
# autoconnect = [ "qemu:///system" ];
# uris = [ "qemu:///system" ];
# }
# else
# { };
users.groups.libvirtd.members =
if (config.virtualisation.libvirtd.enable == true) then [ username ] else [ ];
# Enable qemu etc
environment.systemPackages = with pkgs; [

View file

@ -1,20 +1,20 @@
{ username, ... }:
{
services = {
xserver = {
enable = true;
xkb.layout = "us";
#services = {
# xserver = {
# enable = true;
# xkb.layout = "us";
# displayManager.lightdm.greeters.slick.enable = true;
displayManager.lightdm.greeters.mini = {
enable = true;
user = "liv";
extraConfig = ''
[greeter]
show-password-label = false
[greeter-theme]
background-image = "/home/liv/Pictures/wallpapers/others/anime-sky-lonely.png"
'';
};
};
};
# #displayManager.lightdm.greeters.mini = {
# # enable = true;
# # user = "liv";
# # extraConfig = ''
# # [greeter]
# # show-password-label = false
# # [greeter-theme]
# # background-image = "/home/liv/Pictures/wallpapers/others/anime-sky-lonely.png"
# # '';
# #};
# };
#};
}

View file

@ -18,17 +18,35 @@
};
services = {
login.u2fAuth = true;
greetd.u2fAuth = true;
login.u2fAuth = false;
greetd.u2fAuth = false;
sudo.u2fAuth = true;
swaylock.fprintAuth = if (host == "sakura") then true else false;
swaylock.fprintAuth =
if (host == "sakura") then
true
else if (host == "zinnia") then
true
else
false;
# No longer using Hyprlock, might stay here for if I ever switch to it again.
hyprlock.u2fAuth = true;
hyprlock.fprintAuth = if (host == "sakura") then true else false;
hyprlock.u2fAuth = false;
hyprlock.fprintAuth =
if (host == "sakura") then
true
else if (host == "zinnia") then
true
else
false;
};
};
services.fprintd.enable = if (host == "sakura") then true else false;
services.fprintd.enable =
if (host == "sakura") then
true
else if (host == "zinnia") then
true
else
false;
environment.systemPackages = with pkgs; [
yubikey-manager

View file

@ -7,6 +7,7 @@
++ [ (import ./hyprland) ]
++ [ (import ./hyprlock) ]
++ [ (import ./kitty.nix) ]
++ [ (import ./foot.nix) ]
++ [ (import ./nvim.nix) ]
++ [ (import ./zathura.nix) ]
++ [ (import ./packages.nix) ]

View file

@ -1,6 +1,7 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
scientifica
# nerd-fonts._0xproto
# nerd-fonts._3270
# nerd-fonts.agave

48
modules/home/foot.nix Normal file
View file

@ -0,0 +1,48 @@
{ pkgs, username, ... }:
{
home.file."/home/${username}.config/foot/foot.ini".text = ''
# -*- conf -*-
# font=GohuFont 14 Nerd Font Mono:size=9
initial-window-mode=maximized
# [tweak]
# allow-overflowing-double-width-glyphs=true
[desktop-notifications]
# command=notify-send --wait --app-name $\{app-id} --icon $\{app-id} --category $\{category} --urgency $\{urgency} --expire-time $\{expire-time} --hint STRING:image-path:$\{icon} --hint BOOLEAN:suppress-sound:$\{muted} --hint STRING:sound-name:$\{sound-name} --replace-id $\{replace-id} $\{action-argument} --print-id -- $\{title} $\{body}
# command-action-argument=--action $\{action-name}=$\{action-label}
# close=""
# inhibit-when-focused=yes
[cursor]
style=block
[colors]
alpha=0.5
background=000000
foreground=878ba6
flash=7f7f00
flash-alpha=0.5
## Normal/regular colors (color palette 0-7)
regular0=1e202f # black
regular1=7586f5 # red
regular2=fb6fa9 # green
regular3=ffb3d2 # yellow
regular4=8696fd # blue
regular5=fb6fa9 # magenta
regular6=a0acfe # cyan
regular7=878ba6 # white
## Bright colors (color palette 8-15)
bright0=4f5472 # bright black
bright1=fe81b5 # bright red
bright2=292c3d # bright green
bright3=444864 # bright yellow
bright4=5b6080 # bright blue
bright5=d2d8fe # bright magenta
bright6=f764a1 # bright cyan
bright7=ebedff # bright white
'';
}

View file

@ -23,12 +23,12 @@
size = 14;
};
theme = {
name = "Gruvbox-Green-Dark";
package = pkgs.gruvbox-gtk-theme.override {
colorVariants = [ "dark" ];
themeVariants = [ "green" ];
tweakVariants = [ "macos" ];
};
name = "Juno";
package = pkgs.juno-theme; # .override {
# colorVariants = [ "dark" ];
# themeVariants = [ "green" ];
# tweakVariants = [ "macos" ];
# };
};
iconTheme = {
name = "Papirus-Dark";
@ -85,6 +85,7 @@
"wl-paste --watch cliphist store &"
"yubikey-touch-detector --libnotify &"
"mpDris2 &"
"foot --server"
];
input = {
@ -98,10 +99,10 @@
};
};
gestures = {
workspace_swipe = true;
workspace_swipe_invert = true;
};
#gestures = {
# workspace_swipe = true;
# workspace_swipe_invert = true;
#};
general = {
"$mainMod" = "ALT";
@ -213,8 +214,8 @@
bind = [
# keybindings
"$mainMod, Return, exec, kitty"
"$mainMod SHIFT, Return, exec, [float; center; size 950 650] kitty"
"$mainMod, Return, exec, footclient"
"$mainMod SHIFT, Return, exec, [float; center; size 950 650] footclient"
"$mainMod, Q, killactive,"
"$mainMod, F, fullscreen, 0" # set 1 to 0 to set full screen without waybar
"$mainMod, Space, togglefloating,"
@ -332,6 +333,9 @@
"float,title:^(float_kitty)$"
"center,title:^(float_kitty)$"
"size 950 600,title:^(float_kitty)$"
"float,title:^(float_foot)$"
"center,title:^(float_foot)$"
"size 950 600,title:^(float_foot)$"
"float,title:^(Volume Control)$"
"float,title:^(Librewolf Sharing Indicator)$"
"move 0 0,title:^(Librewolf Sharing Indicator)$"

View file

@ -31,6 +31,9 @@
python3
# CLI shit
fff
imagemagick
foot
termpdfpy
vimv
iamb

3
modules/home/steam.nix Normal file
View file

@ -0,0 +1,3 @@
{
programs.steam.enable = true;
}

View file

@ -23,8 +23,8 @@
"/home/${username}/.config/waybar/config" = {
text = ''
[{
"layer": "bottom",
"position": "bottom",
"layer": "top",
"position": "top",
"modules-left": [
"privacy",
@ -85,9 +85,10 @@
"network": {
"format": "󰈀 {ifname}",
"format-wifi": " {essid} - {ipaddr}/{cidr} <span color='#aaaaaa'>{signalStrength}%</span>",
"format-ethernet": "󰈀 {ipaddr}/{cidr}",
"format-disconnected": "󰈂",
// "format-wifi": "<span color='#aaaaaa'>WLAN:</span> {essid} - {ipaddr}/{cidr} <span color='#aaaaaa'>{signalStrength}%</span>",
"format-wifi": "<span color='#aaaaaa'>WLAN:</span> {ipaddr}/{cidr} <span color='#aaaaaa'>{signalStrength}%</span>",
"format-ethernet": "<span color='#aaaaaa'>LAN:</span> {ipaddr}/{cidr}",
"format-disconnected": "<span color='#aaaaaa'>WLAN:</span> down",
"tooltip-format": "{ifname} via {gwaddr}",
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}",
@ -178,7 +179,7 @@
"cpu": {
"interval": 30,
"format": " {avg_frequency:3.2f}GHz <span color='#aaaaaa'>{usage}%</span>",
"format": "<span color='#aaaaaa'>FREQ:</span> {avg_frequency:3.2f}GHz <span color='#aaaaaa'>{usage}%</span> ",
"states": {
"warning": 70,
"critical": 90
@ -188,25 +189,25 @@
"temperature#cpu": {
"hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input",
"critical-threshold": 80,
"format": " CPU <span color='#aaaaaa'>{temperatureC}°C</span>"
"format": "CPU <span color='#aaaaaa'>{temperatureC}°C</span>"
},
"temperature#gpu": {
"hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input",
"critical-threshold": 80,
"format": "· GPU <span color='#aaaaaa'>{temperatureC}°C</span>"
"format": "GPU <span color='#aaaaaa'>{temperatureC}°C</span>"
},
"temperature#nvme": {
"hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input",
"critical-threshold": 80,
"format": "· NVMe <span color='#aaaaaa'>{temperatureC}°C</span>"
"format": "NVMe <span color='#aaaaaa'>{temperatureC}°C</span>"
},
"temperature#wifi": {
"hwmon-path": "/sys/class/hwmon/hwmon11/temp1_input",
"critical-threshold": 80,
"format": "· WiFi <span color='#aaaaaa'>{temperatureC}°C</span>"
"format": "WiFi <span color='#aaaaaa'>{temperatureC}°C</span>"
},
"group/resources": {
@ -220,12 +221,12 @@
"memory": {
"interval": 60,
"format": "󰘚 {used:3.1f}GiB/<span color='#aaaaaa'>{total:3.1f}GiB</span>"
"format": "<span color='#aaaaaa'>RAM:</span> {used:3.1f}GiB/<span color='#aaaaaa'>{total:3.1f}GiB</span> "
},
"disk#root": {
"interval": 360,
"format": " {used}/<span color='#aaaaaa'>{total}</span>",
"format": "DISK: {used}/<span color='#aaaaaa'>{total}</span>",
"path": "/"
},
@ -258,7 +259,7 @@
},
"wireplumber": {
"format": "{icon} {node_name}/<span color='#aaaaaa'>{volume}</span>",
"format": "{icon} {node_name}/{volume}",
"format-muted": "",
"on-click": "pavucontrol-qt",
"on-click-right": "helvum",
@ -293,20 +294,21 @@
"battery": {
"bat": "BAT1",
"interval": 30,
"interval": 20,
"states": {
"warning": 20,
"critical": 10
},
"format-time": "{H}:{m}",
"format": "{icon} {time} <span color='#aaaaaa'>{capacity}%</span>",
"format-discharging": "{icon} <span color='#aaaaaa'>{capacity}%</span>",
"format-discharging-warning": "{icon} <span color='#FF5F1F'>{capacity}%</span>",
"format-discharging-critical": "{icon} <span color='#FF3131'>{capacity}%</span>",
"format-charging": "{icon} <span color='#DAF7A6'>{capacity}%</span><span color='#aaaaaa'> @ {power:2.0f}W</span>",
"format-full": "󱐥 <span color='#aaaaaa'>{capacity}%</span>",
"format-not-charging": "󱐤 <span color='#aaaaaa'>{capacity}%</span>",
"format-icons": [" ", " ", " ", " ", " "],
"format": "<span color='#aaaaaa'>BATT:</span> {time} {capacity}%",
"format-alt": "<span color='#aaaaaa'>BATT: {time}</span> ",
"format-discharging": "<span color='#aaaaaa'>BATT:</span> {capacity}%",
"format-discharging-warning": "<span color='#aaaaaa'>BATT:</span> <span color='#FF5F1F'>{capacity}%</span>",
"format-discharging-critical": "<span color='#aaaaaa'>BATT:</span> <span color='#FF3131'>{capacity}%</span>",
"format-charging": "<span color='#aaaaaa'>BATT:</span> <span color='#DAF7A6'>{capacity}%</span><span color='#aaaaaa'> @ {power:2.0f}W</span>",
"format-full": "<span color='#aaaaaa'>BATT:</span> 󱐥 {capacity}%",
"format-not-charging": "<span color='#aaaaaa'>BATT:</span> 󱐤 {capacity}%",
// "format-icons": [" ", " ", " ", " ", " "], // use {icon}
},
"custom/powerdraw": {
@ -325,7 +327,7 @@
"clock#date": {
"interval": 60,
"format": " <span color='#ffffff'> {:%a %e %b %Y}</span>",
"format": "<span color='#ffffff'> {:%a %e %b %Y}</span>",
"tooltip-format": "<big>{:%B %Y}</big>\n<tt>{calendar}</tt>",
"calendar": {
"mode" : "year",
@ -349,7 +351,7 @@
"clock#time": {
"interval": 60,
"format": " <span color='#aaaaaa'>{:%I:%M %p}</span>",
"format": "<span color='#aaaaaa'>CEST:</span> {:%I:%M %p}",
"actions": {
"on-scroll-up": "tz_up",
"on-scroll-down": "tz_down"
@ -358,7 +360,7 @@
"custom/clock#minutes": {
"interval": 60,
"format": " <span color='#aaaaaa'>{}</span> ",
"format": "CEST: <span color='#aaaaaa'>{}</span> ",
"exec": "~/.local/bin/waybar-minutes"
}
}
@ -377,17 +379,18 @@
/* margin: 0 0px; */
}
window#waybar.bottom {
window#waybar.top {
/* background-color: rgba(115, 116, 116, 0.22); */
background-color: rgba(0, 0, 0, 0.25);
border-bottom: none;
border-top: none;
color: #eeeeee;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.25;
/* opacity: 0.25; */
opacity: 0.00;
}
label#window {
@ -439,7 +442,7 @@
#workspaces button {
/*padding: 4px 6px;*/
padding: 4px 6px;
color: #555555;
color: #aaaaaa;
border-radius: 0px;
/*min-width: 32px;*/
}

View file

@ -181,12 +181,6 @@
#!/usr/bin/env bash
if [[ "$(hostname)" == "sakura" ]]; then
if [[ $(cat /proc/acpi/button/lid/LID0/state | grep "open") ]]; then
LTEXT="󰌢 "
else
LTEXT="󰛧 "
fi
MICROPHONE_STATE="$(sudo framework_tool --privacy | tail -n2 | head -n1)"
CAMERA_STATE="$(sudo framework_tool --privacy | tail -n1)"
@ -206,7 +200,7 @@
CTEXT="󰗟 "
fi
echo "$LTEXT $CTEXT $MTEXT"
echo "$CTEXT $MTEXT"
fi
'';
};

View file

@ -3,7 +3,7 @@
services = {
anubis.instances.librey = {
settings = {
TARGET = "http://localhost:8080";
TARGET = "http://localhost:8078";
BIND = ":8079";
BIND_NETWORK = "tcp";
};

View file

@ -2,6 +2,7 @@
{
services.murmur = {
enable = true;
openFirewall = false;
openFirewall = true;
bandwidth = 192000;
};
}

View file

@ -9,7 +9,7 @@
# Network shares
samba = {
package = pkgs.samba;
# ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba`
# ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba`. samba4Full gives issue, however)
# Required for samba to register mDNS records for auto discovery
# See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268
enable = true;
@ -19,6 +19,16 @@
writable = "true";
comment = "Hello world!";
};
shares.violet = {
path = "/spinners/violet";
writable = "true";
comment = "Hello world!";
};
shares.ahwx = {
path = "/spinners/ahwx";
writable = "true";
comment = "Hello world!";
};
};
avahi = {
publish.enable = true;

View file

@ -0,0 +1,9 @@
{
services.ollama = {
enable = true;
# Optional: preload models, see https://ollama.com/library
# loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"];
# acceleration = "rocm"; # nope, 5700XT is too old for this
};
services.open-webui.enable = false;
}

View file

@ -0,0 +1,8 @@
{ config, ... }:
{
services.syncplay = {
enable = true;
passwordFile = config.sops.secrets.syncplay.path;
};
networking.firewall.allowedTCPPorts = [ 8999 ];
}

View file

@ -13,6 +13,7 @@
++ [ (import ./guacamole.nix) ]
++ [ (import ./gokapi.nix) ]
++ [ (import ./jellyfin.nix) ]
# ++ [ (import ./jitsi-meet.nix) ]
++ [ (import ./librey-proxy.nix) ]
++ [ (import ./lidarr.nix) ]
++ [ (import ./matrix/default.nix) ]
@ -23,6 +24,7 @@
++ [ (import ./ntfy.nix) ]
++ [ (import ./nginx.nix) ]
++ [ (import ./nix-serve.nix) ]
++ [ (import ./ollama.nix) ]
++ [ (import ./paperless-ngx.nix) ]
++ [ (import ./radicale.nix) ]
++ [ (import ./remote-build.nix) ]
@ -33,5 +35,4 @@
++ [ (import ./tailscale.nix) ]
++ [ (import ./vaultwarden.nix) ];
# ++ [ (import ./smart-monitoring.nix) ]
# ++ [ (import ./jitsi-meet.nix) ]
}

View file

@ -16,6 +16,7 @@ in
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ cifs-utils ];
home-manager = {
users.${username} = {
home.packages = with pkgs; [

View file

@ -27,7 +27,7 @@ in
home-manager.users.${username}.home.packages = with pkgs; [
element-desktop
gajim
dino
signal-desktop
mumble
anki-bin
@ -44,7 +44,7 @@ in
thunderbird
lxqt.pavucontrol-qt
mpv
plasma5Packages.kdeconnect-kde
kdePackages.kdeconnect-kde
winbox
# onthespot-overlay

View file

@ -1,13 +1,25 @@
{ lib, pkgs, config, username, home-manager, ... }:
{
lib,
pkgs,
config,
username,
home-manager,
...
}:
with lib;
let
cfg = config.liv.laptop;
in {
in
{
options.liv.laptop = {
enable = mkEnableOption "Enable laptop";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
cifs-utils
powertop
];
home-manager = {
users.${username} = {
home.packages = with pkgs; [
@ -17,15 +29,18 @@ in {
};
};
# DisplayLink
services.xserver.videoDrivers = [
"displaylink"
"modesetting"
];
systemd.services.dlm.wantedBy = [ "multi-user.target" ];
networking.networkmanager.enable = true;
environment.systemPackages = with pkgs; [
# powertop
];
boot = {
kernelModules = ["acpi_call"];
extraModulePackages = with config.boot.kernelPackages;
[
kernelModules = [ "acpi_call" ];
extraModulePackages = with config.boot.kernelPackages; [
acpi_call
];
};
@ -41,6 +56,6 @@ in {
criticalPowerAction = "Hibernate";
};
};
# powerManagement.powertop.enable = true;
powerManagement.powertop.enable = true;
};
}

View file

@ -17,7 +17,8 @@ in
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
pkgs.kitty.terminfo
kitty.terminfo
foot.terminfo
powertop
];

View file

@ -3,6 +3,7 @@ forgejoWorkerSecret: ENC[AES256_GCM,data:kmUjukTJ9SP6nJvfhIMFVTu5vAc9TIfZidUgejC
matrixRegistrationSecret: ENC[AES256_GCM,data:xDFYVpBJa+FHWjmLlZspJAzJcoav53nWPoctQ5+gAnDYMurtSCkmoQn8r5j6fOmiy56KQyk8AD2/kT1HeFFNKA==,iv:82eIoh1ePc0VxfTbBPxpwGhYrcdRMI6WjFhlUJhxuHk=,tag:FAYUXUy0lEQU56ni2dxvbg==,type:str]
minioRootCredentials: ENC[AES256_GCM,data:/IrpspB6Puy+6scHheBSBp6zQVh8uwpu4nFPLSkueuohSUESPHbRb0w1XAp4V5HraMtOThFqlm0JeBW0XbhY4E8L1P+S3/aMLKjp2voA928l9AjF6sTaSKsO7qh6LEmo90qm9Jo0nDo=,iv:M5NOGfSsl+LggLyEjV49vcWCaYmbG0eJcgwI2v7AKcI=,tag:A+CrDTL+TkEayOqBUII4aQ==,type:str]
smbLoginDetails: ENC[AES256_GCM,data:Puv+Vewv0TDpiYM+Uym180CLT+vXKoeSW/uNxAX7f9y0NvG2Uqqglj/HcCMhyQn9GpCIQyb+xidlLWn3Ywdg6ybaf4WN5EdAEXMK/FRQyVIvvOcCcwG+IeUc1Wc5NmM2qEbxLqLNDWxiH8/QsrT9rWWxxx4c4eD1HOpIv9LCuavXXLmKy6JvtxYwtOv4u8ukp+e0uP7pLN7d,iv:XH+6soi7lZiGz9ZGlQb49f44API715ib/Y7Zh3hFnDM=,tag:iz8RYRSwNxrMxy+rqeM07Q==,type:str]
syncplay: ENC[AES256_GCM,data:Vrn1GmmUnIikiTKIQtP3qBfZIZRW2Za2Xhhegp7PAulujxumLGMAz9lBnTPBy3uofpayP8NJuU9v8cpU4a4w5A==,iv:s4RFaZwftqmI3BhpO1msvpfO2u3AGlPik7nMX2hjnyE=,tag:13zft7dmd85udoi7CnfWYg==,type:str]
sops:
age:
- recipient: age1yzapmznelujajfyrpw5mxmy86ckg377494w5ap4yej39jatewursfxls9w
@ -23,7 +24,7 @@ sops:
S3pjSjlhZjZiSDBNakhLVzNKMjd3bWsKC2geLVXFp190lkjxtmZKq8aLN0XMNeAI
VqbwIY3a30iuWAaxqf8h1ZuCGJvbAZZBevFZraj9yktRHc54JV3Aww==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-08-19T12:23:05Z"
mac: ENC[AES256_GCM,data:hH3cTyHeFMTH5zYpCWyM1uqLta/uzQcLc5HPSdsR52Skh89/5h51vC666g0JuVm/sXh3gv6XQ1AGidPMAmx60qmHjiWE/LRli7xDwKk3p4mldC7RC2FrR0JPmfhDzXIo7VL60PCq4CPWevyRpAWMEMgnc3Z/IzmfDObUsvU+rg0=,iv:CrL4uqV8keGMw+tuqvkNrpKoM0qqr1vsdhESPUb+Hig=,tag:O2NKejf2dpkrkTzX1IfQcA==,type:str]
lastmodified: "2025-09-19T10:22:44Z"
mac: ENC[AES256_GCM,data:aJcXcdCR9nKbiaGEcGIQxr0kW7D8p2OzC2YDh18AFinWhdUSUDh6B8vkHR3ScIgUOYWc70/vSVsn3+M5JmtH3+mKMwMwSKF2plhicSBGdRELkeeowy6tCZGOVUvRsBhUpynd86qxxvWbJO4Q6mCSNbBQ/cr8493OZWenzB/fedQ=,iv:UqgIWA4ZK3cVn0iepeBPF8KuNREuGKNnijo/oGd4/q0=,tag:CT2uFz+flsZyNAM6SnhveA==,type:str]
unencrypted_suffix: _unencrypted
version: 3.10.2