summaryrefslogtreecommitdiff
path: root/home-manager/entrypoints/work.nix
diff options
context:
space:
mode:
authorJasper Ras <jaspert.ras@gmail.com>2024-11-09 14:26:34 +0100
committerJasper Ras <jaspert.ras@gmail.com>2024-11-09 14:26:34 +0100
commit3fce1b5d9350c116270111e92f2d993e1b518d4d (patch)
treedaada43eb23df53d6a0df3622d4bfe913851d1f3 /home-manager/entrypoints/work.nix
parent4211ed3b82be9af26460a0a8d88dce9ce319bb47 (diff)
Inline home-manager
Diffstat (limited to 'home-manager/entrypoints/work.nix')
-rw-r--r--home-manager/entrypoints/work.nix150
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
+ '';
+ };
+}