feat: more modules
This commit is contained in:
parent
98b71eeddc
commit
8e23015029
5 changed files with 104 additions and 6 deletions
|
@ -5,5 +5,7 @@
|
|||
./git.nix
|
||||
./qutebrowser.nix
|
||||
./pipewire.nix
|
||||
./mpd.nix
|
||||
./fonts.nix
|
||||
];
|
||||
}
|
||||
|
|
60
computers/shared/fonts.nix
Normal file
60
computers/shared/fonts.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.alqueva.fonts;
|
||||
inherit (lib) types mkOption;
|
||||
fontSubmodule = fontPackages: fontNames: {
|
||||
options = {
|
||||
packages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = fontPackages;
|
||||
description = "Package of the font used.";
|
||||
};
|
||||
names = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = fontNames;
|
||||
description = "Name of the default font you will be using.";
|
||||
};
|
||||
};
|
||||
};
|
||||
mkFontOption = fontType: fontPackages: fontNames:
|
||||
mkOption {
|
||||
type = types.submodule (fontSubmodule fontPackages fontNames);
|
||||
description = "Options for the ${fontType} letterform.";
|
||||
};
|
||||
in {
|
||||
options.alqueva.fonts = {
|
||||
sansSerif = mkFontOption "sans-serif" [pkgs.roboto] ["Roboto"];
|
||||
monospace = mkFontOption "monospace" [pkgs.roboto-mono] ["Roboto Mono"];
|
||||
serif = mkFontOption "serif" [pkgs.roboto-serif] ["Roboto Serif"];
|
||||
emoji = mkFontOption "emoji" [pkgs.noto-fonts-color-emoji] ["Noto Color Emoji"];
|
||||
extraPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
description = "Extra font packages to be installed.";
|
||||
};
|
||||
};
|
||||
config = {
|
||||
fonts = {
|
||||
packages = builtins.concatLists [
|
||||
cfg.extraPackages
|
||||
cfg.sansSerif.packages
|
||||
cfg.monospace.packages
|
||||
cfg.serif.packages
|
||||
cfg.emoji.packages
|
||||
];
|
||||
fontconfig = {
|
||||
defaultFonts = {
|
||||
sansSerif = cfg.sansSerif.names;
|
||||
monospace = cfg.monospace.names;
|
||||
serif = cfg.serif.names;
|
||||
emoji = cfg.emoji.names;
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
23
computers/shared/mpd.nix
Normal file
23
computers/shared/mpd.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.alqueva.mpd;
|
||||
in {
|
||||
options.alqueva.mpd = {
|
||||
enable = lib.mkEnableOption "mpd";
|
||||
ncmpcpp = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Enable ncmpcpp alongside mpd.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.mpd.enable = true;
|
||||
environment.systemPackages =
|
||||
lib.optional cfg.ncmpcpp pkgs.ncmpcpp;
|
||||
};
|
||||
}
|
|
@ -52,6 +52,19 @@
|
|||
git.enable = true;
|
||||
qutebrowser.enable = true;
|
||||
pipewire.enable = true;
|
||||
mpd = {
|
||||
enable = true;
|
||||
ncmpcpp = true;
|
||||
};
|
||||
fonts = {
|
||||
sansSerif = {};
|
||||
monospace = {};
|
||||
serif = {};
|
||||
emoji = {};
|
||||
extraPackages = [
|
||||
pkgs.nerdfonts
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.neovim.enable = true;
|
||||
|
|
12
flake.lock
generated
12
flake.lock
generated
|
@ -5,11 +5,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729070567,
|
||||
"narHash": "sha256-r3KMTeBLioUtRPRFjdWbpZqfMmQHr6Dj9vjGaj4OhP8=",
|
||||
"lastModified": 1729099656,
|
||||
"narHash": "sha256-VftVIg7UXTy1bq+tzi1aVYOWl7PQ35IpjW88yMYjjpc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "c8760cee70cf166ad6bcee0bd9f0bba934a3a651",
|
||||
"rev": "d7d57edb72e54891fa67a6f058a46b2bb405663b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -62,11 +62,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728778939,
|
||||
"narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=",
|
||||
"lastModified": 1729104314,
|
||||
"narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "ff68f91754be6f3427e4986d7949e6273659be1d",
|
||||
"rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue