diff --git a/modules/shell/default.nix b/modules/shell/default.nix index 11af463..a62c3ae 100644 --- a/modules/shell/default.nix +++ b/modules/shell/default.nix @@ -16,7 +16,7 @@ while inotifywait -e close_write $1; do pandoc $@; done ''; in { - imports = [./zsh/default.nix]; + imports = [./zsh ./zsh/tools.nix ./git.nix ./starship.nix]; home.packages = with pkgs; [ texlive diff --git a/modules/shell/git.nix b/modules/shell/git.nix new file mode 100644 index 0000000..900035c --- /dev/null +++ b/modules/shell/git.nix @@ -0,0 +1,73 @@ +{pkgs, ...}: { + home.packages = with pkgs; [zsh-forgit gitflow]; + programs.git = { + enable = true; + userName = "zack"; + userEmail = "zackmyers@lavabit.com"; + signing = { + key = "056CFD15A9F99B0E"; + signByDefault = false; + }; + ignores = [ + ".cache/" + ".DS_Store" + ".idea/" + "*.swp" + "*.elc" + "auto-save-list" + ".direnv/" + "node_modules" + "result" + "result-*" + ]; + extraConfig = { + init = {defaultBranch = "main";}; + delta = { + options.map-styles = "bold purple => syntax #ca9ee6, bold cyan => syntax #8caaee"; + line-numbers = true; + }; + branch.autosetupmerge = "true"; + push.default = "current"; + merge.stat = "true"; + core.whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol"; + repack.usedeltabaseoffset = "true"; + pull.ff = "only"; + rebase = { + autoSquash = true; + autoStash = true; + }; + rerere = { + autoupdate = true; + enabled = true; + }; + }; + lfs.enable = true; + delta.enable = true; + aliases = { + essa = "push --force"; + co = "checkout"; + fuck = "commit --amend -m"; + c = "commit -m"; + ca = "commit -am"; + forgor = "commit --amend --no-edit"; + graph = "log --all --decorate --graph --oneline"; + oops = "checkout --"; + l = "log"; + r = "rebase"; + s = "status --short"; + ss = "status"; + d = "diff"; + ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)"; + pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)"; + af = "!git add $(git ls-files -m -o --exclude-standard | sk -m)"; + st = "status"; + br = "branch"; + df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}"; + hist = '' + log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all''; + llog = '' + log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative''; + edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`"; + }; + }; +} diff --git a/modules/shell/starship.nix b/modules/shell/starship.nix new file mode 100644 index 0000000..df3f18c --- /dev/null +++ b/modules/shell/starship.nix @@ -0,0 +1,26 @@ +{config, ...}: { + programs.starship = { + enable = true; + enableZshIntegration = config.programs.zsh.enable; + settings = { + add_newline = false; + command_timeout = 1000; + scan_timeout = 3; + character = { + error_symbol = "[󰊠](bold red)"; + success_symbol = "[󰊠](bold green)"; + vicmd_symbol = "[󰊠](bold yellow)"; + format = "$symbol [|](bold bright-black) "; + }; + git_commit = {commit_hash_length = 7;}; + line_break.disabled = false; + lua.symbol = "[](blue) "; + python.symbol = "[](blue) "; + hostname = { + ssh_only = true; + format = "[$hostname](bold blue) "; + disabled = false; + }; + }; + }; +} diff --git a/nixos-switch.log b/nixos-switch.log new file mode 100644 index 0000000..b2cc9c4 --- /dev/null +++ b/nixos-switch.log @@ -0,0 +1,86 @@ +activating the configuration... +setting up /etc... +reloading user units for zack... +dbus-update-activation-environment: error: unable to connect to D-Bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11 +/etc/profile: line 18: gnome-keyring-daemon: command not found +Agent pid 19983 +restarting sysinit-reactivation.target +restarting the following units: home-manager-zack.service +9p4qdrpln-hm_.zshrc.drv + /nix/store/9ypm7zypv1jyl8q7xy19gd67906kz8d5-udiskie-config.yml.drv + /nix/store/a0vj4qhgr2q776xwrm3rivlqsrlghnzx-hm_gitconfig.drv + /nix/store/dlaifim6xij0ri50sws95171wpx84j9m-tealdeer-config.drv + /nix/store/fc5l8m8x7vlg6wxig9yjh6z6n25x3l0b-hm_homezack.gnupggpg.conf.drv + /nix/store/i639p8mjh34vj7gzcv03cwlnn22pi7r8-hm_batconfig.drv + /nix/store/mnibajgd9bqj7w4iv3js6cpipxa87ici-starship-config.drv + /nix/store/nrfxmmbh2xxjwqzwh1x0v6qmqv8n3vd0-hm_gitignore.drv + /nix/store/qnsaxiv1qc5ppd4njj1dxsyxsx57zvh9-hm_homezack.gnupgscdaemon.conf.drv + /nix/store/varnyz25z4dplk8c139xxkwjlizf909d-hm_homezack.gnupggpgagent.conf.drv + /nix/store/vvfxix0h570ahgwcgmw5m7p88mjpph6v-gpg-agent.service.drv + /nix/store/y8jl1yyac27wiy27w4lcdrzwqkjcqzm0-gpg-agent-ssh.socket.drv + /nix/store/z18zvqhz8k90asj12205h0w837y6pwi8-udiskie.service.drv + /nix/store/8dpqx6ndsvjrl9qzv864vqp407yvzmsh-home-manager-files.drv + /nix/store/jcdijq2i61z42dmzr1gwy42grd2vl6kz-hm-session-vars.sh.drv + /nix/store/9k9nicfqp6wd6lp6xr0nnch4xldss990-home-manager-path.drv + /nix/store/a5fgj2gyqimnqckpm69awsja5l8ws163-activation-script.drv + /nix/store/4iyjfgf53by4msmjh83cs2fqjcdmrfm1-home-manager-generation.drv + /nix/store/an5g0qgzrkrj87xfqwrdim822iv003n3-unit-home-manager-zack.service.drv + /nix/store/n2ws6w7kmdr90qqkafdvpv639b9nq2dl-system-units.drv + /nix/store/r4yx49ls8yw5jp71qqs0hlyndn9y3p81-etc.drv + /nix/store/pnwm864c25l06a4avxfqh9annfk9xws0-nixos-system-earth-24.05.20240228.9099616.drv +these 15 paths will be fetched (12.27 MiB download, 40.52 MiB unpacked): + /nix/store/n06rsqp3j28yhlmqs65w1hxr76zrkjr7-delta-0.16.5 + /nix/store/s6qbph08p2jdvry0vyjkp19abjhlsrfn-direnv-2.33.0 + /nix/store/yj81iz278p4w7689fli3x9mb8z5g8fm5-eza-0.18.4-man + /nix/store/38gcnaa4jk6c0f9s9bbfcrzh4xp8wrhz-fzf-0.46.1 + /nix/store/y3ddl4wwvfarx646w95psqvc773i61fs-git-lfs-3.4.1 + /nix/store/3xgb9wrqgdxvra08aw7nsc60ks25pvzf-gitflow-1.12.3 + /nix/store/ynw1m5arn67im9pzjc73s8y927z13pq2-nix-direnv-3.0.4 + /nix/store/vaafvhygk6s3d0hc7isp269772pvpvi0-perl + /nix/store/cpfmrdir4v7zwvpj4i5088dccyarjvdq-pinentry-1.2.1-gnome3 + /nix/store/ri0zp64hsz7gsdg7rr9zhzzfcjrgsxlj-python3.11-keyutils-0.6 + /nix/store/kh5sbf0srf9aghlbfq1xi70mf2lnn4cf-python3.11-pygobject-3.46.0-dev + /nix/store/yll5jmg72gbmxyknxkxngj144civlrg4-source + /nix/store/f0i5d991njrwyzgd90351h4zyx0a7z52-starship-1.17.1 + /nix/store/7awlhj8vjfkzflvfk54571d8i1cvs8xh-udiskie-2.5.2 + /nix/store/8al91kxv0wnvc4m69pvbvbk7ps9sl8r9-zsh-forgit-24.02.0 +copying path '/nix/store/yj81iz278p4w7689fli3x9mb8z5g8fm5-eza-0.18.4-man' from 'https://cache.nixos.org'... +copying path '/nix/store/yll5jmg72gbmxyknxkxngj144civlrg4-source' from 'https://cache.nixos.org'... +copying path '/nix/store/n06rsqp3j28yhlmqs65w1hxr76zrkjr7-delta-0.16.5' from 'https://cache.nixos.org'... +copying path '/nix/store/s6qbph08p2jdvry0vyjkp19abjhlsrfn-direnv-2.33.0' from 'https://cache.nixos.org'... +copying path '/nix/store/y3ddl4wwvfarx646w95psqvc773i61fs-git-lfs-3.4.1' from 'https://cache.nixos.org'... +copying path '/nix/store/3xgb9wrqgdxvra08aw7nsc60ks25pvzf-gitflow-1.12.3' from 'https://cache.nixos.org'... +copying path '/nix/store/f0i5d991njrwyzgd90351h4zyx0a7z52-starship-1.17.1' from 'https://cache.nixos.org'... +building '/nix/store/y8jl1yyac27wiy27w4lcdrzwqkjcqzm0-gpg-agent-ssh.socket.drv'... +building '/nix/store/vvfxix0h570ahgwcgmw5m7p88mjpph6v-gpg-agent.service.drv'... +building '/nix/store/9g9x1qakbsm43d2kwf81bxjsy2sq3cq0-gpg-agent.socket.drv'... +building '/nix/store/jcdijq2i61z42dmzr1gwy42grd2vl6kz-hm-session-vars.sh.drv'... +building '/nix/store/1xbblchcxgz6xpy2p38f8r7shs92w6h1-hm_.dir_colors.drv'... +building '/nix/store/i639p8mjh34vj7gzcv03cwlnn22pi7r8-hm_batconfig.drv'... +building '/nix/store/nrfxmmbh2xxjwqzwh1x0v6qmqv8n3vd0-hm_gitignore.drv'... +building '/nix/store/fc5l8m8x7vlg6wxig9yjh6z6n25x3l0b-hm_homezack.gnupggpg.conf.drv'... +building '/nix/store/qnsaxiv1qc5ppd4njj1dxsyxsx57zvh9-hm_homezack.gnupgscdaemon.conf.drv'... +copying path '/nix/store/ynw1m5arn67im9pzjc73s8y927z13pq2-nix-direnv-3.0.4' from 'https://cache.nixos.org'... +copying path '/nix/store/cpfmrdir4v7zwvpj4i5088dccyarjvdq-pinentry-1.2.1-gnome3' from 'https://cache.nixos.org'... +copying path '/nix/store/vaafvhygk6s3d0hc7isp269772pvpvi0-perl' from 'https://cache.nixos.org'... +copying path '/nix/store/ri0zp64hsz7gsdg7rr9zhzzfcjrgsxlj-python3.11-keyutils-0.6' from 'https://cache.nixos.org'... +copying path '/nix/store/kh5sbf0srf9aghlbfq1xi70mf2lnn4cf-python3.11-pygobject-3.46.0-dev' from 'https://cache.nixos.org'... +building '/nix/store/mnibajgd9bqj7w4iv3js6cpipxa87ici-starship-config.drv'... +building '/nix/store/dlaifim6xij0ri50sws95171wpx84j9m-tealdeer-config.drv'... +building '/nix/store/9ypm7zypv1jyl8q7xy19gd67906kz8d5-udiskie-config.yml.drv'... +copying path '/nix/store/38gcnaa4jk6c0f9s9bbfcrzh4xp8wrhz-fzf-0.46.1' from 'https://cache.nixos.org'... +copying path '/nix/store/7awlhj8vjfkzflvfk54571d8i1cvs8xh-udiskie-2.5.2' from 'https://cache.nixos.org'... +building '/nix/store/9jgggn0cb5ppxj1kvz3m5mw9p4qdrpln-hm_.zshrc.drv'... +building '/nix/store/61k8d0hc3i7b58lzm0lf33w0dki23784-hm_direnvdirenvrc.drv'... +building '/nix/store/a0vj4qhgr2q776xwrm3rivlqsrlghnzx-hm_gitconfig.drv'... +building '/nix/store/varnyz25z4dplk8c139xxkwjlizf909d-hm_homezack.gnupggpgagent.conf.drv'... +copying path '/nix/store/8al91kxv0wnvc4m69pvbvbk7ps9sl8r9-zsh-forgit-24.02.0' from 'https://cache.nixos.org'... +building '/nix/store/z18zvqhz8k90asj12205h0w837y6pwi8-udiskie.service.drv'... +building '/nix/store/9k9nicfqp6wd6lp6xr0nnch4xldss990-home-manager-path.drv'... +building '/nix/store/8dpqx6ndsvjrl9qzv864vqp407yvzmsh-home-manager-files.drv'... +building '/nix/store/a5fgj2gyqimnqckpm69awsja5l8ws163-activation-script.drv'... +building '/nix/store/4iyjfgf53by4msmjh83cs2fqjcdmrfm1-home-manager-generation.drv'... +building '/nix/store/an5g0qgzrkrj87xfqwrdim822iv003n3-unit-home-manager-zack.service.drv'... +building '/nix/store/n2ws6w7kmdr90qqkafdvpv639b9nq2dl-system-units.drv'... +building '/nix/store/r4yx49ls8yw5jp71qqs0hlyndn9y3p81-etc.drv'... +building '/nix/store/pnwm864c25l06a4avxfqh9annfk9xws0-nixos-system-earth-24.05.20240228.9099616.drv'...