feat: move core apps to downstream and make app modules opt-in
All checks were successful
Check / eval-and-lint (push) Successful in 6m39s

This commit is contained in:
Bernardo Magri
2026-05-31 15:44:50 +01:00
parent 51a0f920be
commit e6b7269b3c
17 changed files with 297 additions and 145 deletions

View File

@@ -1,25 +1,27 @@
{ config, pkgs, lib, ... }:
{
programs.alacritty = {
enable = lib.mkDefault true;
settings = lib.mkDefault {
env = {
TERM = "xterm-256color";
};
terminal = {
osc52 = "CopyPaste";
};
window = {
padding = { x = 14; y = 14; };
decorations = "None";
};
keyboard = {
bindings = [
{ key = "Insert"; mods = "Shift"; action = "Paste"; }
{ key = "Insert"; mods = "Control"; action = "Copy"; }
{ key = "Return"; mods = "Shift"; chars = "\\u001B\\r"; }
];
config = lib.mkIf config.nomarchy.apps.alacritty.enable {
programs.alacritty = {
enable = lib.mkDefault true;
settings = lib.mkDefault {
env = {
TERM = "xterm-256color";
};
terminal = {
osc52 = "CopyPaste";
};
window = {
padding = { x = 14; y = 14; };
decorations = "None";
};
keyboard = {
bindings = [
{ key = "Insert"; mods = "Shift"; action = "Paste"; }
{ key = "Insert"; mods = "Control"; action = "Copy"; }
{ key = "Return"; mods = "Shift"; chars = "\\u001B\\r"; }
];
};
};
};
};

View File

@@ -1,5 +1,8 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile."btop/btop.conf".source = ./config/btop.conf;
config = lib.mkIf config.nomarchy.apps.btop.enable {
programs.btop.enable = lib.mkDefault true;
xdg.configFile."btop/btop.conf".source = ./config/btop.conf;
};
}

View File

@@ -1,8 +1,10 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile."elephant" = {
source = ./config;
recursive = true;
config = lib.mkIf config.nomarchy.apps.elephant.enable {
xdg.configFile."elephant" = {
source = ./config;
recursive = true;
};
};
}

View File

@@ -1,5 +1,7 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile."ghostty/config".source = ./config/config;
config = lib.mkIf config.nomarchy.apps.ghostty.enable {
xdg.configFile."ghostty/config".source = ./config/config;
};
}

View File

@@ -1,5 +1,8 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile."kitty/kitty.conf".source = ./config/kitty.conf;
config = lib.mkIf config.nomarchy.apps.kitty.enable {
programs.kitty.enable = lib.mkDefault true;
xdg.configFile."kitty/kitty.conf".source = ./config/kitty.conf;
};
}

View File

@@ -1,5 +1,8 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile."lazygit/config.yml".source = ./config/config.yml;
config = lib.mkIf config.nomarchy.apps.lazygit.enable {
home.packages = [ pkgs.lazygit ];
xdg.configFile."lazygit/config.yml".source = ./config/config.yml;
};
}

View File

@@ -1,41 +1,43 @@
{ config, pkgs, lib, ... }:
{
services.swayosd = {
enable = lib.mkDefault true;
stylePath = lib.mkDefault "${config.home.homeDirectory}/.config/swayosd/style.css";
config = lib.mkIf config.nomarchy.apps.swayosd.enable {
services.swayosd = {
enable = lib.mkDefault true;
stylePath = lib.mkDefault "${config.home.homeDirectory}/.config/swayosd/style.css";
};
xdg.configFile."swayosd/style.css".text = lib.mkDefault ''
@define-color background-color #${config.colorScheme.palette.base00};
@define-color border-color #${config.colorScheme.palette.base0E};
@define-color label #${config.colorScheme.palette.base05};
@define-color image #${config.colorScheme.palette.base05};
@define-color progress #${config.colorScheme.palette.base0B};
window {
border-radius: 0;
opacity: 0.97;
border: 2px solid @border-color;
background-color: @background-color;
}
label {
font-family: '${config.nomarchy.fonts.monospace}';
font-size: 11pt;
color: @label;
}
image {
color: @image;
}
progressbar {
border-radius: 0;
}
progress {
background-color: @progress;
}
'';
};
xdg.configFile."swayosd/style.css".text = lib.mkDefault ''
@define-color background-color #${config.colorScheme.palette.base00};
@define-color border-color #${config.colorScheme.palette.base0E};
@define-color label #${config.colorScheme.palette.base05};
@define-color image #${config.colorScheme.palette.base05};
@define-color progress #${config.colorScheme.palette.base0B};
window {
border-radius: 0;
opacity: 0.97;
border: 2px solid @border-color;
background-color: @background-color;
}
label {
font-family: '${config.nomarchy.fonts.monospace}';
font-size: 11pt;
color: @label;
}
image {
color: @image;
}
progressbar {
border-radius: 0;
}
progress {
background-color: @progress;
}
'';
}

View File

@@ -1,5 +1,8 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile."tmux/tmux.conf".source = ./config/tmux.conf;
config = lib.mkIf config.nomarchy.apps.tmux.enable {
programs.tmux.enable = lib.mkDefault true;
xdg.configFile."tmux/tmux.conf".source = ./config/tmux.conf;
};
}

