mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-25 08:11:54 -05:00
284 lines
8 KiB
Nix
284 lines
8 KiB
Nix
self: {
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
unstable = import self.inputs.nixpkgs-unstable {
|
|
system = pkgs.system;
|
|
};
|
|
in {
|
|
imports = [
|
|
./firefox
|
|
./mail
|
|
./secrets.nix
|
|
./windowManagers
|
|
self.homeManagerModules.default
|
|
self.inputs.agenix.homeManagerModules.default
|
|
self.inputs.nur.hmModules.nur
|
|
];
|
|
|
|
home = {
|
|
homeDirectory = "/home/aly";
|
|
|
|
file = {
|
|
"${config.xdg.cacheHome}/keepassxc/keepassxc.ini".text = lib.generators.toINI {} {
|
|
General.LastActiveDatabase = "${config.home.homeDirectory}/sync/Passwords.kdbx";
|
|
};
|
|
};
|
|
|
|
packages = [
|
|
pkgs.bitwarden-desktop
|
|
pkgs.browsh
|
|
pkgs.curl
|
|
pkgs.fractal
|
|
pkgs.git
|
|
pkgs.nicotine-plus
|
|
pkgs.obsidian
|
|
pkgs.picard
|
|
pkgs.tauon
|
|
pkgs.transmission-remote-gtk
|
|
pkgs.webcord
|
|
];
|
|
|
|
stateVersion = "24.05";
|
|
username = "aly";
|
|
};
|
|
|
|
gtk = let
|
|
nordCss = ''
|
|
@define-color window_bg_color #2E3440;
|
|
@define-color window_fg_color #ECEFF4;
|
|
@define-color view_bg_color #434C5E;
|
|
@define-color view_fg_color @window_fg_color;
|
|
@define-color accent_bg_color #8FBCBB;
|
|
@define-color accent_fg_color #ffffff;
|
|
@define-color accent_color @accent_bg_color;
|
|
@define-color headerbar_bg_color #3B4252;
|
|
@define-color headerbar_backdrop_color @window_bg_color;
|
|
@define-color headerbar_fg_color @window_fg_color;
|
|
@define-color popover_bg_color #4C566A;
|
|
@define-color popover_fg_color @view_fg_color;
|
|
@define-color dialog_bg_color @popover_bg_color;
|
|
@define-color dialog_fg_color @popover_fg_color;
|
|
@define-color card_bg_color @popover_bg_color;
|
|
@define-color card_fg_color @window_fg_color;
|
|
@define-color sidebar_bg_color @headerbar_bg_color;
|
|
@define-color sidebar_fg_color @window_fg_color;
|
|
@define-color sidebar_backdrop_color @window_bg_color;
|
|
@define-color sidebar_shade_color rgba(0,0,0,0.25);
|
|
decoration {
|
|
box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.7), 0 0 0 1px shade(@headerbar_bg_color,1.3);
|
|
}
|
|
decoration:backdrop {
|
|
box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.4), 0 0 0 1px shade(@headerbar_bg_color,1.1);
|
|
}
|
|
.tiled decoration, .tiled-top decoration, .tiled-bottom decoration, .tiled-right decoration, .tiled-left decoration {
|
|
box-shadow: 0 0 0 1px shade(@headerbar_bg_color,1.1), 0 0 0 20px transparent;
|
|
}
|
|
messagedialog.csd decoration, .csd.popup decoration, .maximized .csd.popup decoration {
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 0 1px alpha(shade(@headerbar_bg_color,1.3),0.9);
|
|
}
|
|
.maximized .csd.popup decoration {
|
|
border-radius: 6px;
|
|
}
|
|
.maximized decoration, .fullscreen decoration {
|
|
border-radius: 0;
|
|
box-shadow: none;
|
|
}
|
|
.ssd decoration {
|
|
box-shadow: 0 0 0 1px shade(@headerbar_bg_color,1.3);
|
|
}
|
|
.ssd decoration:backdrop {
|
|
box-shadow: 0 0 0 1px shade(@headerbar_bg_color,1.1);
|
|
}
|
|
.ssd.maximized decoration, .ssd.maximized decoration:backdrop {
|
|
box-shadow: none;
|
|
}
|
|
.solid-csd decoration {
|
|
box-shadow: inset 0 0 0 5px alpha(currentColor,0.5), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px alpha(currentColor,0.5);
|
|
}
|
|
.solid-csd decoration:backdrop {
|
|
box-shadow: inset 0 0 0 3px @window_bg_color;
|
|
}
|
|
|
|
.titlebar, headerbar {
|
|
border-bottom-color: alpha(currentColor,0.15);
|
|
}
|
|
.titlebar:backdrop, headerbar:backdrop {
|
|
border-bottom-color: alpha(currentColor,0.2);
|
|
}
|
|
|
|
button.titlebutton,
|
|
windowcontrols > button {
|
|
color: transparent;
|
|
min-width: 18px;
|
|
min-height: 18px;
|
|
}
|
|
|
|
button.titlebutton:backdrop {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
windowcontrols > button {
|
|
border-radius: 100%;
|
|
padding: 0;
|
|
margin: 0 5px;
|
|
}
|
|
windowcontrols > button > image {
|
|
padding: 0;
|
|
}
|
|
|
|
button.titlebutton.close,
|
|
windowcontrols > button.close {
|
|
background-color: #BF616A;
|
|
}
|
|
button.titlebutton.close:hover,
|
|
windowcontrols > button.close:hover {
|
|
background-color: #d5979d;
|
|
}
|
|
button.titlebutton.maximize,
|
|
windowcontrols > button.maximize {
|
|
background-color: #A3BE8C;
|
|
}
|
|
button.titlebutton.maximize:hover,
|
|
windowcontrols > button.maximize:hover {
|
|
background-color: #cadabd;
|
|
}
|
|
button.titlebutton.minimize,
|
|
windowcontrols > button.minimize {
|
|
background-color: #EBCB8B;
|
|
}
|
|
button.titlebutton.minimize:hover,
|
|
windowcontrols > button.minimize:hover {
|
|
background-color: #f6e8cc;
|
|
}
|
|
button.titlebutton.close:backdrop, button.titlebutton.maximize:backdrop, button.titlebutton.minimize:backdrop,
|
|
windowcontrols > button.close:backdrop,
|
|
windowcontrols > button.maximize:backdrop,
|
|
windowcontrols > button.minimize:backdrop {
|
|
background-color: #4C566A;
|
|
}
|
|
button.titlebutton.close:backdrop:hover, button.titlebutton.maximize:backdrop:hover, button.titlebutton.minimize:backdrop:hover,
|
|
windowcontrols > button.close:backdrop:hover,
|
|
windowcontrols > button.maximize:backdrop:hover,
|
|
windowcontrols > button.minimize:backdrop:hover {
|
|
background-color: #6d7a96;
|
|
}
|
|
button.titlebutton.close:active, button.titlebutton.maximize:active, button.titlebutton.minimize:active,
|
|
windowcontrols > button.close:active,
|
|
windowcontrols > button.maximize:active,
|
|
windowcontrols > button.minimize:active {
|
|
box-shadow: inset 0 0 0 3px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
notebook > header tab:not(:backdrop):checked.reorderable-page,
|
|
tabbar tab:not(:backdrop):checked {
|
|
background-color: @headerbar_bg_color;
|
|
}
|
|
|
|
.nautilus-window .sidebar {
|
|
background-color: @view_bg_color;
|
|
}
|
|
.nautilus-window .sidebar:backdrop {
|
|
background-color: @window_bg_color;
|
|
}'';
|
|
in {
|
|
# gtk3.extraCss = nordCss;
|
|
# gtk4.extraCss = nordCss;
|
|
};
|
|
|
|
programs = {
|
|
git = {
|
|
enable = true;
|
|
lfs.enable = true;
|
|
userName = "Aly Raffauf";
|
|
userEmail = "aly@raffauflabs.com";
|
|
|
|
extraConfig = {
|
|
color.ui = true;
|
|
core.editor = "${lib.getExe config.programs.vscode.package} --wait";
|
|
github.user = "alyraffauf";
|
|
push.autoSetupRemote = true;
|
|
};
|
|
};
|
|
|
|
gitui.enable = true;
|
|
home-manager.enable = true;
|
|
|
|
rbw = {
|
|
enable = true;
|
|
package = pkgs.rbw;
|
|
|
|
settings = {
|
|
email = "alyraffauf@fastmail.com";
|
|
lock_timeout = 14400;
|
|
pinentry = pkgs.pinentry-gnome3;
|
|
};
|
|
};
|
|
};
|
|
|
|
systemd.user.startServices = "legacy"; # Needed for auto-mounting agenix secrets.
|
|
|
|
ar.home = {
|
|
apps = {
|
|
backblaze = {
|
|
enable = true;
|
|
keyIdFile = config.age.secrets.backblazeKeyId.path;
|
|
keyFile = config.age.secrets.backblazeKey.path;
|
|
};
|
|
|
|
chromium.enable = true;
|
|
fastfetch.enable = true;
|
|
firefox.enable = true;
|
|
helix.enable = true;
|
|
keepassxc.enable = true;
|
|
kitty.enable = true;
|
|
shell.enable = true;
|
|
tmux.enable = true;
|
|
vsCodium.enable = true;
|
|
yazi.enable = true;
|
|
|
|
zed = {
|
|
enable = true;
|
|
package = unstable.zed-editor;
|
|
|
|
settings = {
|
|
auto_install_extensions = {nord = true;};
|
|
|
|
theme = {
|
|
dark = "Rosé Pine Moon";
|
|
light = "Rosé Pine Dawn";
|
|
mode = "system";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
defaultApps = {
|
|
enable = true;
|
|
editor = config.ar.home.apps.zed.package;
|
|
};
|
|
|
|
services = {
|
|
gammastep.enable = true;
|
|
randomWallpaper.enable = true;
|
|
};
|
|
|
|
theme = {
|
|
enable = true;
|
|
|
|
colors = {
|
|
text = "#FFFFFF";
|
|
background = "#2a273f";
|
|
primary = "#3e8fb0";
|
|
secondary = "#f6c177";
|
|
inactive = "#393552";
|
|
shadow = "#232136";
|
|
};
|
|
|
|
wallpaper = "${config.xdg.dataHome}/backgrounds/wallhaven-6d7xmx.jpg";
|
|
};
|
|
};
|
|
}
|