{ config, pkgs, ff, ... }: { # Home Manager needs a bit of information about you and the # paths it should manage. home.username = "alex"; home.homeDirectory = "/home/alex"; # Packages that should be installed to the user profile. home.packages = with pkgs; [ aseprite audacity blender darktable digikam discord drawio famistudio digikam firefox flameshot gimp-with-plugins gnucash godot_4 grafx2 jellyfin-media-player keepassxc krita rawtherapee libreoffice lmms lutris moonlight-qt mpv ncdu nextcloud-client nixpkgs-fmt obsidian picard rawtherapee spotify steam syncthing ventoy-full vlc winetricks wineWowPackages.unstableFull yt-dlp ]; # WM/DE config gtk = { enable = true; font.name = "Victor Mono SemiBold 12"; theme = { name = "SolArc-Dark"; package = pkgs.solarc-gtk-theme; }; }; # User software configurations programs = { bash = { shellAliases = { "git-override" = "git add . && git commit --amend --no-edit && git push --force-with-lease"; }; }; firefox = { enable = true; profiles.default = { settings = { "extensions.autoDisableScopes" = 0; }; extensions = with ff; [ darkreader multi-account-containers ublock-origin umatrix ]; }; }; git = { enable = true; userEmail = "alexmat2on@protonmail.com"; userName = "alex"; ignores = [ "*~" ]; extraConfig = { init.defaultBranch = "main"; }; }; kitty = { enable = true; # TODO figure out how to get atau-nixpkgs working from the flake with different systems # background_image ${atau-nixpkgs.atau-wallpapers}/share/backgrounds/atau-wallpapers/aos1.png extraConfig = '' background_tint 0.2 background_image_layout centered modify_font cell_width 110% window_border_width 1 window_margin_width 10 window_padding_width 2 ''; theme = "Rosé Pine Dawn"; font.package = pkgs.victor-mono; font.name = "Victor Mono"; font.size = 12; }; vscode = { enable = true; extensions = with pkgs; [ vscode-extensions.eamodio.gitlens vscode-extensions.jnoortheen.nix-ide vscode-extensions.scalameta.metals ]; userSettings = { "workbench.colorTheme" = "Default Dark Modern"; "security.workspace.trust.untrustedFiles" = "open"; "nix.formatterPath" = "nixpkgs-fmt"; "files.autoSave" = "afterDelay"; "editor.formatOnSave" = true; }; }; }; # This value determines the Home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new Home Manager release introduces backwards # incompatible changes. # # You can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. home.stateVersion = "23.05"; home.enableNixpkgsReleaseCheck = true; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }