stockholm/lass/2configs/baseX.nix

187 lines
4.3 KiB
Nix
Raw Normal View History

2015-07-16 13:51:01 +00:00
{ config, pkgs, ... }:
2017-02-15 23:05:38 +00:00
with import <stockholm/lib>;
2015-07-16 13:51:01 +00:00
let
2017-02-15 23:05:38 +00:00
user = config.krebs.build.user;
2018-03-03 14:07:00 +00:00
xmonad-lass = pkgs.callPackage <stockholm/lass/5pkgs/custom/xmonad-lass> { inherit config; };
2015-07-16 13:51:01 +00:00
in {
imports = [
./mpv.nix
2016-06-18 20:01:10 +00:00
./power-action.nix
2017-02-15 23:05:38 +00:00
./copyq.nix
2017-11-29 14:39:14 +00:00
./urxvt.nix
2019-04-17 18:12:01 +00:00
./xdg-open.nix
2019-10-14 13:11:43 +00:00
./yubikey.nix
{
hardware.pulseaudio = {
enable = true;
systemWide = true;
};
security.rtkit.enable = true;
2017-03-07 19:17:23 +00:00
sound.enableOSSEmulation = false;
}
2017-01-10 16:27:07 +00:00
{
krebs.per-user.lass.packages = [
pkgs.sshuttle
];
security.sudo.extraConfig = ''
lass ALL= (root) NOPASSWD:SETENV: ${pkgs.sshuttle}/bin/.sshuttle-wrapped
'';
}
2017-09-19 09:45:33 +00:00
{ #font magic
2017-10-09 11:02:14 +00:00
options.lass.fonts = {
regular = mkOption {
type = types.str;
2017-10-18 17:53:05 +00:00
default = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1";
2017-10-09 11:02:14 +00:00
};
bold = mkOption {
type = types.str;
2017-10-18 17:53:05 +00:00
default = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1";
2017-10-09 11:02:14 +00:00
};
italic = mkOption {
type = types.str;
2017-10-18 17:53:05 +00:00
default = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1";
2017-10-09 11:02:14 +00:00
};
2017-09-19 09:45:33 +00:00
};
config.krebs.xresources.resources.X = ''
2017-11-29 14:39:14 +00:00
*.font: ${config.lass.fonts.regular}
*.boldFont: ${config.lass.fonts.bold}
*.italicFont: ${config.lass.fonts.italic}
'';
2017-09-19 09:45:33 +00:00
}
2015-07-16 13:51:01 +00:00
];
2016-08-04 22:00:27 +00:00
users.extraUsers.mainUser.extraGroups = [ "audio" "video" ];
2015-10-30 17:35:21 +00:00
2015-07-16 13:51:01 +00:00
time.timeZone = "Europe/Berlin";
2018-01-20 12:03:51 +00:00
programs.ssh.agentTimeout = "10m";
2019-10-14 13:11:43 +00:00
programs.ssh.startAgent = false;
2017-05-22 15:20:58 +00:00
services.openssh.forwardX11 = true;
2015-07-16 13:51:01 +00:00
environment.systemPackages = with pkgs; [
2016-06-10 22:28:09 +00:00
acpi
acpilight
2018-06-08 03:04:53 +00:00
ag
2018-05-14 20:05:49 +00:00
cabal2nix
2016-11-27 14:18:52 +00:00
dic
2015-12-29 19:21:06 +00:00
dmenu
2018-06-27 21:44:02 +00:00
font-size
2018-12-16 15:34:45 +00:00
fzfmenu
2019-10-14 13:12:51 +00:00
gimp
2015-12-26 16:30:59 +00:00
gitAndTools.qgit
2018-05-14 20:05:49 +00:00
git-preview
2018-05-07 17:56:26 +00:00
gnome3.dconf
2020-04-19 14:26:45 +00:00
iodine
2017-11-29 15:15:10 +00:00
lm_sensors
2016-12-01 16:10:13 +00:00
ncdu
2018-06-20 11:02:10 +00:00
nix-index
2019-09-22 10:19:17 +00:00
nix-review
2016-06-02 10:18:49 +00:00
nmap
2015-12-26 16:30:59 +00:00
pavucontrol
2020-04-19 14:26:45 +00:00
ponymix
2015-12-26 16:30:59 +00:00
powertop
2019-01-27 18:32:04 +00:00
rxvt_unicode-with-plugins
2015-12-26 16:30:59 +00:00
sxiv
2018-01-15 23:06:04 +00:00
taskwarrior
2017-11-12 12:04:42 +00:00
termite
2019-09-22 10:19:17 +00:00
transgui
wirelesstools
2016-04-15 14:19:50 +00:00
xclip
2019-04-07 17:18:07 +00:00
xephyrify
2016-06-10 22:28:09 +00:00
xorg.xhost
2015-12-26 16:30:59 +00:00
xsel
2017-11-12 12:04:42 +00:00
zathura
2020-07-04 04:51:08 +00:00
(pkgs.writeDashBin "screenshot" ''
${pkgs.flameshot-once}/bin/flameshot-once
${pkgs.klem}/bin/klem
'')
2015-07-16 13:51:01 +00:00
];
2017-10-09 11:02:14 +00:00
fonts.fonts = with pkgs; [
hack-font
hasklig
symbola
xlibs.fontschumachermisc
2017-02-15 23:05:38 +00:00
];
services.udev.extraRules = ''
SUBSYSTEM=="backlight", ACTION=="add", \
RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness", \
RUN+="${pkgs.coreutils}/bin/chmod g+w /sys/class/backlight/%k/brightness"
'';
2017-02-15 23:05:38 +00:00
services.xserver = {
2018-01-18 18:38:56 +00:00
enable = true;
2017-02-15 23:05:38 +00:00
layout = "us";
2018-01-18 18:38:56 +00:00
display = mkForce 0;
2017-02-15 23:05:38 +00:00
xkbVariant = "altgr-intl";
2018-12-09 16:07:53 +00:00
xkbOptions = "caps:escape";
libinput.enable = true;
2018-01-18 18:38:56 +00:00
displayManager.lightdm.enable = true;
displayManager.defaultSession = "none+xmonad";
2018-01-18 18:38:56 +00:00
windowManager.session = [{
name = "xmonad";
start = ''
${pkgs.xorg.xhost}/bin/xhost +LOCAL:
${pkgs.systemd}/bin/systemctl --user start xmonad
2018-02-13 16:08:53 +00:00
exec ${pkgs.coreutils}/bin/sleep infinity
2018-01-18 18:38:56 +00:00
'';
}];
};
systemd.user.services.xmonad = {
environment = {
DISPLAY = ":${toString config.services.xserver.display}";
RXVT_SOCKET = "%t/urxvtd-socket";
XMONAD_DATA_DIR = "/tmp";
};
serviceConfig = {
SyslogIdentifier = "xmonad";
2018-03-03 14:07:00 +00:00
ExecStart = "${xmonad-lass}/bin/xmonad";
ExecStop = "${xmonad-lass}/bin/xmonad --shutdown";
2018-01-18 18:38:56 +00:00
};
restartIfChanged = false;
2017-02-15 23:05:38 +00:00
};
2015-07-16 13:51:01 +00:00
2018-11-30 06:48:49 +00:00
nixpkgs.config.packageOverrides = super: {
dmenu = pkgs.writeDashBin "dmenu" ''
${pkgs.fzfmenu}/bin/fzfmenu "$@"
'';
};
krebs.xresources.enable = true;
2017-10-19 16:42:09 +00:00
lass.screenlock.enable = true;
2020-07-04 04:15:53 +00:00
lass.klem = {
kpaste.script = pkgs.writeDash "kpaste-wrapper" ''
${pkgs.kpaste}/bin/kpaste \
| ${pkgs.coreutils}/bin/tail -1 \
| ${pkgs.coreutils}/bin/tr -d '\r\n'
'';
go = {
target = "STRING";
script = "${pkgs.goify}/bin/goify";
};
"go.lassul.us" = {
target = "STRING";
script = pkgs.writeDash "go.lassul.us" ''
export GO_HOST='go.lassul.us'
${pkgs.goify}/bin/goify
'';
};
qrcode = {
target = "image";
script = pkgs.writeDash "zbar" ''
${pkgs.zbar}/bin/zbarimg -q -
'';
};
ocr = {
target = "image";
script = pkgs.writeDash "gocr" ''
${pkgs.netpbm}/bin/pngtopnm - \
| ${pkgs.gocr}/bin/gocr -
'';
};
};
2015-07-16 13:51:01 +00:00
}