good status, sddm / niri misconfig for screen fix

This commit is contained in:
Prouk committed 2026-10-02 14:57:09 +02:00
1 parent ee97c00b65
commit b80d6b9b1f
21 files changed
+146 -220

No files matched your search

-1
View File
@@ -1 +0,0 @@
eval "$(devenv direnvrc)"
-67
View File
@@ -1,67 +0,0 @@
# Makefile to safely clean up NixOS profiles, keeping only the last 3 generations.
.PHONY: help dry-run clean-system clean-user clean-home-manager clean-all
# Default target displays the help menu
help:
@echo "NixOS Profile Cleanup Utility"
@echo "============================="
@echo "Available targets:"
@echo " make dry-run - Safe preview of what will be deleted"
@echo " make clean-system - Clean system generations and update bootloader (requires sudo)"
@echo " make clean-user - Clean current user's profile generations"
@echo " make clean-home-manager - Clean Home Manager generations (if applicable)"
@echo " make clean-all - Clean everything (System, User, and Home Manager)"
# Dry run to preview changes without deleting anything
dry-run:
@echo "=== [DRY RUN] System Profile ==="
sudo nix-env --profile /nix/var/nix/profiles/system --delete-generations +3 --dry-run
@echo "\n=== [DRY RUN] User Profile ==="
nix-env --delete-generations +3 --dry-run
@echo "\n=== [DRY RUN] Home Manager Profile ==="
@if [ -d "$$HOME/.local/state/nix/profiles/home-manager" ]; then \
nix-env --profile "$$HOME/.local/state/nix/profiles/home-manager" --delete-generations +3 --dry-run; \
elif [ -d "$$HOME/.nix-profile" ]; then \
echo "No Home Manager directory found, but user profile exists."; \
else \
echo "No Home Manager profile detected."; \
fi
# Clean system generations (requires sudo)
clean-system:
@echo "--- Cleaning System Profile (SUDO) ---"
sudo nix-env --profile /nix/var/nix/profiles/system --delete-generations +3
sudo nix-collect-garbage
@echo "--- Updating Bootloader Menu ---"
sudo nixos-rebuild boot --flake
# Clean user generations (no sudo)
clean-user:
@echo "--- Cleaning User Profile ---"
nix-env --delete-generations +3
nix-collect-garbage
# Clean Home Manager generations (no sudo)
clean-home-manager:
@echo "--- Cleaning Home Manager Profile ---"
@if [ -d "$$HOME/.local/state/nix/profiles/home-manager" ]; then \
nix-env --profile "$$HOME/.local/state/nix/profiles/home-manager" --delete-generations +3; \
nix-collect-garbage; \
else \
echo "No Home Manager profile found. Skipping."; \
fi
# Clean everything in one go
clean-all: clean-system clean-user clean-home-manager
@echo "All cleanups successfully completed!"
# Rebuild
rebuild:
@echo "--- Rebuilding System ---"
sudo nixos-rebuild switch --flake
# Update flake
update:
@echo "--- Updating Flake ---"
sudo nix flake update
Binary file not shown.

After

Width:  |  Height:  |  Size: 978 KiB

-65
View File
@@ -1,65 +0,0 @@
{
"nodes": {
"devenv": {
"locked": {
"dir": "src/modules",
"lastModified": 1788547743,
"narHash": "sha256-IppAkVcpH55MHAljWOthUEF/crrX3Rs8ZBSzuGes3gA=",
"owner": "cachix",
"repo": "devenv",
"rev": "77f76dbb618d6c91d7dbba369da1483228f3fd6f",
"type": "github"
},
"original": {
"dir": "src/modules",
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"nixpkgs": {
"inputs": {
"nixpkgs-src": "nixpkgs-src"
},
"locked": {
"lastModified": 1787753358,
"narHash": "sha256-Tl77VbWyAKrOfRNQhL6JbQtb/MLzbYa/1RG1gWWfICk=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "256551e45f6303e142ab4a98be1bf243feb77dc0",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"nixpkgs-src": {
"flake": false,
"locked": {
"lastModified": 1787394516,
"narHash": "sha256-pRGOQSClnXNI2iLUG6DYpsGvYcuw0drOutVZFTJNw90=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c8f90650c15282fa8656a041bfbbd2403997a9a7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"devenv": "devenv",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}
-46
View File
@@ -1,46 +0,0 @@
{ pkgs, lib, config, inputs, ... }:
{
# https://devenv.sh/basics/
env.GREET = "devenv";
# https://devenv.sh/packages/
packages = [ pkgs.git ];
# https://devenv.sh/languages/
# languages.rust.enable = true;
# https://devenv.sh/processes/
# processes.dev.exec = "${lib.getExe pkgs.watchexec} -n -- ls -la";
# https://devenv.sh/services/
# services.postgres.enable = true;
# https://devenv.sh/scripts/
scripts.hello.exec = ''
echo hello from $GREET
'';
# https://devenv.sh/basics/
enterShell = ''
hello # Run scripts directly
git --version # Use packages
'';
# https://devenv.sh/tasks/
# tasks = {
# "myproj:setup".exec = "mytool build";
# "devenv:enterShell".after = [ "myproj:setup" ];
# };
# https://devenv.sh/tests/
enterTest = ''
echo "Running tests"
git --version | grep --color=auto "${pkgs.git.version}"
'';
# https://devenv.sh/git-hooks/
# git-hooks.hooks.shellcheck.enable = true;
# See full reference at https://devenv.sh/reference/options/
}
-18
View File
@@ -1,18 +0,0 @@
# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
inputs:
nixpkgs:
url: github:cachix/devenv-nixpkgs/rolling
# If you're using non-OSS software, you can set allow_unfree to true.
# allow_unfree: true
# If you're not willing to allow unsupported packages:
# allow_unsupported_system: false
# If you're willing to use a package that's vulnerable
# permitted_insecure_packages:
# - "openssl-1.1.1w"
# If you have more than one devenv you can merge them
#imports:
# - ./backend
Generated
+13 -13
View File
@@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1789273010,
"narHash": "sha256-E7dWx+utzZPpqQsBUd5sMimKTWMEEbTKFD+ya99Shps=",
"lastModified": 1790928438,
"narHash": "sha256-ZuJbu8VQe/Qzy7GJdZ3Xv7adRllH1o4O7nqONtkhFbA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "fdc36b12804b0179b24a5ffd282e4c95c37072e2",
"rev": "833540099ef43cbeb28b1e3f3c21901961edb48e",
"type": "github"
},
"original": {
@@ -22,11 +22,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1789149629,
"narHash": "sha256-eQUZVehWLDBbpBR2rq6DnuRee1ULT6Y675RhsYDSjYI=",
"rev": "eaad089433ca2bb662274377d33df3d0e51ef28b",
"lastModified": 1790822859,
"narHash": "sha256-VBA0QerzzmL+4wxgtwiCdiLwLpJg2/9xOxhgO3BRJQA=",
"rev": "c59305bab2065cfecc4944690d9eedbb56f3a9fa",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1072397.eaad089433ca/nixexprs.tar.xz"
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1083223.c59305bab206/nixexprs.tar.zst"
},
"original": {
"id": "nixpkgs",
@@ -71,11 +71,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1788991189,
"narHash": "sha256-0TxfMgqW0/BLD4M942c5DCKYrtPvzsPJwvdcco4LQUM=",
"lastModified": 1790770493,
"narHash": "sha256-sNWVkfOVelr60lWHvEgCWx7Mr/2PcoAN8oOrOk7Yp/g=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "add2795134593faafce60e404a0a75df68e9ee0c",
"rev": "b5690b56d749526a05db9b9268d58bf8f700957f",
"type": "github"
},
"original": {
@@ -94,11 +94,11 @@
]
},
"locked": {
"lastModified": 1789239533,
"narHash": "sha256-x6LDRbyl+trEnwrFth2SAdDf8x4SM7DWcjmR2JUxtAg=",
"lastModified": 1790940304,
"narHash": "sha256-i1W4IdG9PVdSRN1rvTHaqiVqvnRS3+OXgaQa7z5iRDc=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "b66d03970382d5185e040110b24ecb7a39df0e80",
"rev": "b12abb753335dd3b9ba5ea90d3be799bd9b2dc29",
"type": "github"
},
"original": {
+10
View File
@@ -15,4 +15,14 @@
recursive = true;
source = ./fuzzel;
};
# Shared with SDDM (nixos/dm/sddm.nix); niri loads it from this path.
home.file."Pictures/Wallpapers/wallpaper.png" = {
force = true;
source = ../../assets/wallpaper.png;
};
xdg.configFile."helix" = {
force = true;
recursive = true;
source = ./helix;
};
}
+19
View File
@@ -0,0 +1,19 @@
theme = "kanagawa-dragon-transparent"
[editor]
line-number = "relative"
cursorline = true
color-modes = true
bufferline = "multiple"
true-color = true
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"
[editor.indent-guides]
render = true
[editor.lsp]
display-inlay-hints = true
@@ -0,0 +1,3 @@
inherits = "kanagawa-dragon"
"ui.background" = { fg = "dragonWhite" }
+1 -1
View File
@@ -1,2 +1,2 @@
spawn-at-startup "awww-daemon"
spawn-at-startup "awww img ~/Pictures/Wallpapers/Wallpaper.png --resize crop --crop-gravity center"
spawn-at-startup "awww img ~/Pictures/Wallpapers/wallpaper.png --resize crop --crop-gravity center"
-1
View File
@@ -20,7 +20,6 @@
fuzzel
gparted
pavucontrol
vesktop
wev
wl-clip-persist
yazi
+3 -1
View File
@@ -2,15 +2,17 @@
{
programs.zed-editor = {
enable = true;
defaultEditor = true;
defaultEditor = false;
};
home.packages = with pkgs; [
devenv
github-copilot-app
github-copilot-cli
nil
nixd
jujutsu
just
helix
];
}
+3 -1
View File
@@ -4,9 +4,11 @@
awakened-poe-trade
lutris
rusty-path-of-building
protonup-rs
protonup-qt
protontricks
winetricks
mangohud
steamtinkerlaunch
gamma-launcher
];
}
+1
View File
@@ -3,6 +3,7 @@
home.packages = with pkgs; [
wootility
wooting-udev-rules
helvum
];
services.udiskie = {
+26 -1
View File
@@ -1,9 +1,34 @@
{ inputs, ... }:
{ pkgs, inputs, ... }:
let
# Track latest upstream Equicord release (nixpkgs lags behind).
equicord = pkgs.equicord.overrideAttrs (finalAttrs: prev: {
version = "2026-10-01";
src = pkgs.fetchFromGitHub {
owner = "Equicord";
repo = "Equicord";
tag = finalAttrs.version;
hash = "sha256-hk2/djNmbwIBwVAJ1bj3ayurj85EPfMUgmAr1SpYlvw=";
};
pnpmDeps = prev.pnpmDeps.overrideAttrs {
inherit (finalAttrs) src;
outputHash = "sha256-rx8z6PAlAPaZbkmg+3Vvq8OXR/yy5ZP0PmAk97ZDOSQ=";
};
});
in
{
imports = [
inputs.zen-browser.homeModules.twilight
];
home.packages = with pkgs; [
(discord.override {
withEquicord = true;
withOpenASAR = true;
inherit equicord;
})
chromium
];
programs.zen-browser = {
enable = true;
setAsDefaultBrowser = true;
+2 -2
View File
@@ -54,8 +54,8 @@ clean-home-manager:
clean-all: clean-system clean-user clean-home-manager
@echo "All cleanups successfully completed!"
# Rebuild.
rebuild:
# Build.
build:
@echo "--- Rebuilding System ---"
sudo nixos-rebuild switch --flake
+1 -1
View File
@@ -12,7 +12,7 @@
./network/bluetooth.nix
./network/usb.nix
./steam/steam.nix
./steam/programs.nix
./programs/obs.nix
];
boot.loader.systemd-boot.enable = true;
+62 -2
View File
@@ -1,7 +1,67 @@
{ ... }:
{ pkgs, lib, config, ... }:
let
# Same wallpaper niri displays (see home/config/default.nix).
wallpaper = ../../assets/wallpaper.png;
sddmTheme =
(pkgs.sddm-astronaut.override {
themeConfig = {
Background = "Backgrounds/wallpaper.png";
CropBackground = "true";
};
}).overrideAttrs
(old: {
postInstall = (old.postInstall or "") + ''
chmod u+w $out/share/sddm/themes/sddm-astronaut-theme/Backgrounds
install -Dm644 ${wallpaper} $out/share/sddm/themes/sddm-astronaut-theme/Backgrounds/wallpaper.png
'';
});
# Weston (the greeter compositor) must use the same modes as niri
# (home/config/niri/outputs.kdl), otherwise the monitors do a full
# modeset when niri takes over, causing a black screen on login.
xkb = config.services.xserver.xkb;
westonIni = (pkgs.formats.iniWithGlobalSection { }).generate "weston.ini" {
sections = {
libinput = {
enable-tap = config.services.libinput.mouse.tapping;
left-handed = config.services.libinput.mouse.leftHanded;
};
keyboard = {
keymap_model = xkb.model;
keymap_layout = xkb.layout;
keymap_variant = xkb.variant;
keymap_options = xkb.options;
};
};
};
westonOutputs = pkgs.writeText "weston-outputs.ini" ''
[output]
name=DP-2
mode=2560x1440@240
[output]
name=DP-3
mode=1920x1080@144
transform=rotate-90
'';
westonConfig = pkgs.runCommand "weston.ini" { } ''
cat ${westonIni} > $out
echo >> $out
cat ${westonOutputs} >> $out
'';
in
{
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
wayland = {
enable = true;
compositorCommand = "${lib.getExe pkgs.weston} --shell=kiosk -c ${westonConfig}";
};
package = pkgs.kdePackages.sddm;
theme = "sddm-astronaut-theme";
extraPackages = [ sddmTheme ];
};
environment.systemPackages = [ sddmTheme ];
}
+1
View File
@@ -11,6 +11,7 @@
};
environment.systemPackages = with pkgs; [
egl-wayland
libva-utils
nvidia-vaapi-driver
nvtopPackages.nvidia
+1
View File
@@ -10,6 +10,7 @@
enableVirtualCamera = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-pipewire-audio-capture
];
};