From 7aed5259ef9557f20bfdf6c0977a707aaacf041e Mon Sep 17 00:00:00 2001 From: Henro Veijer Date: Sun, 22 Feb 2026 20:42:04 +0100 Subject: [PATCH] Systemd.enable = true --- system-master/README.html | 470 ++++++++++++------------ system-master/README.org | 2 - system-master/home/desktop/hyprland.nix | 2 - 3 files changed, 234 insertions(+), 240 deletions(-) diff --git a/system-master/README.html b/system-master/README.html index d2c341ff1..0793fffd8 100644 --- a/system-master/README.html +++ b/system-master/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -200,119 +200,119 @@

Table of Contents

-
-

1. Introduction

+
+

1. Introduction

Screenshot
@@ -375,8 +375,8 @@ Before proceeding with installation, it is strongly recommended to read this doc

-
-

2. Pre-requisites to edit this setup

+
+

2. Pre-requisites to edit this setup

  • a NIXOS system installed (can be bare-bones)
  • @@ -405,8 +405,8 @@ nmcli device status
-
-

3. machine1 — template machine

+
+

3. machine1 — template machine

To generate the Nix files: @@ -463,46 +463,46 @@ Other files in this repo include:

-
-

4. flake.lock for pinning input versions.

+
+

4. flake.lock for pinning input versions.

-
-

