From bbbee5efab57500d683fff1ad85bb0b94b27e7ef Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Tue, 5 May 2026 11:13:10 +0200 Subject: [PATCH] Regenerated --- Droidnix/README.html | 818 +++++++++--------- Droidnix/README.org | 160 ++-- Droidnix/flake.nix | 2 +- .../.config/quickshell/updater/shell.qml | 2 +- Droidnix/generated/hosts/traveldroid/host.nix | 2 +- .../generated/modules/apps/2_b_installed.nix | 100 +++ .../generated/modules/apps/emacs/emacs.nix | 87 ++ .../generated/modules/apps/kdeconnect.nix | 20 + Droidnix/generated/modules/apps/kitty.nix | 44 + .../generated/modules/apps/stackstorage.nix | 16 + Droidnix/generated/modules/apps/starship.nix | 31 + Droidnix/generated/modules/apps/thunar.nix | 38 + Droidnix/generated/modules/apps/wofi.nix | 27 + Droidnix/generated/modules/apps/zeditor.nix | 65 ++ .../generated/modules/apps/zenbrowser.nix | 12 + Droidnix/generated/modules/apps/zsh.nix | 105 +++ Droidnix/generated/modules/desktop/fonts.nix | 10 + Droidnix/generated/modules/desktop/gtk.nix | 18 + .../generated/modules/desktop/hyprland.nix | 37 + Droidnix/generated/modules/desktop/stylix.nix | 82 ++ .../generated/modules/desktop/wallpaper.nix | 84 ++ Droidnix/generated/modules/desktop/waybar.nix | 38 + .../generated/modules/desktop/wayland.nix | 25 + Droidnix/generated/modules/desktop/xdg.nix | 125 +++ Droidnix/generated/modules/system/audio.nix | 28 + Droidnix/generated/modules/system/avahi.nix | 12 + .../generated/modules/system/bluetooth.nix | 19 + Droidnix/generated/modules/system/colors.nix | 69 ++ .../generated/modules/system/copy_scripts.nix | 33 + Droidnix/generated/modules/system/dbus.nix | 19 + .../generated/modules/system/firewall.nix | 73 ++ .../modules/system/gnome-keyring.nix | 40 + .../generated/modules/system/hypridle.nix | 48 + .../generated/modules/system/hyprlock.nix | 49 ++ .../modules/system/login-tuigreet.nix | 40 + .../generated/modules/system/networking.nix | 41 + Droidnix/generated/modules/system/nix.nix | 18 + .../modules/system/numlock-check.nix | 38 + .../generated/modules/system/printing.nix | 16 + .../generated/modules/system/quickshell.nix | 38 + Droidnix/generated/modules/system/swaync.nix | 40 + 41 files changed, 2077 insertions(+), 492 deletions(-) create mode 100644 Droidnix/generated/modules/apps/2_b_installed.nix create mode 100644 Droidnix/generated/modules/apps/emacs/emacs.nix create mode 100644 Droidnix/generated/modules/apps/kdeconnect.nix create mode 100644 Droidnix/generated/modules/apps/kitty.nix create mode 100644 Droidnix/generated/modules/apps/stackstorage.nix create mode 100644 Droidnix/generated/modules/apps/starship.nix create mode 100644 Droidnix/generated/modules/apps/thunar.nix create mode 100644 Droidnix/generated/modules/apps/wofi.nix create mode 100644 Droidnix/generated/modules/apps/zeditor.nix create mode 100644 Droidnix/generated/modules/apps/zenbrowser.nix create mode 100644 Droidnix/generated/modules/apps/zsh.nix create mode 100644 Droidnix/generated/modules/desktop/fonts.nix create mode 100644 Droidnix/generated/modules/desktop/gtk.nix create mode 100644 Droidnix/generated/modules/desktop/hyprland.nix create mode 100644 Droidnix/generated/modules/desktop/stylix.nix create mode 100644 Droidnix/generated/modules/desktop/wallpaper.nix create mode 100644 Droidnix/generated/modules/desktop/waybar.nix create mode 100644 Droidnix/generated/modules/desktop/wayland.nix create mode 100644 Droidnix/generated/modules/desktop/xdg.nix create mode 100644 Droidnix/generated/modules/system/audio.nix create mode 100644 Droidnix/generated/modules/system/avahi.nix create mode 100644 Droidnix/generated/modules/system/bluetooth.nix create mode 100644 Droidnix/generated/modules/system/colors.nix create mode 100644 Droidnix/generated/modules/system/copy_scripts.nix create mode 100644 Droidnix/generated/modules/system/dbus.nix create mode 100644 Droidnix/generated/modules/system/firewall.nix create mode 100644 Droidnix/generated/modules/system/gnome-keyring.nix create mode 100644 Droidnix/generated/modules/system/hypridle.nix create mode 100644 Droidnix/generated/modules/system/hyprlock.nix create mode 100644 Droidnix/generated/modules/system/login-tuigreet.nix create mode 100644 Droidnix/generated/modules/system/networking.nix create mode 100644 Droidnix/generated/modules/system/nix.nix create mode 100644 Droidnix/generated/modules/system/numlock-check.nix create mode 100644 Droidnix/generated/modules/system/printing.nix create mode 100644 Droidnix/generated/modules/system/quickshell.nix create mode 100644 Droidnix/generated/modules/system/swaync.nix diff --git a/Droidnix/README.html b/Droidnix/README.html index 1358efe6b..aa8f3db12 100644 --- a/Droidnix/README.html +++ b/Droidnix/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Droidnix: A Dendritic NixOS + Home Manager Configuration NixOS Configuration Structure @@ -204,146 +204,146 @@

Table of Contents

-
-

Shortcuts

-
+
+

Shortcuts

+

Introduction The Assets Folder @@ -359,25 +359,25 @@

Introduction   intro

-
-

What is Droidnix

-
+
+

What is Droidnix

+

Droidnix is a modular, declarative NixOS + Home Manager configuration system. with configurations managed via Emacs Org and Nix Flakes. The project is designed for reproducibility, maintainability, and cross-machine compatibility.

-
-

Installed components:

-
+
+

Installed components:

+
    -
  • Core
  • -
  • Hyprland
  • +
  • Core
  • +
  • Hyprland
-
-

Goals, project Structure, import hierarchy

-
+
+

Goals, project Structure, import hierarchy

+

This project uses a modular NixOS configuration with Hyprland support, designed for literate programming and cross-device reusability. The Droidnix repository is organized into two main parts: @@ -390,9 +390,9 @@ The Droidnix repository is organized into two main parts:

-
-

Root Level

-
+
+

Root Level

+
  • = is the entry point and imports:
      @@ -403,16 +403,16 @@ The Droidnix repository is organized into two main parts:
-
-

Generated Structure

-
+
+

Generated Structure

+

The generated/ directory contains all generated configurations, divided into three main groups: system, hyprland, and mangowc.

-
-

First Setup

-
+
+

First Setup

+
  1. Clone this repository.
  2. Run the setup script: ./setup_droid.
  3. @@ -433,9 +433,9 @@ The generated/ directory contains all generated configurations, div The .assets/ folder contains all static files, such as configs, scripts, and themes. These files are not generated and can be edited directly.

-
-

generated/assets/2_b_installed.conf

-
+
+

generated/assets/2_b_installed.conf

+

This is a list of additional apps to install

@@ -516,9 +516,9 @@ com.logseq.Logseq
-
-

generated/assets/aliases.conf

-
+
+

generated/assets/aliases.conf

+

This is a list of additional apps to install

@@ -560,9 +560,9 @@ keys=hyprctl binds This section contains the Org blocks for tangling Nix code into the generated folders.

-
-

generated/flake.nix

-
+
+

generated/flake.nix

+

The Nix flake definition for Droidnix.

