summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archetypes/profiles/desktop/default.nix12
-rw-r--r--home-manager/theme-st.nix18
-rw-r--r--pkgs/st/overrides.nix4
-rw-r--r--users/timmy/default.nix17
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/";
+ #};
};
};