meta: Begin migrating packages to workflow-specific modules

Long-term this should make it easy to include all the GUI programs with
the desktop module and all the CLI programs with the shell module, as
well as the ability to easily disable sets of unneeded packages.
This commit is contained in:
Donovan Glover 2024-04-04 08:11:11 -04:00
parent ff99d22caf
commit a1b9cf218d
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65
5 changed files with 48 additions and 37 deletions

View File

@ -67,6 +67,11 @@
networking = { networking = {
mullvad = true; mullvad = true;
}; };
desktop = {
japanese = true;
bloat = true;
};
}; };
} }
]; ];

View File

@ -1,7 +1,9 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
home.packages = with pkgs; [ tig ]; home.packages = builtins.attrValues {
inherit (pkgs) tig mgitstatus;
};
xdg.configFile."tig/config".text = '' xdg.configFile."tig/config".text = ''
color cursor black green bold color cursor black green bold

View File

@ -1,9 +1,11 @@
{ config, lib, ... }: { config, lib, pkgs, ... }:
let let
inherit (lib) singleton; inherit (lib) singleton;
in in
{ {
home.packages = with pkgs; [ ironbar ];
xdg.configFile."ironbar/config.json".text = builtins.toJSON { xdg.configFile."ironbar/config.json".text = builtins.toJSON {
name = "main"; name = "main";
icon_theme = "Fluent-dark"; icon_theme = "Fluent-dark";

View File

@ -7,12 +7,14 @@ let
in in
{ {
options.modules.desktop = { options.modules.desktop = {
japanese = mkEnableOption "Japanese support (fcitx, anki, kanjidraw, etc.)";
bloat = mkEnableOption "GUI applications like Logseq";
}; };
config = { config = with cfg; {
programs.hyprland.enable = true; programs.hyprland.enable = true;
i18n.inputMethod = { i18n.inputMethod = mkIf japanese {
enabled = "fcitx5"; enabled = "fcitx5";
fcitx5 = { fcitx5 = {
@ -21,29 +23,46 @@ in
}; };
}; };
services.udisks2 = { services = {
enable = true; udisks2 = {
mountOnMedia = true;
};
services.xserver = {
enable = true;
excludePackages = [ pkgs.xterm ];
};
services.pipewire = {
enable = true;
alsa = {
enable = true; enable = true;
support32Bit = true; mountOnMedia = true;
}; };
pulse.enable = true; xserver = {
enable = true;
excludePackages = [ pkgs.xterm ];
};
pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
pulseaudio pulseaudio
anki
kanjidraw
logseq
mullvad-browser
spek
audacity
gimp
sqlitebrowser
qdirstat
libreoffice
krita
element-desktop
signal-desktop
ungoogled-chromium
qbittorrent
]; ];
services.greetd = { services.greetd = {

View File

@ -11,21 +11,7 @@
zbar zbar
sakaya.packages.${system}.sakaya sakaya.packages.${system}.sakaya
logseq
mullvad-browser
spek
audacity
gimp
anki
sqlitebrowser
sqlcipher sqlcipher
kanjidraw
libreoffice
krita
element-desktop
signal-desktop
ungoogled-chromium
qbittorrent
gdu gdu
fdupes fdupes
@ -94,7 +80,6 @@
srb2 srb2
crystalline crystalline
thud thud
ironbar
wallust wallust
activate-linux activate-linux
tango tango
@ -115,10 +100,8 @@
aaaaxy aaaaxy
lutgen lutgen
sudachi-rs sudachi-rs
mgitstatus
pnpm-shell-completion pnpm-shell-completion
rclone rclone
qdirstat
]; ];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;