@@ -606,7 +606,7 @@ The Nix flake definition for Droidnix. mutableConfigPath = "${flakeRoot}/generated/.config"; in { nixosConfigurations = { - traveldroid = nixpkgs.lib.nixosSystem { + mymachine = nixpkgs.lib.nixosSystem { inherit system; modules = [ ({ ... }: { @@ -653,9 +653,9 @@ The Nix flake definition for Droidnix.
-
-

generated/modules/traveldroid/system/colors.nix

-
+
+

generated/modules/system/colors.nix

+

Setting the colors for Droidnix.

@@ -732,9 +732,9 @@ in
-
-

generated/hosts/traveldroid/boot.nix

-
+
+

generated/hosts/traveldroid/boot.nix

+
{ config, pkgs, lib, flakeRoot, ... }:
 {
@@ -786,9 +786,9 @@ in
 
-
-

generated/hosts/traveldroid/hardware-configuration.nix

-
+
+

generated/hosts/traveldroid/hardware-configuration.nix

+
  1. Boot into NixOS Live ISO or your installed system.
  2. Open a terminal.
  3. @@ -846,15 +846,15 @@ in
-
-

generated/hosts/traveldroid/host.nix

-
+
+

generated/hosts/traveldroid/host.nix

+
{ lib, config, pkgs, flakeRoot, import-tree, home-manager, ... }:
 
 let
   hostname = "traveldroid";
-  modulesPath = "${flakeRoot}/generated/modules/${hostname}";
+  modulesPath = "${flakeRoot}/generated/modules";
   hostModules = import-tree modulesPath;
   allModules = hostModules.imports;
 in
@@ -908,13 +908,13 @@ in
 
-
-

generated/traveldroid/modules/apps

-
+
+

generated/modules/apps

+
-
-

generated/modules/traveldroid/apps/2_b_installed.nix

-
+
+

generated/modules/apps/2_b_installed.nix

+

This installs a list of apps

@@ -1022,9 +1022,9 @@ in {
-
-

generated/modules/traveldroid/apps/emacs/emacs.nix

-
+
+

generated/modules/apps/emacs/emacs.nix

+

This installs emacs

@@ -1119,9 +1119,9 @@ in
-
-

generated/modules/traveldroid/apps/kdeconnect.nix

-
+
+

generated/modules/apps/kdeconnect.nix

+

This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

@@ -1149,9 +1149,9 @@ in
-
-

generated/modules/traveldroid/apps/kitty.nix

-
+
+

generated/modules/apps/kitty.nix

+

This file sets up Kitty terminal

@@ -1203,9 +1203,9 @@ in
-
-

generated/modules/traveldroid/apps/stackstorage.nix

-
+
+

generated/modules/apps/stackstorage.nix

+

Installs the TransIP Stackstorage Appimage

@@ -1229,9 +1229,9 @@ in {
-
-

generated/modules/traveldroid/apps/starship.nix

-
+
+

generated/modules/apps/starship.nix

+

This file sets up starship prompt

@@ -1270,9 +1270,9 @@ in
-
-

generated/modules/traveldroid/apps/thunar.nix

-
+
+

generated/modules/apps/thunar.nix

+

This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

@@ -1318,9 +1318,9 @@ in
-
-

generated/modules/traveldroid/apps/wofi.nix

-
+
+

generated/modules/apps/wofi.nix

+

This is the install for Wofi, the launcher

@@ -1355,9 +1355,9 @@ in
-
-

generated/modules/traveldroid/apps/zenbrowser.nix

-
+
+

generated/modules/apps/zenbrowser.nix

+

This installs zen browser

@@ -1377,9 +1377,9 @@ in
-
-

generated/modules/traveldroid/apps/zeditor.nix

-
+
+

generated/modules/apps/zeditor.nix

+

This sets Zed Editor

@@ -1452,9 +1452,9 @@ in
-
-

generated/modules/traveldroid/apps/zsh.nix

-
+
+

generated/modules/apps/zsh.nix

+

This sets up the zsh in the terminal

@@ -1568,13 +1568,13 @@ in
-
-

generated/modules/traveldroid/desktop

-
+
+

generated/modules/desktop

+
-
-

generated/modules/traveldroid/desktop/fonts.nix

-
+
+

generated/modules/desktop/fonts.nix

+

This file installs and configures fonts

@@ -1592,9 +1592,9 @@ This file installs and configures fonts
-
-

generated/modules/traveldroid/desktop/gtk.nix

-
+
+

generated/modules/desktop/gtk.nix

+

Setting up GTK

@@ -1620,9 +1620,9 @@ in
-
-

generated/modules/traveldroid/desktop/hyprland.nix

-
+
+

generated/modules/desktop/hyprland.nix

+

Setting up Hyprland

@@ -1667,9 +1667,9 @@ in
-
-

generated/modules/traveldroid/desktop/stylix.nix

-
+
+

generated/modules/desktop/stylix.nix

+
{ lib, config, pkgs, flakeRoot, stylix, ... }:
 
@@ -1710,7 +1710,7 @@ in
   stylix = {
     enable = true;
 
-    base16Scheme = "${flakeRoot}/assets/traveldroid/theming/stylix/catppuccin-mocha.yaml";
+    base16Scheme = "${flakeRoot}/assets/mymachine/theming/stylix/catppuccin-mocha.yaml";
     polarity = "dark";
 
     targets = {
@@ -1756,9 +1756,9 @@ in
 
-
-

generated/modules/traveldroid/desktop/wallpaper.nix

-
+
+

generated/modules/desktop/wallpaper.nix

+

Setting up wallpaper engine + wallpaper gui

@@ -1768,7 +1768,7 @@ Setting up wallpaper engine + wallpaper gui let username = config.defaultUser or "henrov"; homeDir = "/home/${username}"; - wallpaperSrc = "${flakeRoot}/assets/traveldroid/Wallpapers"; + wallpaperSrc = "${flakeRoot}/assets/mymachine/Wallpapers"; wallpaperDst = "${homeDir}/Wallpapers"; sysName = "awww"; assetPath = "${flakeRoot}/generated/.config/${sysName}"; @@ -1850,9 +1850,9 @@ in
-
-

generated/.config/awww/scripts/randomizeWallpapers.sh

-
+
+

generated/.config/awww/scripts/randomizeWallpapers.sh

+

Numbers all pictures in ~/Wallpapers/pictures in random order

@@ -1914,9 +1914,9 @@ randomize_and_rename_wallpapers
-
-

generated/.config/awww/scripts/ws-daemon.sh

-
+
+

generated/.config/awww/scripts/ws-daemon.sh

+

Little daemon that sets a workspace when user switches to a different workspace

@@ -1937,9 +1937,9 @@ done
-
-

generated/.config/awww/scripts/ws-wallpaper.sh

-
+
+

generated/.config/awww/scripts/ws-wallpaper.sh

+

The script that actually sets wallpaper per workspace

@@ -1982,9 +1982,9 @@ esac
-
-

generated/modules/traveldroid/desktop/waybar.nix

-
+
+

generated/modules/desktop/waybar.nix

+

This file installs and configures waybar

@@ -2030,9 +2030,9 @@ in
-
-

generated/modules/traveldroid/desktop/wayland.nix

-
+
+

generated/modules/desktop/wayland.nix

+
{ lib, config, pkgs, ... }:
 
@@ -2062,9 +2062,9 @@ in
 
-
-

generated/modules/traveldroid/desktop/xdg.nix

-
+
+

generated/modules/desktop/xdg.nix

+

This sets the XDG implementation

@@ -2198,13 +2198,13 @@ in
-
-

generated/modules/traveldroid/system

-
+
+

generated/modules/system

+
-
-

generated/modules/traveldroid/system/audio.nix

-
+
+

generated/modules/system/audio.nix

+
{ lib, config, pkgs, ... }:
 {
@@ -2237,9 +2237,9 @@ in
 
-
-

generated/modules/traveldroid/system/avahi.nix

-
+
+

generated/modules/system/avahi.nix

+

Avahi helps discovering services

@@ -2259,9 +2259,9 @@ Avahi helps discovering services
-
-

generated/modules/traveldroid/system/bluetooth.nix

-
+
+

generated/modules/system/bluetooth.nix

+

Installing Bluetooth services and supporting aps

@@ -2288,9 +2288,9 @@ in
-
-

generated/modules/traveldroid/system/copy_scripts.nix

-
+
+

generated/modules/system/copy_scripts.nix

+

This copies any scripts from generated.config/shared//scripts to ~/.config/shared/scripts and makes any .sh files executable.

@@ -2331,9 +2331,9 @@ in
-
-

generated/modules/traveldroid/system/dbus.nix

-
+
+

generated/modules/system/dbus.nix

+

This sets the dbus implementation

@@ -2360,9 +2360,9 @@ This sets the dbus implementation
-
-

generated/modules/traveldroid/system/firewall.nix

-
+
+

generated/modules/system/firewall.nix

+

This sets the firewall.

@@ -2443,9 +2443,9 @@ This sets the firewall.
-
-

generated/modules/traveldroid/system/hypridle.nix

-
+
+

generated/modules/system/hypridle.nix

+

This installs hypridle

@@ -2501,9 +2501,9 @@ in
-
-

generated/modules/traveldroid/system/hyprlock.nix

-
+
+

generated/modules/system/hyprlock.nix

+

This installs hyprlock

@@ -2560,9 +2560,9 @@ in
-
-

generated/modules/traveldroid/system/gnome-keyring.nix

-
+
+

generated/modules/system/gnome-keyring.nix

+

This sets the dbus implementation

@@ -2610,9 +2610,9 @@ This sets the dbus implementation
-
-

generated/modules/traveldroid/system/login-tuigreet.nix

-
+
+

generated/modules/system/login-tuigreet.nix

+

This sets up tuigreeter which is not fancy but imho fits the aesthetic I am aiming for

@@ -2660,9 +2660,9 @@ in
-
-

generated/modules/traveldroid/system/networking.nix

-
+
+

generated/modules/system/networking.nix

+

This sets the networking.

@@ -2711,9 +2711,9 @@ This sets the networking.
-
-

generated/modules/traveldroid/system/numlock-check.nix

-
+
+

generated/modules/system/numlock-check.nix

+
{ lib, config, pkgs, flakeRoot, ... }:
 let
@@ -2756,9 +2756,9 @@ in
 
-
-

generated/modules/traveldroid/system/nix.nix

-
+
+

generated/modules/system/nix.nix

+
{ lib, config, ... }:
 {
@@ -2781,9 +2781,9 @@ in
 
-
-

generated/modules/traveldroid/system/printing.nix

-
+
+

generated/modules/system/printing.nix

+

This sets the dbus implementation

@@ -2807,9 +2807,9 @@ This sets the dbus implementation
-
-

generated/modules/traveldroid/system/quickshell.nix

-
+
+

generated/modules/system/quickshell.nix

+

This sets the quickshell implementation

@@ -2855,9 +2855,9 @@ in
-
-

generated/modules/traveldroid/system/swaync.nix

-
+
+

generated/modules/system/swaync.nix

+

This sets the dbus implementation

@@ -2906,13 +2906,13 @@ in
-
-

generated/users

-
+
+

generated/users

+
-
-

generated/users/

-
+
+

generated/users/

+

This is the default user, just search and replace henrov another name if you want to change

@@ -2973,9 +2973,9 @@ in

These are all the prepared config files

-
-

generated/.config/emacs/early-init.el

-
+
+

generated/.config/emacs/early-init.el

+

This contaions emacs

@@ -3076,9 +3076,9 @@ package-archive-priorities '(("gnu" . 99)
-
-

generated/.config/emacs/init.el

-
+
+

generated/.config/emacs/init.el

+

This contaions emacs

@@ -3488,9 +3488,9 @@ the top of the file."
-
-

generated/.config/hypr/animations.conf

-
+
+

generated/.config/hypr/animations.conf

+

These settings decide animations

@@ -3533,9 +3533,9 @@ These settings decide animations
-
-

generated/.config/hypr/behaviour.conf

-
+
+

generated/.config/hypr/behaviour.conf

+

These are config files for .config/hypr

@@ -3556,9 +3556,9 @@ input {
-
-

generated/.config/hypr/bindings.conf

-
+
+

generated/.config/hypr/bindings.conf

+

These are config files for .config/hypr

@@ -3725,9 +3725,9 @@ bind = $mainMod, U, exec, qs -c updater
-
-

generated/.config/hypr/exec-once.conf

-
+
+

generated/.config/hypr/exec-once.conf

+

What is executed after startup, when hyprland is running?

@@ -3749,9 +3749,9 @@ exec-once = waybar
-
-

generated/.config/hypr/hypridle.conf

-
+
+

generated/.config/hypr/hypridle.conf

+

These are config files for hypridle

@@ -3782,9 +3782,9 @@ listener {
-
-

generated/.config/hypr/hyprlock.conf

-
+
+

generated/.config/hypr/hyprlock.conf

+

These are config files for .config/hypr

@@ -3814,9 +3814,9 @@ input-field {
-
-

generated/.config/hypr/hyprland.conf

-
+
+

generated/.config/hypr/hyprland.conf

+

These are config files for .config/hypr

@@ -3835,9 +3835,9 @@ source = ./workspace-rules.conf
-
-

generated/.config/hypr/layer-rules.conf

-
+
+

generated/.config/hypr/layer-rules.conf

+

These are config files for .config/hypr

@@ -3850,9 +3850,9 @@ layerrule = xray 1, match:namespace swaync-control-center
-
-

generated/.config/hypr/layout.conf

-
+
+

generated/.config/hypr/layout.conf

+

These settings control Hyprland config

@@ -3867,9 +3867,9 @@ scrolling {
-
-

generated/.config/hypr/monitor-rules.conf

-
+
+

generated/.config/hypr/monitor-rules.conf

+

These are config files for .config/hypr

@@ -3880,9 +3880,9 @@ monitor = eDP-1, preferred, auto-left, 1.5
-
-

generated/.config/hypr/theming.conf

-
+
+

generated/.config/hypr/theming.conf

+

These are config files for .config/hypr

@@ -3948,9 +3948,9 @@ misc {
-
-

generated/.config/hypr/window-rules.conf

-
+
+

generated/.config/hypr/window-rules.conf

+

These are config files for .config/hypr

@@ -4060,9 +4060,9 @@ windowrule {
-
-

generated/.config/hypr/workspace-rules.conf

-
+
+

generated/.config/hypr/workspace-rules.conf

+

These setttings configure rules for workspaces

@@ -4077,9 +4077,9 @@ workspace = 6, monitor:DP-1 #, layout:dwindle
-
-

generated/.config/quickshell/media/shell.qml

-
+
+

generated/.config/quickshell/media/shell.qml

+

offers a audio widget

@@ -4473,9 +4473,9 @@ ShellRoot {
-
-

generated/.config/quickshell/powermgmt/shell.qml

-
+
+

generated/.config/quickshell/powermgmt/shell.qml

+

Provides powermanagement settings

@@ -5196,9 +5196,9 @@ ShellRoot {
-
-

generated/.config/quickshell/powermenu/shell.qml

-
+
+

generated/.config/quickshell/powermenu/shell.qml

+

Provides a powermenu

@@ -5346,9 +5346,9 @@ ShellRoot {
-
-

generated/.config/quickshell/updater/shell.qml

-
+
+

generated/.config/quickshell/updater/shell.qml

+

Updates the system

@@ -5393,7 +5393,7 @@ ShellRoot { cmd: [ "sh", "-c", - `echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#traveldroid` + `echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#mymachine` ], cwd: "/home/henrov/Repos/nixos/Droidnix" }, @@ -5481,9 +5481,9 @@ ShellRoot {
-
-

generated/.config/quickshell/layoutswitcher/shell.qml

-
+
+

generated/.config/quickshell/layoutswitcher/shell.qml

+

Provides a layout menu

@@ -5630,9 +5630,9 @@ ShellRoot {
-
-

generated/.config/waybar/scripts/batterywarn.sh

-
+
+

generated/.config/waybar/scripts/batterywarn.sh

+

Providing an media

@@ -5649,9 +5649,9 @@ fi
-
-

generated/.config/waybar/scripts/media.sh

-
+
+

generated/.config/waybar/scripts/media.sh

+

Providing an media

@@ -5750,9 +5750,9 @@ jq -c -n \
-
-

generated/.config/shared/scripts/numlock-check.sh

-
+
+

generated/.config/shared/scripts/numlock-check.sh

+

Count keyboards and enable numlock if more then 1, else disable

@@ -5773,9 +5773,9 @@ fi
-
-

generated/.config/wofi/scripts/wofi-launcher.sh

-
+
+

generated/.config/wofi/scripts/wofi-launcher.sh

+

Providing an media

@@ -5790,9 +5790,9 @@ Providing an media
-
-

generated/.config/shared/css/colors.css

-
+
+

generated/.config/shared/css/colors.css

+

A file containing color variables

@@ -5833,9 +5833,9 @@ A file containing color variables
-
-

generated/.config/starship.toml

-
+
+

generated/.config/starship.toml

+

These are config files for Starship

@@ -6123,9 +6123,9 @@ crust = "#181926"
-
-

generated/.config/stylix/stylix.conf

-
+
+

generated/.config/stylix/stylix.conf

+

These are config files for .config/stylix

@@ -6161,9 +6161,9 @@ icons = {
-
-

generated/.config/stylix/palette.json

-
+
+

generated/.config/stylix/palette.json

+

These are config files for .config/stylix

@@ -6193,9 +6193,9 @@ These are config files for .config/stylix
-
-

generated/.config/stylix/palette.html

-
+
+

generated/.config/stylix/palette.html

+

These are config files for .config/stylix

@@ -6272,9 +6272,9 @@ These are config files for .config/stylix
-
-

generated/.config/swaync/config.json

-
+
+

generated/.config/swaync/config.json

+

These are config files for waybar

@@ -6335,9 +6335,9 @@ These are config files for waybar
-
-

generated/.config/swaync/style.css

-
+
+

generated/.config/swaync/style.css

+

These are config files for waybar

@@ -6530,9 +6530,9 @@ These are config files for waybar
-
-

generated/.config/waybar/config.jsonc

-
+
+

generated/.config/waybar/config.jsonc

+

These are config files for waybar

@@ -6880,9 +6880,9 @@ These are config files for waybar
-
-

generated/.config/waybar/style-dark.css

-
+
+

generated/.config/waybar/style-dark.css

+

This file contains all css for waybar

@@ -7142,9 +7142,9 @@ label#custom-windows:not(.active) {
-
-

generated/.config/waybar/scripts/bluetooth-status.sh

-
+
+

generated/.config/waybar/scripts/bluetooth-status.sh

+

These are config files for waybar

@@ -7169,9 +7169,9 @@ printf '{"text": "%s", "tooltip": "%s"}\n' "$icon" "$tooltip"
-
-

generated/.config/waybar/scripts/hypr-workspaces.sh

-
+
+

generated/.config/waybar/scripts/hypr-workspaces.sh

+

These are config files for waybar

@@ -7213,9 +7213,9 @@ jq -c -n \
-
-

generated/.config/waybar/scripts/hypr-workspacesmenu.sh

-
+
+

generated/.config/waybar/scripts/hypr-workspacesmenu.sh

+

These are config files for waybar

@@ -7237,9 +7237,9 @@ hyprctl dispatch focuswindow address:"$addr"
-
-

generated/.config/waybar/scripts/kdeconnect-status.sh

-
+
+

generated/.config/waybar/scripts/kdeconnect-status.sh

+

These are config files for waybar

@@ -7263,9 +7263,9 @@ fi
-
-

generated/.config/waypaper/config.ini

-
+
+

generated/.config/waypaper/config.ini

+

These are config files for waypaper

@@ -7302,9 +7302,9 @@ keybindings = ~/.config/waypaper/keybindings.ini
-
-

generated/.config/waypaper/config.ini

-
+
+

generated/.config/waypaper/config.ini

+

These are config files for .config/waypaper

@@ -7340,9 +7340,9 @@ keybindings = ~/.config/waypaper/keybindings.ini
-
-

generated/.config/wofi/config

-
+
+

generated/.config/wofi/config

+

These are config files for .config/wofi

@@ -7369,9 +7369,9 @@ prompt = > ...
-
-

generated/.config/wofi/style.css

-
+
+

generated/.config/wofi/style.css

+

This is the default layout for wofi

@@ -7467,9 +7467,9 @@ This is the default layout for wofi
-
-

generated/.config/zed/settings.json

-
+
+

generated/.config/zed/settings.json

+

These are config files for Zed editor

@@ -7507,9 +7507,9 @@ These are config files for Zed editor
-
-

generated/.config/zsh/.zshrc

-
+
+

generated/.config/zsh/.zshrc

+

This sets up the zsh in the terminal

@@ -7546,7 +7546,7 @@ cd() {

Author: Henro Veijer

-

Created: 2026-05-04 ma 20:46

+

Created: 2026-05-05 di 11:13

Validate

diff --git a/Droidnix/README.org b/Droidnix/README.org index 32b2c7e9d..c487eed53 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -221,7 +221,7 @@ The Nix flake definition for Droidnix. mutableConfigPath = "${flakeRoot}/generated/.config"; in { nixosConfigurations = { - traveldroid = nixpkgs.lib.nixosSystem { + mymachine = nixpkgs.lib.nixosSystem { inherit system; modules = [ ({ ... }: { @@ -266,9 +266,9 @@ The Nix flake definition for Droidnix. } #+END_SRC -** =generated/modules/traveldroid/system/colors.nix= +** =generated/modules/system/colors.nix= Setting the colors for Droidnix. -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/colors.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/colors.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let colors = { @@ -449,7 +449,7 @@ in let hostname = "traveldroid"; - modulesPath = "${flakeRoot}/generated/modules/${hostname}"; + modulesPath = "${flakeRoot}/generated/modules"; hostModules = import-tree modulesPath; allModules = hostModules.imports; in @@ -500,11 +500,11 @@ in } #+END_SRC -* generated/traveldroid/modules/apps +* generated/modules/apps -** =generated/modules/traveldroid/apps/2_b_installed.nix= +** =generated/modules/apps/2_b_installed.nix= This installs a list of apps -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/2_b_installed.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/2_b_installed.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let @@ -606,9 +606,9 @@ in { } #+END_SRC -** =generated/modules/traveldroid/apps/emacs/emacs.nix= +** =generated/modules/apps/emacs/emacs.nix= This installs emacs -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/emacs/emacs.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/emacs/emacs.nix :noweb yes :mkdirp yes :eval never { config, pkgs, lib, flakeRoot, ... }: let @@ -697,9 +697,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/apps/kdeconnect.nix= +** =generated/modules/apps/kdeconnect.nix= This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/kdeconnect.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/kdeconnect.nix :noweb yes :mkdirp yes :eval never { config, pkgs, ... }: let username = config.defaultUser or "henrov"; @@ -721,9 +721,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/apps/kitty.nix= +** =generated/modules/apps/kitty.nix= This file sets up Kitty terminal -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/kitty.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/kitty.nix :noweb yes :mkdirp yes :eval never { lib, pkgs, config, flakeRoot, ... }: let @@ -769,9 +769,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/apps/stackstorage.nix= +** =generated/modules/apps/stackstorage.nix= Installs the TransIP Stackstorage Appimage -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/stackstorage.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/stackstorage.nix :noweb yes :mkdirp yes :eval never { config, lib, pkgs, ... }: with lib; let @@ -789,9 +789,9 @@ in { } #+END_SRC -** =generated/modules/traveldroid/apps/starship.nix= +** =generated/modules/apps/starship.nix= This file sets up starship prompt -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/starship.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/starship.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let @@ -826,9 +826,9 @@ in -** =generated/modules/traveldroid/apps/thunar.nix= +** =generated/modules/apps/thunar.nix= This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/thunar.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/thunar.nix :noweb yes :mkdirp yes :eval never { pkgs, config, lib, ... }: let @@ -869,9 +869,9 @@ in #+END_SRC -** =generated/modules/traveldroid/apps/wofi.nix= +** =generated/modules/apps/wofi.nix= This is the install for Wofi, the launcher -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/wofi.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/wofi.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let @@ -902,9 +902,9 @@ in -** =generated/modules/traveldroid/apps/zenbrowser.nix= +** =generated/modules/apps/zenbrowser.nix= This installs zen browser -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/zenbrowser.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/zenbrowser.nix :noweb yes :mkdirp yes :eval never { config, pkgs, lib, zen-browser, ... }: let @@ -918,9 +918,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/apps/zeditor.nix= +** =generated/modules/apps/zeditor.nix= This sets Zed Editor -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/zeditor.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/zeditor.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let username = config.defaultUser or "henrov"; @@ -987,9 +987,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/apps/zsh.nix= +** =generated/modules/apps/zsh.nix= This sets up the zsh in the terminal -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/zsh.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/apps/zsh.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let @@ -1096,11 +1096,11 @@ in } #+END_SRC -* generated/modules/traveldroid/desktop +* generated/modules/desktop -** =generated/modules/traveldroid/desktop/fonts.nix= +** =generated/modules/desktop/fonts.nix= This file installs and configures fonts -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/fonts.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/desktop/fonts.nix :noweb yes :mkdirp yes :eval never { lib, pkgs, config, ... }: { @@ -1112,9 +1112,9 @@ This file installs and configures fonts } #+END_SRC -** =generated/modules/traveldroid/desktop/gtk.nix= +** =generated/modules/desktop/gtk.nix= Setting up GTK -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/gtk.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/desktop/gtk.nix :noweb yes :mkdirp yes :eval never { pkgs, config, lib, ... }: let @@ -1134,9 +1134,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/desktop/hyprland.nix= +** =generated/modules/desktop/hyprland.nix= Setting up Hyprland -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/hyprland.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/desktop/hyprland.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, home-manager, inputs, ... }: let username = config.defaultUser or "henrov"; @@ -1175,8 +1175,8 @@ in } #+END_SRC -** =generated/modules/traveldroid/desktop/stylix.nix= -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/stylix.nix :noweb yes :mkdirp yes :eval never +** =generated/modules/desktop/stylix.nix= +#+BEGIN_SRC nix :tangle generated/modules/desktop/stylix.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, stylix, ... }: let @@ -1216,7 +1216,7 @@ in stylix = { enable = true; - base16Scheme = "${flakeRoot}/assets/traveldroid/theming/stylix/catppuccin-mocha.yaml"; + base16Scheme = "${flakeRoot}/assets/mymachine/theming/stylix/catppuccin-mocha.yaml"; polarity = "dark"; targets = { @@ -1260,15 +1260,15 @@ in } #+END_SRC -** =generated/modules/traveldroid/desktop/wallpaper.nix= +** =generated/modules/desktop/wallpaper.nix= Setting up wallpaper engine + wallpaper gui -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/wallpaper.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/desktop/wallpaper.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let username = config.defaultUser or "henrov"; homeDir = "/home/${username}"; - wallpaperSrc = "${flakeRoot}/assets/traveldroid/Wallpapers"; + wallpaperSrc = "${flakeRoot}/assets/mymachine/Wallpapers"; wallpaperDst = "${homeDir}/Wallpapers"; sysName = "awww"; assetPath = "${flakeRoot}/generated/.config/${sysName}"; @@ -1462,9 +1462,9 @@ case "$WS" in esac #+END_SRC -** =generated/modules/traveldroid/desktop/waybar.nix= +** =generated/modules/desktop/waybar.nix= This file installs and configures waybar -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/waybar.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/desktop/waybar.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let username = config.defaultUser or "henrov"; @@ -1506,8 +1506,8 @@ in -** =generated/modules/traveldroid/desktop/wayland.nix= -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/wayland.nix :noweb yes :mkdirp yes :eval never +** =generated/modules/desktop/wayland.nix= +#+BEGIN_SRC nix :tangle generated/modules/desktop/wayland.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, ... }: { @@ -1534,9 +1534,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/desktop/xdg.nix= +** =generated/modules/desktop/xdg.nix= This sets the XDG implementation -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/xdg.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/desktop/xdg.nix :noweb yes :mkdirp yes :eval never # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- { lib, config, pkgs, flakeRoot, ... }: @@ -1663,10 +1663,10 @@ in } #+END_SRC -* generated/modules/traveldroid/system +* generated/modules/system -** =generated/modules/traveldroid/system/audio.nix= -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/audio.nix :noweb yes :mkdirp yes :eval never +** =generated/modules/system/audio.nix= +#+BEGIN_SRC nix :tangle generated/modules/system/audio.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, ... }: { ############################ @@ -1696,9 +1696,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/avahi.nix= +** =generated/modules/system/avahi.nix= Avahi helps discovering services -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/avahi.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/avahi.nix :noweb yes :mkdirp yes :eval never { ... }: { services.avahi = { @@ -1712,9 +1712,9 @@ Avahi helps discovering services } #+END_SRC -** =generated/modules/traveldroid/system/bluetooth.nix= +** =generated/modules/system/bluetooth.nix= Installing Bluetooth services and supporting aps -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/bluetooth.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/bluetooth.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, home-manager, ... }: let @@ -1735,9 +1735,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/copy_scripts.nix= +** =generated/modules/system/copy_scripts.nix= This copies any scripts from /generated/.config/shared//scripts to ~/.config/shared/scripts and makes any .sh files executable. -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/copy_scripts.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/copy_scripts.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let username = config.defaultUser or "henrov"; @@ -1772,9 +1772,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/dbus.nix= +** =generated/modules/system/dbus.nix= This sets the dbus implementation -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/dbus.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/dbus.nix :noweb yes :mkdirp yes :eval never { config, pkgs, ... }: { @@ -1795,9 +1795,9 @@ This sets the dbus implementation } #+END_SRC -** =generated/modules/traveldroid/system/firewall.nix= +** =generated/modules/system/firewall.nix= This sets the firewall. -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/firewall.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/firewall.nix :noweb yes :mkdirp yes :eval never { pkgs, ... }: { @@ -1872,9 +1872,9 @@ This sets the firewall. } #+END_SRC -** =generated/modules/traveldroid/system/hypridle.nix= +** =generated/modules/system/hypridle.nix= This installs hypridle -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/hypridle.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/hypridle.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let @@ -1924,9 +1924,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/hyprlock.nix= +** =generated/modules/system/hyprlock.nix= This installs hyprlock -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/hyprlock.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/hyprlock.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let @@ -1977,9 +1977,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/gnome-keyring.nix= +** =generated/modules/system/gnome-keyring.nix= This sets the dbus implementation -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/gnome-keyring.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/gnome-keyring.nix :noweb yes :mkdirp yes :eval never { config, pkgs, ... }: { @@ -2021,9 +2021,9 @@ This sets the dbus implementation } #+END_SRC -** =generated/modules/traveldroid/system/login-tuigreet.nix= +** =generated/modules/system/login-tuigreet.nix= This sets up tuigreeter which is not fancy but imho fits the aesthetic I am aiming for -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/login-tuigreet.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/login-tuigreet.nix :noweb yes :mkdirp yes :eval never { config, pkgs, lib, ... }: let tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet"; @@ -2065,9 +2065,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/networking.nix= +** =generated/modules/system/networking.nix= This sets the networking. -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/networking.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/networking.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, ... }: { @@ -2110,8 +2110,8 @@ This sets the networking. } #+END_SRC -** =generated/modules/traveldroid/system/numlock-check.nix= -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/numlock-check.nix :noweb yes :mkdirp yes :eval never +** =generated/modules/system/numlock-check.nix= +#+BEGIN_SRC nix :tangle generated/modules/system/numlock-check.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let username = config.defaultUser or "henrov"; @@ -2151,8 +2151,8 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/nix.nix= -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/nix.nix :noweb yes :mkdirp yes :eval never +** =generated/modules/system/nix.nix= +#+BEGIN_SRC nix :tangle generated/modules/system/nix.nix :noweb yes :mkdirp yes :eval never { lib, config, ... }: { nix.settings = { @@ -2172,9 +2172,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/printing.nix= +** =generated/modules/system/printing.nix= This sets the dbus implementation -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/printing.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/printing.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, ... }: { @@ -2192,9 +2192,9 @@ This sets the dbus implementation } #+END_SRC -** =generated/modules/traveldroid/system/quickshell.nix= +** =generated/modules/system/quickshell.nix= This sets the quickshell implementation -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/quickshell.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/quickshell.nix :noweb yes :mkdirp yes :eval never { pkgs, lib, config, flakeRoot, quickshell, ... }: let username = config.defaultUser or "henrov"; @@ -2234,9 +2234,9 @@ in } #+END_SRC -** =generated/modules/traveldroid/system/swaync.nix= +** =generated/modules/system/swaync.nix= This sets the dbus implementation -#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/swaync.nix :noweb yes :mkdirp yes :eval never +#+BEGIN_SRC nix :tangle generated/modules/system/swaync.nix :noweb yes :mkdirp yes :eval never { lib, config, pkgs, flakeRoot, ... }: let username = config.defaultUser or "henrov"; @@ -4646,7 +4646,7 @@ ShellRoot { cmd: [ "sh", "-c", - `echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#traveldroid` + `echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#mymachine` ], cwd: "/home/henrov/Repos/nixos/Droidnix" }, diff --git a/Droidnix/flake.nix b/Droidnix/flake.nix index 75bfbe71f..9850823ad 100644 --- a/Droidnix/flake.nix +++ b/Droidnix/flake.nix @@ -38,7 +38,7 @@ mutableConfigPath = "${flakeRoot}/generated/.config"; in { nixosConfigurations = { - traveldroid = nixpkgs.lib.nixosSystem { + mymachine = nixpkgs.lib.nixosSystem { inherit system; modules = [ ({ ... }: { diff --git a/Droidnix/generated/.config/quickshell/updater/shell.qml b/Droidnix/generated/.config/quickshell/updater/shell.qml index 73d85c5a0..374d510f9 100644 --- a/Droidnix/generated/.config/quickshell/updater/shell.qml +++ b/Droidnix/generated/.config/quickshell/updater/shell.qml @@ -39,7 +39,7 @@ ShellRoot { cmd: [ "sh", "-c", - `echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#traveldroid` + `echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#mymachine` ], cwd: "/home/henrov/Repos/nixos/Droidnix" }, diff --git a/Droidnix/generated/hosts/traveldroid/host.nix b/Droidnix/generated/hosts/traveldroid/host.nix index 5f4e422b3..ec731bdde 100644 --- a/Droidnix/generated/hosts/traveldroid/host.nix +++ b/Droidnix/generated/hosts/traveldroid/host.nix @@ -3,7 +3,7 @@ let hostname = "traveldroid"; - modulesPath = "${flakeRoot}/generated/modules/${hostname}"; + modulesPath = "${flakeRoot}/generated/modules"; hostModules = import-tree modulesPath; allModules = hostModules.imports; in diff --git a/Droidnix/generated/modules/apps/2_b_installed.nix b/Droidnix/generated/modules/apps/2_b_installed.nix new file mode 100644 index 000000000..442a6f26a --- /dev/null +++ b/Droidnix/generated/modules/apps/2_b_installed.nix @@ -0,0 +1,100 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, flakeRoot, ... }: + +let + ################################# + # FILE + ################################# + confPath = "${flakeRoot}/generated/assets/2_b_installed.conf"; + raw = builtins.readFile confPath; + lines = lib.splitString "\n" raw; + + ################################# + # CLEAN LINE + ################################# + cleanLine = line: + let + noCR = lib.replaceStrings [ "\r" ] [ "" ] line; + noInlineComment = lib.head (lib.splitString "#" noCR); + in + lib.strings.trim noInlineComment; + + ################################# + # PARSE SECTION + ################################# + parseSection = section: + let + result = + builtins.foldl' + (acc: line: + let + l = lib.strings.trim line; + in + if l == section then + acc // { active = true; } + else if lib.hasPrefix "#" l then + acc // { active = false; } + else if acc.active then + acc // { entries = acc.entries ++ [ l ]; } + else + acc + ) + { active = false; entries = []; } + lines; + in + builtins.filter (l: l != "") (map cleanLine result.entries); + + ################################# + # NIX PACKAGES + ################################# + packageEntries = parseSection "#packages"; + + resolvePkg = name: + let + parts = lib.splitString "." name; + found = lib.attrByPath parts null pkgs; + in + if found == null then + throw '' + packages.nix: package not found + Token: ${name} + File : ${confPath} + '' + else + found; + + packages = map resolvePkg packageEntries; + + ################################# + # FLATPAKS + ################################# + flatpakEntries = parseSection "#flatpaks"; + +in { + ################################# + # Allow unfree + ################################# + nixpkgs.config.allowUnfree = true; + + ################################# + # System packages (Nix) + ################################# + environment.systemPackages = packages; + + ################################# + # Flatpak setup + ################################# + services.flatpak.enable = true; + + services.flatpak.remotes = [ + { + name = "flathub"; + location = "https://flathub.org/repo/flathub.flatpakrepo"; + } + ]; + + ################################# + # Flatpak apps + ################################# + services.flatpak.packages = flatpakEntries; +} diff --git a/Droidnix/generated/modules/apps/emacs/emacs.nix b/Droidnix/generated/modules/apps/emacs/emacs.nix new file mode 100644 index 000000000..359d581b7 --- /dev/null +++ b/Droidnix/generated/modules/apps/emacs/emacs.nix @@ -0,0 +1,87 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ config, pkgs, lib, flakeRoot, ... }: + +let + username = config.defaultUser or "henrov"; + + assetPath = "${flakeRoot}/generated/.config/emacs"; + + # Emacs package with Tree-sitter support + emacsPkg = pkgs.emacs-pgtk.override { withTreeSitter = true; }; + + # Extra packages for Emacs via Home Manager + emacsExtraPackages = epkgs: [ + epkgs.manualPackages.treesit-grammars.with-all-grammars + epkgs.nerd-icons + epkgs.doom-modeline + epkgs.diminish + epkgs.eldoc + epkgs.pulsar + epkgs.which-key + epkgs.expreg + epkgs.vundo + epkgs.puni + epkgs.avy + epkgs.consult + epkgs.vertico + epkgs.marginalia + epkgs.crux + epkgs.magit + epkgs.nerd-icons-corfu + epkgs.corfu + epkgs.cape + epkgs.orderless + epkgs.yasnippet + epkgs.yasnippet-snippets + epkgs.rg + epkgs.exec-path-from-shell + epkgs.eat + epkgs.rust-mode + epkgs.rustic + epkgs.nix-mode + epkgs.hcl-mode + epkgs.shell-pop + epkgs.envrc + epkgs.nixpkgs-fmt + epkgs.f + epkgs.gptel + epkgs.catppuccin-theme + epkgs.eldoc-box + epkgs.sideline + epkgs.sideline-flymake + epkgs.sideline-eglot + ]; +in +{ + # System-wide installation + environment.systemPackages = [ + emacsPkg + ]; + + # Home Manager user-specific configuration for your default user + home-manager.users = { + ${username} = { + home.sessionVariables = { + EDITOR = "emacs"; + XDG_SCREENSHOTS_DIR = "~/screenshots"; + }; + + programs.emacs = { + enable = true; + package = emacsPkg; + extraPackages = emacsExtraPackages; + }; + + home.file = { + ".emacs.d/early-init.el" = { + source = "${assetPath}/early-init.el"; + force = true; # <-- allow overwrite + }; + ".emacs.d/init.el" = { + source = "${assetPath}/init.el"; + force = true; # <-- allow overwrite + }; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/apps/kdeconnect.nix b/Droidnix/generated/modules/apps/kdeconnect.nix new file mode 100644 index 000000000..c4004e9e4 --- /dev/null +++ b/Droidnix/generated/modules/apps/kdeconnect.nix @@ -0,0 +1,20 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ config, pkgs, ... }: +let + username = config.defaultUser or "henrov"; +in +{ + environment.systemPackages = with pkgs; [ + kdePackages.kdeconnect-kde + ]; + + systemd.user.services.kdeconnect = { + enable = true; + description = "KDE Connect daemon"; + wantedBy = ["default.target"]; + serviceConfig = { + ExecStart = "${pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnectd"; + Restart = "on-failure"; + }; + }; +} diff --git a/Droidnix/generated/modules/apps/kitty.nix b/Droidnix/generated/modules/apps/kitty.nix new file mode 100644 index 000000000..cff7c665a --- /dev/null +++ b/Droidnix/generated/modules/apps/kitty.nix @@ -0,0 +1,44 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, pkgs, config, flakeRoot, ... }: + +let + username = config.defaultUser or "henrov"; + extraConfigFile = "${flakeRoot}/generated/.config/kitty/extra.conf"; + extraConfig = + if builtins.pathExists extraConfigFile + then builtins.readFile extraConfigFile + else ""; +in +{ + ################################# + # System-wide install + ################################# + environment.systemPackages = [ + pkgs.kitty + ]; + ################################# + # Home Manager + ################################# + home-manager.users = { + "${username}" = { + programs.kitty = { + enable = true; + settings = { + confirm_os_window_close = lib.mkForce 0; + dynamic_background_opacity = lib.mkForce true; + enable_audio_bell = lib.mkForce false; + mouse_hide_wait = lib.mkForce "-1.0"; + window_padding_width = lib.mkForce 10; + background_opacity = lib.mkForce "0.5"; + background_blur = lib.mkForce 5; + notify_on_command_complete = lib.mkForce "never"; + }; + extraConfig = '' + ${extraConfig} + # Theme + include themes/Catppuccin-Mocha.conf + ''; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/apps/stackstorage.nix b/Droidnix/generated/modules/apps/stackstorage.nix new file mode 100644 index 000000000..0c6f12e13 --- /dev/null +++ b/Droidnix/generated/modules/apps/stackstorage.nix @@ -0,0 +1,16 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ config, lib, pkgs, ... }: +with lib; +let + transip-stack = pkgs.appimageTools.wrapType2 { + pname = "transip-stack"; + version = "latest"; + src = pkgs.fetchurl { + url = "https://filehosting-client.transip.nl/packages/stack-linux-latest-x86_64.AppImage"; + sha256 = "1cmwc3mfpi7n3ga25p19pmsjmvkiy8hk4s4mxdsxkprw2vvrhwd7"; + }; + extraPkgs = pkgsFinal: with pkgsFinal; [ fuse ]; + }; +in { + environment.systemPackages = [ transip-stack ]; +} diff --git a/Droidnix/generated/modules/apps/starship.nix b/Droidnix/generated/modules/apps/starship.nix new file mode 100644 index 000000000..62624c989 --- /dev/null +++ b/Droidnix/generated/modules/apps/starship.nix @@ -0,0 +1,31 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, flakeRoot, ... }: + +let + # Default username fallback + username = config.defaultUser or "henrov"; + + # Path to the starship config in assets + starshipConfSrc = "${flakeRoot}/generated/.config/starship.toml"; +in +{ + ################################# + # Install Starship system-wide + ################################# + environment.systemPackages = [ pkgs.starship ]; + + ################################# + # Home Manager user configuration + ################################# + home-manager.users = { + ${username} = { + + home.file = { + ".config/starship.toml" = { + text = builtins.readFile "${starshipConfSrc}"; + force = true; + }; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/apps/thunar.nix b/Droidnix/generated/modules/apps/thunar.nix new file mode 100644 index 000000000..fa2061880 --- /dev/null +++ b/Droidnix/generated/modules/apps/thunar.nix @@ -0,0 +1,38 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ pkgs, config, lib, ... }: + +let + # Resolve the default username from host config + username = config.defaultUser or "henrov"; +in +{ + ############################ + # System-level packages + ############################ + environment.systemPackages = with pkgs; [ + thunar # main file manager + thunar-archive-plugin # zip, tar, rar, 7z support + thunar-volman # auto-mount removable drives + gvfs # support for external drives and network shares + xarchiver # optional GUI archive manager + tumbler # Showing thumbnails + libmtp + mtpfs + jmtpfs + ]; + + ############################ + # Home Manager user-level configuration + ############################ + # Direct assignment to the user avoids recursiveUpdate issues + home-manager.users."${username}" = { + home.stateVersion = "26.05"; # required + + home.sessionVariables = { + FILE_MANAGER = "thunar"; + USERNAME = username; + }; + }; + # Enable gvfs as a service + services.gvfs.enable = true; +} diff --git a/Droidnix/generated/modules/apps/wofi.nix b/Droidnix/generated/modules/apps/wofi.nix new file mode 100644 index 000000000..d01a21ad0 --- /dev/null +++ b/Droidnix/generated/modules/apps/wofi.nix @@ -0,0 +1,27 @@ +# --- 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"; + sysName = "wofi"; + assetPath = "${flakeRoot}/generated/.config/${sysName}"; +in +{ + environment.systemPackages = [ pkgs.wofi ]; + + home-manager.users = { + ${username} = { + home.activation.MakeWofiMutable = { + after = [ "writeBoundary" ]; + before = []; + data = '' + rm -rf $HOME/.config/${sysName} + mkdir -p $HOME/.config/${sysName} + cp -r ${assetPath}/* $HOME/.config/${sysName}/ + chmod -R u+w $HOME/.config/${sysName}/ + find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \; + ''; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/apps/zeditor.nix b/Droidnix/generated/modules/apps/zeditor.nix new file mode 100644 index 000000000..f9666380d --- /dev/null +++ b/Droidnix/generated/modules/apps/zeditor.nix @@ -0,0 +1,65 @@ +# --- 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"; + sysName = "zed"; + assetPath = "${flakeRoot}/generated/.config/${sysName}"; +in +{ + environment.systemPackages = [ pkgs.zed-editor + pkgs.nil + pkgs.basedpyright + pkgs.ruff + pkgs.black + pkgs.rustc + pkgs.cargo + pkgs.rust-analyzer + pkgs.rustfmt + pkgs.gopls + pkgs.go + pkgs.vscode-langservers-extracted + pkgs.yaml-language-server + pkgs.prettier + pkgs.sqls + pkgs.sqlite + pkgs.postgresql + pkgs.pandoc + ]; + + environment.sessionVariables = { + EDITOR = "zeditor"; + VISUAL = "zeditor"; + }; + + xdg.mime.defaultApplications = { + "text/plain" = "dev.zed.Zed.desktop"; + "text/x-lua" = "dev.zed.Zed.desktop"; + "text/x-sql" = "dev.zed.Zed.desktop"; + "text/x-org" = "dev.zed.Zed.desktop"; + "text/x-script.python" = "dev.zed.Zed.desktop"; + "text/x-shellscript" = "dev.zed.Zed.desktop"; + "text/x-csrc" = "dev.zed.Zed.desktop"; + "text/x-chdr" = "dev.zed.Zed.desktop"; + "text/x-rust" = "dev.zed.Zed.desktop"; + "text/x-toml" = "dev.zed.Zed.desktop"; + "text/x-yaml" = "dev.zed.Zed.desktop"; + "text/x-json" = "dev.zed.Zed.desktop"; + "application/json" = "dev.zed.Zed.desktop"; + "text/markdown" = "dev.zed.Zed.desktop"; + "text/x-nix" = "dev.zed.Zed.desktop"; + }; + + home-manager.users.${username} = { + home.activation.MakeZedMutable = { + after = [ "writeBoundary" ]; + before = []; + data = '' + rm -rf $HOME/.config/${sysName} + mkdir -p $HOME/.config/${sysName} + cp -r ${assetPath}/* $HOME/.config/${sysName}/ + chmod -R u+w $HOME/.config/${sysName}/ + find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \; + ''; + }; + }; +} diff --git a/Droidnix/generated/modules/apps/zenbrowser.nix b/Droidnix/generated/modules/apps/zenbrowser.nix new file mode 100644 index 000000000..c49cab1f4 --- /dev/null +++ b/Droidnix/generated/modules/apps/zenbrowser.nix @@ -0,0 +1,12 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ config, pkgs, lib, zen-browser, ... }: + +let + # Grab the Zen Browser package for this host system + zenBrowser = zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default; +in +{ + environment.systemPackages = [ + zenBrowser + ]; +} diff --git a/Droidnix/generated/modules/apps/zsh.nix b/Droidnix/generated/modules/apps/zsh.nix new file mode 100644 index 000000000..d4ca4c2bb --- /dev/null +++ b/Droidnix/generated/modules/apps/zsh.nix @@ -0,0 +1,105 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, flakeRoot, ... }: + +let + ################################# + # User config + ################################# + username = config.defaultUser or "henrov"; + generatedZsh = "${flakeRoot}/generated/.config/zsh/.zshrc"; + + ################################# + # Alias parsing + ################################# + aliasFile = "${flakeRoot}/generated/assets/aliases.conf"; + content = builtins.readFile aliasFile; + + lines = + lib.filter (l: l != "") + (map (l: + let + noComment = builtins.head (lib.splitString "#" l); + in lib.trim noComment + ) (lib.splitString "\n" content)); + + parseLine = line: + let + parts = lib.splitString "=" line; + in + if lib.length parts < 2 then null else { + name = lib.trim (lib.head parts); + value = lib.trim (lib.concatStringsSep "=" (lib.tail parts)); + }; + + parsed = + lib.filter (x: x != null) + (map parseLine lines); + + functions = + lib.concatStringsSep "\n" + (map (x: '' + ${x.name}() { + ${x.value} "$@" + } + '') parsed); + +in +{ + ################################# + # Packages + ################################# + environment.systemPackages = with pkgs; [ + zsh + oh-my-zsh + starship + zsh-syntax-highlighting + ]; + + ################################# + # Zsh config location + ################################# + environment.etc."zshenv".text = '' + export ZDOTDIR=$HOME/.config/zsh + ''; + + ################################# + # Generated alias functions (system-wide) + ################################# + environment.etc."profile.d/99-alias-functions.sh".text = '' + # system-wide functions generated from aliases.conf + ${functions} + ''; + + ################################# + # Global zshrc + ################################# + environment.etc."zshrc".text = '' + export ZSH=${pkgs.oh-my-zsh}/share/oh-my-zsh + ZSH_THEME="" + plugins=(git sudo extract colored-man-pages command-not-found history docker kubectl) + + source $ZSH/oh-my-zsh.sh + + # Init starship FIRST (prompt) + eval "$(starship init zsh)" + + # Load alias functions + if [ -f /etc/profile.d/99-alias-functions.sh ]; then + source /etc/profile.d/99-alias-functions.sh + fi + + # Load optional generated user config + [ -f "${generatedZsh}" ] && source "${generatedZsh}" + + # Syntax highlighting MUST be last + source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + ''; + + ################################# + # Home Manager integration + ################################# + home-manager.users.${username} = { + programs.zsh.enable = true; + home.file.".config/zsh/.zshrc".source = generatedZsh; + }; +} diff --git a/Droidnix/generated/modules/desktop/fonts.nix b/Droidnix/generated/modules/desktop/fonts.nix new file mode 100644 index 000000000..47b5f64fc --- /dev/null +++ b/Droidnix/generated/modules/desktop/fonts.nix @@ -0,0 +1,10 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, pkgs, config, ... }: + +{ + fonts.packages = with pkgs; [ + nerd-fonts.iosevka + nerd-fonts.fira-code + nerd-fonts.jetbrains-mono + ]; +} diff --git a/Droidnix/generated/modules/desktop/gtk.nix b/Droidnix/generated/modules/desktop/gtk.nix new file mode 100644 index 000000000..fae5ee63e --- /dev/null +++ b/Droidnix/generated/modules/desktop/gtk.nix @@ -0,0 +1,18 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ pkgs, config, lib, ... }: + +let + username = config.defaultUser or "henrov"; +in +{ + environment.systemPackages = with pkgs; [ + gtk3 + gtk4 + ]; + + home-manager.users."${username}" = { + gtk = { + enable = true; + }; + }; +} diff --git a/Droidnix/generated/modules/desktop/hyprland.nix b/Droidnix/generated/modules/desktop/hyprland.nix new file mode 100644 index 000000000..c9bde5535 --- /dev/null +++ b/Droidnix/generated/modules/desktop/hyprland.nix @@ -0,0 +1,37 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }: +let + username = config.defaultUser or "henrov"; + sysName = "hypr"; + assetPath = "${flakeRoot}/generated/.config/${sysName}"; + hyprlandPkg = + pkgs.hyprland or + pkgs.hyprland-git or + inputs.hyprland.packages.${pkgs.system}.default; +in +{ + # Install Hyprland systemwide + programs.hyprland.enable = true; + programs.hyprland.withUWSM = true; + programs.hyprland.package = hyprlandPkg; + + environment.systemPackages = [ hyprlandPkg ]; + + # Home Manager user configuration + home-manager.users = { + ${username} = { + + home.activation.MakeHyprMutable = { + after = [ "writeBoundary" ]; + before = []; + data = '' + rm -rf $HOME/.config/${sysName} + mkdir -p $HOME/.config/${sysName} + cp -r ${assetPath}/* $HOME/.config/${sysName}/ + chmod -R u+w $HOME/.config/${sysName}/ + find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \; + ''; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/desktop/stylix.nix b/Droidnix/generated/modules/desktop/stylix.nix new file mode 100644 index 000000000..5a25e1257 --- /dev/null +++ b/Droidnix/generated/modules/desktop/stylix.nix @@ -0,0 +1,82 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, flakeRoot, stylix, ... }: + +let + username = config.defaultUser or "henrov"; + moduleName = "stylix"; + + assetPath = "${flakeRoot}/generated/.config/${moduleName}"; + + stylixConfFile = "${assetPath}/stylix.conf"; + stylixConf = + if builtins.pathExists stylixConfFile + then builtins.readFile stylixConfFile + else ""; + + cursorName = "phinger-cursors-light"; + cursorSize = 24; +in +{ + ################################# + # Enable Stylix module + ################################# + imports = [ + stylix.nixosModules.stylix + ]; + + ################################# + # System packages + ################################# + environment.systemPackages = [ + pkgs.feh + pkgs.st + ]; + + ################################# + # Stylix system config + ################################# + stylix = { + enable = true; + + base16Scheme = "${flakeRoot}/assets/mymachine/theming/stylix/catppuccin-mocha.yaml"; + polarity = "dark"; + + targets = { + gtk.enable = true; + qt.enable = true; + }; + + cursor = { + name = cursorName; + package = pkgs.phinger-cursors; + size = cursorSize; + }; + }; + + ################################# + # Home Manager + ################################# + home-manager.users = { + "${username}" = { + + ################################# + # ONLY custom file (safe) + ################################# + home.file.".config/stylix/stylix.conf" = { + text = stylixConf; + force = true; + }; + + ################################# + # Environment variables + ################################# + home.sessionVariables = { + STYLIX_CONF = "$HOME/.config/stylix/stylix.conf"; + XCURSOR_THEME = cursorName; + XCURSOR_SIZE = toString cursorSize; + HYPRCURSOR_THEME = cursorName; + HYPRCURSOR_SIZE = toString cursorSize; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/desktop/wallpaper.nix b/Droidnix/generated/modules/desktop/wallpaper.nix new file mode 100644 index 000000000..a48e856e5 --- /dev/null +++ b/Droidnix/generated/modules/desktop/wallpaper.nix @@ -0,0 +1,84 @@ +# --- 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"; + homeDir = "/home/${username}"; + wallpaperSrc = "${flakeRoot}/assets/mymachine/Wallpapers"; + wallpaperDst = "${homeDir}/Wallpapers"; + sysName = "awww"; + assetPath = "${flakeRoot}/generated/.config/${sysName}"; + randoScript = "${homeDir}/.config/${sysName}/scripts/randomizeWallpapers.sh"; +in +{ + # Make bash available + environment.systemPackages = [ + pkgs.bash + pkgs.rsync + pkgs.jq + pkgs.awww + pkgs.waypaper pkgs.socat ]; + + # Create the copy script using Home Manager, following Waybar style + # This can not be done using a prepared script + home-manager.users = { + ${username} = { + home.activation.MakeWallpaperMutable = { + after = [ "writeBoundary" ]; + before = []; + data = '' + rm -rf $HOME/.config/${sysName} + mkdir -p $HOME/.config/${sysName} + cp -r ${assetPath}/* $HOME/.config/${sysName}/ + chmod -R u+w $HOME/.config/${sysName}/ + find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \; + ''; + }; + home.file = { + "copy-wallpapers.sh" = { + text = '' + #!/run/current-system/sw/bin/bash + set -euo pipefail + echo "Running as $(whoami)" + echo "Copying wallpapers from ${wallpaperSrc} to ${wallpaperDst} ..." + if [ ! -d "${wallpaperSrc}" ]; then + echo "ERROR: ${wallpaperSrc} does not exist" + exit 1 + fi + mkdir -p "${wallpaperDst}" + # Simple copy, overwrite everything + cp -r "${wallpaperSrc}/." "${wallpaperDst}/" + # Fix permissions + chmod -R u+rwx "${wallpaperDst}" + echo "Done copying wallpapers." + ''; + executable = true; + force = true; + }; + }; + }; +}; + # User service to run the script that copies the Wallpaperstuff + systemd.user.services.copyWallpapers = { + description = "Copy wallpapers from repo to ~/Wallpapers"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${homeDir}/copy-wallpapers.sh"; + Restart = "no"; + WorkingDirectory = homeDir; + }; + wantedBy = [ "default.target" ]; + }; + + # User service to randomize wallpapers + systemd.user.services.randomizeWallpapers = { + description = "Randomize wallpapers in ~/Wallpapers/pictures"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${randoScript}"; + Restart = "no"; + WorkingDirectory = homeDir; + }; + wantedBy = [ "default.target" ]; + }; +} diff --git a/Droidnix/generated/modules/desktop/waybar.nix b/Droidnix/generated/modules/desktop/waybar.nix new file mode 100644 index 000000000..d92c70b47 --- /dev/null +++ b/Droidnix/generated/modules/desktop/waybar.nix @@ -0,0 +1,38 @@ +# --- 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"; + sysName = "waybar"; + assetPath = "${flakeRoot}/generated/.config/${sysName}"; +in +{ + environment.systemPackages = [ pkgs.waybar ]; + + home-manager.users.${username} = { + home.activation.MakeWaybarMutable = { + after = [ "writeBoundary" ]; + before = []; + data = '' + rm -rf $HOME/.config/${sysName} + mkdir -p $HOME/.config/${sysName} + cp -r ${assetPath}/* $HOME/.config/${sysName}/ + chmod -R u+w $HOME/.config/${sysName}/ + find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \; + ''; + }; + }; + + systemd.user.services.waybar = { + description = "Waybar for Hyprland"; + after = [ "graphical-session.target" ]; + wantedBy = [ "default.target" ]; + serviceConfig = { + ExecStart = "${pkgs.waybar}/bin/waybar"; + Restart = "always"; + Environment = '' + WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"} + XDG_CURRENT_DESKTOP=Hyprland + ''; + }; + }; +} diff --git a/Droidnix/generated/modules/desktop/wayland.nix b/Droidnix/generated/modules/desktop/wayland.nix new file mode 100644 index 000000000..8f64ab119 --- /dev/null +++ b/Droidnix/generated/modules/desktop/wayland.nix @@ -0,0 +1,25 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, ... }: + +{ + ################################# + # Core Wayland packages + ################################# + environment.systemPackages = with pkgs; [ + wayland + wl-clipboard # optional but commonly used for copy/paste + ]; + + ################################# + # enable graphics stack + ################################# + hardware.graphics.enable = true; + + ################################# + # Optional session variables for Wayland + ################################# + environment.sessionVariables = { + # Forces some apps to use Wayland + NIXOS_OZONE_WL = "1"; + }; +} diff --git a/Droidnix/generated/modules/desktop/xdg.nix b/Droidnix/generated/modules/desktop/xdg.nix new file mode 100644 index 000000000..8eb76357e --- /dev/null +++ b/Droidnix/generated/modules/desktop/xdg.nix @@ -0,0 +1,125 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +# --- 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"; + homeDir = "/home/${username}"; + + basePortal = pkgs.xdg-desktop-portal-gtk; + hyprlandPortal = pkgs.xdg-desktop-portal-hyprland; + +in +{ + ################################# + # XDG Desktop Portals (system) + ################################# + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + + extraPortals = [ + basePortal + hyprlandPortal + ]; + + config = { + common = { + default = [ "hyprland" "gtk" ]; + }; + + hyprland = { + default = [ "hyprland" "gtk" ]; + + "org.freedesktop.impl.portal.FileChooser" = [ "gtk" ]; + "org.freedesktop.impl.portal.Settings" = [ "gtk" ]; + "org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; + "org.freedesktop.impl.portal.Screenshot" = [ "hyprland" ]; + }; + }; + }; + + ################################# + # System packages + ################################# + environment.systemPackages = with pkgs; [ + basePortal + hyprlandPortal + xdg-utils + ]; + + ################################# + # Home Manager user config + ################################# + home-manager.users.${username} = { + + ################################# + # XDG user directories + ################################# + xdg.userDirs = { + enable = true; + createDirectories = true; + + desktop = null; + download = "${homeDir}/Downloads"; + documents = "${homeDir}/Documents"; + pictures = "${homeDir}/Pictures"; + music = "${homeDir}/Music"; + publicShare = "${homeDir}/PublicShare"; + templates = "${homeDir}/Templates"; + videos = "${homeDir}/Videos"; + + extraConfig = { + XDG_PROJECTS_DIR = "${homeDir}/Projects"; + XDG_WORK_DIR = "${homeDir}/Work"; + }; + }; + + ################################# + # MIME applications (FULL TRANSLATION) + ################################# + xdg.mimeApps = { + enable = true; + + ################################# + # Default Applications + ################################# + defaultApplications = { + # Web links + "x-scheme-handler/http" = "zen.desktop"; + "x-scheme-handler/https" = "zen.desktop"; + "x-scheme-handler/chrome" = "zen.desktop"; + + # Web / HTML + "text/html" = "zen.desktop"; + + "application/xhtml+xml" = "zen.desktop"; + "application/x-extension-html" = "zen.desktop"; + "application/x-extension-htm" = "zen.desktop"; + "application/x-extension-shtml" = "zen.desktop"; + "application/x-extension-xhtml" = "zen.desktop"; + "application/x-extension-xht" = "zen.desktop"; + + # Text files → Zed + "text/plain" = "dev.zed.Zed.desktop"; + + # Shell scripts (you had dual intent here) + "application/x-shellscript" = "kitty-open.desktop"; + }; + + ################################# + # Added Associations (fallback / "Open With") + ################################# + associations.added = { + "text/plain" = [ + "dev.zed.Zed.desktop" + ]; + + "application/x-shellscript" = [ + "dev.zed.Zed.desktop" + "kitty-open.desktop" + ]; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/system/audio.nix b/Droidnix/generated/modules/system/audio.nix new file mode 100644 index 000000000..9bee776fc --- /dev/null +++ b/Droidnix/generated/modules/system/audio.nix @@ -0,0 +1,28 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, ... }: +{ + ############################ + # Audio system + ############################ + + # Disable PulseAudio (PipeWire replaces it) + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; # PulseAudio compatibility layer + jack.enable = true; + }; + + environment.systemPackages = with pkgs; [ + pavucontrol # GUI mixer + pamixer # CLI mixer + playerctl # Player controls + alsa-utils # aplay, amixer etc. + pwvucontrol # PipeWire volume control (optional but useful) + alsa-tools # troubleshooting + ]; +} diff --git a/Droidnix/generated/modules/system/avahi.nix b/Droidnix/generated/modules/system/avahi.nix new file mode 100644 index 000000000..09afeee66 --- /dev/null +++ b/Droidnix/generated/modules/system/avahi.nix @@ -0,0 +1,12 @@ +# --- 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; + }; + }; +} diff --git a/Droidnix/generated/modules/system/bluetooth.nix b/Droidnix/generated/modules/system/bluetooth.nix new file mode 100644 index 000000000..1ca58b81e --- /dev/null +++ b/Droidnix/generated/modules/system/bluetooth.nix @@ -0,0 +1,19 @@ +# --- 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 ]; +} diff --git a/Droidnix/generated/modules/system/colors.nix b/Droidnix/generated/modules/system/colors.nix new file mode 100644 index 000000000..3a03779d5 --- /dev/null +++ b/Droidnix/generated/modules/system/colors.nix @@ -0,0 +1,69 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ lib, config, pkgs, flakeRoot, ... }: +let + colors = { + border = "#96cdd2"; + 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/css/colors.css" = { + source = "${flakeRoot}/generated/.config/shared/css/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; + }; + }; + }; +} diff --git a/Droidnix/generated/modules/system/copy_scripts.nix b/Droidnix/generated/modules/system/copy_scripts.nix new file mode 100644 index 000000000..5748f2f1c --- /dev/null +++ b/Droidnix/generated/modules/system/copy_scripts.nix @@ -0,0 +1,33 @@ +# --- 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/shared/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); + }; + }; +} diff --git a/Droidnix/generated/modules/system/dbus.nix b/Droidnix/generated/modules/system/dbus.nix new file mode 100644 index 000000000..98db4ded2 --- /dev/null +++ b/Droidnix/generated/modules/system/dbus.nix @@ -0,0 +1,19 @@ +# --- 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 +} diff --git a/Droidnix/generated/modules/system/firewall.nix b/Droidnix/generated/modules/system/firewall.nix new file mode 100644 index 000000000..9d9bd87e3 --- /dev/null +++ b/Droidnix/generated/modules/system/firewall.nix @@ -0,0 +1,73 @@ +# --- 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 + ]; +} diff --git a/Droidnix/generated/modules/system/gnome-keyring.nix b/Droidnix/generated/modules/system/gnome-keyring.nix new file mode 100644 index 000000000..30a2d016c --- /dev/null +++ b/Droidnix/generated/modules/system/gnome-keyring.nix @@ -0,0 +1,40 @@ +# --- 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; + + +} diff --git a/Droidnix/generated/modules/system/hypridle.nix b/Droidnix/generated/modules/system/hypridle.nix new file mode 100644 index 000000000..29f949d67 --- /dev/null +++ b/Droidnix/generated/modules/system/hypridle.nix @@ -0,0 +1,48 @@ +# --- 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" ]; + }; +} diff --git a/Droidnix/generated/modules/system/hyprlock.nix b/Droidnix/generated/modules/system/hyprlock.nix new file mode 100644 index 000000000..ec215e4a2 --- /dev/null +++ b/Droidnix/generated/modules/system/hyprlock.nix @@ -0,0 +1,49 @@ +# --- 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 = [ ]; + }; +} diff --git a/Droidnix/generated/modules/system/login-tuigreet.nix b/Droidnix/generated/modules/system/login-tuigreet.nix new file mode 100644 index 000000000..a6b50d808 --- /dev/null +++ b/Droidnix/generated/modules/system/login-tuigreet.nix @@ -0,0 +1,40 @@ +# --- 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 -e -D Hyprland hyprland.desktop" + ''; + user = "greeter"; + }; + }; + }; + ################################# + # Fix TTY / boot noise issues + ################################# + systemd.services.greetd.serviceConfig = { + Type = "idle"; + StandardInput = "tty"; + StandardOutput = "tty"; + StandardError = "journal"; + TTYPath = "/dev/tty1"; + TTYReset = true; + TTYVHangup = true; + TTYVTDisallocate = true; + }; +} diff --git a/Droidnix/generated/modules/system/networking.nix b/Droidnix/generated/modules/system/networking.nix new file mode 100644 index 000000000..39deab331 --- /dev/null +++ b/Droidnix/generated/modules/system/networking.nix @@ -0,0 +1,41 @@ +# --- 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 + ]; +} diff --git a/Droidnix/generated/modules/system/nix.nix b/Droidnix/generated/modules/system/nix.nix new file mode 100644 index 000000000..b33a5585b --- /dev/null +++ b/Droidnix/generated/modules/system/nix.nix @@ -0,0 +1,18 @@ +# --- 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; +} diff --git a/Droidnix/generated/modules/system/numlock-check.nix b/Droidnix/generated/modules/system/numlock-check.nix new file mode 100644 index 000000000..eac6b2535 --- /dev/null +++ b/Droidnix/generated/modules/system/numlock-check.nix @@ -0,0 +1,38 @@ +# --- 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"; + scriptSrc = "${flakeRoot}/generated/.config/shared/scripts/numlock-check.sh"; +in +{ + environment.systemPackages = [ pkgs.numlockx pkgs.libinput ]; + + home-manager.users.${username} = { + home.activation.installNumlockScript = { + after = [ "writeBoundary" ]; + before = []; + data = '' + mkdir -p $HOME/.config/shared/scripts + cp --remove-destination --dereference ${scriptSrc} $HOME/.config/shared/scripts/numlock-check.sh + chmod u+x $HOME/.config/shared/scripts/numlock-check.sh + ''; + }; + }; + + systemd.user.services.numlock-check = { + description = "Check and set numlock based on keyboard count"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "%h/.config/shared/scripts/numlock-check.sh"; + }; + }; + + systemd.user.timers.numlock-check = { + description = "Run numlock check periodically"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "5s"; + OnUnitActiveSec = "10s"; + }; + }; +} diff --git a/Droidnix/generated/modules/system/printing.nix b/Droidnix/generated/modules/system/printing.nix new file mode 100644 index 000000000..2c198447a --- /dev/null +++ b/Droidnix/generated/modules/system/printing.nix @@ -0,0 +1,16 @@ +# --- 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 + ]; +} diff --git a/Droidnix/generated/modules/system/quickshell.nix b/Droidnix/generated/modules/system/quickshell.nix new file mode 100644 index 000000000..193d4244c --- /dev/null +++ b/Droidnix/generated/modules/system/quickshell.nix @@ -0,0 +1,38 @@ +# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- +{ pkgs, lib, config, flakeRoot, quickshell, ... }: +let + username = config.defaultUser or "henrov"; + sysName = "quickshell"; + assetPath = "${flakeRoot}/generated/.config/${sysName}"; + quickshellPkg = quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default; +in +{ + environment.systemPackages = with pkgs; [ + quickshellPkg + qt6.qtdeclarative + qt6.qttools + qt6.qtsvg + qt6.qtimageformats + qt6.qtmultimedia + qt6.qt5compat + ]; + + qt = { + enable = true; + platformTheme = "qt5ct"; + }; + + home-manager.users.${username} = { + home.activation.quickshellMutableFiles = { + after = [ "writeBoundary" ]; + before = []; + data = '' + rm -rf $HOME/.config/${sysName} + mkdir -p $HOME/.config/${sysName} + cp -r ${assetPath}/* $HOME/.config/${sysName}/ + chmod -R u+w $HOME/.config/${sysName}/ + find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \; + ''; + }; + }; +} diff --git a/Droidnix/generated/modules/system/swaync.nix b/Droidnix/generated/modules/system/swaync.nix new file mode 100644 index 000000000..64f9ba18d --- /dev/null +++ b/Droidnix/generated/modules/system/swaync.nix @@ -0,0 +1,40 @@ +# --- 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" ]; + }; +}