cleanups and move steamdeck to desktop module

This commit is contained in:
2026-04-25 17:09:23 +02:00
parent c8806e3676
commit f7035e0daf
20 changed files with 49 additions and 930 deletions

View File

@@ -29,7 +29,7 @@
# myDesktop.extraSystemPackages = with pkgs; [ some-tool ];
#
{ config, lib, pkgs, pkgs-stable, inputs, user, ... }:
{ config, lib, pkgs, inputs, user, ... }:
let
cfg = config.myDesktop;
@@ -156,8 +156,8 @@ in
sbctl
ausweisapp
e2fsprogs
]
++ (with pkgs-stable; [ orca-slicer ])
orca-slicer
]
++ cfg.extraSystemPackages;
nixpkgs.config.permittedInsecurePackages = [ "mbedtls-2.28.10" ];

View File

@@ -1,28 +0,0 @@
#
# Terminal Emulator
#
# Hardcoded as terminal for rofi and doom emacs
{ pkgs, ... }:
{
home.packages = [ pkgs.alacritty ];
programs = {
alacritty = {
enable = true;
#settings = {
# env.term = "screen-256color";
# font = rec { # Font - Laptop has size manually changed at home.nix
# #normal.family = "FiraCode Nerd Font";
# normal.family = "Cascadia Code";
# #normal.family = "Intel One Mono";
# #bold = { style = "Bold"; };
# # size = 8;
# };
#};
};
};
}

View File

@@ -1,21 +1,3 @@
#
# Apps
#
# flake.nix
# ├─ ./hosts
# │ └─ home.nix
# └─ ./modules
# └─ ./apps
# └─ default.nix *
# └─ ...
#
[
# ./alacritty.nix
# ./rofi.nix
./firefox.nix
#./waybar.nix
#./games.nix
./firefox.nix
]
# Waybar.nix is pulled from modules/wm/..
# Games.nix is pulled from desktop/default.nix

View File

@@ -1,119 +0,0 @@
#
# System Menu
#
{ config, lib, pkgs, ... }:
let
inherit (config.lib.formats.rasi) mkLiteral; # Theme.rasi alternative. Add Theme here
colors = import ../themes/colors.nix;
in
{
programs = {
rofi = {
enable = true;
terminal = "${pkgs.alacritty}/bin/alacritty"; # Alacritty is default terminal emulator
location = "center";
theme = with colors.scheme.doom; {
"*" = {
bg0 = mkLiteral "#${bg}";
bg1 = mkLiteral "#414868";
fg0 = mkLiteral "#${text}";
fg1 = mkLiteral "#${text-alt}";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@fg0";
margin = 0;
padding = 0;
spacing = 0;
};
"element-icon, element-text, scrollbar" = {
cursor = mkLiteral "pointer";
};
"window" = {
location = mkLiteral "northwest";
width = mkLiteral "280px";
x-offset = mkLiteral "8px";
y-offset = mkLiteral "24px";
background-color = mkLiteral "@bg0";
border = mkLiteral "1px";
border-color = mkLiteral "@bg1";
border-radius = mkLiteral "6px";
};
"inputbar" = {
spacing = mkLiteral "8px";
padding = mkLiteral "4px 8px";
children = mkLiteral "[ icon-search, entry ]";
#background-color = mkLiteral "@bg0";
background-color = mkLiteral "@bg0";
};
"icon-search, entry, element-icon, element-text" = {
vertical-align = mkLiteral "0.5";
};
"icon-search" = {
expand = false;
filename = mkLiteral "[ search-symbolic ]";
size = mkLiteral "14px";
};
"textbox" = {
padding = mkLiteral "4px 8px";
background-color = mkLiteral "@bg0";
};
"listview" = {
padding = mkLiteral "4px 0px";
lines = 12;
columns = 1;
scrollbar = true;
fixed-height = false;
dynamic = true;
};
"element" = {
padding = mkLiteral "4px 8px";
spacing = mkLiteral "8px";
};
"element normal urgent" = {
text-color = mkLiteral "@fg1";
};
"element normal active" = {
text-color = mkLiteral "@fg1";
};
"element selected" = {
text-color = mkLiteral "@bg0"; #1
background-color = mkLiteral "@fg1";
};
"element selected urgent" = {
background-color = mkLiteral "@fg1";
};
"element-icon" = {
size = mkLiteral "0.8em";
};
"element-text" = {
text-color = mkLiteral "inherit";
};
"scrollbar" = {
handle-width = mkLiteral "4px";
handle-color = mkLiteral "@fg1";
padding = mkLiteral "0 4px";
};
};
};
};
}

