This commit is contained in:
parent
54954d6223
commit
54b43e4203
58 changed files with 224 additions and 242 deletions
|
@ -3,46 +3,44 @@
|
||||||
{
|
{
|
||||||
imports = [ ../common ];
|
imports = [ ../common ];
|
||||||
|
|
||||||
features = {
|
cli = {
|
||||||
cli = {
|
direnv.enable = true;
|
||||||
direnv.enable = true;
|
fzf.enable = true;
|
||||||
fzf.enable = true;
|
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
user.emailAddress = "oliver.davies@tfw.wales";
|
user.emailAddress = "oliver.davies@tfw.wales";
|
||||||
};
|
|
||||||
|
|
||||||
node.enable = true;
|
|
||||||
ranger.enable = true;
|
|
||||||
starship.enable = true;
|
|
||||||
tmux.enable = true;
|
|
||||||
|
|
||||||
tmux-sessionizer = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
directories =
|
|
||||||
let
|
|
||||||
inherit (config.xdg.userDirs) documents extraConfig;
|
|
||||||
|
|
||||||
repos = extraConfig.XDG_REPOS_DIR;
|
|
||||||
in
|
|
||||||
options.features.cli.tmux-sessionizer.directories.default
|
|
||||||
++ [
|
|
||||||
repos
|
|
||||||
"${repos}/*"
|
|
||||||
documents
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
zsh.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
coding = {
|
node.enable = true;
|
||||||
neovim.enable = true;
|
ranger.enable = true;
|
||||||
phpactor.enable = true;
|
starship.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
|
|
||||||
|
tmux-sessionizer = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
directories =
|
||||||
|
let
|
||||||
|
inherit (config.xdg.userDirs) documents extraConfig;
|
||||||
|
|
||||||
|
repos = extraConfig.XDG_REPOS_DIR;
|
||||||
|
in
|
||||||
|
options.cli.tmux-sessionizer.directories.default
|
||||||
|
++ [
|
||||||
|
repos
|
||||||
|
"${repos}/*"
|
||||||
|
documents
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
zsh.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
coding = {
|
||||||
|
neovim.enable = true;
|
||||||
|
phpactor.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."pam-gnupg".text = ''
|
xdg.configFile."pam-gnupg".text = ''
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
{
|
{
|
||||||
imports = [ ../common ];
|
imports = [ ../common ];
|
||||||
|
|
||||||
features = {
|
cli.zsh.enable = true;
|
||||||
cli.zsh.enable = true;
|
|
||||||
|
|
||||||
desktop.media = {
|
desktop.media = {
|
||||||
handbrake.enable = true;
|
handbrake.enable = true;
|
||||||
makemkv.enable = true;
|
makemkv.enable = true;
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
{
|
{
|
||||||
imports = [ ../common ];
|
imports = [ ../common ];
|
||||||
|
|
||||||
features = {
|
cli = {
|
||||||
cli = {
|
fzf.enable = true;
|
||||||
fzf.enable = true;
|
starship.enable = true;
|
||||||
starship.enable = true;
|
zsh.enable = true;
|
||||||
zsh.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,68 +3,66 @@
|
||||||
{
|
{
|
||||||
imports = [ ../common ];
|
imports = [ ../common ];
|
||||||
|
|
||||||
features = {
|
cli = {
|
||||||
cli = {
|
bluetuith.enable = true;
|
||||||
bluetuith.enable = true;
|
direnv.enable = true;
|
||||||
direnv.enable = true;
|
fzf.enable = true;
|
||||||
fzf.enable = true;
|
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
user.emailAddress = "oliver@oliverdavies.uk";
|
user.emailAddress = "oliver@oliverdavies.uk";
|
||||||
};
|
|
||||||
|
|
||||||
node.enable = true;
|
|
||||||
notes.enable = true;
|
|
||||||
ranger.enable = true;
|
|
||||||
starship.enable = true;
|
|
||||||
tmux.enable = true;
|
|
||||||
|
|
||||||
tmux-sessionizer = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
directories =
|
|
||||||
let
|
|
||||||
inherit (config.xdg.userDirs) documents extraConfig;
|
|
||||||
|
|
||||||
repos = extraConfig.XDG_REPOS_DIR;
|
|
||||||
in
|
|
||||||
options.features.cli.tmux-sessionizer.directories.default
|
|
||||||
++ [
|
|
||||||
repos
|
|
||||||
"${repos}/*"
|
|
||||||
documents
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
zsh.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
coding = {
|
node.enable = true;
|
||||||
neovim.enable = true;
|
notes.enable = true;
|
||||||
phpactor.enable = true;
|
ranger.enable = true;
|
||||||
|
starship.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
|
|
||||||
|
tmux-sessionizer = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
directories =
|
||||||
|
let
|
||||||
|
inherit (config.xdg.userDirs) documents extraConfig;
|
||||||
|
|
||||||
|
repos = extraConfig.XDG_REPOS_DIR;
|
||||||
|
in
|
||||||
|
options.cli.tmux-sessionizer.directories.default
|
||||||
|
++ [
|
||||||
|
repos
|
||||||
|
"${repos}/*"
|
||||||
|
documents
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
desktop = {
|
zsh.enable = true;
|
||||||
browsers = {
|
};
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
homepageUrl = "https://nixedo.oliverdavies.uk";
|
coding = {
|
||||||
};
|
neovim.enable = true;
|
||||||
|
phpactor.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
qutebrowser.enable = true;
|
desktop = {
|
||||||
|
browsers = {
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
homepageUrl = "https://nixedo.oliverdavies.uk";
|
||||||
};
|
};
|
||||||
|
|
||||||
flameshot.enable = true;
|
qutebrowser.enable = true;
|
||||||
gtk.enable = true;
|
};
|
||||||
|
|
||||||
media = {
|
flameshot.enable = true;
|
||||||
handbrake.enable = true;
|
gtk.enable = true;
|
||||||
makemkv.enable = true;
|
|
||||||
mpv.enable = true;
|
media = {
|
||||||
};
|
handbrake.enable = true;
|
||||||
|
makemkv.enable = true;
|
||||||
|
mpv.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,11 +7,9 @@
|
||||||
./modules/wiki.nix
|
./modules/wiki.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
features = {
|
cli = {
|
||||||
cli = {
|
docker.enable = true;
|
||||||
docker.enable = true;
|
password-store.enable = true;
|
||||||
password-store.enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
wsl = {
|
wsl = {
|
||||||
|
|
|
@ -11,15 +11,13 @@
|
||||||
../../users/eric.nix
|
../../users/eric.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
features = {
|
core = {
|
||||||
core = {
|
bluetooth.enable = true;
|
||||||
bluetooth.enable = true;
|
zram.enable = true;
|
||||||
zram.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
desktop.media.makemkv.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
desktop.media.makemkv.enable = true;
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
|
|
|
@ -16,11 +16,9 @@
|
||||||
../../users/opdavies.nix
|
../../users/opdavies.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
features = {
|
core.openssh.enable = true;
|
||||||
core.openssh.enable = true;
|
cli.podman.enable = true;
|
||||||
cli.podman.enable = true;
|
desktop.dconf.enable = true;
|
||||||
desktop.dconf.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.logind.lidSwitchExternalPower = "ignore";
|
services.logind.lidSwitchExternalPower = "ignore";
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
postgresqlBackup.enable = true;
|
postgresqlBackup.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
features.homelab = {
|
homelab = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
domain = "oliverdavies.uk";
|
domain = "oliverdavies.uk";
|
||||||
|
|
|
@ -4,11 +4,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "audiobookshelf";
|
service = "audiobookshelf";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
url = mkOption {
|
url = mkOption {
|
||||||
|
|
|
@ -10,10 +10,10 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
service = "tubearchivist";
|
service = "tubearchivist";
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
{
|
{
|
||||||
options.features.homelab = {
|
options.homelab = {
|
||||||
enable = mkEnableOption "Enable homelab services and configuration";
|
enable = mkEnableOption "Enable homelab services and configuration";
|
||||||
|
|
||||||
domain = mkOption {
|
domain = mkOption {
|
||||||
|
|
|
@ -4,11 +4,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "forgejo";
|
service = "forgejo";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
url = mkOption {
|
url = mkOption {
|
||||||
|
|
|
@ -9,11 +9,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "immich";
|
service = "immich";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
url = mkOption {
|
url = mkOption {
|
||||||
|
|
|
@ -4,11 +4,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "jellyfin";
|
service = "jellyfin";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
url = mkOption {
|
url = mkOption {
|
||||||
|
|
|
@ -4,11 +4,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.paperless;
|
cfg = homelab.services.paperless;
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "paperless";
|
service = "paperless";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
url = mkOption {
|
url = mkOption {
|
||||||
|
|
|
@ -9,12 +9,12 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
opts = options.services.${service};
|
opts = options.services.${service};
|
||||||
service = "homepage-dashboard";
|
service = "homepage-dashboard";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
homelab = config.features.homelab.services;
|
homelab = config.homelab.services;
|
||||||
|
|
||||||
homepageCategories = [
|
homepageCategories = [
|
||||||
"Media"
|
"Media"
|
||||||
|
|
|
@ -4,11 +4,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "uptime-kuma";
|
service = "uptime-kuma";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
url = mkOption {
|
url = mkOption {
|
||||||
|
|
|
@ -9,11 +9,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "vaultwarden";
|
service = "vaultwarden";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
|
|
||||||
url = mkOption {
|
url = mkOption {
|
||||||
|
|
|
@ -12,33 +12,31 @@
|
||||||
../../users/opdavies.nix
|
../../users/opdavies.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
features = {
|
cli.password-store = {
|
||||||
cli.password-store = {
|
enable = true;
|
||||||
enable = true;
|
|
||||||
|
|
||||||
extensions = with pkgs.passExtensions; [
|
extensions = with pkgs.passExtensions; [
|
||||||
pass-audit
|
pass-audit
|
||||||
pass-otp
|
pass-otp
|
||||||
pass-update
|
pass-update
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
core = {
|
core = {
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
pipewire.enable = true;
|
pipewire.enable = true;
|
||||||
xbanish.enable = true;
|
xbanish.enable = true;
|
||||||
zram.enable = true;
|
zram.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
desktop = {
|
desktop = {
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
dwm.enable = true;
|
dwm.enable = true;
|
||||||
fonts.enable = true;
|
fonts.enable = true;
|
||||||
media.makemkv.enable = true;
|
media.makemkv.enable = true;
|
||||||
st.enable = true;
|
st.enable = true;
|
||||||
thunar.enable = true;
|
thunar.enable = true;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
|
@ -14,15 +14,13 @@
|
||||||
../../users/opdavies.nix
|
../../users/opdavies.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
features = {
|
core = {
|
||||||
core = {
|
bluetooth.enable = true;
|
||||||
bluetooth.enable = true;
|
zram.enable = true;
|
||||||
zram.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
desktop.dconf.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
desktop.dconf.enable = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot = {
|
systemd-boot = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.redshift;
|
cfg = config.redshift;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.redshift.enable = mkEnableOption "Enable redshift";
|
options.redshift.enable = mkEnableOption "Enable redshift";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
location = {
|
location = {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.bluetuith;
|
cfg = config.cli.bluetuith;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith";
|
options.cli.bluetuith.enable = mkEnableOption "Enable bluetuith";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.direnv;
|
cfg = config.cli.direnv;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.direnv.enable = mkEnableOption "Enable direnv";
|
options.cli.direnv.enable = mkEnableOption "Enable direnv";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.fzf;
|
cfg = config.cli.fzf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.fzf.enable = mkEnableOption "Enable fzf";
|
options.cli.fzf.enable = mkEnableOption "Enable fzf";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.git;
|
cfg = config.cli.git;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.git = {
|
options.cli.git = {
|
||||||
enable = mkEnableOption "Enable git";
|
enable = mkEnableOption "Enable git";
|
||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
|
|
|
@ -3,12 +3,12 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.node;
|
cfg = config.cli.node;
|
||||||
|
|
||||||
inherit (config.xdg) configHome dataHome stateHome;
|
inherit (config.xdg) configHome dataHome stateHome;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.node.enable = mkEnableOption "Enable node";
|
options.cli.node.enable = mkEnableOption "Enable node";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = ''
|
xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = ''
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.notes;
|
cfg = config.cli.notes;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.notes.enable = mkEnableOption "Enable notes";
|
options.cli.notes.enable = mkEnableOption "Enable notes";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
xdg = {
|
xdg = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.ranger;
|
cfg = config.cli.ranger;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.ranger.enable = mkEnableOption "Enable ranger";
|
options.cli.ranger.enable = mkEnableOption "Enable ranger";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.ranger.enable = true;
|
programs.ranger.enable = true;
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.starship;
|
cfg = config.cli.starship;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.starship.enable = mkEnableOption "Enable starship";
|
options.cli.starship.enable = mkEnableOption "Enable starship";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.starship =
|
programs.starship =
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.tmux-sessionizer;
|
cfg = config.cli.tmux-sessionizer;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.tmux-sessionizer = {
|
options.cli.tmux-sessionizer = {
|
||||||
enable = mkEnableOption "Enable tmux-sessionizer";
|
enable = mkEnableOption "Enable tmux-sessionizer";
|
||||||
|
|
||||||
directories = mkOption {
|
directories = mkOption {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.tmux;
|
cfg = config.cli.tmux;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.tmux.enable = mkEnableOption "Enable tmux";
|
options.cli.tmux.enable = mkEnableOption "Enable tmux";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.zsh;
|
cfg = config.cli.zsh;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.zsh.enable = mkEnableOption "Enable zsh";
|
options.cli.zsh.enable = mkEnableOption "Enable zsh";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.coding.neovim;
|
cfg = config.coding.neovim;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.coding.neovim.enable = mkEnableOption "Enable neovim";
|
options.coding.neovim.enable = mkEnableOption "Enable neovim";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.neovim =
|
programs.neovim =
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.coding.phpactor;
|
cfg = config.coding.phpactor;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor";
|
options.coding.phpactor.enable = lib.mkEnableOption "Enable phpactor";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.browsers.firefox;
|
cfg = config.desktop.browsers.firefox;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.browsers.firefox = {
|
options.desktop.browsers.firefox = {
|
||||||
enable = mkEnableOption "Enable firefox";
|
enable = mkEnableOption "Enable firefox";
|
||||||
|
|
||||||
homepageUrl = mkOption {
|
homepageUrl = mkOption {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.browsers.qutebrowser;
|
cfg = config.desktop.browsers.qutebrowser;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.browsers.qutebrowser.enable =
|
options.desktop.browsers.qutebrowser.enable =
|
||||||
mkEnableOption "Enable qutebrowser";
|
mkEnableOption "Enable qutebrowser";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.flameshot;
|
cfg = config.desktop.flameshot;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot";
|
options.desktop.flameshot.enable = mkEnableOption "Enable flameshot";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.flameshot = {
|
services.flameshot = {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.gtk;
|
cfg = config.desktop.gtk;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.gtk.enable = mkEnableOption "Enable gtk";
|
options.desktop.gtk.enable = mkEnableOption "Enable gtk";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
gtk = with pkgs; {
|
gtk = with pkgs; {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.media.handbrake;
|
cfg = config.desktop.media.handbrake;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake";
|
options.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.media.makemkv;
|
cfg = config.desktop.media.makemkv;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv";
|
options.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.media.mpv;
|
cfg = config.desktop.media.mpv;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv";
|
options.desktop.media.mpv.enable = mkEnableOption "Enable mpv";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.docker;
|
cfg = config.cli.docker;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.docker.enable = mkEnableOption "Enable docker";
|
options.cli.docker.enable = mkEnableOption "Enable docker";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.password-store;
|
cfg = config.cli.password-store;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.password-store = {
|
options.cli.password-store = {
|
||||||
enable = mkEnableOption "Enable pass";
|
enable = mkEnableOption "Enable pass";
|
||||||
|
|
||||||
extensions = mkOption {
|
extensions = mkOption {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.cli.podman;
|
cfg = config.cli.podman;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.cli.podman.enable = mkEnableOption "Enable podman";
|
options.cli.podman.enable = mkEnableOption "Enable podman";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.core.bluetooth;
|
cfg = config.core.bluetooth;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.core.bluetooth.enable = mkEnableOption "Enable bluetooth";
|
options.core.bluetooth.enable = mkEnableOption "Enable bluetooth";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.core.openssh;
|
cfg = config.core.openssh;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.core.openssh.enable = mkEnableOption "Enable openssh";
|
options.core.openssh.enable = mkEnableOption "Enable openssh";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.core.pipewire;
|
cfg = config.core.pipewire;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.core.pipewire.enable = mkEnableOption "Enable pipewire";
|
options.core.pipewire.enable = mkEnableOption "Enable pipewire";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.core.xbanish;
|
cfg = config.core.xbanish;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.core.xbanish.enable = mkEnableOption "Enable xbanish";
|
options.core.xbanish.enable = mkEnableOption "Enable xbanish";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.xbanish.enable = true;
|
services.xbanish.enable = true;
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.core.zram;
|
cfg = config.core.zram;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.core.zram.enable = mkEnableOption "Enable zram";
|
options.core.zram.enable = mkEnableOption "Enable zram";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
zramSwap = {
|
zramSwap = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.dconf;
|
cfg = config.desktop.dconf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.dconf.enable = mkEnableOption "Enable dconf";
|
options.desktop.dconf.enable = mkEnableOption "Enable dconf";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.dwm;
|
cfg = config.desktop.dwm;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.dwm.enable = mkEnableOption "Enable dwm";
|
options.desktop.dwm.enable = mkEnableOption "Enable dwm";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.fonts;
|
cfg = config.desktop.fonts;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.fonts.enable = mkEnableOption "Enable fonts";
|
options.desktop.fonts.enable = mkEnableOption "Enable fonts";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
fonts = {
|
fonts = {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.media.makemkv;
|
cfg = config.desktop.media.makemkv;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv";
|
options.desktop.media.makemkv.enable = mkEnableOption "Enable makemkv";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
boot.kernelModules = [ "sg" ];
|
boot.kernelModules = [ "sg" ];
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.st;
|
cfg = config.desktop.st;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.st.enable = mkEnableOption "Enable st";
|
options.desktop.st.enable = mkEnableOption "Enable st";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop.thunar;
|
cfg = config.desktop.thunar;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.desktop.thunar.enable = mkEnableOption "Enable thunar";
|
options.desktop.thunar.enable = mkEnableOption "Enable thunar";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.thunar = {
|
programs.thunar = {
|
||||||
|
|
|
@ -10,11 +10,11 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = homelab.services.${service};
|
cfg = homelab.services.${service};
|
||||||
homelab = config.features.homelab;
|
homelab = config.homelab;
|
||||||
service = "gitea-actions-runner";
|
service = "gitea-actions-runner";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.features.homelab.services.${service} = {
|
options.homelab.services.${service} = {
|
||||||
enable = mkEnableOption "Enable ${service}";
|
enable = mkEnableOption "Enable ${service}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@ with lib;
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
"wheel"
|
"wheel"
|
||||||
]
|
]
|
||||||
++ optional config.features.cli.docker.enable "docker"
|
++ optional config.cli.docker.enable "docker"
|
||||||
++ optional config.features.cli.podman.enable "podman";
|
++ optional config.cli.podman.enable "podman";
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
qrencode
|
qrencode
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue