Deletged generated, testing new location scripts
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
############################
|
||||
# Audio system
|
||||
############################
|
||||
environment.systemPackages = with pkgs; [
|
||||
pulseaudio # PulseAudio daemon
|
||||
pavucontrol # GUI mixer
|
||||
pamixer # CLI mixer
|
||||
playerctl # Player controls
|
||||
];
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ ... }:
|
||||
{
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
addresses = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, home-manager, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
in
|
||||
{
|
||||
|
||||
|
||||
############################
|
||||
# Bluetooth daemon
|
||||
############################
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
package = pkgs.bluez;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ blueman ];
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
colors = {
|
||||
border = "#97C9E6";
|
||||
crust = "#11111b";
|
||||
mantle = "#181825";
|
||||
base = "#1e1e2e";
|
||||
surface0 = "#313244";
|
||||
surface1 = "#45475a";
|
||||
surface2 = "#585b70";
|
||||
overlay0 = "#6c7086";
|
||||
overlay1 = "#7f849c";
|
||||
overlay2 = "#9399b2";
|
||||
subtext0 = "#a6adc8";
|
||||
subtext1 = "#bac2de";
|
||||
text = "#cdd6f4";
|
||||
rosewater = "#f5e0dc";
|
||||
flamingo = "#f2cdcd";
|
||||
pink = "#f5c2e7";
|
||||
mauve = "#cba6f7";
|
||||
red = "#f38ba8";
|
||||
maroon = "#eba0ac";
|
||||
peach = "#fab387";
|
||||
yellow = "#f9e2af";
|
||||
green = "#a6e3a1";
|
||||
teal = "#94e2d5";
|
||||
sapphire = "#74c7ec";
|
||||
blue = "#89b4fa";
|
||||
lavender = "#b4befe";
|
||||
};
|
||||
|
||||
username = config.defaultUser or "henrov";
|
||||
|
||||
qmlContent = ''
|
||||
pragma Singleton
|
||||
// Catppuccin Mocha Palette - auto-generated, do not edit manually
|
||||
import QtQuick
|
||||
QtObject {
|
||||
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9)
|
||||
'' + lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (name: value:
|
||||
" readonly property color ${name}: \"${value}\""
|
||||
) colors
|
||||
) + "\n}";
|
||||
|
||||
in
|
||||
{
|
||||
home-manager.users.${username} = {
|
||||
home.file = {
|
||||
".config/shared/colors.css" = {
|
||||
source = "${flakeRoot}/generated/.config/shared/colors.css";
|
||||
force = true;
|
||||
};
|
||||
".config/quickshell/Colors.qml" = {
|
||||
text = qmlContent;
|
||||
force = true;
|
||||
};
|
||||
".config/quickshell/powermenu/Colors.qml" = {
|
||||
text = qmlContent;
|
||||
force = true;
|
||||
};
|
||||
".config/quickshell/powermenu/qmldir" = {
|
||||
text = "singleton Colors 1.0 Colors.qml";
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
configPath = flakeRoot + "/generated/.config/scripts";
|
||||
allFiles = lib.filesystem.listFilesRecursive configPath;
|
||||
|
||||
toRelative = file:
|
||||
let
|
||||
base = toString flakeRoot + "/generated/";
|
||||
relative = lib.removePrefix base (toString file);
|
||||
in
|
||||
builtins.unsafeDiscardStringContext relative;
|
||||
|
||||
isShellScript = file:
|
||||
lib.hasSuffix ".sh" (toString file);
|
||||
|
||||
toFileEntry = file: {
|
||||
name = toRelative file;
|
||||
value = {
|
||||
source = file;
|
||||
executable = isShellScript file;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = builtins.listToAttrs (map toFileEntry allFiles);
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable classic D-Bus service
|
||||
services.dbus.enable = true;
|
||||
|
||||
# Use default dbus package (classic D-Bus)
|
||||
services.dbus.dbusPackage = pkgs.dbus;
|
||||
|
||||
# Include some essential system packages so shell and tools exist
|
||||
environment.systemPackages = with pkgs; [
|
||||
bashInteractive
|
||||
coreutils
|
||||
];
|
||||
|
||||
# Do not attempt to wrap dbus-daemon-launch-helper manually
|
||||
# No extra security.wrappers needed
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# Use nftables as the firewall backend
|
||||
networking.nftables.enable = true;
|
||||
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
|
||||
filterForward = false; # don't filter forwarded traffic
|
||||
# outbound is allowed by default UNLESS you've set:
|
||||
|
||||
# LAN-only ports — Wi-Fi interface
|
||||
interfaces."wlan0" = {
|
||||
allowedTCPPorts = [
|
||||
22 # SSH
|
||||
80 # allow HTTP globally for outbound
|
||||
443 # allow HTTPS globally for outbound
|
||||
631 # CUPS / IPP network printing
|
||||
9100 # AppSocket/JetDirect printing
|
||||
6566 # SANE network scanner
|
||||
57621 # Spotify Connect
|
||||
57622 # Spotify local file sync
|
||||
];
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
5353 # mDNS / Avahi (printer + device discovery)
|
||||
631 # CUPS / IPP
|
||||
67 # DHCP
|
||||
123 # NTP time sync
|
||||
1900 # UPnP device discovery
|
||||
57621 # Spotify Connect
|
||||
];
|
||||
allowedUDPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
};
|
||||
|
||||
# LAN-only ports — ethernet (ready for when you plug in)
|
||||
interfaces."enp0s31f6" = {
|
||||
allowedTCPPorts = [
|
||||
631 # CUPS / IPP network printing
|
||||
9100 # AppSocket/JetDirect printing
|
||||
6566 # SANE network scanner
|
||||
57621 # Spotify Connect
|
||||
57622 # Spotify local file sync
|
||||
];
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
5353 # mDNS / Avahi (printer + device discovery)
|
||||
631 # CUPS / IPP
|
||||
67 # DHCP
|
||||
123 # NTP time sync
|
||||
1900 # UPnP device discovery
|
||||
57621 # Spotify Connect
|
||||
];
|
||||
allowedUDPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# CLI tool for temporary rule changes without rebuilding
|
||||
# Usage: sudo nixos-firewall-tool open tcp 8080
|
||||
environment.systemPackages = with pkgs; [
|
||||
nixos-firewall-tool
|
||||
];
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
##################################################
|
||||
# Core services
|
||||
##################################################
|
||||
|
||||
# Enable GNOME Keyring
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
##################################################
|
||||
# PAM (auto unlock keyring on login)
|
||||
##################################################
|
||||
|
||||
security.pam.services = {
|
||||
login.enableGnomeKeyring = true;
|
||||
greetd.enableGnomeKeyring = true;
|
||||
sddm.enableGnomeKeyring = true;
|
||||
gdm.enableGnomeKeyring = true;
|
||||
};
|
||||
|
||||
##################################################
|
||||
# Environment packages
|
||||
##################################################
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
polkit_gnome
|
||||
seahorse
|
||||
libsecret
|
||||
];
|
||||
|
||||
##################################################
|
||||
# Security / Polkit
|
||||
##################################################
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
basePath = "${flakeRoot}/generated/.config";
|
||||
assetPath = "${flakeRoot}/generated/.config/hypr";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Install hypridle system-wide
|
||||
#################################
|
||||
environment.systemPackages = [ pkgs.hypridle ];
|
||||
|
||||
#################################
|
||||
# Deploy config
|
||||
#################################
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = {
|
||||
".config/hypr/hypridle.conf" = {
|
||||
text = builtins.readFile "${assetPath}/hypridle.conf";
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# Systemd user service
|
||||
#################################
|
||||
systemd.user.services.hypridle = {
|
||||
description = "Hypridle (Hyprland idle daemon)";
|
||||
after = [ "hyprland-session.target" ];
|
||||
bindsTo = [ "hyprland-session.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.hypridle}/bin/hypridle";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
Environment = [
|
||||
"HOME=/home/${username}"
|
||||
"WAYLAND_DISPLAY=wayland-1"
|
||||
"XDG_RUNTIME_DIR=/run/user/1000"
|
||||
];
|
||||
};
|
||||
wantedBy = [ "hyprland-session.target" ];
|
||||
};
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
basePath = "${flakeRoot}/generated/.config";
|
||||
assetPath = "${flakeRoot}/generated/.config/hypr";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Install hyprlock system-wide
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
pkgs.hyprlock
|
||||
];
|
||||
|
||||
#################################
|
||||
# Deploy configuration file
|
||||
#################################
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = {
|
||||
".config/hypr/hyprlock.conf" = {
|
||||
text = builtins.readFile "${assetPath}/hyprlock.conf";
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# Optional: helper systemd user service (manual start use)
|
||||
#################################
|
||||
systemd.user.services.hyprlock = {
|
||||
description = "Hyprlock (manual lock session)";
|
||||
after = [ "graphical-session.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
Restart = "no";
|
||||
Environment = ''
|
||||
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
||||
XDG_CURRENT_DESKTOP=Hyprland
|
||||
'';
|
||||
};
|
||||
|
||||
wantedBy = [ ];
|
||||
};
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet";
|
||||
sessionsDir = "${pkgs.uwsm}/share/wayland-sessions";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Greetd (tuigreet)
|
||||
#################################
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = ''
|
||||
${tuigreetBin} \
|
||||
--time \
|
||||
--remember \
|
||||
--remember-session \
|
||||
--sessions ${sessionsDir} \
|
||||
--cmd "uwsm start hyprland-uwsm.desktop"
|
||||
'';
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
#################################
|
||||
# Fix TTY / boot noise issues
|
||||
#################################
|
||||
systemd.services.greetd.serviceConfig = {
|
||||
Type = "idle";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
StandardError = "journal";
|
||||
TTYReset = true;
|
||||
TTYVHangup = true;
|
||||
TTYVTDisallocate = true;
|
||||
};
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
#################################
|
||||
# Networking core
|
||||
#################################
|
||||
networking = {
|
||||
# Let DHCP be default unless overridden elsewhere
|
||||
useDHCP = lib.mkDefault true;
|
||||
|
||||
#################################
|
||||
# NetworkManager (primary stack)
|
||||
#################################
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
# Use iwd backend for WiFi
|
||||
wifi.backend = "iwd";
|
||||
};
|
||||
|
||||
#################################
|
||||
# iwd (WiFi daemon)
|
||||
#################################
|
||||
wireless.iwd = {
|
||||
enable = true;
|
||||
# Allow user control via NM / CLI
|
||||
settings.General.EnableNetworkConfiguration = true;
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# System packages
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
pkgs.networkmanager
|
||||
pkgs.linux-firmware
|
||||
pkgs.networkmanagerapplet
|
||||
pkgs.networkmanager_dmenu
|
||||
# pkgs.iwgtk
|
||||
];
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
nix.settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
download-buffer-size = 536870912; # 512 MB
|
||||
cores = 8;
|
||||
max-jobs = "auto";
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.configurationLimit = 3;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
############################
|
||||
# Printing system
|
||||
############################
|
||||
services.printing.enable = true; # enable CUPS printing service
|
||||
|
||||
############################
|
||||
# System packages for GUI management
|
||||
############################
|
||||
environment.systemPackages = with pkgs; [
|
||||
system-config-printer # GUI to manage printers
|
||||
];
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ pkgs, lib, config, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
quickshellPath = flakeRoot + "/generated/.config/quickshell";
|
||||
allFiles = lib.filesystem.listFilesRecursive quickshellPath;
|
||||
|
||||
toRelative = file:
|
||||
let
|
||||
base = toString flakeRoot + "/generated/";
|
||||
relative = lib.removePrefix base (toString file);
|
||||
in
|
||||
builtins.unsafeDiscardStringContext relative;
|
||||
|
||||
toFileEntry = file: {
|
||||
name = toRelative file;
|
||||
value = {
|
||||
source = file;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
quickshell
|
||||
qt6.qtdeclarative
|
||||
qt6.qttools
|
||||
qt6.qtsvg
|
||||
qt6.qtimageformats
|
||||
qt6.qtmultimedia
|
||||
qt6.qt5compat
|
||||
];
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qt5ct";
|
||||
};
|
||||
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = builtins.listToAttrs (map toFileEntry allFiles);
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
assetPath = "${flakeRoot}/generated/.config/swaync";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.swaynotificationcenter pkgs.libnotify ];
|
||||
|
||||
home-manager.users.${username} = {
|
||||
# Do NOT enable services.swaync — it would claim the config files
|
||||
# and conflict with our home.file entries below.
|
||||
|
||||
home.file = {
|
||||
".config/swaync/config.json" = {
|
||||
text = builtins.readFile "${assetPath}/config.json";
|
||||
force = true;
|
||||
};
|
||||
".config/swaync/style.css" = {
|
||||
text = builtins.replaceStrings ["henrov"] [username] (builtins.readFile "${assetPath}/style.css");
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Autostart swaync as a systemd user service instead
|
||||
systemd.user.services.swaync = {
|
||||
description = "SwayNotificationCenter";
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
|
||||
Restart = "always";
|
||||
Environment = [
|
||||
"WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-1"}"
|
||||
"XDG_CURRENT_DESKTOP=Hyprland"
|
||||
];
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user