Restructure system-modules and bump flake.lock

- Consolidate enable flags into a `packages` attribute in all host
system-modules.nix files. - Rename package option paths to
`config.packages.<name>.enable` in modules/core/packages/packages.nix. -
Update locked revisions (lastModified, narHash, rev) for firefox‑addons
and stylix in flake.lock.
This commit is contained in:
2025-11-30 14:05:19 +01:00
parent 8d3fd7dbe2
commit be74b351e8
5 changed files with 164 additions and 206 deletions

12
flake.lock generated
View File

@@ -143,11 +143,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1764389080, "lastModified": 1764475519,
"narHash": "sha256-BEn1Z9Uv20u2DS6wzLKdzx5kAzynM3wMQ9JnGf3VJvI=", "narHash": "sha256-12TAT2CD+L+wdIHszQnPyu8zGSBxcazoVZmP6UQjk6s=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "897437c09bf22ce59efb3370f0783d0c662dba31", "rev": "1172c39fb0e847a7f036e480d94f629edcf2cf46",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -523,11 +523,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1764254063, "lastModified": 1764451865,
"narHash": "sha256-V22JzkaTLF/GAL2LgqvOsJhAr8JbJsKaD8hnHjGwXfE=", "narHash": "sha256-d4tfTm3ccp4rx7W1WW1BzSkTgEeMd4cZvhAJ7lP145M=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "a1451bc40413870f0c7b576b751c1ca92055e323", "rev": "8a096ccec828c68bfb870295d186ad994ea0ae2c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -3,88 +3,74 @@ _: {
Container & Packaging Container & Packaging
*/ */
docker.enable = true; # Docker: container runtime and management docker.enable = true; # Docker: container runtime and management
distrobox.enable = false; # Distrobox: containerized development environments
flatpak = { flatpak = {
enable = true; # Flatpak: universal packaging system for Linux enable = true; # Flatpak: universal packaging system for Linux
packages = { packages = {
sober = true; # Enable Roblox Client sober = false; # Roblox client
warehouse = true; # Enable Flatpak manager warehouse = true; # Flatpak manager
flatseal = true; # Enable Flatpak permissions manager flatseal = true; # Flatpak permissions manager
}; };
}; };
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
/* /*
Gaming Gaming
*/ */
gamemode.enable = true; # GameMode: optimizes system performance for gaming gamemode.enable = true; # GameMode: optimizes system performance for gaming
gamescope.enable = false; # Gamescope: microcompositor for games
gamescope.enable = false; # Gamescope: micro-compositor for games
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
steam.enable = true; # Steam: platform for buying and playing games steam.enable = true; # Steam: platform for buying and playing games
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game packages = {
/*
Container & Packaging
*/
distrobox.enable = false; # Distrobox: containerized development environments
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
ttySolitaire.enable = true; # TTY Solitaire: terminal based solitaire game /*
Gaming
*/
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
ttySolitaire.enable = true; # TTY Solitaire: terminalbased solitaire game
/* /*
Development Tools Development Tools
*/ */
exercism.enable = true; # Exercism: coding practice platform exercism.enable = true; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git
gedit.enable = false; # Gedit: GNOME text editor
lazygit.enable = false; # Lazygit: simple TUI for git
opencode.enable = true; # OpenCode: tools for coding and development opencode.enable = true; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI jan.enable = true; # Jan: AI chat UI
/* /*
Communication & Collaboration Communication & Collaboration
*/ */
mattermost.enable = true; # Mattermost: open-source Slack alternative mattermost.enable = true; # Mattermost: opensource Slack alternative
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = true; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
/* /*
Productivity / Knowledge Management Productivity / Knowledge Management
*/ */
bitwarden.enable = false; # Bitwarden: password manager (desktop) bitwarden.enable = false; # Bitwarden: password manager (desktop)
iotas.enable = true; # Iotas: lightweight notes manager iotas.enable = true; # Iotas: lightweight notes manager
logseq.enable = false; # Logseq: knowledge base and outliner logseq.enable = false; # Logseq: knowledge base and outliner
/* /*
Media & Graphics Media & Graphics
*/ */
affinity.enable = false; # Affinity: professional graphics suite affinity.enable = false; # Affinity: professional graphics suite
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program
gimp.enable = false; # GIMP: gnu image manipulation program
kdenlive.enable = false; # Kdenlive: video editing software kdenlive.enable = false; # Kdenlive: video editing software
plex.enable = true; # Plex: media player and server client plex.enable = true; # Plex: media player and server client
/* /*
Utilities / Misc Utilities / Misc
*/ */
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
galculator.enable = true; # Galculator: simple calculator galculator.enable = true; # Galculator: simple calculator
gedit.enable = false; # Gedit: GNOME text editor
winboat.enable = false; # Winboat: Windows remote desktop via RDP winboat.enable = false; # Winboat: Windows remote desktop via RDP
};
} }

