refactor: restructure overlays, remove lock/idle modules and logind config

This commit is contained in:
2026-04-29 00:08:21 +02:00
parent 62ce66bf96
commit de389eab4a
16 changed files with 58 additions and 388 deletions
+48 -39
View File
@@ -73,19 +73,12 @@
lib = nixpkgs.lib;
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"s2cpp"
"s2-model"
"vllm-omni"
"android-cli"
];
overlays = [ self.overlays.custom ];
config.allowUnfree = true;
};
in
{
inherit (pkgs)
inherit (pkgs.custom)
qwen-asr
llama-swap
z-image-models
@@ -100,22 +93,30 @@
;
};
overlays.default = final: _prev: {
qwen-asr = final.callPackage ./packages/qwen-asr { };
llama-swap = final.callPackage ./packages/llama-swap { };
z-image-models = final.callPackage ./packages/z-image-models { };
whisper-models = final.callPackage ./packages/whisper-models { };
s2cpp = final.callPackage ./packages/s2cpp { };
s2-model = final.callPackage ./packages/s2-model { };
vllm-omni = final.python3Packages.callPackage ./packages/vllm-omni { };
llama-cpp-nightly = final.callPackage ./packages/llama-cpp-nightly { };
llama-cpp-nightly-vulkan = final.callPackage ./packages/llama-cpp-nightly { vulkanSupport = true; };
llama-cpp-nightly-sycl = final.callPackage ./packages/llama-cpp-nightly {
syclSupport = true;
mkl = final.mkl;
oneDNN = final.oneDNN;
overlays.custom = final: _prev: {
custom = {
qwen-asr = final.callPackage ./packages/qwen-asr { };
llama-swap = final.callPackage ./packages/llama-swap { };
z-image-models = final.callPackage ./packages/z-image-models { };
whisper-models = final.callPackage ./packages/whisper-models { };
s2cpp = final.callPackage ./packages/s2cpp { };
s2-model = final.callPackage ./packages/s2-model { };
vllm-omni = final.python3Packages.callPackage ./packages/vllm-omni { };
llama-cpp-nightly = final.callPackage ./packages/llama-cpp-nightly { };
llama-cpp-nightly-vulkan = final.callPackage ./packages/llama-cpp-nightly { vulkanSupport = true; };
llama-cpp-nightly-sycl = final.callPackage ./packages/llama-cpp-nightly {
syclSupport = true;
mkl = final.mkl;
oneDNN = final.oneDNN;
};
android-cli = final.callPackage ./packages/android-cli { };
};
};
overlays.unstable = final: _prev: {
unstable = import inputs.unstable {
inherit (final.stdenv.hostPlatform) system;
};
android-cli = final.callPackage ./packages/android-cli { };
};
# legolas
@@ -127,7 +128,7 @@
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.users.gunalx = import ./home/gunalx.nix;
home-manager.backupFileExtension = "bac";
home-manager.extraSpecialArgs = { inherit nix-colors inputs; };
@@ -141,14 +142,14 @@
}
{
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
self.overlays.default
self.overlays.custom
self.overlays.unstable
niri.overlays.niri
];
}
./modules/unstable.nix
sops-nix.nixosModules.sops
lanzaboote.nixosModules.lanzaboote
@@ -170,7 +171,7 @@
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.users.gunalx = import ./home/gunalx.nix;
home-manager.backupFileExtension = "bac";
home-manager.extraSpecialArgs = { inherit nix-colors inputs; };
@@ -184,14 +185,14 @@
}
{
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
self.overlays.default
self.overlays.custom
self.overlays.unstable
niri.overlays.niri
];
}
./modules/unstable.nix
sops-nix.nixosModules.sops
lanzaboote.nixosModules.lanzaboote
@@ -204,9 +205,13 @@
inherit system;
specialArgs = { inherit inputs system; };
modules = [
{ nixpkgs.overlays = [ self.overlays.default ]; }
./modules/unstable.nix
{
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
self.overlays.custom
self.overlays.unstable
];
}
./hosts/galadriel/configuration.nix
@@ -222,9 +227,13 @@
inherit system;
specialArgs = { inherit inputs system; };
modules = [
{ nixpkgs.overlays = [ self.overlays.default ]; }
./modules/unstable.nix
{
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
self.overlays.custom
self.overlays.unstable
];
}
./hosts/elros/configuration.nix
sops-nix.nixosModules.sops
lanzaboote.nixosModules.lanzaboote
-84
View File
@@ -1,84 +0,0 @@
{
pkgs,
config,
lib,
...
}:
let
p = config.colorScheme.palette;
# Get files from ./Wallpapers relative to this flake/module
wallpapersPath = ./Wallpapers;
# Get all image file names
wallpaperFiles = builtins.attrNames (builtins.readDir wallpapersPath);
# Pick a "random" file (first one deterministically)
selectedWallpaper = builtins.elemAt wallpaperFiles 0;
# Define the path to copy the selected wallpaper to
wallpaperTargetPath = ".config/gtklock/${selectedWallpaper}";
in
{
# Install gtklock
home.packages = [
pkgs.gtklock
];
# Copy the selected wallpaper into the config dir
home.file.${wallpaperTargetPath}.source = "${wallpapersPath}/${selectedWallpaper}";
# GTKlock config
xdg.configFile."gtklock/config.ini".text = ''
[main]
# Plugins/configuration here
'';
# GTK CSS styling
xdg.configFile."gtklock/style.css".text = ''
window {
background-image: url("${config.xdg.configHome}/gtklock/${selectedWallpaper}");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
background-color: #${p.base00};
}
label {
color: #${p.base05};
font-weight: bold;
font-size: 16px;
}
entry {
background-color: #${p.base01};
color: #${p.base06};
border: none;
padding: 8px;
border-radius: 4px;
}
button {
background-color: #${p.base02};
color: #${p.base05};
border-radius: 6px;
padding: 6px 12px;
font-weight: bold;
font-size: 14px;
border-width: 2px;
border-style: solid;
border-color: #${p.base0D};
}
button:hover {
background-color: #${p.base03};
border-color: #${p.base0C};
}
button:active {
background-color: #${p.base0D};
color: #${p.base00};
}
'';
}
-7
View File
@@ -6,9 +6,6 @@
}:
{
imports = [
./unstable.nix
./nixpkgs.nix
./sshconfig.nix
./atuin.nix
./git.nix
@@ -21,11 +18,7 @@
#graphical
./fuzzel.nix
./swaylock.nix
./gtklock.nix
./swayidle.nix
./waybar.nix
./wlogout.nix
./niri.nix
./noctalia.nix
./wallpapers.nix
-2
View File
@@ -657,8 +657,6 @@ in
networkmanager-openconnect
networkmanager
swayidle
# Light and sound
brightnessctl
pavucontrol
-17
View File
@@ -1,17 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
nixpkgs = {
config = {
allowUnfree = true;
permittedInsecurePackages = [
# example "python3.11-youtube-dl-2021.12.17"
];
};
};
}
-1
View File
@@ -11,7 +11,6 @@
#manually disable stuff i have done manually
targets.mako.enable = false;
#targets.foot.enable = false;
targets.swaylock.enable = false;
targets.fuzzel.enable = false;
targets.zed.enable = false;
-39
View File
@@ -1,39 +0,0 @@
{
pkgs,
inputs,
lib,
config,
...
}:
{
services.swayidle = {
enable = true;
timeouts = [
{
timeout = 210;
#command = "swaylock";
command = "gtklock";
resumeCommand = null;
}
{
timeout = 180;
command = "niri msg action power-off-monitors";
resumeCommand = "niri msg action power-on-monitors";
}
];
events = [
#{
# event = "before-sleep";
# #command = "swaylock";
# command = "gtklock";
#}
];
extraArgs = [ "-w" ];
package = pkgs.swayidle;
systemdTarget = "graphical-session.target";
};
}
-50
View File
@@ -1,50 +0,0 @@
{
pkgs,
inputs,
lib,
config,
nix-colors,
...
}:
let
palette = config.colorScheme.palette;
in
{
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
settings = {
# screen & indicator
color = "#${palette.base00}AA"; # --color
screenshots = true; # --screenshots
fade-in = 0.1; # --fade-in
scaling = "fill"; # e.g. --scaling=fill
# authentication grace
grace = 3; # --grace
submit-on-touch = false; # --submit-on-touch
ignore-empty-password = true;
show-failed-attempts = true;
# clock
clock = true; # --clock
# indicator visuals
indicator-idle-visible = true; # --indicator-idle-visible
indicator-radius = 100; # --indicator-radius
indicator-thickness = 7; # --indicator-thickness
# indicator colors
ring-color = "#${palette.base0D}C0"; # --ring-color
key-hl-color = "#${palette.base0E}C0"; # --key-hl-color
text-color = "#${palette.base05}FF"; # --text-color
inside-color = "#${palette.base02}CC"; # --inside-color
line-color = "#${palette.base01}99"; # --line-color
separator-color = "#${palette.base01}99"; # --separator-color
# effects
effect-scale = 0.6; # --effect-scale
effect-blur = "7x3"; # --effect-blur
};
};
}
-17
View File
@@ -1,17 +0,0 @@
{
config,
inputs,
...
}:
let
unstableOverlay = final: prev: {
unstable = import inputs.unstable {
inherit (final.stdenv.hostPlatform) system;
config = config.nixpkgs.config;
};
};
in
{
nixpkgs.overlays = [ unstableOverlay ];
}
-103
View File
@@ -1,103 +0,0 @@
{
pkgs,
lib,
inputs,
config,
nix-colors,
...
}:
let
# Grab your palette and the hex→RGBA helper
palette = config.colorscheme.palette;
toRGBA =
color: alpha:
let
rgb = nix-colors.lib.conversions.hexToRGBString "," (lib.removePrefix "#" color);
in
"rgba(${rgb},${alpha})";
# Path to the wleave-provided icons
iconsDir = "${pkgs.wleave}/share/wleave/icons";
in
{
programs.wlogout = {
enable = true;
package = pkgs.wlogout;
# Your button layout
layout = [
{
label = "lock";
action = "gtklock";
text = "Lock";
keybind = "l";
}
{
label = "hibernate";
action = "systemctl hibernate";
text = "Hibernate";
keybind = "h";
}
{
label = "logout";
action = "loginctl terminate-user $USER";
text = "Logout";
keybind = "e";
}
{
label = "shutdown";
action = "systemctl poweroff";
text = "Shutdown";
keybind = "s";
}
{
label = "suspend";
action = "systemctl suspend";
text = "Suspend";
keybind = "u";
}
{
label = "reboot";
action = "systemctl reboot";
text = "Reboot";
keybind = "r";
}
];
style = ''
* { background-image: none; }
window {
background-color: ${toRGBA palette.base00 "0.7"};
}
button {
color: #${palette.base0C};
background-color: ${toRGBA palette.base02 "0.8"};
border: 2px solid #${palette.base0C};
border-radius: 1em;
margin: 0.75em;
background-repeat: no-repeat;
background-position: center;
box-shadow: 0 0 4px #${palette.base0C};
padding: 0.6em 1.2em;
}
button:focus,
button:active {
background-color: ${toRGBA palette.base03 "0.9"};
box-shadow: 0 0 6px #${palette.base0C};
outline: none;
}
#lock { background-image: image(url("${iconsDir}/lock.svg")); }
#logout { background-image: image(url("${iconsDir}/logout.svg")); }
#suspend { background-image: image(url("${iconsDir}/suspend.svg")); }
#hibernate { background-image: image(url("${iconsDir}/hibernate.svg")); }
#shutdown { background-image: image(url("${iconsDir}/shutdown.svg")); }
#reboot { background-image: image(url("${iconsDir}/reboot.svg")); }
'';
};
}
+1 -1
View File
@@ -59,7 +59,7 @@
services.desktopManager.gnome.enable = true;
environment.systemPackages = [
pkgs.qwen-asr
pkgs.custom.qwen-asr
];
# Bootloader.
+2 -4
View File
@@ -10,11 +10,10 @@
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
#boot.kernelPackages = pkgs.linuxPackages_zen;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages_6_19;
boot.kernelParams = [
"nvme_core.default_ps_max_latency_us=0"
"mem_sleep_default=deep"
"mem_sleep_default=s2idle"
];
boot.initrd.availableKernelModules = [
@@ -55,7 +54,6 @@
systemd.targets.hibernate.enable = false;
#services.logind.lidSwitch = "suspend";
powerManagement.enable = true;
# Disable hibernation
+6 -1
View File
@@ -34,7 +34,12 @@
prusa-slicer
freecad-wayland
openscad-unstable
#kicad # somehow stalls building.
unstable.kicad
unstable.kicadAddons.kikit
unstable.kicadAddons.kikit-library
unstable.turbocase
unstable.interactive-html-bom
unstable.python3Packages.kicad-python
#easyeda2kicad # could not build
easyeffects
+1 -1
View File
@@ -62,7 +62,7 @@
#dotnet-aspnetcore
#dotnet-ef
android-cli
custom.android-cli
#gamedev
godot
-5
View File
@@ -10,9 +10,4 @@
security.polkit.enable = true;
security.pam.services.gtklock = { };
security.pam.services.swaylock = { };
security.pam.services.swaylock-effects = { };
}
-17
View File
@@ -1,17 +0,0 @@
{
config,
inputs,
...
}:
let
unstableOverlay = final: prev: {
unstable = import inputs.unstable {
inherit (final.stdenv.hostPlatform) system;
inherit (config.nixpkgs) config;
};
};
in
{
nixpkgs.overlays = [ unstableOverlay ];
}