nixcfg/aly.nix

178 lines
4.9 KiB
Nix
Raw Normal View History

{
inputs,
config,
pkgs,
lib,
...
}: let
unstable = import inputs.nixpkgsUnstable {
system = pkgs.system;
config.allowUnfree = true;
};
in {
imports = [./homeManagerModules];
home.username = "aly";
home.homeDirectory = "/home/aly";
2024-05-03 11:03:50 -04:00
home.stateVersion = "24.05";
programs.home-manager.enable = true;
home.packages = with pkgs; [
2024-05-25 23:14:47 -04:00
brave
browsh
curl
2024-04-18 15:48:29 -04:00
fractal
gh
git
gnome.file-roller
2024-05-14 23:15:22 -04:00
google-chrome
keepassxc
unstable.obsidian
2024-05-26 02:11:12 -04:00
plexamp
python3
ruby
trayscale
wget
2024-05-24 07:26:07 -04:00
unstable.zoom-us
];
alyraffauf = {
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 = {
package = pkgs.brave;
desktop = "brave-browser.desktop";
};
};
2024-04-20 21:41:11 -04:00
hyprland = {
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;
};
theme = {
enable = true;
gtk = {
name = "Catppuccin-Frappe-Compact-Mauve-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["mauve"];
size = "compact";
variant = "frappe";
tweaks = ["normal"];
};
};
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";
size = 11;
package = pkgs.nerdfonts.override {fonts = ["Noto"];};
};
terminalFont = {
2024-05-12 21:32:57 -04:00
name = "NotoSansM Nerd Font";
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";
};
};
apps = {
alacritty.enable = true;
firefox.enable = true;
bash.enable = true;
emacs.enable = true;
eza.enable = true;
2024-05-04 07:02:48 -04:00
fastfetch.enable = true;
fzf.enable = true;
neofetch.enable = true;
neovim.enable = true;
tmux.enable = true;
2024-04-30 20:06:14 -04:00
chromium.enable = true;
tauon.enable = true;
thunderbird.enable = true;
vsCodium.enable = true;
webCord.enable = true;
};
scripts = {
pp-adjuster.enable = true;
};
};
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"}'';}
];
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";}];
};
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
# Workspace - Browser
2024-05-26 11:00:06 -04:00
workspace = 1, defaultName:web, on-created-empty:${config.alyraffauf.desktop.defaultApps.webBrowser.exe}
windowrulev2 = workspace 1,class:(firefox)
2024-05-25 23:14:47 -04:00
windowrulev2 = workspace 1,class:(brave-browser)
# Workspace - Coding
2024-05-26 11:00:06 -04:00
workspace = 2, defaultName:code, on-created-empty:${config.alyraffauf.desktop.defaultApps.editor.exe}
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
bind = SUPER, W, togglespecialworkspace, chat
bind = SUPER SHIFT, W, movetoworkspace, special:chat
workspace = special:chat, on-created-empty:${lib.getExe pkgs.fractal}
windowrulev2 = workspace special:chat,class:(org.gnome.Fractal)
windowrulev2 = workspace special:chat,class:(WebCord)
# 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-05-26 11:00:06 -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)
'';
}