nix/common/home-manager.nix

254 lines
5.7 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
<home-manager/nixos>
];
home-manager.users.sijmen = {
nixpkgs.config.allowUnfree = true;
home = {
stateVersion = config.system.stateVersion;
packages = with pkgs; [
# Office
aerc
libreoffice-fresh
# Programming
bacon
drone-cli
sublime-merge
tig
vscode-fhs
# Graphics
gimp
inkscape
# Internet
discord
httpie
tdesktop
transmission-gtk
w3m
wget
# Sound & Video
mpv
spotify
# System Tools
htop
iotop
sysstat
lsof
screen
borgbackup
smartmontools
tmux
fd
gnome.gnome-tweaks
gnomeExtensions.openweather
htop
tree
killall
pika-backup
silver-searcher
unzip
unrar
zip
p7zip
virt-manager
wl-clipboard
];
sessionVariables = {
MOZ_ENABLE_WAYLAND = 1;
NIXOS_OZONE_WL = 1;
QT_QPA_PLATFORM = "wayland";
SDL_VIDEODRIVER = "wayland";
EDITOR = "nvim";
};
shellAliases = {
".." = "cd ..";
"..." = "cd ../..";
config = "vim /etc/nixos/configuration.nix";
hmconf = "vim /etc/nixos/common/home-manager.nix";
switch = "sudo nixos-rebuild switch";
nr = "nix run --impure";
ns = "nix-shell";
nsp = "nix-shell -p";
cdnix = "cd /etc/nixos";
ga = "git add";
gc = "git commit";
gcm = "git commit -m";
gl = "git pull";
gla = "git pull --autostash";
gp = "git push";
gpf = "git push --force-with-lease";
tigs = "tig status";
};
};
gtk = {
enable = true;
gtk2.extraConfig = ''
gtk-enable-animations=1
gtk-primary-button-warps-slider=0
gtk-toolbar-style=3
gtk-menu-images=1
gtk-button-images=1
gtk-cursor-theme-size=24
gtk-cursor-theme-name="breeze_cursors"
gtk-icon-theme-name="breeze"
gtk-font-name="Noto Sans, 10"
'';
gtk3.bookmarks = [
"file:///home/sijmen/Sync"
"smb://10.100.0.1/docs/ NAS"
"smb://10.100.0.1/docs/users/sijmen sijmen"
"smb://10.100.0.1/docs/media Media"
"sftp://sijmens@virtuscin.scintilla.utwente.nl/data Scintilla Drive"
"sftp://sijmens@virtuscin.scintilla.utwente.nl/data/commissies/spock/SPOCK7 SPOCK7"
];
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = "false";
gtk-button-images = "true";
gtk-cursor-theme-name = "breeze_cursors";
gtk-cursor-theme-size = "24";
gtk-decoration-layout = "icon:minimize,maximize,close";
gtk-enable-animations = "true";
gtk-font-name = "Noto Sans, 10";
gtk-icon-theme-name = "breeze";
gtk-menu-images = "true";
gtk-modules = "colorreload-gtk-module";
gtk-primary-button-warps-slider = "false";
gtk-toolbar-style = "3";
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = "false";
gtk-cursor-theme-name = "breeze_cursors";
gtk-cursor-theme-size = 24;
gtk-decoration-layout = "icon:minimize,maximize,close";
gtk-enable-animations = "true";
gtk-font-name = "Noto Sans, 10";
gtk-icon-theme-name = "breeze";
gtk-primary-button-warps-slider = "false";
};
};
programs.git = {
enable = true;
lfs.enable = true;
userName = "Sijmen";
userEmail = "me@sijman.nl";
extraConfig = {
fetch.prune = true;
init.defaultBranch = "main";
pull.rebase = true;
push.autoSetupRemote = true;
safe.directory = [ "/etc/nixos" ];
};
};
programs.firefox = {
enable = true;
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
forceWayland = true;
};
};
programs.neovim = {
enable = true;
vimAlias = true;
extraConfig = ''
luafile /etc/nixos/common/nvim.lua
'';
extraPackages = with pkgs; [
gcc
rnix-lsp
nodePackages.pyright
];
plugins = with pkgs.vimPlugins; [
bufferline-nvim
galaxyline-nvim
indentLine
lualine-nvim
neorg
nvim-colorizer-lua
nvim-compe
nvim-lspconfig
nvim-tree-lua
nvim-treesitter
nvim-web-devicons
onehalf
pears-nvim
plenary-nvim
vim-closetag
vim-nix
];
};
programs.alot.enable = true;
programs.gpg.enable = true;
programs.home-manager.enable = true;
programs.mbsync.enable = true;
programs.password-store.enable = true;
programs.bash = {
enable = true;
initExtra = ''
source ${pkgs.fetchurl { url = "https://raw.githubusercontent.com/rupa/z/v1.11/z.sh"; sha256 = "f24e0791ba10f6a8301461da3fc50333eee2e009a19e5d0e9f3661f0d0446767"; }}
'';
};
programs.notmuch = {
enable = true;
hooks = {
preNew = "mbsync --all";
};
};
services.keybase.enable = true;
accounts.email.accounts.Personal = {
primary = true;
address = "me@sijmenschoon.nl";
aliases = [ "me@sijman.nl" "me@vijf.life" "info@sijmenschoon.nl" ];
realName = "Sijmen Schoon";
userName = "me@sijmenschoon.nl";
passwordCommand = "pass show email/personal";
imap.host = "imap.soverin.net";
smtp.host = "smtp.soverin.net";
folders.inbox = "INBOX";
mbsync = {
enable = true;
create = "maildir";
};
notmuch.enable = true;
};
};
}