5. assets/* for non-Nix-managed artifacts such as images and wallpapers.

+
+

5. assets/* for non-Nix-managed artifacts such as images and wallpapers.

Generated outputs should not be edited directly. A CI workflow can tangle and commit generated outputs when they differ.

-
-

5.1. Emacs + Org + Tangle

+
+

5.1. Emacs + Org + Tangle

-
-

6. [Emacs](https://www.gnu.org/software/emacs/][Emacs) is used as the editor and execution environment for this literate configuration.

+
+

6. [Emacs](https://www.gnu.org/software/emacs/][Emacs) is used as the editor and execution environment for this literate configuration.

-
-

7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.

+
+

7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.

-
-

8. Tangling exports source blocks from this Org document into the corresponding configuration files.

+
+

8. Tangling exports source blocks from this Org document into the corresponding configuration files.

  • References of the form <<code-id>> are noweb placeholders that are expanded from other blocks during tangling.
-
-

8.1. Nix & NixOS

+
+

8.1. Nix & NixOS

-
-

9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.

+
+

9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.

-
-

10. [NixOS](https://nixos.org/][NixOS) evaluates Nix expressions into a complete system configuration that can be applied by rebuild operations.

+
+

10. [NixOS](https://nixos.org/][NixOS) evaluates Nix expressions into a complete system configuration that can be applied by rebuild operations.

-
-

10.1. Repository layout and folder conventions

+
+

10.1. Repository layout and folder conventions

This repository contains system modules, user modules, and configuration fragments. The following directories are treated as separate layers: @@ -513,8 +513,8 @@ To keep navigation consistent, the same internal substructure is used in all thr

-
-

10.2. Shared domain folders

+
+

10.2. Shared domain folders

  • core/ – base settings and common infrastructure
  • @@ -526,8 +526,8 @@ To keep navigation consistent, the same internal substructure is used in all thr
-
-

10.3. Full tree (including unchanged parts)

+
+

10.3. Full tree (including unchanged parts)

The tree below shows the full repository layout, with the standardized internal structure applied only inside @@ -643,8 +643,8 @@ The tree below shows the full repository layout, with the standardized internal

-
-

10.4. Notes

+
+

10.4. Notes

  • Only the internal layout of configuration/, home/, and assets/conf/ is standardized; all other paths remain as currently organized.
  • @@ -675,8 +675,8 @@ This prevents unwanted and surprise updates when rebuilding without changing the
-
-

11. TLDR App List

+
+

11. TLDR App List

@@ -755,8 +755,8 @@ This prevents unwanted and surprise updates when rebuilding without changing the
-
-

12. Configuration Variables

+
+

12. Configuration Variables

I have a bunch of constant strings that I would rather put in a file. Thats what user.nix is. @@ -773,8 +773,8 @@ The values are imported at the beginning and are available to almost all the fun

-
-

13. Flake Inputs

+
+

13. Flake Inputs

The inputs for my system's configuration are very simple @@ -811,8 +811,8 @@ Sometimes pinned to a specific commit because unstable broke something and the f

-
-

14. Flake Output

+
+

14. Flake Output

Now that the inputs are ready, the outputs define what the system will actually look like. I also define the machines that this configuration specifies early on. Finally, I iterate over the machines list and pull files from /.machines/${name} subdirectory. This allows me to have configuration that has machine specific configuration limited to those files while also keeping a modular reusable base. @@ -820,7 +820,7 @@ We also add a devshell that makes editing this repository easier in emacs.

-
outputs = inputs@{
+
outputs = inputs@{
   nixpkgs,
   home-manager,
   emacs-overlay,
@@ -881,7 +881,7 @@ Overlays are a special nix way to override existing packages within a repository
 

-
({ ... }: {
+
({ ... }: {
   nixpkgs.overlays = [ emacs-overlay.overlays.default ];
 })
 
@@ -891,7 +891,7 @@ Overlays are a special nix way to override existing packages within a repository Then the machine specific configuration, in this case, just "traveldroid".

-
./machines/${machine}/configuration.nix
+
./machines/${machine}/configuration.nix
 
@@ -901,7 +901,7 @@ This can be initialized and managed on its own but I'd rather use the nixo

-
home-manager.nixosModules.home-manager
+
home-manager.nixosModules.home-manager
 {
   home-manager.useGlobalPkgs = true;
   home-manager.useUserPackages = true;
@@ -944,8 +944,8 @@ Finally I pull in the machine specific home configuration. Along with the overri
 
-
-

14.1. Envrc + Direnv

+
+

14.1. Envrc + Direnv

Editing this file will be much nicer if we have the dev environment configured. @@ -966,14 +966,14 @@ fi

-
-

15. Machines

+
+

15. Machines

The individual machines subdirectory is configured as follows :-

-
+--machine
+
+--machine
 |  +--configuration.nix
 |  +--home.nix
 |  +--hardware-configuration.nix
@@ -994,12 +994,12 @@ This imported object (or function result) is just trivially merged into a common
 We can take a look at that the common hardware options I have for all my machines.
 

-
-

15.0.1. Other Utils

+
+

15.0.1. Other Utils

    -
  1. Updates
    +
  2. Updates

    To update the computer, I just need to update the flake.lock file to have references to the latest repository. This is done with :- @@ -1013,8 +1013,8 @@ To update the computer, I just need to update the flake.lock file t

-
-

16. Hardware

+
+

16. Hardware

I'll let the code comments explain the file here. @@ -1048,8 +1048,8 @@ I'll let the code comments explain the file here.

-
-

17. Configuration

+
+

17. Configuration

This section describes the main system configuration for the computers that I have. Nix will look for a default.nix file if you give it a path to a folder to import. And default.nix looks as follows :- @@ -1092,16 +1092,16 @@ This section describes the main system configuration for the computers that I ha

-
-

17.1. Apps section

+
+

17.1. Apps section

This section describes a way of installing packages, either through nixpkgs orr flatpak. What apps to instal is decided in the files ./assets/conf/apps/packages.conf and flatpaks.conf

-
-

17.2. installpackages.nix

+
+

17.2. installpackages.nix

{ config, lib, pkgs, flakeRoot, ... }:
@@ -1156,8 +1156,8 @@ in
 
-
-

17.3. installflatpaks.nix

+
+

17.3. installflatpaks.nix

{ config, pkgs, lib, flakeRoot, ... }:
@@ -1268,8 +1268,8 @@ in
 
-
-

17.4. Nix Settings

+
+

17.4. Nix Settings

These are global nix settings that configure the settings for the actual tool. @@ -1318,8 +1318,8 @@ These are global nix settings that configure the settings for the actual tool.

-
-

17.5. Boot

+
+

17.5. Boot

This file has most of the settings the control how the computer boots up. @@ -1357,16 +1357,16 @@ This file has most of the settings the control how the computer boots up.

-
-

17.6. Login

+
+

17.6. Login

Here we control what the login screen would look like. In configuration/default.nix you can choose whether to use tuigreet (very minimalistic) or LightDM (nicer, themeable)

-
-

17.7. Tuigreet

+
+

17.7. Tuigreet

Doesn't match the rest of the aesthetic of the system (with hyprland), but I like its simplicity. @@ -1391,8 +1391,8 @@ Doesn't match the rest of the aesthetic of the system (with hyprland), but I lik

-
-

17.8. LightDM

+
+

17.8. LightDM

{ config, pkgs, lib, ... }:
@@ -1539,8 +1539,8 @@ in
 
-
-

17.9. Terminal (default system)

+
+

17.9. Terminal (default system)

This is the initial system level configuration for the terminal that I use on this machine. Its just zsh. @@ -1559,8 +1559,8 @@ This is the initial system level configuration for the terminal that I use on th

-
-

17.10. Files

+
+

17.10. Files

I use Thunar as the file explorer. Also setup a few plugins for Thunar in this config. @@ -1601,8 +1601,8 @@ Along with that, a few other utilities like zip and enabling services to automou

-
-

17.11. Locale

+
+

17.11. Locale

I live in Netherlands and would like all my locale and timezone settings to match. Except my default locale. @@ -1636,8 +1636,8 @@ in

-
-

17.12. Networking

+
+

17.12. Networking

Not much to see here. I want networking to be enabled. I want firewall as well. @@ -1668,8 +1668,8 @@ Not much to see here. I want networking to be enabled. I want firewall as well.

-
-

17.13. Hyprland

+
+

17.13. Hyprland

This is a big one because the DE needs so much configuration. This section mostly installs Hyprland. @@ -1738,8 +1738,8 @@ The configuration is done in the home manager section.

-
-

17.14. Services

+
+

17.14. Services

These are some of the services that I enable at the system level. Explanation in the comments. @@ -1772,8 +1772,8 @@ These are some of the services that I enable at the system level. Explanation in

-
-

17.15. Audio

+
+

17.15. Audio

{ config, pkgs, lib, ... }:
@@ -1851,11 +1851,11 @@ These are some of the services that I enable at the system level. Explanation in
 
-
-

17.16. Miscellaneous Packages and Programs

+
+

17.16. Miscellaneous Packages and Programs

-
environment.systemPackages = with pkgs; [
+
environment.systemPackages = with pkgs; [
   wget       # fetch utility
   curl       # more fetch utility
   binutils   # executable utilities, like ld
@@ -1883,7 +1883,7 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
 
-
programs = {
+
programs = {
   nix-ld.enable = true;   # helps with linking troubles with dynamic libraries
   appimage.enable = true; # allow appimage installations
   dconf.enable = true;    # to save user settings
@@ -1899,14 +1899,14 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
 
-
-

17.17. Fonts

+
+

17.17. Fonts

Nothing much to see here. I love Aporetic, and I use it everywhere.

-
fonts.packages = with pkgs; [
+
fonts.packages = with pkgs; [
   aporetic
   nerd-fonts.iosevka
 ];
@@ -1914,14 +1914,14 @@ Nothing much to see here. I love 
-

17.18. User Config

+
+

17.18. User Config

This creates the user profile that I login with. Initially created during install.

-
users.users.${user.username} = {
+
users.users.${user.username} = {
   isNormalUser = true;
   description = "henrov";
   extraGroups = [
@@ -1936,8 +1936,8 @@ This creates the user profile that I login with. Initially created during instal
 
-
-

18. Home

+
+

18. Home

I use home-manager to manage my user level dotfiles and configurations. @@ -1945,8 +1945,8 @@ Most of the "theme" of the system is decided here. I also use it to install programs that are okay with being installed at the user level instead of the system.

-
-

18.1. default.nix

+
+

18.1. default.nix

This module will import all necessities. @@ -1982,8 +1982,8 @@ This module will import all necessities.

-
-

18.2. Wallpaper

+
+

18.2. Wallpaper

wallpaper.nix installs wpaperd and deploys your wallpaper files from the repo (./assets/conf/desktop/wallpaper/pictures/) into ~/conf/desktop/wallpaper/pictures. It also deploys the default wallpaper configuration from assets/conf/desktop/wallpaper/wallpaper.conf into ~/conf/desktop/wallpaper/wallpaper.conf, which is the file you can edit as a user override. @@ -2037,11 +2037,11 @@ in

-
-

18.3. Waybar

+
+

18.3. Waybar

-
+

waybar.png

@@ -2078,8 +2078,8 @@ in
-
-
-

18.5. Idle Screen

+
+

18.5. Idle Screen

<henro: needs instruction> @@ -2120,8 +2120,8 @@ in

-
-

18.6. Hyprshell

+
+

18.6. Hyprshell

For nice task-starting and -switching @@ -2161,8 +2161,8 @@ in

-
-

18.7. Hyprland

+
+

18.7. Hyprland

This configures the desktop environment along with the peripherals. The comments should explain whats happening. @@ -2178,8 +2178,6 @@ in wayland.windowManager.hyprland = { enable = true; - systemd.enable = false; - # Load base config + bindings from repo files extraConfig = (builtins.readFile hyprConf) @@ -2197,8 +2195,8 @@ in

-
-

18.8. Walker

+
+

18.8. Walker

This is how I launch applications. It is bound to Win+Space in the ./asstes/conf/desktop/hypr/bindings.conf. @@ -2299,8 +2297,8 @@ in

-
-

18.9. Theme

+
+

18.9. Theme

I use the Catppuccin almost everywhere. The nix module integrates almost automatically everywhere (except gtk). @@ -2333,8 +2331,8 @@ You'll notice the color values in multiple places outside this as well.

-
-

18.10. Default-apps

+
+

18.10. Default-apps

This is where you can set defaults @@ -2353,8 +2351,8 @@ This is where you can set defaults

-
-

18.11. Hyperexpo

+
+

18.11. Hyperexpo

hyprexpo gets installed and configured @@ -2394,8 +2392,8 @@ hyprexpo gets installed and configured

-
-

18.12. Alacritty

+
+

18.12. Alacritty

Alacritty gets installed and configured @@ -2417,8 +2415,8 @@ in

-
-

18.13. Dev Tools

+
+

18.13. Dev Tools

All the miscellaneous dev tools on this computer. @@ -2477,8 +2475,8 @@ All the miscellaneous dev tools on this computer.

-
-

18.14. Kitty

+
+

18.14. Kitty

Kitty gets installed and configured @@ -2502,8 +2500,8 @@ in

-
-

18.15. Shells

+
+

18.15. Shells

The aliases mentioned in ./assets/conf/dev/terminal/shells.conf will be added to enabled shells @@ -2726,8 +2724,8 @@ EOF

-
-

18.16. Zsh

+
+

18.16. Zsh

Zsh gets installed and configured @@ -2770,8 +2768,8 @@ in

-
-

18.17. Starship

+
+

18.17. Starship

The configuration mentioned in ./assets/conf/dev/terminal/starship.toml will be added to enabled shells @@ -2803,18 +2801,18 @@ in

-
-

18.18. Other Settings

+
+

18.18. Other Settings

Some repeated info from the configuration.

-
-

18.18.1. Home User

+
+

18.18.1. Home User

-
home.username = "${user.username}";
+
home.username = "${user.username}";
 home.homeDirectory = pkgs.lib.mkDefault "/home/${user.username}";
 home.stateVersion = user.stateVersion;
 
@@ -2823,8 +2821,8 @@ home.stateVersion = user.stateVersion;
-
-

19. Emacs

+
+

19. Emacs

I practically live inside emacs. The configuration for it is a mix between init.el and the nix configuration. @@ -2903,8 +2901,8 @@ Comments describe the emacs package and what it does.

-
-

19.1. Early Initialization

+
+

19.1. Early Initialization

There are some emacs settings that can be configured before the gui shows up. @@ -3009,8 +3007,8 @@ These are listed here.

-
-

19.2. Initialization

+
+

19.2. Initialization

Now starts the main emacs configuration. @@ -3422,22 +3420,22 @@ ting a file within such a

-
-

20. Machines

+
+

20. Machines

Only a few more things left. Specifically the machine level extra settings.

-
-

20.1. Traveldroid

+
+

20.1. Traveldroid

The configuration for the laptop does not change much. Most changes are because the hardware is different.

-
-

20.1.1. System Level

+
+

20.1.1. System Level

Nothing specific for the laptop. @@ -3455,8 +3453,8 @@ Nothing specific for the laptop.

-
-

20.1.2. Hardware

+
+

20.1.2. Hardware

This is the most different. Mostly taken from hardware-configuration.nix setup at first install. @@ -3505,8 +3503,8 @@ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistr

-
-

20.1.3. Home

+
+

20.1.3. Home

This is mostly about configuring the monitor. And laptop specific utilities. @@ -3533,18 +3531,18 @@ This is mostly about configuring the monitor. And laptop specific utilities.

-
-

21. README Utils

+
+

21. README Utils

-
-

21.0.1. Headers

+
+

21.0.1. Headers

This script adds a DO NOT MODIFY header to all the generated nix files.

-
(progn
+
(progn
   (defun add-tangle-headers ()
     (message "running in %s" (buffer-file-name))
     (when (string= (file-name-extension (buffer-file-name)) "nix")
@@ -3561,7 +3559,7 @@ This script adds a DO NOT MODIFY header to all the generated nix fi
 

Author: henrov

-

Created: 2026-02-22 zo 20:27

+

Created: 2026-02-22 zo 20:41

Validate

diff --git a/system-master/README.org b/system-master/README.org index 63baef372..74a42c766 100755 --- a/system-master/README.org +++ b/system-master/README.org @@ -1497,8 +1497,6 @@ in wayland.windowManager.hyprland = { enable = true; - systemd.enable = false; - # Load base config + bindings from repo files extraConfig = (builtins.readFile hyprConf) diff --git a/system-master/home/desktop/hyprland.nix b/system-master/home/desktop/hyprland.nix index f6e02422a..8f31c0e2e 100644 --- a/system-master/home/desktop/hyprland.nix +++ b/system-master/home/desktop/hyprland.nix @@ -8,8 +8,6 @@ in wayland.windowManager.hyprland = { enable = true; - systemd.enable = true; - # Load base config + bindings from repo files extraConfig = (builtins.readFile hyprConf)