diff options
| -rw-r--r-- | archetypes/profiles/desktop/default.nix | 12 | ||||
| -rw-r--r-- | home-manager/theme-st.nix | 18 | ||||
| -rw-r--r-- | pkgs/st/overrides.nix | 4 | ||||
| -rw-r--r-- | users/timmy/default.nix | 17 |
4 files changed, 39 insertions, 12 deletions
diff --git a/archetypes/profiles/desktop/default.nix b/archetypes/profiles/desktop/default.nix index 7555c56..6c5d509 100644 --- a/archetypes/profiles/desktop/default.nix +++ b/archetypes/profiles/desktop/default.nix @@ -81,6 +81,18 @@ programs = { _pcmanfm.openAsRootOption.enable = mkDesktop true; + _st = { + enable = mkDesktop true; + font = { + name = mkDesktop "JetBrainsMonoNL Nerd Font Mono"; + # Default attrs + attrs = { + size = 12; + antialias = true; + autohint = true; + }; + }; + }; firefox._configure = mkDesktop true; htop._configure = mkDesktop true; zathura = { diff --git a/home-manager/theme-st.nix b/home-manager/theme-st.nix index 01c08ec..0a2cf34 100644 --- a/home-manager/theme-st.nix +++ b/home-manager/theme-st.nix @@ -1,20 +1,24 @@ { config, lib, pkgs, ... }: let cfg = config.programs._st; toString = x: if lib.isBool x then (if x then "true" else "false") else builtins.toString x; - generateXftFontString = name: attrs: + # http://freedesktop.org/software/fontconfig/fontconfig-user.html + generateFontConfigString = name: attrs: name + lib.optionalString (attrs != {}) ( ":" + lib.concatStringsSep ":" ( lib.mapAttrsToList (key: value: "${key}=${toString value}") attrs ) ) ; - themed-st = pkgs.st.overrideAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ pkgs.makeWrapper ]; - postInstall = (old.postInstall or "") + '' - wrapProgram $out/bin/st \ - --add-flags '-f"${generateXftFontString cfg.font.name cfg.font.attrs}"' + themed-st = pkgs.stdenv.mkDerivation { + name = "themed-st"; + dontUnpack = true; + buildInputs = [ pkgs.makeWrapper ]; + installPhase = '' + mkdir -p $out/bin + makeWrapper ${pkgs.st}/bin/st $out/bin/st \ + --add-flags '-f"${generateFontConfigString cfg.font.name cfg.font.attrs}"' ''; - }); + }; in { options.programs._st = { enable = lib.mkEnableOption "enables theming st with home manager"; diff --git a/pkgs/st/overrides.nix b/pkgs/st/overrides.nix index 2d0a37e..c4b45d0 100644 --- a/pkgs/st/overrides.nix +++ b/pkgs/st/overrides.nix @@ -1,11 +1,11 @@ final: prev: { st = prev.st.overrideAttrs (finalAttrs: previousAttrs: { - version = "tj-0.9.2.3"; + version = "tj-0.9.3.0"; src = prev.fetchgit { url = "https://git.tjkeller.xyz/${previousAttrs.pname}"; tag = finalAttrs.version; - sha256 = "sha256-SQ62io4LWsPBvX8e9vUwVVXs/2+THoR6ZZoldQ6IUJk="; + sha256 = "sha256-u+smnofdv6dH9FKPB+e4P8nS6LoKwPxrveOk323mKkA="; }; makeFlags = previousAttrs.makeFlags ++ [ "CFLAGS=-Ofast" ]; diff --git a/users/timmy/default.nix b/users/timmy/default.nix index dfac6ea..d91c5c1 100644 --- a/users/timmy/default.nix +++ b/users/timmy/default.nix @@ -98,9 +98,20 @@ in { # Setup git programs.git = { enable = true; - settings.user = { - name = fullname; - email = email; + settings = { + user = { + name = fullname; + email = email; + }; + merge.tool = "nvimdiff"; + mergetool.nvimdiff = { + cmd = ''nvim -d "$LOCAL" "$MERGED" "$REMOTE"''; + prompt = false; + }; + # Unfortunately, this doesn't work for some reason + #url = { + # "ssh://git@publicgit/".insteadOf = "https://git.tjkeller.xyz/"; + #}; }; }; |