View File

@@ -1,26 +1,3 @@
#
# Services
#
# flake.nix
# ├─ ./hosts
# │ └─ home.nix
# └─ ./modules
# └─ ./services
# └─ default.nix *
# └─ ...
#
[
#./dunst.nix
#./flameshot.nix
#./picom.nix
#./polybar.nix
#./sxhkd.nix
#./udiskie.nix
#./redshift.nix
#./kanshi.nix
./keyring.nix
]
# picom, polybar and sxhkd are pulled from desktop module
# redshift temporarely disables

View File

@@ -1,76 +0,0 @@
#
# System notifications
#
{ config, lib, pkgs, ... }:
let
colors = import ../themes/colors.nix; # Import colors theme
dunst-volume-notification = pkgs.writeShellScriptBin "volume-notify" ''
if [ "$(pulsemixer --get-mute)" = "0" ]; then dunstify -u low -r 1 " 🔊 $(pulsemixer --get-volume | awk '{print $1}')%"
else dunstify -u low -r 1 "🔈 Muted"; fi
'';
dunst-brightness-notification = pkgs.writeShellScriptBin "brightness-notify" ''
dunstify -u low -r 1 " $(light -G)%"
'';
in
{
cmds.notifications.volume = "volume-notify";
cmds.notifications.brightness = "brightness-notify";
home.packages = [
dunst-volume-notification
dunst-brightness-notification
pkgs.libnotify
];
services.dunst = {
enable = true;
settings = {
global = {
monitor = 0;
follow = "keyboard";
indicate_hidden = "yes";
shrink = true;
transparency = 0;
origin = "top-center";
offset = "0x20";
seperator_height = 0;
padding = 12;
horizontal_padding = 20;
frame_width = 4;
seperator_color = "auto";
font = "${config.theme.font}";
markup = "full";
format = "<span foreground='#b3cfa7'><b>%s</b>%p</span>\n%b";
alignment = "center";
show_age_threshold = 60;
word_wrap = "yes";
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
hide_duplicate_count = true;
show_indicators = "yes";
icon_position = "off";
sticky_history = "yes";
history_length = 20;
always_run_script = true;
browser = "/usr/bin/xdg-open";
corner_radius = 12;
force_xinerama = false;
mouse_left_click = "close_current";
mouse_middle_click = "do_action";
mouse_right_click = "close_all";
progress_bar_min_width = "200";
enable_recursive_icon_lookup = true;
};
urgency_low.timeout = 4;
urgency_normal.timeout = 8;
urgency_critical.timeout = 0;
};
};
xdg.dataFile."dbus-1/services/org.knopwob.dunst.service".source = "${pkgs.dunst}/share/dbus-1/services/org.knopwob.dunst.service";
}

View File

@@ -1,22 +0,0 @@
#
# Screenshots
#
{ pkgs, user, ... }:
{
services = { # sxhkd shortcut = Printscreen button (Print)
flameshot = {
enable = true;
settings = {
General = { # Settings
savePath = "/home/${user}/";
saveAsFileExtension = ".png";
uiColor = "#2d0096";
showHelp = "false";
disabledTrayIcon = "true"; # Hide from systray
};
};
};
};
}

View File

@@ -1,40 +0,0 @@
#
# System notifications
#
{ config, lib, pkgs, ... }:
{
services.kanshi = {
enable = true;
settings = [
{
profile = {
name = "undocked";
outputs = [
{ criteria = "eDP-1"; status = "enable"; mode = "1920x1080"; position = "0,0"; }
];
};
}
{
profile = {
name = "docked_c";
outputs = [
{ criteria = "eDP-1"; status = "enable"; mode = "1920x1080"; position = "0,0"; scale = 1.5; }
{ criteria = "DP-1"; status = "enable"; mode = "2560x1080"; position = "1920,0"; }
];
};
}
{
profile = {
name = "docked_triple";
outputs = [
{ criteria = "eDP-1"; status = "disable"; mode = "1920x1080"; position = "4480,0"; }
{ criteria = "HDMI-A-1"; status = "enable"; mode = "1920x1080"; position = "0,0"; }
{ criteria = "DP-1"; status = "enable"; mode = "2560x1080"; position = "1920,0"; }
];
};
}
];
};
}

View File

