As my configuration was getting more and more complex, I thought it was
time to switch to a completely modular approach. A local module system
has been created, containing profiles (some will be added later, as I
went with as generic as I could, but I would like to make them more
specialized).
NixOS and home-manager modules have also been separated, which I don't
like too much, and will switch to a cleaner implementation of home
management systems.
commit 09a07b15da
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Jan 15 22:56:32 2025 +0100
treewide: config/home-manager -> modules/hm
Moved every remaining home-manager piece of configuration to its own
hm
module.
commit d7356d3fde
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Jan 15 14:55:03 2025 +0100
modules/nix/services: add keyd
commit c846cc95ae
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 21:41:13 2025 +0100
flake: update inputs
commit 94d59b47b3
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 21:41:09 2025 +0100
modules/nix/services: remove kanata
commit 4429b604dd
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 21:41:01 2025 +0100
config/home-manager: remove services/udiskie.nix
commit 376024d4a5
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 20:06:31 2025 +0100
treewide: config/home-manager/services -> modules/hm/services
commit b808281674
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 19:33:31 2025 +0100
treewide: config/home-manager -> modules/hm
Started moving HM config to the new local modules system.
Conditionally
toggling based on profiles and modules.
commit 2b77ac239e
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 15:10:49 2025 +0100
treewide: config/nixos/services -> modules/nix/services
Moved every service in their own module, and conditionally enable
them
based on profiles.
commit 7aadc0c8fe
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 14:44:38 2025 +0100
modules/nix/programs/hyprland: make chromium/electron apps run on
Wayland
commit ec285bcc52
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 13:58:52 2025 +0100
treewide: config/nixos/programs -> modules/nix/programs
Here, we also use the option we just added,
`local.modules.hyprland.enable` to toggle Hyprland, as well as the
profiles. Also removed other unused configuration, such as KDE/Gnome.
commit 76a2caa9c7
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 14:07:41 2025 +0100
options/modules: add options for Hyprland
commit 9f3d6ae768
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 13:56:56 2025 +0100
config/nix/programs: cleanup unused files
commit f3c08b8431
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 13:55:17 2025 +0100
treewide: config/nixos/programs/fonts -> modules/nix/core/fonts
commit c37f00205b
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 13:49:29 2025 +0100
treewide: config/nixos/nix -> modules/nix/core/nix.nix
commit a734372732
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 13:43:23 2025 +0100
treewide: config/nixos/network -> modules/nix/core/networking
commit 07a9c5f510
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 12:34:01 2025 +0100
treewide: move hardware into modules
commit 7d1baf7eb5
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 12:33:21 2025 +0100
options: use mkIf for assertions
commit 9b01b40253
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 12:33:00 2025 +0100
hosts: set profiles
We set profiles before moving the config so nothing breaks and we
keep a
working commit history :)
commit 65ea8beba0
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 12:22:06 2025 +0100
options: remove isServer since we have server profile
commit 7906864ae1
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 12:21:49 2025 +0100
options/profiles: add laptop profile
commit 99b6b41de3
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 12:01:33 2025 +0100
treewide: migrate config/system/core to modules
Moved everything from core into modules. I want to get all the NixOS
stuff moved first, and do home-manager after. I used the different
profiles to disable configuration that might break my server, as it
has
its own configuration already. This will need to be refactored
later, as
I want to ultimately only use the local module system.
commit b89a42ef13
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 11:59:59 2025 +0100
modules/options: add profiles
The next step in the refactoring is to add different profiles, so
that
we may toggle them easily in our hosts. Here's the profiles I went
for:
- desktop: enables everything a desktop computer needs (graphics,
productivity apps, base apps such as browsers...)
- gaming: enables gaming configurations (steam, gamescope...)
- server: enables server configurations (website hosting, git
forge...)
I made sure the server profile can not be enabled if desktop/gaming
are
enabled, as it would not make sense to have desktop applications and
configurations on a server.
commit 851024052d
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 11:02:13 2025 +0100
modules: move style to nix/style
This is temporary, as we're going to get rid of that awkward style
module that was meant to be shared, but ended up being too specific
to
my use-case. We just put it in a nix directory for now, as we will
with
everything else. This will be refactored later to be mixed with the
relevant program's configuration.
commit bb55875491
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Tue Jan 14 10:56:34 2025 +0100
treewide: move shared/nixosModules to modules
The idea of this refactor is, as the configuration is getting bigger
and
more complex, to move everything into a local modules system. The
idea
is to simplify hosts declaration and add a new layer of abstraction
to
avoid the long and redundant imports in hosts/default.nix, that I am
currently using.
First, we're going to move everything to the modules directory, and
split options from the proper configuration. That allows us to have
an
easier time understanding how the options are structured, as they
will
follow the directory structure and won't be mixed with the module
configuration.
I have decided to refactor the entire structure of my repository, as the
old one was getting quite cluttered and I needed something that made
more sense. I've decided to go with the following, which will be
explained in the README when I find the time to do it. The gist of it
is:
- Put everything shared into its shared directory
- Rewrite the theme module (now style) to be more split, as it is
theming a lot of different apps
- Merge nixos and home-manager configurations back into a singular
config directory
Thanks a lot to llakala for the massive help she was with my Nix code.
commit 66ff9820f8
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 19:23:28 2024 +0100
shared/nixosModules/style: use sharedModules
commit 1271294049
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 19:23:13 2024 +0100
treewide: remove unused nvidia file
commit ab18a42418
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 19:02:34 2024 +0100
flake: remove uneeded directory for nodes
commit f8afc9f461
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 18:43:19 2024 +0100
shared/nixosModules/style: split everything into its file
commit 851a4d0d32
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 11:15:40 2024 +0100
repo: update README
commit e01237d59a
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 11:00:56 2024 +0100
hosts/solaire: delete unused modules directory
commit 1c3665ec1c
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 11:00:24 2024 +0100
pkgs: move to shared/pkgs
commit 587e8d321b
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 10:57:03 2024 +0100
treewide: split up options from theming module, rename to style
As an initial step towards refactoring the theming module, the options
have been split up from the configuration itself. This will allow to
find available options quicker, and separate concerns nicely. It was
also renamed to style, to avoid confusion with its own options (eg.
gtk.theme).
commit 87bb04f065
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 10:19:59 2024 +0100
config/nixos/core/boot: remove unused arguments
commit 8e7c0584ef
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 10:19:46 2024 +0100
hosts: move host-specific configuration to hosts/{host}/config
commit a600143e8a
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 10:19:24 2024 +0100
nvidia: move to hosts/solaire
commit 7174a33a44
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 10:14:06 2024 +0100
treewide: reorganize general structure
commit b86f1470ed
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 10:03:08 2024 +0100
hosts/solaire: set global vars
commit de6ea242c0
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 09:24:59 2024 +0100
system/network: replace hard-coded values with global vars
commit 5acf11adca
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 09:24:51 2024 +0100
system/core/users: replace hard-coded values with global vars
commit 96425172a0
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 09:24:30 2024 +0100
hosts/vamos: set global vars
commit 8338818b7d
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 09:24:23 2024 +0100
hosts: import local modules by default
commit ffb60ac869
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 09:23:54 2024 +0100
flake: update eachSystem to use lib.systems.flakeExposed
commit e98a15db1d
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Dec 18 09:23:33 2024 +0100
modules: create modules to hold global variables
Initially, I was using a weird combination of options in order to apply
my theme dynamically. I was setting a read-only option from inside my
modules, which was then used in every application that required it. What
I ended up doing is refactoring everything in order to be inside of my
theme module, and automatically configured when enabled, without doing
any mkMerge/mkIf shenanigans in my other pieces of configuration. This
is healthier, although it should be split up as the theme/default.nix
got quite big.
I decided to refactor how the theme module works. The idea is, that I
wanted originally a module that I could give a base16 scheme name to,
and use that globally in my config. However, scheme only took the base16
scheme name without any checks, which was pretty bad. I ended up
creating a new option, schemeName, that scheme is computed from. It then
makes the whole configuration cleaner, and avoids long inputs
interpolations with the scheme name.
This commit implements Niri, a window manager, alongside a whole suite
of programs needed for a comfortable desktop experience.
commit e5171c221e
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Mon Oct 7 18:43:48 2024 +0200
home/programs: add cinny, a matrix client
commit 4277ad8417
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Mon Oct 7 18:43:37 2024 +0200
home/programs/gtk: set gtk-application-prefer-dark-theme based on global variant
commit 44560d184d
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Mon Oct 7 18:43:00 2024 +0200
home/programs/niri: add compose key on ralt
commit abb1350b9b
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Mon Oct 7 18:36:41 2024 +0200
home/programs/xdg: add zathura as default pdf reader
commit 962a5beda6
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Mon Oct 7 18:35:29 2024 +0200
home/programs/media: add zathura
commit 5a9b20ae35
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Mon Oct 7 18:31:44 2024 +0200
home/terminal/emulators/foot: add fish back as default shell
commit b3466f2db3
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Mon Oct 7 18:31:21 2024 +0200
home/terminal/shell: add nushell config, add back fish
commit ef8d1cba3f
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 23:20:24 2024 +0200
home/terminal/emulators/foot: set nushell as default shell
commit 0d866a35b0
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 23:20:11 2024 +0200
home/shell: add nushell
commit 172b3592da
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 22:43:01 2024 +0200
home/programs/media: add celluloid (mpv front-end)
commit 15abf4174d
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 22:21:04 2024 +0200
home/programs: import media, xdg and add yazi
commit 284d27ecf6
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 22:20:39 2024 +0200
home/programs/browsers: set custom search engines for firefox
commit 7f8ae63483
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 22:20:21 2024 +0200
home/programs/xdg: set default mime apps
commit fd0fbad80d
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 22:19:58 2024 +0200
home/programs/media: add programs
commit 936f58de75
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 22:19:15 2024 +0200
home/terminal: add $EDITOR
commit 4bb7f32c2b
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 22:19:01 2024 +0200
system/programs/home-manager: add backup file extension
commit e24ab1eb95
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 17:48:46 2024 +0200
repo: move everything gtk into modules
This is mostly so that applications like ReGreet, which are managed by
NixOS instead of HM, can also use the same GTK settings. It reduces
repeating code by a lot and allows changing themes way more easily now.
commit 6e0076c7ef
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 15:57:49 2024 +0200
system/services/logind: suspend on lid close
commit ec0ef6c248
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 15:57:33 2024 +0200
home/programs: add fractal, a matrix GUI
commit afaf919a8c
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 15:57:20 2024 +0200
home/programs/gtk: disable gtk decoration buttons
commit c5fdfffaf6
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 15:57:08 2024 +0200
home/programs/swayidle: add configuration, setup with loginctl
commit 7f98200cd8
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:15:21 2024 +0200
home/programs/niri: separate binds from config
commit ceeb9d14ab
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:14:52 2024 +0200
profiles/vamos: import swaylock
commit f8a7ac40e6
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:14:35 2024 +0200
lib: simplify rgba function
commit 7e9a7d8e1e
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:13:55 2024 +0200
home/programs/swaylock: add full configuration (with base16 theming)
commit bb91e2a20e
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:13:41 2024 +0200
home/gtk: make cursor bigger
commit c0c6a9b352
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:12:26 2024 +0200
home/programs/fuzzel: theme with base16
commit 05e4923703
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:11:51 2024 +0200
core/security: disable sudo password for wheel
commit be151ba76b
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:11:23 2024 +0200
services/regreet: enable gnome keyring, disable fprint auth
commit 7b22fd5ca7
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Sun Oct 6 12:11:01 2024 +0200
programs/niri: add PAM strategy for swaylock with fprintd
commit c7c8108bc4
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Thu Oct 3 13:55:23 2024 +0200
home/programs/niri: bind brightness keys
commit fcbad25a2a
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Thu Oct 3 13:54:52 2024 +0200
services/brightness: add brillo for backlight
commit fcd23e73c3
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Thu Oct 3 11:18:45 2024 +0200
home/programs/ags: add example bar
commit 3516d7bcff
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Thu Oct 3 11:18:26 2024 +0200
home/programs/niri: remove pointer (in gtk.nix now)
commit d42e9005e5
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Thu Oct 3 11:18:00 2024 +0200
system/hardware/power: move to services, add upower
commit 837182ae0c
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Thu Oct 3 11:17:23 2024 +0200
gtk: add theming
commit f72599896e
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Oct 2 19:59:58 2024 +0200
niri: add ags, mako and swaybg
commit 73edc8f90e
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Oct 2 17:28:07 2024 +0200
home/programs/niri: add binds
commit 9acd24afd4
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Oct 2 16:45:43 2024 +0200
repo: add niri hm config, theme nixos instead of hm, add regreet/greetd config
commit f7c4be7334
Author: Anthony Rodriguez <anthony@nezia.dev>
Date: Wed Oct 2 11:54:15 2024 +0200
niri: add functioning base