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

216 lines
6.0 KiB
Nix
Raw Normal View History

2024-07-26 23:05:13 +00:00
{ config, pkgs, user, firefox-addons, ... }:
2023-06-16 23:46:10 +00:00
2023-06-17 17:01:57 +00:00
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
2024-07-26 23:05:13 +00:00
home.username = user;
home.homeDirectory = "/home/${user}";
2023-06-16 23:46:10 +00:00
2023-06-17 17:01:57 +00:00
# Packages that should be installed to the user profile.
2023-06-17 17:51:24 +00:00
home.packages = with pkgs; [
2024-07-19 15:09:45 +00:00
aseprite
audacity
2024-07-20 13:27:10 +00:00
blender
darktable
2024-07-19 15:09:45 +00:00
digikam
2023-06-17 17:51:24 +00:00
discord
2024-07-20 13:57:28 +00:00
drawio
2024-07-28 13:32:42 +00:00
exiftool # For digikam
2024-07-19 15:09:45 +00:00
famistudio
2024-05-11 17:01:56 +00:00
digikam
firefox
2023-06-25 14:54:22 +00:00
flameshot
gimp-with-plugins
2023-06-17 20:46:54 +00:00
gnucash
2024-07-19 15:09:45 +00:00
godot_4
2024-07-20 13:27:10 +00:00
grafx2
jellyfin-media-player
2023-06-17 17:51:24 +00:00
keepassxc
2023-06-25 14:54:22 +00:00
krita
2024-05-11 17:01:56 +00:00
rawtherapee
2023-06-25 14:54:22 +00:00
libreoffice
2024-07-20 13:27:10 +00:00
lmms
2023-06-17 17:51:24 +00:00
lutris
2024-07-20 13:27:10 +00:00
moonlight-qt
ncdu
2023-06-17 17:51:24 +00:00
nextcloud-client
nixpkgs-fmt
2024-03-01 03:43:35 +00:00
obsidian
2024-07-20 13:27:10 +00:00
picard
2024-07-28 15:18:13 +00:00
polybar
2024-07-19 15:09:45 +00:00
rawtherapee
2024-07-28 15:18:13 +00:00
rofi
2024-07-20 13:27:10 +00:00
spotify
2024-07-28 00:20:47 +00:00
sqlitebrowser
2024-07-20 13:27:10 +00:00
steam
2023-12-17 18:25:43 +00:00
syncthing
2023-12-10 01:32:05 +00:00
ventoy-full
2024-05-12 04:02:13 +00:00
vlc
2024-07-20 13:27:10 +00:00
winetricks
wineWowPackages.unstableFull
2023-06-17 17:51:24 +00:00
yt-dlp
2023-06-17 17:01:57 +00:00
];
2023-06-16 23:46:10 +00:00
2023-06-19 00:06:52 +00:00
# WM/DE config
gtk = {
enable = true;
font.name = "Victor Mono SemiBold 12";
theme = {
name = "SolArc-Dark";
package = pkgs.solarc-gtk-theme;
};
};
2024-07-28 15:18:13 +00:00
xsession = {
2024-07-28 14:23:36 +00:00
enable = true;
2024-07-28 15:18:13 +00:00
windowManager.bspwm = {
enable = true;
settings = {
border_width = 10;
};
extraConfig = ''
polybar &
'';
2024-07-28 15:29:56 +00:00
startupPrograms = [ ];
2024-07-28 14:23:36 +00:00
};
};
2024-07-28 15:18:13 +00:00
services.sxhkd =
{
enable = true;
keybindings = {
"super + Return" = "kitty";
"super + @space" = "rofi";
};
};
2023-06-17 21:14:55 +00:00
# User software configurations
programs = {
2023-06-25 14:54:22 +00:00
bash = {
shellAliases = {
"git-override" = "git add . && git commit --amend --no-edit && git push --force-with-lease";
};
};
2024-07-19 15:21:34 +00:00
firefox = {
enable = true;
2024-07-26 22:27:47 +00:00
profiles.default = {
settings = {
2024-07-28 14:10:10 +00:00
"browser.newtabpage.activity-stream.default.sites" = "https://www.wikipedia.org/";
2024-07-28 13:32:42 +00:00
"browser.newtabpage.activity-stream.discoverystream.saveToPocketCard.enabled" = false;
"browser.newtabpage.activity-stream.discoverystream.sendToPocket.enabled" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
2024-07-28 14:10:10 +00:00
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
2024-07-28 13:37:31 +00:00
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = "duckduckgo";
2024-07-28 14:10:10 +00:00
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "duckduckgo";
2024-07-28 13:32:42 +00:00
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
2024-07-28 14:10:10 +00:00
"browser.newtabpage.activity-stream.showSponsored" = false;
2024-07-28 13:34:26 +00:00
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
2024-07-28 13:32:42 +00:00
"browser.newtabpage.activity-stream.system.showSponsored" = false;
2024-07-28 13:37:31 +00:00
"browser.newtabpage.pinned" = [{
url = "https://duckduckgo.com";
label = "@duckduckgo";
searchTopSite = true;
}];
2024-07-28 14:10:10 +00:00
"browser.topsites.contile.cachedTiles" = [ ];
"browser.topsites.contile.enabled" = false; # man fuck this shit, its the api that gets FF newpage shortcuts like FB, expedia, ...
2024-07-28 13:32:42 +00:00
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
2024-07-26 22:27:47 +00:00
"extensions.autoDisableScopes" = 0;
2024-07-19 15:21:34 +00:00
};
2024-07-26 23:05:13 +00:00
extensions = with firefox-addons; [
2024-07-26 22:27:47 +00:00
darkreader
multi-account-containers
2024-07-26 22:58:54 +00:00
simple-tab-groups
2024-07-26 22:27:47 +00:00
ublock-origin
umatrix
];
2024-07-28 13:32:42 +00:00
search = {
force = true;
default = "DuckDuckGo";
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
};
order = [ "DuckDuckGo" "Nix Packages" "Wikipedia" "Google" "Amazon" ];
};
2024-07-19 15:21:34 +00:00
};
};
2024-07-26 22:27:47 +00:00
2023-06-17 23:55:49 +00:00
git = {
enable = true;
userEmail = "alexmat2on@protonmail.com";
userName = "alex";
ignores = [ "*~" ];
extraConfig = {
init.defaultBranch = "main";
};
};
2023-06-17 21:14:55 +00:00
kitty = {
enable = true;
2024-01-20 00:24:06 +00:00
# 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
2023-06-17 21:14:55 +00:00
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
'';
2023-06-25 14:54:22 +00:00
theme = "Rosé Pine Dawn";
2023-06-17 21:14:55 +00:00
font.package = pkgs.victor-mono;
font.name = "Victor Mono";
font.size = 12;
};
2024-07-28 00:20:47 +00:00
mpv = {
enable = true;
scriptOpts = {
"ytdl_hook" = {
"ytdl_path" = "${pkgs.yt-dlp}/bin/yt-dlp";
};
};
};
2023-06-18 00:16:24 +00:00
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;
};
};
2023-06-17 21:14:55 +00:00
};
2023-06-17 17:01:57 +00:00
# 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";
2023-06-19 00:06:52 +00:00
home.enableNixpkgsReleaseCheck = true;
2023-06-16 23:46:10 +00:00
2023-06-17 17:01:57 +00:00
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}