This repository has no description
0

Configure Feed

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

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