Compare commits
No commits in common. "move-styling-to-config" and "main" have entirely different histories.
move-styli
...
main
23 changed files with 693 additions and 544 deletions
|
@ -6,7 +6,6 @@
|
|||
./media
|
||||
./terminal
|
||||
|
||||
./discord.nix
|
||||
./games.nix
|
||||
./gnome.nix
|
||||
./misc.nix
|
||||
|
|
|
@ -4,230 +4,225 @@
|
|||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
styleCfg = osConfig.local.style;
|
||||
in {
|
||||
}: {
|
||||
imports = [inputs.nvf.homeManagerModules.default];
|
||||
|
||||
config = lib.mkIf osConfig.local.profiles.desktop.enable {
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
settings.vim = lib.mkMerge [
|
||||
{
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
enableLuaLoader = true;
|
||||
preventJunkFiles = true;
|
||||
useSystemClipboard = true;
|
||||
options = {
|
||||
tabstop = 4;
|
||||
autoindent = false;
|
||||
};
|
||||
settings.vim = {
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
enableLuaLoader = true;
|
||||
preventJunkFiles = true;
|
||||
useSystemClipboard = true;
|
||||
options = {
|
||||
tabstop = 4;
|
||||
autoindent = false;
|
||||
};
|
||||
|
||||
luaConfigPost = ''
|
||||
vim.opt.formatoptions:remove('c')
|
||||
vim.opt.formatoptions:remove('r')
|
||||
vim.opt.formatoptions:remove('o')
|
||||
'';
|
||||
luaConfigPost = ''
|
||||
vim.opt.formatoptions:remove('c')
|
||||
vim.opt.formatoptions:remove('r')
|
||||
vim.opt.formatoptions:remove('o')
|
||||
'';
|
||||
|
||||
maps = {
|
||||
normal = {
|
||||
"<leader>m" = {
|
||||
silent = true;
|
||||
action = "<cmd>make<CR>";
|
||||
}; # Same as nnoremap <leader>m <silent> <cmd>make<CR>
|
||||
"<leader>t" = {
|
||||
silent = true;
|
||||
action = "<cmd>Neotree toggle<CR>";
|
||||
};
|
||||
maps = {
|
||||
normal = {
|
||||
"<leader>m" = {
|
||||
silent = true;
|
||||
action = "<cmd>make<CR>";
|
||||
}; # Same as nnoremap <leader>m <silent> <cmd>make<CR>
|
||||
"<leader>t" = {
|
||||
silent = true;
|
||||
action = "<cmd>Neotree toggle<CR>";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ui = {
|
||||
noice.enable = true;
|
||||
};
|
||||
notify.nvim-notify.enable = true;
|
||||
theme = lib.mkDefault {
|
||||
enable = true;
|
||||
name = "catppuccin";
|
||||
style = "macchiato";
|
||||
};
|
||||
|
||||
statusline = {
|
||||
lualine = {
|
||||
enable = true;
|
||||
theme = "auto";
|
||||
componentSeparator = {
|
||||
left = "";
|
||||
};
|
||||
sectionSeparator = {
|
||||
left = "";
|
||||
right = "";
|
||||
};
|
||||
ui = {
|
||||
noice.enable = true;
|
||||
};
|
||||
notify.nvim-notify.enable = true;
|
||||
|
||||
activeSection = {
|
||||
a = [
|
||||
''
|
||||
{
|
||||
"mode",
|
||||
separator = { right = "" },
|
||||
right_padding = 2
|
||||
}
|
||||
''
|
||||
];
|
||||
b = [
|
||||
''
|
||||
{
|
||||
"branch",
|
||||
icon = '',
|
||||
separator = { right = "" }
|
||||
}
|
||||
''
|
||||
];
|
||||
c = [
|
||||
''
|
||||
"filename"
|
||||
''
|
||||
];
|
||||
x = [
|
||||
''
|
||||
{
|
||||
"diagnostics",
|
||||
sources = {'nvim_lsp', 'nvim_diagnostic', 'nvim_diagnostic', 'vim_lsp', 'coc'},
|
||||
symbols = {error = ' ', warn = ' ', info = ' ', hint = ' '},
|
||||
colored = true,
|
||||
update_in_insert = false,
|
||||
always_visible = false,
|
||||
diagnostics_color = {
|
||||
color_error = { fg = 'red' },
|
||||
color_warn = { fg = 'yellow' },
|
||||
color_info = { fg = 'cyan' },
|
||||
},
|
||||
}
|
||||
''
|
||||
''
|
||||
"filetype"
|
||||
''
|
||||
];
|
||||
y = [
|
||||
''
|
||||
{
|
||||
"progress",
|
||||
separator = { left = "" },
|
||||
}
|
||||
''
|
||||
''
|
||||
''
|
||||
];
|
||||
z = [
|
||||
''
|
||||
{
|
||||
"location",
|
||||
separator = { left = "" },
|
||||
left_padding = 2
|
||||
}
|
||||
''
|
||||
''
|
||||
{
|
||||
"fileformat",
|
||||
color = {fg='black'},
|
||||
symbols = {
|
||||
unix = '', -- e712
|
||||
dos = '', -- e70f
|
||||
mac = '', -- e711
|
||||
},
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
statusline = {
|
||||
lualine = {
|
||||
enable = true;
|
||||
theme = "auto";
|
||||
componentSeparator = {
|
||||
left = "";
|
||||
};
|
||||
sectionSeparator = {
|
||||
left = "";
|
||||
right = "";
|
||||
};
|
||||
|
||||
inactiveSection = {
|
||||
a = [
|
||||
''
|
||||
"filename"
|
||||
''
|
||||
];
|
||||
z = [
|
||||
''
|
||||
"location"
|
||||
''
|
||||
];
|
||||
};
|
||||
activeSection = {
|
||||
a = [
|
||||
''
|
||||
{
|
||||
"mode",
|
||||
separator = { right = "" },
|
||||
right_padding = 2
|
||||
}
|
||||
''
|
||||
];
|
||||
b = [
|
||||
''
|
||||
{
|
||||
"branch",
|
||||
icon = '',
|
||||
separator = { right = "" }
|
||||
}
|
||||
''
|
||||
];
|
||||
c = [
|
||||
''
|
||||
"filename"
|
||||
''
|
||||
];
|
||||
x = [
|
||||
''
|
||||
{
|
||||
"diagnostics",
|
||||
sources = {'nvim_lsp', 'nvim_diagnostic', 'nvim_diagnostic', 'vim_lsp', 'coc'},
|
||||
symbols = {error = ' ', warn = ' ', info = ' ', hint = ' '},
|
||||
colored = true,
|
||||
update_in_insert = false,
|
||||
always_visible = false,
|
||||
diagnostics_color = {
|
||||
color_error = { fg = 'red' },
|
||||
color_warn = { fg = 'yellow' },
|
||||
color_info = { fg = 'cyan' },
|
||||
},
|
||||
}
|
||||
''
|
||||
''
|
||||
"filetype"
|
||||
''
|
||||
];
|
||||
y = [
|
||||
''
|
||||
{
|
||||
"progress",
|
||||
separator = { left = "" },
|
||||
}
|
||||
''
|
||||
''
|
||||
''
|
||||
];
|
||||
z = [
|
||||
''
|
||||
{
|
||||
"location",
|
||||
separator = { left = "" },
|
||||
left_padding = 2
|
||||
}
|
||||
''
|
||||
''
|
||||
{
|
||||
"fileformat",
|
||||
color = {fg='black'},
|
||||
symbols = {
|
||||
unix = '', -- e712
|
||||
dos = '', -- e70f
|
||||
mac = '', -- e711
|
||||
},
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
|
||||
inactiveSection = {
|
||||
a = [
|
||||
''
|
||||
"filename"
|
||||
''
|
||||
];
|
||||
z = [
|
||||
''
|
||||
"location"
|
||||
''
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
git.enable = true;
|
||||
git.enable = true;
|
||||
|
||||
utility = {
|
||||
vim-wakatime.enable = true;
|
||||
surround.enable = true;
|
||||
motion.leap = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
lspSignature.enable = true;
|
||||
lspconfig.enable = true;
|
||||
formatOnSave = true;
|
||||
mappings = {
|
||||
addWorkspaceFolder = "<leader>wa";
|
||||
codeAction = "<leader>a";
|
||||
goToDeclaration = "gD";
|
||||
goToDefinition = "gd";
|
||||
hover = "K";
|
||||
listImplementations = "gi";
|
||||
listReferences = "gr";
|
||||
listWorkspaceFolders = "<leader>wl";
|
||||
nextDiagnostic = "<leader>k";
|
||||
previousDiagnostic = "<leader>j";
|
||||
openDiagnosticFloat = "<leader>e";
|
||||
removeWorkspaceFolder = "<leader>wr";
|
||||
renameSymbol = "<leader>r";
|
||||
signatureHelp = "<C-k>";
|
||||
};
|
||||
};
|
||||
|
||||
autocomplete.nvim-cmp = {
|
||||
utility = {
|
||||
vim-wakatime.enable = true;
|
||||
surround.enable = true;
|
||||
motion.leap = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
autopairs.nvim-autopairs.enable = true;
|
||||
|
||||
languages = {
|
||||
enableExtraDiagnostics = true;
|
||||
enableFormat = true;
|
||||
enableLSP = true;
|
||||
enableTreesitter = true;
|
||||
|
||||
nix.enable = true;
|
||||
clang.enable = true;
|
||||
python.enable = true;
|
||||
ts.enable = true;
|
||||
css.enable = true;
|
||||
typst.enable = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
lspSignature.enable = true;
|
||||
lspconfig.enable = true;
|
||||
formatOnSave = true;
|
||||
mappings = {
|
||||
addWorkspaceFolder = "<leader>wa";
|
||||
codeAction = "<leader>a";
|
||||
goToDeclaration = "gD";
|
||||
goToDefinition = "gd";
|
||||
hover = "K";
|
||||
listImplementations = "gi";
|
||||
listReferences = "gr";
|
||||
listWorkspaceFolders = "<leader>wl";
|
||||
nextDiagnostic = "<leader>k";
|
||||
previousDiagnostic = "<leader>j";
|
||||
openDiagnosticFloat = "<leader>e";
|
||||
removeWorkspaceFolder = "<leader>wr";
|
||||
renameSymbol = "<leader>r";
|
||||
signatureHelp = "<C-k>";
|
||||
};
|
||||
};
|
||||
|
||||
treesitter = {
|
||||
enable = true;
|
||||
fold = true;
|
||||
context.enable = true;
|
||||
grammars = [
|
||||
pkgs.vimPlugins.nvim-treesitter.builtGrammars.nix
|
||||
pkgs.vimPlugins.nvim-treesitter.builtGrammars.c
|
||||
pkgs.vimPlugins.nvim-treesitter.builtGrammars.python
|
||||
];
|
||||
};
|
||||
autocomplete.nvim-cmp = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
binds.whichKey.enable = true;
|
||||
filetree.neo-tree.enable = true;
|
||||
autopairs.nvim-autopairs.enable = true;
|
||||
|
||||
telescope.enable = true;
|
||||
}
|
||||
(lib.mkIf styleCfg.enable {
|
||||
theme = {
|
||||
enable = true;
|
||||
name = "base16";
|
||||
base16-colors = styleCfg.scheme.palette;
|
||||
};
|
||||
})
|
||||
];
|
||||
languages = {
|
||||
enableExtraDiagnostics = true;
|
||||
enableFormat = true;
|
||||
enableLSP = true;
|
||||
enableTreesitter = true;
|
||||
|
||||
nix.enable = true;
|
||||
clang.enable = true;
|
||||
python.enable = true;
|
||||
ts.enable = true;
|
||||
css.enable = true;
|
||||
typst.enable = true;
|
||||
};
|
||||
|
||||
treesitter = {
|
||||
enable = true;
|
||||
fold = true;
|
||||
context.enable = true;
|
||||
grammars = [
|
||||
pkgs.vimPlugins.nvim-treesitter.builtGrammars.nix
|
||||
pkgs.vimPlugins.nvim-treesitter.builtGrammars.c
|
||||
pkgs.vimPlugins.nvim-treesitter.builtGrammars.python
|
||||
];
|
||||
};
|
||||
|
||||
binds.whichKey.enable = true;
|
||||
filetree.neo-tree.enable = true;
|
||||
|
||||
telescope.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.neovide = {
|
||||
|
|
|
@ -4,10 +4,7 @@
|
|||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString;
|
||||
styleCfg = osConfig.local.style;
|
||||
in {
|
||||
}: {
|
||||
imports = [./binds.nix];
|
||||
|
||||
config = lib.mkIf osConfig.local.modules.hyprland.enable {
|
||||
|
@ -38,103 +35,85 @@ in {
|
|||
|
||||
systemd.enable = false;
|
||||
|
||||
settings = lib.mkMerge [
|
||||
{
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
settings = {
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
|
||||
env = [
|
||||
"GDK_SCALE,1"
|
||||
env = [
|
||||
"GDK_SCALE,1"
|
||||
];
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = 1;
|
||||
};
|
||||
|
||||
monitor = [
|
||||
"eDP-1, preferred, auto, 1.33"
|
||||
];
|
||||
workspace = [
|
||||
"special:terminal, on-created-empty:foot"
|
||||
"special:mixer_gui, on-created-empty:pavucontrol"
|
||||
"special:file_manager_gui, on-created-empty:nautilus"
|
||||
"special:file_manager_tui, on-created-empty:foot -- yazi"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
# fixes fullscreen windows (mostly games)
|
||||
"stayfocused, initialtitle:^()$, initialclass:^(steam)$"
|
||||
"minsize 1 1, initialtitle:^()$, initialclass:^(steam)$"
|
||||
"maximize, initialtitle:^(\S+)$, initialclass:^(steamwebhelper)$"
|
||||
|
||||
"immediate, initialclass:^(steam_app_)(.*)$"
|
||||
"fullscreen, initialclass:^(steam_app_)(.*)$"
|
||||
|
||||
# inhibit idle on every fullscreen app except games
|
||||
"idleinhibit always, fullscreen:1,!initialclass:^(steam_app_)(.*)$"
|
||||
];
|
||||
|
||||
render = {
|
||||
explicit_sync = 1;
|
||||
explicit_sync_kms = 1;
|
||||
expand_undersized_textures = false;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.1";
|
||||
animation = [
|
||||
"windows, 1, 5, myBezier"
|
||||
"windowsOut, 1, 5, default, popin 80%"
|
||||
"windowsMove, 1, 5, default, popin 80%"
|
||||
"fade, 1, 5, default"
|
||||
"border, 1, 5, default"
|
||||
"borderangle, 0, 8, default"
|
||||
"workspaces, 0"
|
||||
"specialWorkspace, 0"
|
||||
];
|
||||
};
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = 1;
|
||||
input = {
|
||||
kb_options = "compose:ralt";
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.8;
|
||||
tap-to-click = true;
|
||||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
||||
monitor = [
|
||||
"eDP-1, preferred, auto, 1.33"
|
||||
];
|
||||
workspace = [
|
||||
"special:terminal, on-created-empty:foot"
|
||||
"special:mixer_gui, on-created-empty:pavucontrol"
|
||||
"special:file_manager_gui, on-created-empty:nautilus"
|
||||
"special:file_manager_tui, on-created-empty:foot -- yazi"
|
||||
];
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_direction_lock = false;
|
||||
workspace_swipe_cancel_ratio = 0.15;
|
||||
};
|
||||
|
||||
windowrulev2 = [
|
||||
# fixes fullscreen windows (mostly games)
|
||||
"stayfocused, initialtitle:^()$, initialclass:^(steam)$"
|
||||
"minsize 1 1, initialtitle:^()$, initialclass:^(steam)$"
|
||||
"maximize, initialtitle:^(\S+)$, initialclass:^(steamwebhelper)$"
|
||||
|
||||
"immediate, initialclass:^(steam_app_)(.*)$"
|
||||
"fullscreen, initialclass:^(steam_app_)(.*)$"
|
||||
|
||||
# inhibit idle on every fullscreen app except games
|
||||
"idleinhibit always, fullscreen:1,!initialclass:^(steam_app_)(.*)$"
|
||||
];
|
||||
|
||||
render = {
|
||||
explicit_sync = 1;
|
||||
explicit_sync_kms = 1;
|
||||
expand_undersized_textures = false;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.1";
|
||||
animation = [
|
||||
"windows, 1, 5, myBezier"
|
||||
"windowsOut, 1, 5, default, popin 80%"
|
||||
"windowsMove, 1, 5, default, popin 80%"
|
||||
"fade, 1, 5, default"
|
||||
"border, 1, 5, default"
|
||||
"borderangle, 0, 8, default"
|
||||
"workspaces, 0"
|
||||
"specialWorkspace, 0"
|
||||
];
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_options = "compose:ralt";
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.8;
|
||||
tap-to-click = true;
|
||||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_direction_lock = false;
|
||||
workspace_swipe_cancel_ratio = 0.15;
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
disable_hyprland_logo = true;
|
||||
middle_click_paste = false;
|
||||
};
|
||||
}
|
||||
|
||||
(lib.mkIf styleCfg.enable {
|
||||
env = [
|
||||
"HYPRCURSOR_THEME,${styleCfg.cursorTheme.name}"
|
||||
"HYPRCURSOR_SIZE,${toString styleCfg.cursorTheme.size}"
|
||||
"XCURSOR_SIZE,${toString styleCfg.cursorTheme.size}"
|
||||
];
|
||||
general = {
|
||||
border_size = 4;
|
||||
"col.active_border" = "rgb(${lib.removePrefix "#" styleCfg.scheme.palette.base0E})";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
blur.enabled = true;
|
||||
};
|
||||
})
|
||||
];
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
disable_hyprland_logo = true;
|
||||
middle_click_paste = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,114 +1,14 @@
|
|||
{
|
||||
lib,
|
||||
lib',
|
||||
inputs,
|
||||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
styleCfg = osConfig.local.style;
|
||||
rgbaPalette = builtins.mapAttrs (_: c: (lib'.rgba c 1)) styleCfg.scheme.palette;
|
||||
in {
|
||||
}: {
|
||||
config = lib.mkIf osConfig.local.modules.hyprland.enable {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
package = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
|
||||
|
||||
settings = lib.mkMerge [
|
||||
{
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
hide_cursor = true;
|
||||
};
|
||||
}
|
||||
|
||||
(with rgbaPalette;
|
||||
lib.mkIf styleCfg.enable {
|
||||
background = [
|
||||
{
|
||||
path = "screenshot";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "Layout: $LAYOUT";
|
||||
font_size = 25;
|
||||
color = base05;
|
||||
|
||||
position = "30, -30";
|
||||
halign = "left";
|
||||
valign = "top";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = "$TIME";
|
||||
font_size = 90;
|
||||
color = base05;
|
||||
|
||||
position = "-30, 0";
|
||||
halign = "right";
|
||||
valign = "top";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = "cmd[update:43200000] date +\"%A, %d %B %Y\"";
|
||||
font_size = 25;
|
||||
color = base05;
|
||||
|
||||
position = "-30, -150";
|
||||
halign = "right";
|
||||
valign = "top";
|
||||
}
|
||||
];
|
||||
|
||||
image = {
|
||||
monitor = "";
|
||||
path = "${styleCfg.avatar}"; # Replace with your avatar path
|
||||
size = 100;
|
||||
border_color = base0D;
|
||||
|
||||
position = "0, 75";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
|
||||
input-field = [
|
||||
{
|
||||
monitor = "";
|
||||
|
||||
size = "300, 60";
|
||||
outline_thickness = 4;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
|
||||
outer_color = base0D;
|
||||
inner_color = base02;
|
||||
font_color = base05;
|
||||
|
||||
fade_on_empty = false;
|
||||
|
||||
# the span elements still use #RRGGBB, so we use scheme directly
|
||||
placeholder_text = "<span foreground=\"#${styleCfg.scheme.palette.base05}\"><i> Logged in as </i><span foreground=\"#${styleCfg.scheme.palette.base0D}\">$USER</span></span>";
|
||||
|
||||
hide_input = false;
|
||||
check_color = base0D;
|
||||
fail_color = base08;
|
||||
|
||||
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
||||
capslock_color = base0E;
|
||||
|
||||
position = "0, -47";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
playerctl
|
||||
proton-pass
|
||||
simple-scan
|
||||
vesktop
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
|
|
|
@ -3,11 +3,7 @@
|
|||
config,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
styleCfg = osConfig.local.style;
|
||||
# because someone thought this was a great idea: https://github.com/tinted-theming/schemes/commit/61058a8d2e2bd4482b53d57a68feb56cdb991f0b
|
||||
palette = builtins.mapAttrs (_: color: lib.removePrefix "#" color) styleCfg.scheme.palette;
|
||||
in {
|
||||
}: {
|
||||
config = lib.mkIf osConfig.local.modules.hyprland.enable {
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
|
@ -17,37 +13,6 @@ in {
|
|||
font = "monospace:size=14";
|
||||
shell = "${lib.getExe config.programs.fish.package}";
|
||||
};
|
||||
|
||||
colors = with palette;
|
||||
lib.mkIf styleCfg.enable {
|
||||
background = base00;
|
||||
foreground = base05;
|
||||
|
||||
regular0 = base00;
|
||||
regular1 = base08;
|
||||
regular2 = base0B;
|
||||
regular3 = base0A;
|
||||
regular4 = base0D;
|
||||
regular5 = base0E;
|
||||
regular6 = base0C;
|
||||
regular7 = base05;
|
||||
|
||||
bright0 = base02;
|
||||
bright1 = base08;
|
||||
bright2 = base0B;
|
||||
bright3 = base0A;
|
||||
bright4 = base0D;
|
||||
bright5 = base0E;
|
||||
bright6 = base0C;
|
||||
bright7 = base07;
|
||||
|
||||
"16" = base09;
|
||||
"17" = base0F;
|
||||
"18" = base01;
|
||||
"19" = base02;
|
||||
"20" = base04;
|
||||
"21" = base06;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
starship module cmd_duration
|
||||
end
|
||||
'';
|
||||
styleCfg = osConfig.local.style;
|
||||
in {
|
||||
config = lib.mkIf osConfig.local.profiles.desktop.enable {
|
||||
programs.fish = {
|
||||
|
@ -25,43 +24,7 @@ in {
|
|||
set fish_greeting # Disable greeting
|
||||
fish_vi_key_bindings # Enable Vi mode
|
||||
|
||||
''
|
||||
+ lib.optionalString styleCfg.enable
|
||||
''
|
||||
set fish_cursor_default block blink
|
||||
set fish_cursor_insert line blink
|
||||
set fish_cursor_replace_one underscore blink
|
||||
set fish_cursor_visual block
|
||||
|
||||
set -x fish_color_autosuggestion brblack
|
||||
set -x fish_color_cancel -r
|
||||
set -x fish_color_command brgreen
|
||||
set -x fish_color_comment brmagenta
|
||||
set -x fish_color_cwd green
|
||||
set -x fish_color_cwd_root red
|
||||
set -x fish_color_end brmagenta
|
||||
set -x fish_color_error brred
|
||||
set -x fish_color_escape brcyan
|
||||
set -x fish_color_history_current --bold
|
||||
set -x fish_color_host normal
|
||||
set -x fish_color_host_remote yellow
|
||||
set -x fish_color_match --background=brblue
|
||||
set -x fish_color_normal normal
|
||||
set -x fish_color_operator cyan
|
||||
set -x fish_color_param brblue
|
||||
set -x fish_color_quote yellow
|
||||
set -x fish_color_redirection bryellow
|
||||
set -x fish_color_search_match 'bryellow' '--background=brblack'
|
||||
set -x fish_color_selection 'white' '--bold' '--background=brblack'
|
||||
set -x fish_color_status red
|
||||
set -x fish_color_user brgreen
|
||||
set -x fish_color_valid_path --underline
|
||||
set -x fish_pager_color_completion normal
|
||||
set -x fish_pager_color_description yellow
|
||||
set -x fish_pager_color_prefix 'white' '--bold' '--underline'
|
||||
set -x fish_pager_color_progress 'brwhite' '--background=cyan'
|
||||
'';
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "fzf";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./gammastep.nix
|
||||
./gtk.nix
|
||||
./syncthing.nix
|
||||
./swaync
|
||||
./udiskie.nix
|
||||
|
|
|
@ -1,41 +1,33 @@
|
|||
{
|
||||
lib,
|
||||
lib',
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
styleCfg = osConfig.local.style;
|
||||
inherit (builtins) readFile;
|
||||
in {
|
||||
config = lib.mkIf osConfig.local.modules.hyprland.enable {
|
||||
services.swaync = lib.mkMerge [
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
positionX = "right";
|
||||
positionY = "top";
|
||||
layer = "overlay";
|
||||
control-center-layer = "top";
|
||||
layer-shell = true;
|
||||
cssPriority = "application";
|
||||
control-center-margin-top = 0;
|
||||
control-center-margin-bottom = 0;
|
||||
control-center-margin-right = 0;
|
||||
control-center-margin-left = 0;
|
||||
notification-2fa-action = true;
|
||||
notification-inline-replies = false;
|
||||
notification-icon-size = 64;
|
||||
notification-body-image-height = 100;
|
||||
notification-body-image-width = 200;
|
||||
};
|
||||
}
|
||||
|
||||
(lib.mkIf styleCfg.enable {
|
||||
style =
|
||||
lib'.generateGtkColors lib styleCfg.scheme.palette
|
||||
+ builtins.readFile ./style.css;
|
||||
})
|
||||
];
|
||||
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
style = readFile ./style.css;
|
||||
settings = {
|
||||
positionX = "right";
|
||||
positionY = "top";
|
||||
layer = "overlay";
|
||||
control-center-layer = "top";
|
||||
layer-shell = true;
|
||||
cssPriority = "application";
|
||||
control-center-margin-top = 0;
|
||||
control-center-margin-bottom = 0;
|
||||
control-center-margin-right = 0;
|
||||
control-center-margin-left = 0;
|
||||
notification-2fa-action = true;
|
||||
notification-inline-replies = false;
|
||||
notification-icon-size = 64;
|
||||
notification-body-image-height = 100;
|
||||
notification-body-image-width = 200;
|
||||
};
|
||||
};
|
||||
# systemd.user.services.swaync.Service.Environment = "WAYLAND_DISPLAY=wayland-1";
|
||||
systemd.user.services.swaync.Unit.ConditionEnvironment = lib.mkForce "";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
...
|
||||
}: let
|
||||
inherit (config.local.systemVars) username;
|
||||
lib' = import ../../../shared/lib inputs.nixpkgs.lib;
|
||||
in {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.default
|
||||
|
@ -17,7 +16,7 @@ in {
|
|||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
|
||||
extraSpecialArgs = {inherit inputs lib';};
|
||||
extraSpecialArgs = {inherit inputs;};
|
||||
sharedModules = [../../hm];
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
# thanks https://git.jacekpoz.pl/poz/niksos/src/commit/f8d5e7ccd9c769f7c0b564f10dff419285e75248/modules/services/greetd.nix
|
||||
|
@ -10,8 +10,6 @@ let
|
|||
inherit (lib) getExe getExe';
|
||||
inherit (inputs.hyprland.packages.${pkgs.stdenv.system}) hyprland;
|
||||
|
||||
styleCfg = config.local.style;
|
||||
|
||||
hyprctl = getExe' hyprland "hyprctl";
|
||||
Hyprland = getExe' hyprland "Hyprland";
|
||||
|
||||
|
@ -48,25 +46,9 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
programs.regreet = lib.mkMerge [
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
|
||||
(lib.mkIf styleCfg.enable {
|
||||
theme = {
|
||||
inherit (styleCfg.gtk.theme) name package;
|
||||
};
|
||||
|
||||
cursorTheme = {
|
||||
inherit (styleCfg.cursorTheme) name package;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
inherit (styleCfg.gtk.iconTheme) name package;
|
||||
};
|
||||
})
|
||||
];
|
||||
programs.regreet = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
security.pam.services = {
|
||||
greetd.enableGnomeKeyring = true;
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
styleCfg = osConfig.local.style;
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config = lib.mkIf osConfig.local.profiles.desktop.enable {
|
||||
home.packages = [pkgs.vesktop];
|
||||
xdg.configFile."vesktop/themes/midnight-base16.css".text = with styleCfg.scheme.palette;
|
||||
lib.mkIf styleCfg.enable ''
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
xdg.configFile."vesktop/themes/midnight-base16.css".text = with cfg.scheme.palette; ''
|
||||
/**
|
||||
* @name Midnight-base16
|
||||
* @description A dark, rounded discord theme. Updated to use base16 colors.
|
||||
|
@ -32,7 +30,7 @@ in {
|
|||
--font: 'gg sans';
|
||||
|
||||
/* top left corner text */
|
||||
--corner-text: '${styleCfg.scheme.name}';
|
||||
--corner-text: '${cfg.scheme.name}';
|
||||
|
||||
/* color of status indicators and window controls */
|
||||
--online-indicator: ${base0B}; /* change to #23a55a for default green */
|
||||
|
@ -110,5 +108,6 @@ in {
|
|||
fill: var(--text-0) !important;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
46
modules/nix/style/modules/fish.nix
Normal file
46
modules/nix/style/modules/fish.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
programs.fish.interactiveShellInit = ''
|
||||
set fish_cursor_default block blink
|
||||
set fish_cursor_insert line blink
|
||||
set fish_cursor_replace_one underscore blink
|
||||
set fish_cursor_visual block
|
||||
|
||||
set -x fish_color_autosuggestion brblack
|
||||
set -x fish_color_cancel -r
|
||||
set -x fish_color_command brgreen
|
||||
set -x fish_color_comment brmagenta
|
||||
set -x fish_color_cwd green
|
||||
set -x fish_color_cwd_root red
|
||||
set -x fish_color_end brmagenta
|
||||
set -x fish_color_error brred
|
||||
set -x fish_color_escape brcyan
|
||||
set -x fish_color_history_current --bold
|
||||
set -x fish_color_host normal
|
||||
set -x fish_color_host_remote yellow
|
||||
set -x fish_color_match --background=brblue
|
||||
set -x fish_color_normal normal
|
||||
set -x fish_color_operator cyan
|
||||
set -x fish_color_param brblue
|
||||
set -x fish_color_quote yellow
|
||||
set -x fish_color_redirection bryellow
|
||||
set -x fish_color_search_match 'bryellow' '--background=brblack'
|
||||
set -x fish_color_selection 'white' '--bold' '--background=brblack'
|
||||
set -x fish_color_status red
|
||||
set -x fish_color_user brgreen
|
||||
set -x fish_color_valid_path --underline
|
||||
set -x fish_pager_color_completion normal
|
||||
set -x fish_pager_color_description yellow
|
||||
set -x fish_pager_color_prefix 'white' '--bold' '--underline'
|
||||
set -x fish_pager_color_progress 'brwhite' '--background=cyan'
|
||||
'';
|
||||
}
|
||||
];
|
||||
}
|
45
modules/nix/style/modules/foot.nix
Normal file
45
modules/nix/style/modules/foot.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
programs.foot.settings.colors = let
|
||||
# because someone thought this was a great idea: https://github.com/tinted-theming/schemes/commit/61058a8d2e2bd4482b53d57a68feb56cdb991f0b
|
||||
palette = builtins.mapAttrs (_: color: lib.removePrefix "#" color) cfg.scheme.palette;
|
||||
in
|
||||
with palette; {
|
||||
background = base00;
|
||||
foreground = base05;
|
||||
|
||||
regular0 = base00;
|
||||
regular1 = base08;
|
||||
regular2 = base0B;
|
||||
regular3 = base0A;
|
||||
regular4 = base0D;
|
||||
regular5 = base0E;
|
||||
regular6 = base0C;
|
||||
regular7 = base05;
|
||||
|
||||
bright0 = base02;
|
||||
bright1 = base08;
|
||||
bright2 = base0B;
|
||||
bright3 = base0A;
|
||||
bright4 = base0D;
|
||||
bright5 = base0E;
|
||||
bright6 = base0C;
|
||||
bright7 = base07;
|
||||
|
||||
"16" = base09;
|
||||
"17" = base0F;
|
||||
"18" = base01;
|
||||
"19" = base02;
|
||||
"20" = base04;
|
||||
"21" = base06;
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
27
modules/nix/style/modules/fuzzel.nix
Normal file
27
modules/nix/style/modules/fuzzel.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
inherit (cfg) scheme;
|
||||
in {
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
programs.fuzzel.settings = {
|
||||
main = {
|
||||
font = "sans-serif:size=16";
|
||||
};
|
||||
colors = with scheme.palette; {
|
||||
background = "${base01}f2";
|
||||
text = "${base05}ff";
|
||||
match = "${base0E}ff";
|
||||
selection = "${base03}ff";
|
||||
selection-text = "${base06}ff";
|
||||
selection-match = "${base0E}ff";
|
||||
border = "${base0E}ff";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
|
@ -1,19 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
osConfig,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
styleCfg = osConfig.local.style;
|
||||
cfg = config.local.style;
|
||||
inherit (cfg) scheme;
|
||||
in {
|
||||
config = with styleCfg;
|
||||
lib.mkIf styleCfg.enable {
|
||||
home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
gtk = rec {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
inherit (gtk.iconTheme) name package;
|
||||
inherit (cfg.gtk.iconTheme) name package;
|
||||
};
|
||||
theme = {
|
||||
inherit (gtk.theme) name package;
|
||||
inherit (cfg.gtk.theme) name package;
|
||||
};
|
||||
|
||||
gtk3.extraConfig = {
|
||||
|
@ -23,5 +24,6 @@ in {
|
|||
};
|
||||
|
||||
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-${scheme.variant}";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
27
modules/nix/style/modules/hyprland.nix
Normal file
27
modules/nix/style/modules/hyprland.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
env = [
|
||||
"HYPRCURSOR_THEME,phinger-cursors-light"
|
||||
"HYPRCURSOR_SIZE,32"
|
||||
"XCURSOR_SIZE,32"
|
||||
];
|
||||
general = {
|
||||
border_size = 4;
|
||||
"col.active_border" = "rgb(${lib.removePrefix "#" cfg.scheme.palette.base0E})";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
blur.enabled = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
109
modules/nix/style/modules/hyprlock.nix
Normal file
109
modules/nix/style/modules/hyprlock.nix
Normal file
|
@ -0,0 +1,109 @@
|
|||
{
|
||||
lib,
|
||||
lib',
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
|
||||
# hyprlock takes colors such as rgb[a](r, g, b [, a])
|
||||
rgbaPalette = builtins.mapAttrs (_: c: (lib'.rgba c 1)) cfg.scheme.palette;
|
||||
in {
|
||||
config.home-manager.sharedModules = with rgbaPalette;
|
||||
lib.mkIf cfg.enable [
|
||||
{
|
||||
programs.hyprlock = {
|
||||
settings = {
|
||||
background = [
|
||||
{
|
||||
path = "screenshot";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
hide_cursor = true;
|
||||
};
|
||||
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "Layout: $LAYOUT";
|
||||
font_size = 25;
|
||||
color = base05;
|
||||
|
||||
position = "30, -30";
|
||||
halign = "left";
|
||||
valign = "top";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = "$TIME";
|
||||
font_size = 90;
|
||||
color = base05;
|
||||
|
||||
position = "-30, 0";
|
||||
halign = "right";
|
||||
valign = "top";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = "cmd[update:43200000] date +\"%A, %d %B %Y\"";
|
||||
font_size = 25;
|
||||
color = base05;
|
||||
|
||||
position = "-30, -150";
|
||||
halign = "right";
|
||||
valign = "top";
|
||||
}
|
||||
];
|
||||
|
||||
image = {
|
||||
monitor = "";
|
||||
path = "${cfg.avatar}"; # Replace with your avatar path
|
||||
size = 100;
|
||||
border_color = base0D;
|
||||
|
||||
position = "0, 75";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
|
||||
input-field = [
|
||||
{
|
||||
monitor = "";
|
||||
|
||||
size = "300, 60";
|
||||
outline_thickness = 4;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
|
||||
outer_color = base0D;
|
||||
inner_color = base02;
|
||||
font_color = base05;
|
||||
|
||||
fade_on_empty = false;
|
||||
|
||||
# the span elements still use #RRGGBB, so we use scheme directly
|
||||
placeholder_text = "<span foreground=\"#${cfg.scheme.palette.base05}\"><i> Logged in as </i><span foreground=\"#${cfg.scheme.palette.base0D}\">$USER</span></span>";
|
||||
|
||||
hide_input = false;
|
||||
check_color = base0D;
|
||||
fail_color = base08;
|
||||
|
||||
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
||||
capslock_color = base0E;
|
||||
|
||||
position = "0, -47";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
21
modules/nix/style/modules/niri.nix
Normal file
21
modules/nix/style/modules/niri.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
programs.niri = {
|
||||
settings = {
|
||||
layout.focus-ring.active.color = cfg.scheme.palette.base0D;
|
||||
cursor = {
|
||||
inherit (cfg.cursorTheme) size;
|
||||
theme = cfg.cursorTheme.name;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
17
modules/nix/style/modules/nvf.nix
Normal file
17
modules/nix/style/modules/nvf.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
programs.nvf.settings.vim.theme = {
|
||||
enable = true;
|
||||
name = "base16";
|
||||
base16-colors = cfg.scheme.palette;
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
21
modules/nix/style/modules/regreet.nix
Normal file
21
modules/nix/style/modules/regreet.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.programs.regreet = lib.mkIf cfg.enable {
|
||||
theme = {
|
||||
inherit (cfg.gtk.theme) name package;
|
||||
};
|
||||
|
||||
cursorTheme = {
|
||||
inherit (cfg.cursorTheme) name package;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
inherit (cfg.gtk.iconTheme) name package;
|
||||
};
|
||||
};
|
||||
}
|
47
modules/nix/style/modules/swaylock.nix
Normal file
47
modules/nix/style/modules/swaylock.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.home-manager.sharedModules = with cfg.scheme.palette;
|
||||
lib.mkIf cfg.enable [
|
||||
{
|
||||
programs.swaylock.settings = {
|
||||
inside-color = base01;
|
||||
line-color = base01;
|
||||
ring-color = base05;
|
||||
text-color = base05;
|
||||
|
||||
inside-clear-color = base0A;
|
||||
line-clear-color = base0A;
|
||||
ring-clear-color = base00;
|
||||
text-clear-color = base00;
|
||||
|
||||
inside-caps-lock-color = base03;
|
||||
line-caps-lock-color = base03;
|
||||
ring-caps-lock-color = base00;
|
||||
text-caps-lock-color = base00;
|
||||
|
||||
inside-ver-color = base0D;
|
||||
line-ver-color = base0D;
|
||||
ring-ver-color = base00;
|
||||
text-ver-color = base00;
|
||||
|
||||
inside-wrong-color = base08;
|
||||
line-wrong-color = base08;
|
||||
ring-wrong-color = base00;
|
||||
text-wrong-color = base00;
|
||||
|
||||
caps-lock-bs-hl-color = base08;
|
||||
caps-lock-key-hl-color = base0D;
|
||||
bs-hl-color = base08;
|
||||
key-hl-color = base0D;
|
||||
|
||||
separator-color = "#00000000"; # transparent
|
||||
layout-bg-color = "#00000050"; # semi-transparent black
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
14
modules/nix/style/modules/swaync.nix
Normal file
14
modules/nix/style/modules/swaync.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
lib',
|
||||
...
|
||||
}: let
|
||||
cfg = config.local.style;
|
||||
in {
|
||||
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||
{
|
||||
services.swaync.style = lib'.generateGtkColors lib cfg.scheme.palette;
|
||||
}
|
||||
];
|
||||
}
|
Loading…
Reference in a new issue