View File

@@ -3,88 +3,74 @@ _: {
Container & Packaging Container & Packaging
*/ */
docker.enable = true; # Docker: container runtime and management docker.enable = true; # Docker: container runtime and management
distrobox.enable = false; # Distrobox: containerized development environments
flatpak = { flatpak = {
enable = true; # Flatpak: universal packaging system for Linux enable = true; # Flatpak: universal packaging system for Linux
packages = { packages = {
sober = true; # Enable Roblox Client sober = false; # Roblox client
warehouse = true; # Enable Flatpak manager warehouse = true; # Flatpak manager
flatseal = true; # Enable Flatpak permissions manager flatseal = true; # Flatpak permissions manager
}; };
}; };
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
/* /*
Gaming Gaming
*/ */
gamemode.enable = true; # GameMode: optimizes system performance for gaming gamemode.enable = true; # GameMode: optimizes system performance for gaming
gamescope.enable = false; # Gamescope: microcompositor for games
gamescope.enable = false; # Gamescope: micro-compositor for games
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
steam.enable = true; # Steam: platform for buying and playing games steam.enable = true; # Steam: platform for buying and playing games
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game packages = {
/*
Container & Packaging
*/
distrobox.enable = false; # Distrobox: containerized development environments
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
ttySolitaire.enable = true; # TTY Solitaire: terminal based solitaire game /*
Gaming
*/
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
ttySolitaire.enable = true; # TTY Solitaire: terminalbased solitaire game
/* /*
Development Tools Development Tools
*/ */
exercism.enable = true; # Exercism: coding practice platform exercism.enable = true; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git
gedit.enable = false; # Gedit: GNOME text editor
lazygit.enable = false; # Lazygit: simple TUI for git
opencode.enable = true; # OpenCode: tools for coding and development opencode.enable = true; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI jan.enable = true; # Jan: AI chat UI
/* /*
Communication & Collaboration Communication & Collaboration
*/ */
mattermost.enable = true; # Mattermost: open-source Slack alternative mattermost.enable = true; # Mattermost: opensource Slack alternative
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = true; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
/* /*
Productivity / Knowledge Management Productivity / Knowledge Management
*/ */
bitwarden.enable = false; # Bitwarden: password manager (desktop) bitwarden.enable = false; # Bitwarden: password manager (desktop)
iotas.enable = true; # Iotas: lightweight notes manager iotas.enable = true; # Iotas: lightweight notes manager
logseq.enable = false; # Logseq: knowledge base and outliner logseq.enable = false; # Logseq: knowledge base and outliner
/* /*
Media & Graphics Media & Graphics
*/ */
affinity.enable = false; # Affinity: professional graphics suite affinity.enable = false; # Affinity: professional graphics suite
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program
gimp.enable = false; # GIMP: gnu image manipulation program
kdenlive.enable = false; # Kdenlive: video editing software kdenlive.enable = false; # Kdenlive: video editing software
plex.enable = true; # Plex: media player and server client plex.enable = true; # Plex: media player and server client
/* /*
Utilities / Misc Utilities / Misc
*/ */
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
galculator.enable = true; # Galculator: simple calculator galculator.enable = true; # Galculator: simple calculator
gedit.enable = false; # Gedit: GNOME text editor
winboat.enable = false; # Winboat: Windows remote desktop via RDP winboat.enable = false; # Winboat: Windows remote desktop via RDP
};
} }