@@ -1,18 +1,15 @@
{ config, pkgs, pkgs-unstable, ... }:
{ config, pkgs, ... }:
{
services.mealie = {
enable = true;
#package = pkgs-unstable.mealie;
listenAddress = "127.0.0.1";
credentialsFile = config.age.secrets."services/mealie/credentialsFile".path;
settings = {
ALLOW_SIGNUP = "false";
DB_ENGINE = "postgres";
TZ = "Europe/Berlin";
PGID = "911";
PUID = "911";
DB_ENGINE = "postgres";
TZ = "Europe/Berlin";
};
};
@@ -27,21 +24,6 @@
};
};
users = {
users = {
mealie = {
uid = 911;
group = "mealie";
isSystemUser = true;
};
};
groups = {
mealie = {
gid = 911;
};
};
};
age.secrets."services/mealie/credentialsFile" = {
file = ../../../secrets/services/mealie/credentialsFile.age;
owner = "mealie";

View File

@@ -1,15 +0,0 @@
#
# Mounting tool
#
{ config, lib, pkgs, ... }:
{
services = {
udiskie = { # Udiskie wil automatically mount storage devices
enable = true;
automount = true;
tray = "auto"; # Will only show up in systray when active
};
};
}

View File

@@ -1,48 +0,0 @@
#
# System themes
#
{
scheme = {
doom = {
scheme = "Doom One Dark";
black = "000000";
red = "ff6c6b";
orange = "da8548";
yellow = "ecbe7b";
green = "95be65";
teal = "4db5bd";
blue = "6eaafb";
dark-blue = "2257a0";
magenta = "c678dd";
violet = "a9a1e1";
cyan = "6cdcf7";
dark-cyan = "5699af";
emphasis = "50536b";
text = "dfdfdf";
text-alt = "b2b2b2";
fg = "abb2bf";
bg = "282c34";
};
dracula = {
scheme = "Dracula";
base00 = "282936"; #background
base01 = "3a3c4e";
base02 = "4d4f68";
base03 = "626483";
base04 = "62d6e8";
base05 = "e9e9f4"; #foreground
base06 = "f1f2f8";
base07 = "f7f7fb";
base08 = "ea51b2";
base09 = "b45bcf";
base0A = "00f769";
base0B = "ebff87";
base0C = "a1efe4";
base0D = "62d6e8";
base0E = "b45bcf";
base0F = "00f769";
};
};
}

View File

@@ -1,48 +0,0 @@
#
# System themes
#
{
scheme = {
doom = {
scheme = "Doom One Dark";
black = "000000";
red = "ff6c6b";
orange = "da8548";
yellow = "ecbe7b";
green = "95be65";
teal = "4db5bd";
blue = "6eaafb";
dark-blue = "2257a0";
magenta = "c678dd";
violet = "a9a1e1";
cyan = "6cdcf7";
dark-cyan = "5699af";
emphasis = "50536b";
text = "dfdfdf";
text-alt = "b2b2b2";
fg = "abb2bf";
bg = "282c34";
};
dracula = {
scheme = "Dracula";
base00 = "282936"; #background
base01 = "3a3c4e";
base02 = "4d4f68";
base03 = "626483";
base04 = "62d6e8";
base05 = "e9e9f4"; #foreground
base06 = "f1f2f8";
base07 = "f7f7fb";
base08 = "ea51b2";
base09 = "b45bcf";
base0A = "00f769";
base0B = "ebff87";
base0C = "a1efe4";
base0D = "62d6e8";
base0E = "b45bcf";
base0F = "00f769";
};
};
}

View File

@@ -1,57 +0,0 @@
#
# Gnome configuration
#
# flake.nix
# ├─ ./hosts
# │ └─ ./laptop
# │ └─ default.nix
# └─ ./modules
# └─ ./desktop
# └─ ./gnome
# └─ default.nix *
#
{ config, lib, user, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# rocmPackages.clr.icd
# rocmPackages.clr
# clinfo
kdePackages.discover
maliit-keyboard
maliit-framework
kdePackages.ksshaskpass
];
programs = {
ssh.enableAskPassword = true;
ssh.askPassword = lib.mkDefault "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass";
};
services = {
packagekit.enable = true;
desktopManager.plasma6.enable = true;
# xserver = {
# enable = true;
# desktopManager.plasma5.enable = true;
# displayManager = {
# gdm.wayland = true;
# gdm.enable = true;
# gdm.autoLogin.delay = 5;
# gdm.settings = {
# security = {
# DisallowTCP=true;
# };
# };
# defaultSession = "steam-wayland";
# autoLogin.enable = true;
# autoLogin.user = "kabbone";
# };
# };
#flatpak.enable = true;
udev.packages = with pkgs; [ gnome-settings-daemon ];
};
qt.platformTheme = "kde";
}

