nixcfg/homes/aly/default.nix

130 lines
3.4 KiB
Nix
Raw Normal View History

{
config,
inputs,
lib,
pkgs,
self,
...
2024-06-04 02:03:15 -04:00
}: {
imports = [
./firefox
];
2024-06-11 13:31:10 -04:00
home = {
homeDirectory = "/home/aly";
2024-06-24 00:39:36 -04:00
file."${config.xdg.cacheHome}/keepassxc/keepassxc.ini".text = lib.generators.toINI {} {
General.LastActiveDatabase = "${config.home.homeDirectory}/sync/Passwords.kdbx";
};
2024-06-24 00:39:36 -04:00
2024-06-11 13:31:10 -04:00
packages = with pkgs; [
browsh
curl
fractal
gh
git
google-chrome
obsidian
plexamp
python3
ruby
tauon
trayscale
webcord
wget
];
2024-06-24 00:39:36 -04:00
stateVersion = "24.05";
username = "aly";
2024-06-11 13:31:10 -04:00
};
programs = {
home-manager.enable = true;
2024-06-24 00:39:36 -04:00
2024-06-11 13:31:10 -04:00
git = {
enable = true;
userName = "Aly Raffauf";
userEmail = "aly@raffauflabs.com";
};
};
wayland.windowManager = {
sway.config = {
assigns = {
"workspace 1: web" = [{app_id = "firefox";} {app_id = "brave-browser";}];
"workspace 2: code" = [{app_id = "codium-url-handler";}];
"workspace 3: chat" = [{app_id = "org.gnome.Fractal";} {app_id = "WebCord";}];
"workspace 4: work" = [{app_id = "google-chrome";} {app_id = "chromium-browser";}];
"workspace 10: zoom" = [{class = "zoom";} {app_id = "Zoom";}];
};
startup = [
{command = ''${lib.getExe' pkgs.keepassxc "keepassxc"}'';}
];
};
hyprland.extraConfig = ''
# Workspace - Browser
workspace = 1, defaultName:web, on-created-empty:${config.ar.home.defaultApps.webBrowser.exe}
2024-06-11 13:31:10 -04:00
windowrulev2 = workspace 1,class:(firefox)
windowrulev2 = workspace 1,class:(brave-browser)
# Workspace - Coding
workspace = 2, defaultName:code, on-created-empty:${config.ar.home.defaultApps.editor.exe}
2024-06-11 13:31:10 -04:00
windowrulev2 = workspace 2,class:(codium-url-handler)
# Workspace - Chrome
windowrulev2 = workspace 3,class:(google-chrome)
# Scratchpad Chat
# 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)
# Scratchpad Notes
bind = SUPER, N, togglespecialworkspace, notes
bind = SUPER SHIFT, N, movetoworkspace, special:notes
workspace = special:notes, on-created-empty:${lib.getExe' pkgs.obsidian "obsidian"}
# windowrulev2 = workspace special:notes,class:(obsidian)
# # 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)
'';
};
ar.home = {
apps = {
alacritty.enable = true;
bash.enable = true;
2024-05-28 23:17:37 -04:00
chromium = {
enable = true;
package = pkgs.brave;
2024-05-28 23:17:37 -04:00
};
emacs.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-06-21 22:19:28 -04:00
keepassxc.enable = true;
neovim.enable = true;
2024-05-28 23:17:37 -04:00
tmux.enable = true;
vsCodium.enable = true;
};
2024-06-21 17:24:33 -04:00
desktop = {
2024-06-20 19:24:55 -04:00
startupApps = [(lib.getExe' pkgs.keepassxc "keepassxc")];
};
scripts = {
pp-adjuster.enable = true;
};
2024-06-21 17:24:33 -04:00
theme = {
wallpaper = "${config.xdg.dataHome}/backgrounds/wallhaven-3led2d.jpg";
};
};
}