View File

@@ -96,15 +96,7 @@ let
];
in
{
options.nomarchy.vscode = {
devExtensions = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to install development extensions for VSCode.";
};
};
config = {
config = lib.mkIf config.nomarchy.apps.vscode.enable {
programs.vscode = {
enable = lib.mkDefault true;
package = lib.mkDefault pkgs.vscode;
@@ -118,7 +110,7 @@ in
};
extensions = lib.mkDefault (
themeExtensions
++ lib.optionals config.nomarchy.vscode.devExtensions devExtensions
++ lib.optionals config.nomarchy.apps.vscode.devExtensions devExtensions
);
};
};

View File

@@ -1,49 +1,51 @@
{ config, pkgs, lib, ... }:
{
home.packages = [ pkgs.lua ];
config = lib.mkIf config.nomarchy.apps.walker.enable {
home.packages = [ pkgs.lua ];
programs.walker = {
enable = lib.mkDefault true;
runAsService = lib.mkDefault true;
config = lib.mkDefault {
theme = "nomarchy";
ui = {
anchors = {
top = true;
programs.walker = {
enable = lib.mkDefault true;
runAsService = lib.mkDefault true;
config = lib.mkDefault {
theme = "nomarchy";
ui = {
anchors = {
top = true;
};
};
selection_wrap = true;
hide_action_hints = true;
placeholders = {
"default" = { input = " Search..."; list = "No Results"; };
};
keybinds = {
quick_activate = [];
};
columns = {
symbols = 1;
};
providers = {
max_results = 256;
default = [
"desktopapplications"
"websearch"
];
prefixes = [
{ prefix = "/"; provider = "providerlist"; }
{ prefix = "."; provider = "files"; }
{ prefix = ":"; provider = "symbols"; }
{ prefix = "="; provider = "calc"; }
{ prefix = "@"; provider = "websearch"; }
{ prefix = "$"; provider = "clipboard"; }
];
};
};
selection_wrap = true;
hide_action_hints = true;
placeholders = {
"default" = { input = " Search..."; list = "No Results"; };
themes."nomarchy" = lib.mkDefault {
style = ''
@import "${config.home.homeDirectory}/.config/nomarchy/current/theme/apps/walker/style.css";
'';
};
keybinds = {
quick_activate = [];
};
columns = {
symbols = 1;
};
providers = {
max_results = 256;
default = [
"desktopapplications"
"websearch"
];
prefixes = [
{ prefix = "/"; provider = "providerlist"; }
{ prefix = "."; provider = "files"; }
{ prefix = ":"; provider = "symbols"; }
{ prefix = "="; provider = "calc"; }
{ prefix = "@"; provider = "websearch"; }
{ prefix = "$"; provider = "clipboard"; }
];
};
};
themes."nomarchy" = lib.mkDefault {
style = ''
@import "${config.home.homeDirectory}/.config/nomarchy/current/theme/apps/walker/style.css";
'';
};
};
}

View File

@@ -44,14 +44,6 @@ in
# the installer's profile packages), silently removing firefox, mako,
# hyprlock, mpv, etc. — which broke notifications and the lock screen.
home.packages = (with pkgs; [
# Core applications
firefox
xfce.thunar
# Media
imv # Image viewer
mpv # Video player
# Hyprland ecosystem
swww # Wallpaper daemon
mako # Notification daemon