View File

@@ -1,67 +0,0 @@
#
# Sway configuration
#
# flake.nix
# ├─ ./hosts
# │ └─ ./laptop
# │ └─ default.nix
# └─ ./modules
# └─ ./desktop
# └─ ./hyprland
# └─ hyprland.nix *
#
{ config, inputs, lib, user, pkgs, ... }:
{
imports = [ ../noctalia.nix ];
environment = {
systemPackages = with pkgs; [
alacritty
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
swaylock
swayidle
slurp
grim
lxqt.lxqt-openssh-askpass
clinfo
glib
brightnessctl
playerctl
xwayland-satellite
breeze-hacked-cursor-theme
];
loginShellInit = ''
export GTK_IM_MODULE="simple"
export ELECTRON_OZONE_PLATFORM_HINT="auto"
export NIXOS_OZONE_WL="1"
export WLR_RENDERER="vulkan"
export _JAVA_AWT_WM_NONREPARENTING="1"
'';
};
services = {
iio-niri = {
enable = false;
};
greetd = {
enable = true;
useTextGreeter = true;
settings = {
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
};
};
};
};
programs = {
niri.enable = true;
ssh.enableAskPassword = true;
ssh.askPassword = "${pkgs.lxqt.lxqt-openssh-askpass}/bin/lxqt-openssh-askpass";
};
security.pam.services.swaylock = {};
}

View File

@@ -1,189 +0,0 @@
#
# Bar
#
{ config, pkgs, inputs, user, ...}:
{
# install package
environment.systemPackages = with pkgs; [
pwvucontrol
# ... maybe other stuff
];
services = {
tuned.enable = true;
upower.enable = true;
};
home-manager.users.${user} = { # Home-manager waybar config
# import the home manager module
imports = [
inputs.noctalia.homeModules.default
];
services = {
mako.enable = true; # notification daemon
polkit-gnome.enable = true; # polkit
};
# configure options
programs = {
fuzzel = {
enable = true; # Super+D in the default setting (app launcher)
};
noctalia-shell = {
enable = true;
# enable the systemd service
systemd.enable = true;
settings = {
# configure noctalia here
appLauncher = {
terminalCommand = "alacritty -e";
};
bar = {
density = "compact";
position = "top";
showCapsule = false;
widgets = {
left = [
{
id = "ControlCenter";
useDistroLogo = true;
}
{
hideUnoccupied = false;
id = "Workspace";
labelMode = "index";
showApplications = true;
}
{
id = "ActiveWindow";
}
];
center = [
{
formatHorizontal = "HH:mm\\ndd-MM-yy";
formatVertical = "HH mm";
id = "Clock";
useMonospacedFont = true;
usePrimaryColor = true;
}
];
right = [
{
id = "MediaMini";
}
{
id = "SystemMonitor";
showNetworkStats = true;
compactMode = false;
}
{
id = "WiFi";
}
{
id = "Bluetooth";
}
{
id = "Battery";
displayMode = "icon-always";
hideIfNotDetected = true;
}
{
id = "Volume";
displayMode = "alwaysShow";
}
{
id = "NotificationHistory";
hideWhenZero = true;
}
{
id = "Tray";
}
];
};
};
colorSchemes.predefinedScheme = "Catppuccin";
general = {
avatarImage = "/home/kabbone/.face";
radiusRatio = 0.2;
lockOnSusepnd = true;
};
location = {
monthBeforeDay = true;
name = "Munich, Germany";
showWeekNumberInCalendar = true;
firstDayOfWeek = 0;
};
wallpaper = {
enabled = true;
overviewEnabled = false;
directory = "/home/${user}/.setup/modules/themes/";
};
brightness = {
enforceMinimum = true;
brightnessStep = 5;
};
controlCenter = {
shortcuts = {
left = [
{
id = "WiFi";
}
{
id = "Bluetooth";
}
{
id = "ScreenRecorder";
}
{
id = "PowerProfile";
}
{
id = "KeepAwake";
}
];
};
};
dock = {
enabled = false;
};
sessionMenu = {
enableCountdown = false;
};
templates = {
fuzzel = true;
alacritty = true;
qt = true;
gtk = true;
discord = true;
code = true;
telegram = true;
niri = true;
firefox = true;
};
};
};
};
home.file.".cache/noctalia/wallpapers.json" = {
text = builtins.toJSON {
defaultWallpaper = "/home/${user}/.setup/modules/themes/wall.jpg";
};
};
};
}