{ pkgs, ... }: { imports = [ ../common.nix ../systemd/llama.nix ../hostnet.nix ../programming-languages/php.nix ../systemd/docker.nix ]; home.username = "jras"; home.homeDirectory = "/home/jras"; home.stateVersion = "22.11"; home.sessionPath = [ "$HOME/.local/bin" "$HOME/.plenv/bin" ]; home.sessionVariables = { TERMINAL = "alacritty"; TERM = "alacritty-direct"; }; home.packages = [ pkgs.git-review pkgs.hexchat pkgs.nodejs_20 pkgs.obsidian pkgs.apacheHttpd (pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; }) pkgs.moonlight-qt pkgs.brightnessctl pkgs.xflux pkgs.hugo pkgs.docker pkgs.docker-compose ]; fonts.fontconfig.enable = true; targets.genericLinux.enable = true; # https://github.com/nix-community/home-manager/issues/1439#issuecomment-1440763587 home.activation = { linkDesktopApplications = { after = [ "writeBoundary" "createXdgUserDirectories" ]; before = [ ]; data = "/usr/bin/update-desktop-database"; }; }; programs.vscode.enable = true; # Requires https://github.com/guibou/nixGL programs.alacritty = { enable = true; package = (pkgs.alacritty.overrideAttrs (oldAttrs: { postInstall = oldAttrs.postInstall + '' mv $out/bin/alacritty $out/bin/_alacritty touch $out/bin/alacritty chmod +x $out/bin/alacritty echo -e "#!/usr/bin/env zsh\nnix run github:nix-community/nixGL#nixGLIntel -- $out/bin/_alacritty" > $out/bin/alacritty ''; })); settings = { font.normal = { family = "CaskaydiaCove Nerd Font"; style = "Regular"; }; }; }; programs.git = { userName = "Jasper Ras"; userEmail = "jras@hostnet.nl"; extraConfig = { gitreview.username = "jrasper"; }; ignores = [ ".direnv" ".envrc" ".project" ".settings/" ".buildpath" "tags" ".hhconfig" ".DS_Store" ".idea/" ".vagrant/" "*.swp" "clover.xml" "yarn-error.log" "gsuite-auth.json" "venv/" "shell.nix" ]; }; programs.zsh.envExtra = "export PATH=$HOME/.plenv/bin:$PATH"; programs.zsh.initExtra = '' eval "$(plenv init -)" eval "$(dircolors)" ''; programs.zsh.shellAliases = { i3ref = "xdg-open https://i3wm.org/docs/refcard.html"; ssh = "TERM=xterm-256color ssh"; }; programs.pyenv.enable = true; programs.pyenv.enableZshIntegration = true; programs.ssh = { controlMaster = "auto"; controlPersist = "12h"; serverAliveInterval = 11; matchBlocks = { "*.g1i.one".user = "jasras"; "*.os1.openstack.group.one".user = "jasras"; "*.one.com".user = "jasras"; "91.184.16.185".port = 12345; "*.compute.prv.vps1-testpod-cph3.one.com".forwardAgent = true; "access.*.one.com".forwardAgent = true; "access.*.g1i.one".forwardAgent = true; }; }; home.file = { i3-config = { source = ../config/i3; target = ".config/i3/config"; }; set-display = { text = '' #!/usr/bin/env bash prev="eDP-1" displays="$(xrandr -q | rg ' connected' | rg -v eDP-1 | cut -d' ' -f1)" if [[ -z "$displays" ]] then xrandr --auto fi echo "$displays" | while read -r display do xrandr --output "$display" --right-of "$prev" --auto prev="$display" done ''; target = "bin/set-display"; executable = true; }; }; xsession = { enable = true; initExtra = '' export TERMINAL=alacritty ''; }; }