nixos-config/config/users/alex/default.nix

143 lines
3.3 KiB
Nix

{ config, pkgs, user, firefox-addons, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = user;
home.homeDirectory = "/home/${user}";
# 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 firefox-addons; [
darkreader
multi-account-containers
simple-tab-groups
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;
}