{ pkgs, ... }: { home.stateVersion = "22.05"; home.file.".config/traefik/traefik.toml".source = ./files/traefik.toml; imports = [ ./packages.nix ./programs/i3.nix ./programs/zsh.nix ]; programs.vscode = { enable = true; extensions = [ ]; }; services.unclutter.enable = true; services.gpg-agent.enable = true; services.blueman-applet.enable = true; programs.rofi = { enable = true; plugins = [ pkgs.rofi-calc pkgs.rofi-emoji ]; terminal = "sakura"; }; programs.git = { enable = true; package = pkgs.gitAndTools.gitFull; userEmail = "pierre@front-commerce.com"; userName = "Pierre Martin"; aliases = { co = "checkout"; mr = "!sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' -"; }; ignores = [ ".DS_Store" ".svn" "*~" "*.swp" "*.rbc" ".watsonrc" ".idea" ".vscode" ]; extraConfig = { # see https://github.com/dandavison/delta#get-started core.pager = "delta"; interactive.diffFilter = "delta --color-only"; delta.navigate = true; merge.conflictstyle = "diff3"; diff.colorMoved = "default"; merge.tool = "meld"; diff.algorithm = "patience"; pull.ff = "only"; credential.helper = "store"; init.defaultBranch = "main"; # see https://betterprogramming.pub/8-advanced-git-commands-university-wont-teach-you-fe63b483d34b help.autocorrect = 1; fetch.prune = true; push.autoSetupRemote = true; }; }; programs.htop = { enable = true; }; programs.vim = { enable = true; }; programs.autorandr = { enable = true; hooks = { postswitch = { "notify-i3" = "${pkgs.i3}/bin/i3-msg restart"; }; }; }; }