cleanups and move steamdeck to desktop module
This commit is contained in:
@@ -106,7 +106,6 @@
|
|||||||
|
|
||||||
security = {
|
security = {
|
||||||
sudo.execWheelOnly = true;
|
sudo.execWheelOnly = true;
|
||||||
rtkit.enable = true;
|
|
||||||
pki.certificateFiles = [
|
pki.certificateFiles = [
|
||||||
./rootCA.pem
|
./rootCA.pem
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
#
|
|
||||||
# Desktop/laptop configuration. Imports configuration_common.nix for shared settings.
|
|
||||||
# Host-specific window manager and hardware configs are imported per-host.
|
|
||||||
#
|
|
||||||
|
|
||||||
{ config, lib, pkgs, inputs, user, location, agenix, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./configuration_common.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.${user} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
uid = 2000;
|
|
||||||
extraGroups = [ "wheel" "video" "audio" "camera" "networkmanager" "lp" "kvm" "libvirtd" "adb" "dialout" "tss" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
security.pam.services.login.enableGnomeKeyring = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
file
|
|
||||||
powertop
|
|
||||||
cpufrequtils
|
|
||||||
lm_sensors
|
|
||||||
libva-utils
|
|
||||||
at-spi2-core
|
|
||||||
qmk-udev-rules
|
|
||||||
gptfdisk
|
|
||||||
age-plugin-yubikey
|
|
||||||
pwgen
|
|
||||||
sbctl
|
|
||||||
ausweisapp
|
|
||||||
e2fsprogs
|
|
||||||
orca-slicer
|
|
||||||
]);
|
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"mbedtls-2.28.10"
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
wireplumber.enable = true;
|
|
||||||
};
|
|
||||||
pcscd.enable = true;
|
|
||||||
yubikey-agent.enable = true;
|
|
||||||
udev.packages = [ pkgs.yubikey-personalization pkgs.nitrokey-udev-rules ];
|
|
||||||
flatpak.enable = true;
|
|
||||||
gvfs.enable = true;
|
|
||||||
fwupd.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
|
|
||||||
system.autoUpgrade.enable = false;
|
|
||||||
}
|
|
||||||
@@ -86,13 +86,13 @@ in
|
|||||||
|
|
||||||
steamdeck = nixpkgs-unstable.lib.nixosSystem { # steamdeck profile
|
steamdeck = nixpkgs-unstable.lib.nixosSystem { # steamdeck profile
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit inputs pkgs user location nixos-hardware agenix jovian-nixos lanzaboote; };
|
specialArgs = { inherit inputs user location nixos-hardware agenix jovian-nixos lanzaboote; };
|
||||||
modules = [
|
modules = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
jovian-nixos.nixosModules.default
|
jovian-nixos.nixosModules.default
|
||||||
lanzaboote.nixosModules.lanzaboote
|
lanzaboote.nixosModules.lanzaboote
|
||||||
./steamdeck
|
./steamdeck
|
||||||
./configuration_desktop.nix
|
./configuration_common.nix
|
||||||
] ++ (mkHM home-manager-unstable [ ./home.nix ./steamdeck/home.nix ]);
|
] ++ (mkHM home-manager-unstable [ ./home.nix ./steamdeck/home.nix ]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,80 +1,50 @@
|
|||||||
#
|
#
|
||||||
# Specific system configuration settings for desktop
|
# Steamdeck — system configuration
|
||||||
#
|
|
||||||
# flake.nix
|
|
||||||
# ├─ ./hosts
|
|
||||||
# │ └─ ./laptop
|
|
||||||
# │ ├─ default.nix *
|
|
||||||
# │ └─ hardware-configuration.nix
|
|
||||||
# └─ ./modules
|
|
||||||
# ├─ ./desktop
|
|
||||||
# │ └─ ./hyprland
|
|
||||||
# │ └─ hyprland.nix
|
|
||||||
# ├─ ./modules
|
|
||||||
# │ └─ ./programs
|
|
||||||
# │ └─ waybar.nix
|
|
||||||
# └─ ./hardware
|
|
||||||
# └─ default.nix
|
|
||||||
#
|
#
|
||||||
|
|
||||||
{ config, pkgs, user, jovian-nixos, lib, ... }:
|
{ lib, pkgs, user, jovian-nixos, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../modules/desktop
|
||||||
|
../../modules/wm/steam
|
||||||
|
];
|
||||||
|
|
||||||
|
# ── Desktop module options ──────────────────────────────────────────────
|
||||||
|
myDesktop.windowManager = "kde";
|
||||||
|
myDesktop.cpu = "amd";
|
||||||
|
myDesktop.virtualisation.enable = true;
|
||||||
|
myDesktop.nitrokey.enable = true;
|
||||||
|
|
||||||
specialisation = {
|
specialisation = {
|
||||||
sway.configuration = {
|
sway.configuration = {
|
||||||
imports =
|
imports = [ (import ../../modules/wm/sway) ];
|
||||||
[(import ../../modules/wm/sway)];
|
|
||||||
|
|
||||||
jovian.steam.enable = lib.mkForce false;
|
jovian.steam.enable = lib.mkForce false;
|
||||||
services.desktopManager.plasma6.enable = lib.mkForce false;
|
services.desktopManager.plasma6.enable = lib.mkForce false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = # For now, if applying to other system, swap files
|
# ── Host-specific settings ──────────────────────────────────────────────
|
||||||
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
boot = {
|
||||||
(import ../../modules/wm/virtualisation) ++ # libvirt + Docker
|
loader = {
|
||||||
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
|
|
||||||
[(import ../../modules/wm/steam)] ++
|
|
||||||
[(import ../../modules/wm/kde)] ++
|
|
||||||
(import ../../modules/hardware); # Hardware devices
|
|
||||||
|
|
||||||
boot = { # Boot options
|
|
||||||
loader = { # EFI Boot
|
|
||||||
systemd-boot.enable = lib.mkForce false;
|
systemd-boot.enable = lib.mkForce false;
|
||||||
efi = {
|
efi.canTouchEfiVariables = true;
|
||||||
canTouchEfiVariables = true;
|
efi.efiSysMountPoint = "/boot";
|
||||||
efiSysMountPoint = "/boot";
|
timeout = 1;
|
||||||
};
|
};
|
||||||
timeout = 1; # Grub auto select time
|
|
||||||
};
|
|
||||||
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pkiBundle = "/etc/secureboot";
|
pkiBundle = "/etc/secureboot";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
services.printing = {
|
||||||
nitrokey.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
# blueman.enable = true;
|
|
||||||
printing = { # Printing and drivers for TS5300
|
|
||||||
enable = true;
|
enable = true;
|
||||||
drivers = [ pkgs.gutenprint ];
|
drivers = [ pkgs.gutenprint ];
|
||||||
};
|
};
|
||||||
avahi = { # Needed to find wireless printer
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
publish = { # Needed for detecting the scanner
|
|
||||||
enable = true;
|
|
||||||
addresses = true;
|
|
||||||
userServices = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
tailscale.enable = true;
|
|
||||||
|
|
||||||
};
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
security.pam.sshAgentAuth.enable = true;
|
security.pam.sshAgentAuth.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Home-manager configuration for laptop
|
# Home-manager configuration for steamdeck
|
||||||
#
|
|
||||||
# flake.nix
|
|
||||||
# ├─ ./hosts
|
|
||||||
# │ └─ ./laptop
|
|
||||||
# │ └─ home.nix *
|
|
||||||
# └─ ./modules
|
|
||||||
# └─ ./desktop
|
|
||||||
# └─ ./hyprland
|
|
||||||
# └─ hyprland.nix
|
|
||||||
#
|
#
|
||||||
|
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
@@ -16,37 +7,24 @@
|
|||||||
{
|
{
|
||||||
specialisation = {
|
specialisation = {
|
||||||
sway.configuration = {
|
sway.configuration = {
|
||||||
imports =
|
imports = [ (import ../../modules/wm/sway/home.nix) ];
|
||||||
[(import ../../modules/wm/sway/home.nix)];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
imports =
|
imports =
|
||||||
[(import ../../modules/home.nix)] ++ # Window Manager
|
[ (import ../../modules/home.nix) ] ++
|
||||||
[(import ../../modules/wm/steam/home.nix)] ++
|
[ (import ../../modules/wm/steam/home.nix) ];
|
||||||
[(import ../../modules/wm/kde/home.nix)];
|
|
||||||
|
|
||||||
home = { # Specific packages for laptop
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# Applications
|
libreoffice
|
||||||
libreoffice # Office packages
|
|
||||||
#firefox
|
|
||||||
chromium
|
chromium
|
||||||
thunderbird
|
thunderbird
|
||||||
streamlink
|
streamlink
|
||||||
streamlink-twitch-gui-bin
|
streamlink-twitch-gui-bin
|
||||||
pulsemixer
|
pulsemixer
|
||||||
#yuzu-early-access
|
|
||||||
|
|
||||||
# Power Management
|
|
||||||
#auto-cpufreq # Power management
|
|
||||||
#tlp # Power management
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services = { # Applets
|
|
||||||
};
|
|
||||||
|
|
||||||
xsession.preferStatusNotifierItems = true;
|
xsession.preferStatusNotifierItems = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
# myDesktop.extraSystemPackages = with pkgs; [ some-tool ];
|
# myDesktop.extraSystemPackages = with pkgs; [ some-tool ];
|
||||||
#
|
#
|
||||||
|
|
||||||
{ config, lib, pkgs, pkgs-stable, inputs, user, ... }:
|
{ config, lib, pkgs, inputs, user, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.myDesktop;
|
cfg = config.myDesktop;
|
||||||
@@ -156,8 +156,8 @@ in
|
|||||||
sbctl
|
sbctl
|
||||||
ausweisapp
|
ausweisapp
|
||||||
e2fsprogs
|
e2fsprogs
|
||||||
|
orca-slicer
|
||||||
]
|
]
|
||||||
++ (with pkgs-stable; [ orca-slicer ])
|
|
||||||
++ cfg.extraSystemPackages;
|
++ cfg.extraSystemPackages;
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [ "mbedtls-2.28.10" ];
|
nixpkgs.config.permittedInsecurePackages = [ "mbedtls-2.28.10" ];
|
||||||
|
|||||||
@@ -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;
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +1,3 @@
|
|||||||
#
|
|
||||||
# Apps
|
|
||||||
#
|
|
||||||
# flake.nix
|
|
||||||
# ├─ ./hosts
|
|
||||||
# │ └─ home.nix
|
|
||||||
# └─ ./modules
|
|
||||||
# └─ ./apps
|
|
||||||
# └─ default.nix *
|
|
||||||
# └─ ...
|
|
||||||
#
|
|
||||||
|
|
||||||
[
|
[
|
||||||
# ./alacritty.nix
|
|
||||||
# ./rofi.nix
|
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
#./waybar.nix
|
|
||||||
#./games.nix
|
|
||||||
]
|
]
|
||||||
# Waybar.nix is pulled from modules/wm/..
|
|
||||||
# Games.nix is pulled from desktop/default.nix
|
|
||||||
|
|||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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
|
./keyring.nix
|
||||||
]
|
]
|
||||||
|
|
||||||
# picom, polybar and sxhkd are pulled from desktop module
|
|
||||||
# redshift temporarely disables
|
|
||||||
|
|||||||
@@ -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";
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +1,15 @@
|
|||||||
|
|
||||||
{ config, pkgs, pkgs-unstable, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
services.mealie = {
|
services.mealie = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#package = pkgs-unstable.mealie;
|
|
||||||
listenAddress = "127.0.0.1";
|
listenAddress = "127.0.0.1";
|
||||||
credentialsFile = config.age.secrets."services/mealie/credentialsFile".path;
|
credentialsFile = config.age.secrets."services/mealie/credentialsFile".path;
|
||||||
settings = {
|
settings = {
|
||||||
ALLOW_SIGNUP = "false";
|
ALLOW_SIGNUP = "false";
|
||||||
DB_ENGINE = "postgres";
|
DB_ENGINE = "postgres";
|
||||||
TZ = "Europe/Berlin";
|
TZ = "Europe/Berlin";
|
||||||
PGID = "911";
|
|
||||||
PUID = "911";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -27,21 +24,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users = {
|
|
||||||
users = {
|
|
||||||
mealie = {
|
|
||||||
uid = 911;
|
|
||||||
group = "mealie";
|
|
||||||
isSystemUser = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
groups = {
|
|
||||||
mealie = {
|
|
||||||
gid = 911;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
age.secrets."services/mealie/credentialsFile" = {
|
age.secrets."services/mealie/credentialsFile" = {
|
||||||
file = ../../../secrets/services/mealie/credentialsFile.age;
|
file = ../../../secrets/services/mealie/credentialsFile.age;
|
||||||
owner = "mealie";
|
owner = "mealie";
|
||||||
|
|||||||
@@ -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
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
}
|
|
||||||
@@ -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 = {};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user