diff options
author | Jasper Ras <jaspert.ras@gmail.com> | 2024-11-09 14:26:34 +0100 |
---|---|---|
committer | Jasper Ras <jaspert.ras@gmail.com> | 2024-11-09 14:26:34 +0100 |
commit | 3fce1b5d9350c116270111e92f2d993e1b518d4d (patch) | |
tree | daada43eb23df53d6a0df3622d4bfe913851d1f3 /home-manager/entrypoints/work.nix | |
parent | 4211ed3b82be9af26460a0a8d88dce9ce319bb47 (diff) |
Inline home-manager
Diffstat (limited to 'home-manager/entrypoints/work.nix')
-rw-r--r-- | home-manager/entrypoints/work.nix | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/home-manager/entrypoints/work.nix b/home-manager/entrypoints/work.nix new file mode 100644 index 0000000..44b2d86 --- /dev/null +++ b/home-manager/entrypoints/work.nix @@ -0,0 +1,150 @@ +{ 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 + ''; + }; +} |