This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / nixos / 2configs / baseX.nix
4.6 kB 195 lines
1{ self, config, lib, pkgs, ... }: 2let 3 user = config.krebs.build.user; 4in { 5 imports = [ 6 ./alacritty.nix 7 ./mpv.nix 8 ./power-action.nix 9 ./urxvt.nix 10 ./xdg-open.nix 11 ./yubikey.nix 12 ./pipewire.nix 13 ./tmux.nix 14 ./xmonad.nix 15 ./themes.nix 16 ./fonts.nix 17 { 18 users.users.mainUser.packages = [ 19 pkgs.sshuttle 20 ]; 21 security.sudo.extraConfig = '' 22 lass ALL= (root) NOPASSWD:SETENV: ${pkgs.sshuttle}/bin/.sshuttle-wrapped 23 ''; 24 } 25 { #font magic 26 options.lass.fonts = { 27 regular = lib.mkOption { 28 type = lib.types.str; 29 default = "xft:Iosevka Term SS15:style=regular"; 30 }; 31 bold = lib.mkOption { 32 type = lib.types.str; 33 default = "xft:Iosevka Term SS15:style=bold"; 34 }; 35 italic = lib.mkOption { 36 type = lib.types.str; 37 default = "xft:Iosevka Term SS15:style=italic"; 38 }; 39 }; 40 config.krebs.xresources.resources.X = '' 41 *.font: ${config.lass.fonts.regular} 42 *.boldFont: ${config.lass.fonts.bold} 43 *.italicFont: ${config.lass.fonts.italic} 44 ''; 45 } 46 ]; 47 48 users.users.mainUser.extraGroups = [ "audio" "pipewire" "video" ]; 49 50 time.timeZone = "Europe/Berlin"; 51 52 programs.ssh.agentTimeout = "10m"; 53 programs.ssh.startAgent = false; 54 services.openssh.forwardX11 = true; 55 56 environment.systemPackages = with pkgs; [ 57 acpi 58 acpilight 59 ripgrep 60 cabal2nix 61 dic 62 dmenu 63 font-size 64 fzfmenu 65 gimp 66 gitAndTools.gh 67 git-crypt 68 git-preview 69 dconf 70 iodine 71 libarchive 72 lm_sensors 73 ncdu 74 nix-index 75 nixpkgs-review 76 nmap 77 pavucontrol 78 ponymix 79 powertop 80 rxvt-unicode 81 sshvnc 82 sxiv 83 nsxiv 84 taskwarrior 85 termite 86 transgui 87 wirelesstools 88 x11vnc 89 xclip 90 xephyrify 91 xorg.xmodmap 92 xorg.xhost 93 xdotool 94 xsel 95 zathura 96 flameshot 97 (pkgs.writers.writeDashBin "screenshot" '' 98 set -efu 99 100 ${pkgs.flameshot}/bin/flameshot gui && 101 ${pkgs.klem}/bin/klem 102 '') 103 (pkgs.writers.writeDashBin "IM" '' 104 ${pkgs.mosh}/bin/mosh green.r -- tmux new-session -A -s IM -- weechat 105 '') 106 (pkgs.writers.writeDashBin "deploy_hm" '' 107 target=$1 108 shift 109 110 hm_profile=$(${pkgs.home-manager}/bin/home-manager -f ~/sync/stockholm/lass/2configs/home-manager.nix build "$@") 111 nix-copy-closure --to "$target" "$hm_profile" 112 ssh "$target" -- "$hm_profile"/activate 113 '') 114 zbar 115 ]; 116 117 services.udev.extraRules = '' 118 SUBSYSTEM=="backlight", ACTION=="add", \ 119 RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness", \ 120 RUN+="${pkgs.coreutils}/bin/chmod g+w /sys/class/backlight/%k/brightness" 121 ''; 122 123 services.xserver = { 124 enable = true; 125 layout = "us"; 126 display = lib.mkForce 0; 127 xkbVariant = "altgr-intl"; 128 xkbOptions = "caps:escape"; 129 libinput.enable = true; 130 exportConfiguration = true; 131 displayManager = { 132 lightdm.enable = true; 133 defaultSession = "none+xmonad"; 134 sessionCommands = '' 135 ${pkgs.xorg.xhost}/bin/xhost +LOCAL: 136 ''; 137 }; 138 }; 139 140 nixpkgs.config.packageOverrides = super: { 141 dmenu = pkgs.writers.writeDashBin "dmenu" '' 142 ${pkgs.fzfmenu}/bin/fzfmenu "$@" 143 ''; 144 }; 145 146 krebs.xresources.enable = true; 147 148 lass.klem = { 149 kpaste.script = pkgs.writeDash "kpaste-wrapper" '' 150 ${pkgs.kpaste}/bin/kpaste \ 151 | ${pkgs.coreutils}/bin/tail -1 \ 152 | ${pkgs.coreutils}/bin/tr -d '\r\n' 153 ''; 154 go = { 155 target = "STRING"; 156 script = "${pkgs.goify}/bin/goify"; 157 }; 158 "go.lassul.us" = { 159 target = "STRING"; 160 script = pkgs.writeDash "go.lassul.us" '' 161 export GO_HOST='go.lassul.us' 162 ${pkgs.goify}/bin/goify 163 ''; 164 }; 165 qrcode = { 166 target = "image"; 167 script = pkgs.writeDash "zbar" '' 168 ${pkgs.zbar}/bin/zbarimg -q --raw - 169 ''; 170 }; 171 ocr = { 172 target = "image"; 173 script = pkgs.writeDash "gocr" '' 174 ${pkgs.netpbm}/bin/pngtopnm - \ 175 | ${pkgs.gocr}/bin/gocr - 176 ''; 177 }; 178 }; 179 180 services.clipmenu.enable = true; 181 182 # synchronize all the clipboards 183 systemd.user.services.autocutsel = { 184 enable = true; 185 wantedBy = [ "graphical-session.target" ]; 186 after = [ "graphical-session.target" ]; 187 serviceConfig = { 188 Type = "forking"; 189 ExecStart = pkgs.writers.writeDash "autocutsel" '' 190 ${pkgs.autocutsel}/bin/autocutsel -fork -selection PRIMARY 191 ${pkgs.autocutsel}/bin/autocutsel -fork -selection CLIPBOARD 192 ''; 193 }; 194 }; 195}