Added and tested script to prepare henrovnix_ok for publishing
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
{ pkgs, ... } :
|
||||
{
|
||||
boot = {
|
||||
initrd = {
|
||||
verbose = false; # its a lot of logs. dont need it, unless we do.
|
||||
kernelModules = [ ]; # no kernel modules on boot
|
||||
};
|
||||
|
||||
extraModulePackages = [ ]; # no extra packages on boot either
|
||||
kernelPackages = pkgs.linuxPackages_latest; # latest greatest linux kernel
|
||||
kernelParams = [ "silent" ]; # quiet those logs
|
||||
|
||||
consoleLogLevel = 0; # quiten more logs
|
||||
plymouth.enable = true; # graphical boot animation instead
|
||||
|
||||
supportedFilesystems = [ "ntfs" ]; # should see the ntfs (windows)
|
||||
|
||||
loader = {
|
||||
systemd-boot.enable = true; # systemd-boot
|
||||
systemd-boot.configurationLimit = 10;
|
||||
efi.canTouchEfiVariables = true; # allow editing efi to edit the boot loader
|
||||
|
||||
|
||||
timeout = 5; # grub timeout to make a selection
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{ pkgs, user, config, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
zip
|
||||
unzip
|
||||
p7zip
|
||||
usbutils
|
||||
udiskie
|
||||
file-roller
|
||||
];
|
||||
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs; [
|
||||
thunar-archive-plugin
|
||||
thunar-media-tags-plugin
|
||||
thunar-volman
|
||||
thunar-vcs-plugin
|
||||
];
|
||||
};
|
||||
|
||||
programs.xfconf.enable = true; # to save thunar settings
|
||||
|
||||
services = {
|
||||
gvfs.enable = true; # Mount, trash, and other functionalities
|
||||
tumbler.enable = true; # Thumbnail support for images
|
||||
udisks2.enable = true; # Auto mount usb drives
|
||||
};
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{ user, ... } :
|
||||
let
|
||||
locale = user.locale;
|
||||
defaultLocale = "nl_NL.UTF-8";
|
||||
in
|
||||
{
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Amsterdam";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = defaultLocale;
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = locale;
|
||||
LC_IDENTIFICATION = locale;
|
||||
LC_MEASUREMENT = locale;
|
||||
LC_MONETARY = locale;
|
||||
LC_NAME = locale;
|
||||
LC_NUMERIC = locale;
|
||||
LC_PAPER = locale;
|
||||
LC_TELEPHONE = locale;
|
||||
LC_TIME = defaultLocale;
|
||||
};
|
||||
}
|
||||
@@ -1,139 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
lightdmConf = builtins.readFile ../../assets/conf/core/lightdm.conf;
|
||||
lockPng = ../../assets/lock.png;
|
||||
|
||||
greeterConfPath = ../../assets/conf/core/lightdm-gtk-greeter.conf;
|
||||
greeterRaw = builtins.readFile greeterConfPath;
|
||||
|
||||
# Extract "key = value" from the greeter conf.
|
||||
# Returns null if not found.
|
||||
getIniValue = key:
|
||||
let
|
||||
lines = lib.splitString "\n" greeterRaw;
|
||||
|
||||
# Captures the value part (group 0) from a single line.
|
||||
# We match line-by-line because Nix regex does NOT support PCRE flags like (?s).
|
||||
m =
|
||||
let
|
||||
ms = builtins.filter (x: x != null) (map (line:
|
||||
builtins.match
|
||||
("^[[:space:]]*" + key + "[[:space:]]*=[[:space:]]*([^#;]+).*$")
|
||||
line
|
||||
) lines);
|
||||
in
|
||||
if ms == [] then null else builtins.elemAt ms 0;
|
||||
in
|
||||
if m == null then null else lib.strings.trim (builtins.elemAt m 0);
|
||||
|
||||
# In your greeter.conf these are *package keys*, not theme names.
|
||||
themePkgKey = getIniValue "theme-name";
|
||||
iconPkgKey = getIniValue "icon-theme-name";
|
||||
cursorPkgKey = getIniValue "cursor-theme-name";
|
||||
|
||||
cursorSizeStr = getIniValue "cursor-theme-size";
|
||||
cursorSize =
|
||||
if cursorSizeStr == null then null
|
||||
else lib.toInt (lib.strings.trim cursorSizeStr);
|
||||
|
||||
# Map package-keys (from greeter.conf) -> { package, name }
|
||||
#
|
||||
# IMPORTANT:
|
||||
# - "name" must be the real theme/icon/cursor NAME as seen under share/themes or share/icons.
|
||||
# - "package" is the Nixpkgs derivation providing it.
|
||||
pkgMap = {
|
||||
catppuccinThemePkg = {
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "blue" ];
|
||||
variant = "mocha";
|
||||
size = "standard";
|
||||
tweaks = [ ];
|
||||
};
|
||||
name = "Catppuccin-Mocha-Standard-Blue-Dark";
|
||||
};
|
||||
|
||||
papirus-icon-theme = {
|
||||
package = pkgs.papirus-icon-theme;
|
||||
name = "Papirus-Dark";
|
||||
};
|
||||
|
||||
bibata-cursors = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
};
|
||||
};
|
||||
|
||||
pick = key:
|
||||
if key == null then
|
||||
throw "lightdm: missing required key in ${toString greeterConfPath}"
|
||||
else if !(pkgMap ? "${key}") then
|
||||
throw "lightdm: unknown package key '${key}' in ${toString greeterConfPath}. Known keys: ${lib.concatStringsSep ", " (builtins.attrNames pkgMap)}"
|
||||
else
|
||||
pkgMap."${key}";
|
||||
|
||||
themeSel = pick themePkgKey;
|
||||
iconSel = pick iconPkgKey;
|
||||
cursorSel = pick cursorPkgKey;
|
||||
|
||||
# Rewrite greeter.conf so LightDM sees REAL names, not package keys.
|
||||
# Also force background to lockPng.
|
||||
greeterFixed =
|
||||
''
|
||||
[greeter]
|
||||
theme-name = ${themeSel.name}
|
||||
icon-theme-name = ${iconSel.name}
|
||||
cursor-theme-name = ${cursorSel.name}
|
||||
${lib.optionalString (cursorSize != null) "cursor-theme-size = ${toString cursorSize}"}
|
||||
''
|
||||
+ "\n"
|
||||
+ greeterRaw;
|
||||
in
|
||||
{
|
||||
services.greetd.enable = false;
|
||||
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
desktopManager.xterm.enable = false;
|
||||
|
||||
displayManager.lightdm = {
|
||||
enable = true;
|
||||
background = lockPng;
|
||||
|
||||
greeters.gtk = {
|
||||
enable = true;
|
||||
|
||||
theme = {
|
||||
name = themeSel.name;
|
||||
package = themeSel.package;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = iconSel.name;
|
||||
package = iconSel.package;
|
||||
};
|
||||
|
||||
cursorTheme = {
|
||||
name = cursorSel.name;
|
||||
package = cursorSel.package;
|
||||
} // lib.optionalAttrs (cursorSize != null) {
|
||||
size = cursorSize;
|
||||
};
|
||||
|
||||
# This includes your (rewritten) greeter config.
|
||||
extraConfig = greeterFixed;
|
||||
};
|
||||
|
||||
extraConfig = lightdmConf;
|
||||
};
|
||||
};
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
# Optional: make them available system-wide as well
|
||||
environment.systemPackages = [
|
||||
themeSel.package
|
||||
iconSel.package
|
||||
cursorSel.package
|
||||
];
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{ pkgs, user, ... } :
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
tuigreet
|
||||
];
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = pkgs.lib.mkForce "${pkgs.tuigreet}/bin/tuigreet --remember --time --time-format '%I:%M %p | %a • %h | %F'";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
networking = {
|
||||
useDHCP = lib.mkDefault true;
|
||||
networkmanager.enable = true;
|
||||
networkmanager.wifi.backend = "iwd";
|
||||
wireless.iwd.enable = true;
|
||||
wireless.userControlled.enable = true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
# KDE Connect: discovery + encrypted connections
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 1714; to = 1764; }
|
||||
];
|
||||
allowedUDPPortRanges = [
|
||||
{ from = 1714; to = 1764; }
|
||||
];
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ impala ];
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{ pkgs, user, ... } :
|
||||
{
|
||||
nix.settings = {
|
||||
# enable flakes
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
|
||||
# add a cache that speed up new applications by downloading binaries
|
||||
# from the trusted cache instead of compiling from sourcer
|
||||
substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
# trust the cache public key
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
};
|
||||
|
||||
# allow proprietary software on this machine. I'm not a purist.
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
# unityhub depends on this... for now
|
||||
nixpkgs.config.permittedInsecurePackages = [ "libxml2-2.13.8" ];
|
||||
|
||||
# this declares how often old configurations are cleared up.
|
||||
# i cleanup anything older than a week, every week.
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 7d";
|
||||
dates = "weekly";
|
||||
};
|
||||
|
||||
programs = {
|
||||
# command line utility that makes applying changes easy and pretty
|
||||
nh = {
|
||||
enable = true;
|
||||
flake = "/home/${user.username}/system";
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user