2024-04-18 14:21:33 -04:00
|
|
|
{
|
|
|
|
inputs,
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
2024-05-24 09:37:37 -04:00
|
|
|
}: let
|
|
|
|
unstable = import inputs.nixpkgsUnstable {
|
|
|
|
system = pkgs.system;
|
|
|
|
config.allowUnfree = true;
|
|
|
|
};
|
|
|
|
in {
|
2024-04-18 14:21:33 -04:00
|
|
|
imports = [./homeManagerModules];
|
|
|
|
home.username = "aly";
|
|
|
|
home.homeDirectory = "/home/aly";
|
2024-05-03 11:03:50 -04:00
|
|
|
home.stateVersion = "24.05";
|
2024-04-18 14:21:33 -04:00
|
|
|
programs.home-manager.enable = true;
|
|
|
|
|
|
|
|
home.packages = with pkgs; [
|
2024-05-27 19:37:28 -04:00
|
|
|
(pkgs.google-chrome.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";})
|
2024-04-18 14:21:33 -04:00
|
|
|
browsh
|
|
|
|
curl
|
2024-04-18 15:48:29 -04:00
|
|
|
fractal
|
2024-04-18 14:21:33 -04:00
|
|
|
gh
|
|
|
|
git
|
2024-05-05 17:22:15 -04:00
|
|
|
gnome.file-roller
|
2024-05-14 23:15:22 -04:00
|
|
|
keepassxc
|
2024-05-26 02:11:12 -04:00
|
|
|
plexamp
|
2024-04-18 14:21:33 -04:00
|
|
|
python3
|
|
|
|
ruby
|
2024-04-28 12:42:34 -04:00
|
|
|
trayscale
|
2024-05-27 19:37:28 -04:00
|
|
|
unstable.obsidian
|
2024-05-24 07:26:07 -04:00
|
|
|
unstable.zoom-us
|
2024-05-27 19:37:28 -04:00
|
|
|
wget
|
2024-04-18 14:21:33 -04:00
|
|
|
];
|
|
|
|
|
|
|
|
alyraffauf = {
|
2024-04-24 21:53:44 -04:00
|
|
|
services.syncthing.enable = false;
|
2024-04-20 21:41:11 -04:00
|
|
|
desktop = {
|
2024-05-25 23:14:47 -04:00
|
|
|
defaultApps = {
|
|
|
|
enable = true;
|
|
|
|
webBrowser = {
|
2024-05-28 23:17:37 -04:00
|
|
|
package = config.programs.chromium.package;
|
2024-05-25 23:14:47 -04:00
|
|
|
desktop = "brave-browser.desktop";
|
|
|
|
};
|
|
|
|
};
|
2024-04-20 21:41:11 -04:00
|
|
|
hyprland = {
|
2024-05-04 22:13:13 -04:00
|
|
|
enable = true;
|
2024-05-26 01:25:13 -04:00
|
|
|
randomWallpaper = true;
|
2024-04-20 21:41:11 -04:00
|
|
|
};
|
|
|
|
sway = {
|
|
|
|
enable = true;
|
|
|
|
randomWallpaper = true;
|
|
|
|
};
|
2024-05-05 13:27:22 -04:00
|
|
|
theme = {
|
|
|
|
enable = true;
|
|
|
|
gtk = {
|
|
|
|
name = "Catppuccin-Frappe-Compact-Mauve-Dark";
|
|
|
|
package = pkgs.catppuccin-gtk.override {
|
|
|
|
accents = ["mauve"];
|
|
|
|
size = "compact";
|
|
|
|
variant = "frappe";
|
|
|
|
tweaks = ["normal"];
|
|
|
|
};
|
|
|
|
};
|
2024-06-03 00:24:28 -04:00
|
|
|
qt = {
|
|
|
|
name = "Catppuccin-Frappe-Mauve";
|
|
|
|
package = pkgs.catppuccin-kvantum.override {
|
|
|
|
accent = "Mauve";
|
|
|
|
variant = "Frappe";
|
|
|
|
};
|
|
|
|
};
|
2024-05-05 13:27:22 -04:00
|
|
|
iconTheme = {
|
|
|
|
name = "Papirus-Dark";
|
|
|
|
package = pkgs.catppuccin-papirus-folders.override {
|
|
|
|
flavor = "frappe";
|
|
|
|
accent = "mauve";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
cursorTheme = {
|
|
|
|
name = "Catppuccin-Frappe-Dark-Cursors";
|
|
|
|
size = 24;
|
|
|
|
package = pkgs.catppuccin-cursors.frappeDark;
|
|
|
|
};
|
|
|
|
font = {
|
2024-05-12 21:32:57 -04:00
|
|
|
name = "NotoSans Nerd Font";
|
2024-05-05 13:27:22 -04:00
|
|
|
size = 11;
|
|
|
|
package = pkgs.nerdfonts.override {fonts = ["Noto"];};
|
|
|
|
};
|
|
|
|
terminalFont = {
|
2024-05-12 21:32:57 -04:00
|
|
|
name = "NotoSansM Nerd Font";
|
2024-05-05 13:27:22 -04:00
|
|
|
size = 11;
|
|
|
|
package = pkgs.nerdfonts.override {fonts = ["Noto"];};
|
|
|
|
};
|
|
|
|
colors = {
|
|
|
|
text = "#FAFAFA";
|
|
|
|
background = "#232634";
|
|
|
|
primary = "#CA9EE6";
|
|
|
|
secondary = "#99D1DB";
|
|
|
|
inactive = "#626880";
|
|
|
|
shadow = "#1A1A1A";
|
|
|
|
};
|
|
|
|
wallpaper = "${config.xdg.dataHome}/backgrounds/jr-korpa-9XngoIpxcEo-unsplash.jpg";
|
|
|
|
};
|
2024-04-18 14:21:33 -04:00
|
|
|
};
|
|
|
|
apps = {
|
|
|
|
alacritty.enable = true;
|
|
|
|
bash.enable = true;
|
2024-05-28 23:17:37 -04:00
|
|
|
chromium = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.brave.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";};
|
|
|
|
};
|
2024-04-18 14:21:33 -04:00
|
|
|
emacs.enable = true;
|
|
|
|
eza.enable = true;
|
2024-05-04 07:02:48 -04:00
|
|
|
fastfetch.enable = true;
|
2024-05-28 23:17:37 -04:00
|
|
|
firefox.enable = true;
|
2024-04-18 14:21:33 -04:00
|
|
|
fzf.enable = true;
|
|
|
|
neofetch.enable = true;
|
|
|
|
neovim.enable = true;
|
|
|
|
tauon.enable = true;
|
|
|
|
thunderbird.enable = true;
|
2024-05-28 23:17:37 -04:00
|
|
|
tmux.enable = true;
|
2024-04-18 14:21:33 -04:00
|
|
|
vsCodium.enable = true;
|
|
|
|
webCord.enable = true;
|
|
|
|
};
|
2024-05-02 15:58:22 -04:00
|
|
|
scripts = {
|
|
|
|
pp-adjuster.enable = true;
|
|
|
|
};
|
2024-04-18 14:21:33 -04:00
|
|
|
};
|
2024-05-02 21:51:23 -04:00
|
|
|
|
2024-05-02 22:03:13 -04:00
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
userName = "Aly Raffauf";
|
|
|
|
userEmail = "aly@raffauflabs.com";
|
|
|
|
};
|
|
|
|
|
2024-05-15 07:17:38 -04:00
|
|
|
wayland.windowManager.sway.config.startup = [
|
|
|
|
{command = ''${lib.getExe' pkgs.keepassxc "keepassxc"}'';}
|
|
|
|
];
|
|
|
|
|
2024-04-20 15:00:32 -04:00
|
|
|
wayland.windowManager.sway.config.assigns = {
|
2024-05-25 23:14:47 -04:00
|
|
|
"workspace 1: web" = [{app_id = "firefox";} {app_id = "brave-browser";}];
|
2024-04-24 18:45:13 -04:00
|
|
|
"workspace 2: code" = [{app_id = "codium-url-handler";}];
|
2024-04-24 18:49:58 -04:00
|
|
|
"workspace 3: chat" = [{app_id = "org.gnome.Fractal";} {app_id = "WebCord";}];
|
2024-05-02 22:03:13 -04:00
|
|
|
"workspace 4: work" = [{app_id = "google-chrome";} {app_id = "chromium-browser";}];
|
2024-04-25 21:02:20 -04:00
|
|
|
"workspace 10: zoom" = [{class = "zoom";} {app_id = "Zoom";}];
|
2024-04-20 15:00:32 -04:00
|
|
|
};
|
2024-05-12 22:00:09 -04:00
|
|
|
|
2024-04-18 22:42:44 -04:00
|
|
|
wayland.windowManager.hyprland.extraConfig = ''
|
2024-05-15 07:17:38 -04:00
|
|
|
exec-once = ${lib.getExe' pkgs.keepassxc "keepassxc"}
|
2024-05-18 19:34:22 -04:00
|
|
|
|
2024-04-18 22:42:44 -04:00
|
|
|
# Workspace - Browser
|
2024-05-26 11:00:06 -04:00
|
|
|
workspace = 1, defaultName:web, on-created-empty:${config.alyraffauf.desktop.defaultApps.webBrowser.exe}
|
2024-04-18 22:42:44 -04:00
|
|
|
windowrulev2 = workspace 1,class:(firefox)
|
2024-05-25 23:14:47 -04:00
|
|
|
windowrulev2 = workspace 1,class:(brave-browser)
|
2024-04-18 22:42:44 -04:00
|
|
|
|
|
|
|
# Workspace - Coding
|
2024-05-26 11:00:06 -04:00
|
|
|
workspace = 2, defaultName:code, on-created-empty:${config.alyraffauf.desktop.defaultApps.editor.exe}
|
2024-04-18 22:42:44 -04:00
|
|
|
windowrulev2 = workspace 2,class:(codium-url-handler)
|
|
|
|
|
|
|
|
# Workspace - Zoom
|
|
|
|
windowrulev2 = workspace name:zoom,class:(zoom)
|
|
|
|
|
|
|
|
# Workspace - Chrome
|
2024-05-26 11:00:06 -04:00
|
|
|
windowrulev2 = workspace 3,class:(google-chrome)
|
|
|
|
|
|
|
|
# Scratchpad Chat
|
2024-05-26 11:33:34 -04:00
|
|
|
# bind = SUPER, S, togglespecialworkspace, magic
|
|
|
|
# bind = SUPER SHIFT, W, movetoworkspace, special:magic
|
|
|
|
workspace = special:magic, on-created-empty:${lib.getExe pkgs.fractal}
|
|
|
|
windowrulev2 = workspace special:magic,class:(org.gnome.Fractal)
|
|
|
|
windowrulev2 = workspace special:magic,class:(WebCord)
|
2024-05-26 11:00:06 -04:00
|
|
|
|
2024-05-26 11:33:34 -04:00
|
|
|
# # Scratchpad Notes
|
|
|
|
# bind = SUPER, N, togglespecialworkspace, notes
|
|
|
|
# bind = SUPER SHIFT, N, movetoworkspace, special:notes
|
|
|
|
# workspace = special:notes, on-created-empty:${lib.getExe' unstable.obsidian "obsidian"}
|
|
|
|
# windowrulev2 = workspace special:notes,class:(obsidian)
|
2024-04-18 22:42:44 -04:00
|
|
|
|
2024-05-26 11:33:34 -04:00
|
|
|
# # Scratchpad Music
|
|
|
|
# bind = SUPER, P, togglespecialworkspace, music
|
|
|
|
# bind = SUPER SHIFT, P, movetoworkspace, special:music
|
|
|
|
# workspace = special:music, on-created-empty:${lib.getExe' pkgs.plexamp "plexamp"}
|
|
|
|
# windowrulev2 = workspace special:music,class:(Plexamp)
|
2024-04-18 22:42:44 -04:00
|
|
|
'';
|
2024-04-18 14:21:33 -04:00
|
|
|
}
|