diff --git a/system-master/README.html b/system-master/README.html index 252c66206..72fa629c0 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">
- +flake.lock for pinning input versions.assets/* for non-Nix-managed artifacts such as images and wallpapers.
+flake.lock for pinning input versions.assets/* for non-Nix-managed artifacts such as images and wallpapers.

To generate the Nix files: @@ -463,46 +463,46 @@ Other files in this repo include:
flake.lock for pinning input versions.flake.lock for pinning input versions.assets/* for non-Nix-managed artifacts such as images and wallpapers.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.
<<code-id>> are noweb placeholders that are expanded from other blocks during tangling.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
core/ – base settings and common infrastructureThe 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
configuration/, home/, and assets/conf/ is standardized; all other paths remain as currently organized.
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
The inputs for my system's configuration are very simple @@ -801,10 +801,7 @@ Sometimes pinned to a specific commit because unstable broke something and the f inputs.nixpkgs.follows = "nixpkgs"; }; catppuccin = { - url = "github:catppuccin/nix";zen-browser = { - url = "github:youwen5/zen-browser-flake"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + url = "github:catppuccin/nix"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser = { @@ -818,8 +815,8 @@ Sometimes pinned to a specific commit because unstable broke something and the f
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.
@@ -827,7 +824,7 @@ We also add a devshell that makes editing this repository easier in emacs.
outputs = inputs@{
+outputs = inputs@{
nixpkgs,
home-manager,
emacs-overlay,
@@ -888,7 +885,7 @@ Overlays are a special nix way to override existing packages within a repository
-({ ... }: {
+({ ... }: {
nixpkgs.overlays = [ emacs-overlay.overlays.default ];
})
@@ -898,7 +895,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
@@ -908,7 +905,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;
@@ -951,8 +948,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.
@@ -973,14 +970,14 @@ fi
-
-15. Machines
+
+15. Machines
The individual machines subdirectory is configured as follows :-
-+--machine
++--machine
| +--configuration.nix
| +--home.nix
| +--hardware-configuration.nix
@@ -1001,12 +998,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
-
-16. Hardware
+
+16. Hardware
I'll let the code comments explain the file here.
@@ -1055,8 +1052,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 :-
@@ -1099,16 +1096,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, inputs, ... }:
@@ -1168,8 +1165,8 @@ in
-
-17.3. installflatpaks.nix
+
+17.3. installflatpaks.nix
{ config, pkgs, lib, flakeRoot, ... }:
@@ -1280,8 +1277,8 @@ in
-
-17.4. Nix Settings
+
+17.4. Nix Settings
These are global nix settings that configure the settings for the actual tool.
@@ -1330,8 +1327,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.
@@ -1369,16 +1366,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.
@@ -1403,8 +1400,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, ... }:
@@ -1551,8 +1548,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.
@@ -1571,8 +1568,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.
@@ -1613,8 +1610,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.
@@ -1648,8 +1645,8 @@ in
-
-17.12. Networking
+
+17.12. Networking
Not much to see here. I want networking to be enabled. I want firewall as well.
@@ -1680,8 +1677,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.
@@ -1752,8 +1749,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.
@@ -1786,8 +1783,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, ... }:
@@ -1865,11 +1862,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
@@ -1897,7 +1894,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
@@ -1913,14 +1910,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
];
@@ -1928,14 +1925,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 = [
@@ -1950,8 +1947,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.
@@ -1959,8 +1956,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.
@@ -1996,8 +1993,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.
@@ -2051,11 +2048,11 @@ in
-
-18.3. Waybar
+
+18.3. Waybar
-
+
@@ -2092,8 +2089,8 @@ in
-
-18.4. Lock Screen
+
+18.4. Lock Screen
The lock screen configured using hyprlock.
@@ -2115,8 +2112,8 @@ in
-
-18.5. Idle Screen
+
+18.5. Idle Screen
<henro: needs instruction>
@@ -2134,8 +2131,8 @@ in
-
-18.6. Hyprshell
+
+18.6. Hyprshell
For nice task-starting and -switching
@@ -2175,8 +2172,8 @@ in
-
-18.7. Hyprland
+
+18.7. Hyprland
This configures the desktop environment along with the peripherals. The comments should explain whats happening.
@@ -2226,8 +2223,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.
@@ -2328,8 +2325,8 @@ in
-
-18.9. Theme
+
+18.9. Theme
I use the Catppuccin almost everywhere. The nix module integrates almost automatically everywhere (except gtk).
@@ -2362,8 +2359,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
@@ -2382,8 +2379,8 @@ This is where you can set defaults
-
-18.11. Hyperexpo
+
+18.11. Hyperexpo
hyprexpo gets installed and configured
@@ -2423,8 +2420,8 @@ hyprexpo gets installed and configured
-
-18.12. Alacritty
+
+18.12. Alacritty
Alacritty gets installed and configured
@@ -2446,8 +2443,8 @@ in
-
-18.13. Dev Tools
+
+18.13. Dev Tools
All the miscellaneous dev tools on this computer.
@@ -2506,8 +2503,8 @@ All the miscellaneous dev tools on this computer.
-
-18.14. Kitty
+
+18.14. Kitty
Kitty gets installed and configured
@@ -2531,8 +2528,8 @@ in
-
-18.15. Shells
+
+18.15. Shells
The aliases mentioned in ./assets/conf/dev/terminal/shells.conf will be added to enabled shells
@@ -2755,8 +2752,8 @@ EOF
-
-18.16. Zsh
+
+18.16. Zsh
Zsh gets installed and configured
@@ -2799,8 +2796,8 @@ in
-
-18.17. Starship
+
+18.17. Starship
The configuration mentioned in ./assets/conf/dev/terminal/starship.toml will be added to enabled shells
@@ -2832,18 +2829,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;
@@ -2852,8 +2849,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.
@@ -2932,8 +2929,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.
@@ -3038,8 +3035,8 @@ These are listed here.
-
-19.2. Initialization
+
+19.2. Initialization
Now starts the main emacs configuration.
@@ -3451,22 +3448,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.
@@ -3484,8 +3481,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.
@@ -3534,8 +3531,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.
@@ -3562,18 +3559,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")
@@ -3590,7 +3587,7 @@ This script adds a DO NOT MODIFY header to all the generated nix fi
diff --git a/system-master/README.org b/system-master/README.org
index 41aee9c1d..b231c9a40 100755
--- a/system-master/README.org
+++ b/system-master/README.org
@@ -322,10 +322,7 @@ The inputs for my system's configuration are very simple
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = {
- url = "github:catppuccin/nix";zen-browser = {
- url = "github:youwen5/zen-browser-flake";
- inputs.nixpkgs.follows = "nixpkgs";
- };
+ url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
diff --git a/system-master/flake.lock b/system-master/flake.lock
index 44c9d7534..10e174568 100644
--- a/system-master/flake.lock
+++ b/system-master/flake.lock
@@ -98,7 +98,28 @@
"catppuccin": "catppuccin",
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
- "nixpkgs": "nixpkgs"
+ "nixpkgs": "nixpkgs",
+ "zen-browser": "zen-browser"
+ }
+ },
+ "zen-browser": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1771735013,
+ "narHash": "sha256-QAh0iw/AgjcaNvBE5OIZstxVxagLVK0RAuH7EhIL/N8=",
+ "owner": "youwen5",
+ "repo": "zen-browser-flake",
+ "rev": "32b69f03007507fc012be9203efdd414f4bc0d66",
+ "type": "github"
+ },
+ "original": {
+ "owner": "youwen5",
+ "repo": "zen-browser-flake",
+ "type": "github"
}
}
},
diff --git a/system-master/flake.nix b/system-master/flake.nix
index b14560a6f..008ae4878 100644
--- a/system-master/flake.nix
+++ b/system-master/flake.nix
@@ -11,10 +11,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = {
- url = "github:catppuccin/nix";zen-browser = {
- url = "github:youwen5/zen-browser-flake";
- inputs.nixpkgs.follows = "nixpkgs";
- };
+ url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {