default.nix (3167B)
1 { userConfig, theme, icon-theme, extra }: 2 { config, lib, pkgs, ... }: 3 let gtk2rc = pkgs.writeText "gtk2rc" '' 4 gtk-icon-theme-name = "${icon-theme.name}" 5 gtk-theme-name = "${theme.name}" 6 7 binding "gtk-binding-menu" { 8 bind "j" { "move-current" (next) } 9 bind "k" { "move-current" (prev) } 10 bind "h" { "move-current" (parent) } 11 bind "l" { "move-current" (child) } 12 } 13 class "GtkMenuShell" binding "gtk-binding-menu" 14 ''; 15 16 jb55pkgs = import <jb55pkgs> { inherit pkgs; }; 17 18 jbpkgs = with jb55pkgs; [ 19 snap 20 cmdtree 21 zoom-link-opener 22 x11-rename 23 #hoogle-zen 24 viscal 25 ]; 26 27 df = pkgs.dwarf-fortress-packages.dwarf-fortress-full.override { 28 #dfVersion = "0.44.11"; 29 enableIntro = false; 30 enableFPS = false; 31 enableDFHack = false; 32 enableTextMode = false; 33 theme = "cla"; 34 }; 35 36 mypkgs = (with pkgs; [ 37 obs-studio 38 clipmenu 39 colorpicker 40 dasht 41 dmenu 42 xdragon 43 dunst 44 dynamic-colors 45 feh 46 getmail6 # for getmail-gmail-xoauth-tokens 47 gnome.gnome-calculator 48 gtk-engine-murrine 49 hwi 50 lagrange 51 lastpass-cli 52 libnotify 53 mpv 54 msmtp 55 muchsync 56 neomutt 57 notmuch 58 oathToolkit 59 pandoc 60 pavucontrol 61 pamixer 62 pinentry 63 postgresql # psql 64 qalculate-gtk 65 qutebrowser 66 rxvt-unicode 67 signal-desktop 68 simplescreenrecorder 69 slock 70 spotify 71 sxiv 72 todo-txt-cli 73 tdesktop 74 userConfig 75 vdirsyncer 76 w3m 77 wmctrl 78 xautolock 79 xbindkeys 80 xclip 81 xdotool 82 xorg.xev 83 xorg.xmodmap 84 xorg.xset 85 zathura 86 zoom-us 87 88 #aerc 89 #bitcoin --- probably don't want a binary substitute of this 90 #khal 91 #python37Packages.trezor 92 #texlive.combined.scheme-full 93 #steam 94 #wine 95 #df 96 ]) ++ jbpkgs; 97 98 in { 99 100 # latest emacs overlay 101 #nixpkgs.overlays = [ 102 # (import (builtins.fetchTarball { 103 # url = https://github.com/nix-community/emacs-overlay/archive/773a9f17db9296b45e6b7864d8cee741c8d0d7c7.tar.gz; 104 # sha256 = "157klv69myjmdgqvxv0avv32yfra3i21h5bxjhksvaii1xf3w1gp"; 105 # })) 106 #]; 107 108 environment.variables = lib.mkIf (!extra.is-minimal) { 109 LC_TIME="en_DK.UTF-8"; 110 GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; 111 GTK2_RC_FILES = "${gtk2rc}:${theme.package}/share/themes/${theme.name}/gtk-2.0/gtkrc:$GTK2_RC_FILES"; 112 GTK_DATA_PREFIX = "${theme.package}"; 113 GTK_EXEC_PREFIX = "${theme.package}"; 114 GTK_IM_MODULE = "xim"; 115 GTK_PATH = "${theme.package}:${pkgs.gtk3.out}"; 116 GTK_THEME = "${theme.name}"; 117 QT_STYLE_OVERRIDE = "GTK+"; 118 VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; # radv 119 }; 120 121 programs.steam.enable = true; 122 programs.gamemode.enable = true; 123 124 environment.systemPackages = if extra.is-minimal then (with pkgs; [ 125 #steam 126 #steam-run 127 #wine 128 129 lastpass-cli 130 rxvt-unicode 131 ]) else mypkgs; 132 133 programs.slock.enable = true; 134 }