This repository has no description
2.7 kB
121 lines
1{
2 self,
3 pkgs,
4 lib,
5 ...
6}:
7{
8 imports = [
9 ../../alacritty.nix
10 ../../mpv.nix
11 ../../power-action.nix
12 ../../urxvt.nix
13 ../../xdg-open.nix
14 ../../yubikey.nix
15 ../../tmux.nix
16 ../../themes.nix
17 ../../fonts.nix
18 # ../pipewire.nix
19 # ./tty-share.nix
20 {
21 users.users.mainUser.packages = [
22 pkgs.sshuttle
23 ];
24 security.sudo.extraConfig = ''
25 lass ALL= (root) NOPASSWD:SETENV: ${pkgs.sshuttle}/bin/.sshuttle-wrapped
26 '';
27 }
28 ];
29
30 services.earlyoom = {
31 enable = true;
32 freeMemThreshold = 5;
33 };
34
35 users.users.mainUser.extraGroups = [
36 "audio"
37 "pipewire"
38 "video"
39 "input"
40 ];
41
42 xdg.portal.enable = true;
43 xdg.portal.wlr.enable = true;
44 xdg.portal.config.common.default = "*"; # get old behavior back
45 fonts.enableDefaultPackages = true;
46
47 security.polkit.enable = true;
48 security.pam.services.swaylock = { };
49
50 programs.dconf.enable = lib.mkDefault true;
51 programs.xwayland.enable = lib.mkDefault true;
52
53 environment.sessionVariables = {
54 MOZ_ENABLE_WAYLAND = "1";
55 XDG_SESSION_TYPE = "wayland";
56 SDL_VIDEODRIVER = "wayland";
57 QT_QPA_PLATFORM = "wayland";
58 QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
59 _JAVA_AWT_WM_NONREPARENTING = "1";
60 };
61
62 programs.wshowkeys.enable = true;
63
64 environment.systemPackages = with pkgs; [
65 swaylock-effects # lockscreen
66 pavucontrol
67 swayidle
68 rofi-wayland
69 rofi-rbw
70 eog
71 libnotify
72 mako # notifications
73 kanshi # auto-configure display outputs
74 wdisplays # buggy with qtile?
75 wlr-randr
76 wl-clipboard
77 wev
78 blueberry
79 grim # screenshots
80 wtype
81 zathura
82 nsxiv
83
84 pavucontrol
85 evince
86 libnotify
87 pamixer
88 file-roller
89 xdg-utils
90 # polkit agent
91 polkit_gnome
92
93 # gtk3 themes
94 gsettings-desktop-schemas
95 self.packages.${pkgs.system}.otpmenu
96 (pkgs.writers.writeDashBin "pass_menu" ''
97 set -efux
98 password=$(
99 (cd $HOME/.password-store; find -type f -name '*.gpg') |
100 sed -e 's/\.gpg$//' |
101 rofi -dmenu -p 'Password: ' |
102 xargs -I{} pass show {} |
103 tr -d '\n'
104 )
105 echo -n "$password" | ${pkgs.wtype}/bin/wtype -d 10 -s 400 -
106 '')
107 (pkgs.writers.writeDashBin "screenshot" ''
108 ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.wl-clipboard}/bin/wl-copy
109 '')
110 (pkgs.writers.writeDashBin "type_paste" ''
111 ${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.wtype}/bin/wtype -d 10 -s 400 -
112 '')
113 ];
114
115 environment.pathsToLink = [
116 "/libexec" # for polkit
117 "/share/gsettings-schemas" # for XDG_DATA_DIRS
118 ];
119
120 qt.platformTheme = "qt5ct";
121}