View File

@@ -3,88 +3,74 @@ _: {
Container & Packaging Container & Packaging
*/ */
docker.enable = true; # Docker: container runtime and management docker.enable = true; # Docker: container runtime and management
distrobox.enable = false; # Distrobox: containerized development environments
flatpak = { flatpak = {
enable = true; # Flatpak: universal packaging system for Linux enable = true; # Flatpak: universal packaging system for Linux
packages = { packages = {
sober = true; # Enable Roblox Client sober = false; # Roblox client
warehouse = true; # Enable Flatpak manager warehouse = true; # Flatpak manager
flatseal = true; # Enable Flatpak permissions manager flatseal = true; # Flatpak permissions manager
}; };
}; };
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
/* /*
Gaming Gaming
*/ */
gamemode.enable = true; # GameMode: optimizes system performance for gaming gamemode.enable = true; # GameMode: optimizes system performance for gaming
gamescope.enable = false; # Gamescope: microcompositor for games
gamescope.enable = false; # Gamescope: micro-compositor for games
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
steam.enable = true; # Steam: platform for buying and playing games steam.enable = true; # Steam: platform for buying and playing games
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game packages = {
/*
Container & Packaging
*/
distrobox.enable = false; # Distrobox: containerized development environments
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
ttySolitaire.enable = true; # TTY Solitaire: terminal based solitaire game /*
Gaming
*/
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
ttySolitaire.enable = true; # TTY Solitaire: terminalbased solitaire game
/* /*
Development Tools Development Tools
*/ */
exercism.enable = true; # Exercism: coding practice platform exercism.enable = true; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git
gedit.enable = false; # Gedit: GNOME text editor
lazygit.enable = false; # Lazygit: simple TUI for git
opencode.enable = true; # OpenCode: tools for coding and development opencode.enable = true; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI jan.enable = true; # Jan: AI chat UI
/* /*
Communication & Collaboration Communication & Collaboration
*/ */
mattermost.enable = true; # Mattermost: open-source Slack alternative mattermost.enable = true; # Mattermost: opensource Slack alternative
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = true; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
/* /*
Productivity / Knowledge Management Productivity / Knowledge Management
*/ */
bitwarden.enable = false; # Bitwarden: password manager (desktop) bitwarden.enable = false; # Bitwarden: password manager (desktop)
iotas.enable = true; # Iotas: lightweight notes manager iotas.enable = true; # Iotas: lightweight notes manager
logseq.enable = false; # Logseq: knowledge base and outliner logseq.enable = false; # Logseq: knowledge base and outliner
/* /*
Media & Graphics Media & Graphics
*/ */
affinity.enable = false; # Affinity: professional graphics suite affinity.enable = false; # Affinity: professional graphics suite
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program
gimp.enable = false; # GIMP: gnu image manipulation program
kdenlive.enable = false; # Kdenlive: video editing software kdenlive.enable = false; # Kdenlive: video editing software
plex.enable = true; # Plex: media player and server client plex.enable = true; # Plex: media player and server client
/* /*
Utilities / Misc Utilities / Misc
*/ */
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
galculator.enable = true; # Galculator: simple calculator galculator.enable = true; # Galculator: simple calculator
gedit.enable = false; # Gedit: GNOME text editor
winboat.enable = false; # Winboat: Windows remote desktop via RDP winboat.enable = false; # Winboat: Windows remote desktop via RDP
};
} }

View File

@@ -7,9 +7,9 @@
... ...
}: let }: let
mkPackage = name: pkgsOrList: { mkPackage = name: pkgsOrList: {
options.${name}.enable = lib.mkEnableOption name; options.packages.${name}.enable = lib.mkEnableOption name;
config.environment.systemPackages = config.environment.systemPackages =
lib.mkIf config.${name}.enable lib.mkIf config.packages.${name}.enable
(lib.toList pkgsOrList); (lib.toList pkgsOrList);
}; };