From 9ed8216404cdd661aa7de09aa6feeb350072bc81 Mon Sep 17 00:00:00 2001 From: Alexander Szczepanski Date: Sat, 16 Oct 2021 16:18:43 +0200 Subject: [PATCH] removed gpg from non gui clients --- .gitignore | 4 +- .gitsecret/paths/mapping.cfg | 1 + configs/common.nix | 5 - configs/gui.nix | 119 +++++++++--- configs/user-gui.nix | 345 ++++++++++++++++++----------------- 5 files changed, 272 insertions(+), 202 deletions(-) diff --git a/.gitignore b/.gitignore index 8aa993c..3d63b3b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .gitsecret/keys/random_seed !*.secret -configs/secrets.nix \ No newline at end of file +configs/secrets.nix +configs/secrets-desktop.nix +configs/secrets-wireguard-publickeys.nix diff --git a/.gitsecret/paths/mapping.cfg b/.gitsecret/paths/mapping.cfg index a3f91d8..5968ea4 100644 --- a/.gitsecret/paths/mapping.cfg +++ b/.gitsecret/paths/mapping.cfg @@ -1 +1,2 @@ configs/secrets.nix:b18f9f61e87047362ace7028d25a48d42f3e2ee6c7047c9347279207d36ce182 +configs/secrets-desktop.nix diff --git a/configs/common.nix b/configs/common.nix index e7f7822..73da7f4 100644 --- a/configs/common.nix +++ b/configs/common.nix @@ -48,11 +48,6 @@ in networkmanager.dns = "none"; }; - programs.gnupg.agent = { - enable = true; - pinentryFlavor = "curses"; - }; - environment.systemPackages = with pkgs; [ ack borgbackup diff --git a/configs/gui.nix b/configs/gui.nix index 54dcf17..db79d28 100644 --- a/configs/gui.nix +++ b/configs/gui.nix @@ -29,13 +29,25 @@ ponymix pulseaudio-ctl python39Packages.pyyaml + + i3pystatus (python38.withPackages(ps: with ps; [ i3pystatus keyring ])) ]; programs = { steam.enable = true; dconf.enable = true; adb.enable = true; - seahorse.enable = true; + # seahorse.enable = true; + ssh = { + startAgent = true; + }; + + gnupg.agent = { + enable = true; + pinentryFlavor = "curses"; + # enableSSHSupport = true; + }; + chromium = { enable = true; extensions = [ @@ -72,6 +84,30 @@ "CloudPrintSubmitEnabled" = false; }; }; + + # sway = { + # enable = true; + # extraPackages = with pkgs; [ + # dmenu + # swaylock + # swayidle + # xwayland + # mako + # kanshi + # grim + # slurp + # wl-clipboard + # wf-recorder + # (python38.withPackages(ps: with ps; [ i3pystatus keyring ])) + # ]; + # extraSessionCommands = '' + # export SDL_VIDEODRIVER=wayland + # export QT_QPA_PLATFORM=wayland + # export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + # export _JAVA_AWT_WM_NONREPARENTING=1 + # export MOZ_ENABLE_WAYLAND=1 + # ''; + # }; }; fonts = { @@ -107,41 +143,72 @@ hardware.bluetooth.enable = true; + # systemd.user.targets.sway-session = { + # description = "Sway compositor session"; + # documentation = [ "man:systemd.special(7)" ]; + # bindsTo = [ "graphical-session.target" ]; + # wants = [ "graphical-session-pre.target" ]; + # after = [ "graphical-session-pre.target" ]; + # }; + + # systemd.user.services.kanshi = { + # description = "Kanshi output autoconfig "; + # wantedBy = [ "graphical-session.target" ]; + # partOf = [ "graphical-session.target" ]; + # environment = { XDG_CONFIG_HOME="/home/alex/.config"; }; + # serviceConfig = { + # # kanshi doesn't have an option to specifiy config file yet, so it looks + # # at .config/kanshi/config + # ExecStart = '' + # ${pkgs.kanshi}/bin/kanshi + # ''; + # RestartSec = 5; + # Restart = "always"; + # }; + # }; + services = { blueman.enable = true; udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; - gnome.gnome-keyring.enable = true; printing = { enable = true; drivers = [ pkgs.brlaser ]; }; xserver = { enable = true; - displayManager = { - lightdm = { - enable = true; - # background = pkgs.nixos-artwork.wallpapers.nineish-dark-gray.gnomeFilePath; - greeters.gtk.theme = { - package = pkgs.pantheon.elementary-gtk-theme; - name = "elementary"; - }; - }; - defaultSession = "xsession"; - session = [{ - manage = "desktop"; - name = "xsession"; - start = ''exec $HOME/.xsession''; - }]; - }; - desktopManager = { - xfce = { - enable = true; - noDesktop = true; - enableXfwm = true; - thunarPlugins = [ pkgs.xfce.thunar-archive-plugin ]; - }; - }; + # displayManager.defaultSession = "sway"; + # displayManager.sddm.enable = true; + + # displayManager = { + # lightdm = { + # enable = true; + # background = pkgs.nixos-artwork.wallpapers.nineish-dark-gray.gnomeFilePath; + # # greeters.gtk.theme = { + # # package = pkgs.pantheon.elementary-gtk-theme; + # # name = "elementary"; + # # }; + # greeters.pantheon.enable = true; + # }; + # defaultSession = "xsession"; + # session = [{ + # manage = "desktop"; + # name = "xsession"; + # start = ''exec $HOME/.xsession''; + # }]; + # }; + + + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + # desktopManager = { + # xfce = { + # enable = true; + # noDesktop = true; + # enableXfwm = true; + # thunarPlugins = [ pkgs.xfce.thunar-archive-plugin ]; + # }; + # }; layout = "us"; # Enable touchpad support. libinput.enable = true; diff --git a/configs/user-gui.nix b/configs/user-gui.nix index 8c15347..f7c0884 100644 --- a/configs/user-gui.nix +++ b/configs/user-gui.nix @@ -28,13 +28,19 @@ in arandr baobab barrier - blueberry evince gnome.eog gnome.file-roller gnome.gnome-calculator keepassxc libnotify + + swaylock + swayidle + wl-clipboard + mako # notification daemon + alacritty # Alacritty is the default terminal in the config + dmenu # Dmenu is the default in the config but i recommend wofi since its wayland native ]; }; @@ -65,25 +71,25 @@ in extraConfig = { gtk-application-prefer-dark-theme = 1; }; - extraCss = '' - decoration - { - border-radius: 0px 0px 0 0; - border-width: 0px; - /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/ - box-shadow: none; - margin: 0px; - } +# extraCss = '' +# decoration +# { +# border-radius: 0px 0px 0 0; +# border-width: 0px; +# /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/ +# box-shadow: none; +# margin: 0px; +# } - decoration:backdrop - { - border-radius: 0px 0px 0 0; - border-width: 0px; - /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/ - box-shadow: none; - margin: 0px; - } - ''; +# decoration:backdrop +# { +# border-radius: 0px 0px 0 0; +# border-width: 0px; +# /*box-shadow: 1px 12px 12px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.18);*/ +# box-shadow: none; +# margin: 0px; +# } +# ''; }; iconTheme = { package = pkgs.pantheon.elementary-icon-theme; @@ -187,127 +193,121 @@ in selection_foreground #000000 ''; }; - - # zsh = { - # sessionVariables = { - # SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"; - # }; - # }; }; services = { - picom = { - enable = true; - blur = true; - shadow = true; - vSync = true; - }; + # picom = { + # enable = true; + # blur = true; + # shadow = true; + # vSync = true; + # }; - dunst = { - enable = true; - settings = { - global = { - font = "SF Pro Display Regular 12"; - markup = "yes"; - format = "%s %p\n%b"; - sort = "yes"; - indicate_hidden = "no"; - alignment = "center"; - bounce_freq = 0; - show_age_threshold = 60; - word_wrap = "yes"; - ignore_newline = "no"; - geometry = "300x0-5-5"; - shrink = "yes"; - transparency = 0; - idle_threshold = 120; - monitor = 0; - follow = "mouse"; - sticky_history = "yes"; - history_length = 20; - show_indicators = "no"; - line_height = 0; - separator_height = 1; - stack_duplicates = "no"; - padding = 8; - horizontal_padding = 8; - separator_color = "frame"; - startup_notification = true; - # dmenu = /usr/bin/dmenu -p dunst; - # browser = /usr/bin/firefox -new-tab; - icon_position = "left"; - icon_path = "/usr/share/icons/Arc"; - max_icon_size = 64; - }; + # dunst = { + # enable = true; + # settings = { + # global = { + # font = "SF Pro Display Regular 12"; + # markup = "yes"; + # format = "%s %p\n%b"; + # sort = "yes"; + # indicate_hidden = "no"; + # alignment = "center"; + # bounce_freq = 0; + # show_age_threshold = 60; + # word_wrap = "yes"; + # ignore_newline = "no"; + # geometry = "300x0-5-5"; + # shrink = "yes"; + # transparency = 0; + # idle_threshold = 120; + # monitor = 0; + # follow = "mouse"; + # sticky_history = "yes"; + # history_length = 20; + # show_indicators = "no"; + # line_height = 0; + # separator_height = 1; + # stack_duplicates = "no"; + # padding = 8; + # horizontal_padding = 8; + # separator_color = "frame"; + # startup_notification = true; + # # dmenu = /usr/bin/dmenu -p dunst; + # # browser = /usr/bin/firefox -new-tab; + # icon_position = "left"; + # icon_path = "/usr/share/icons/Arc"; + # max_icon_size = 64; + # }; - frame = { - width = 1; - color = "#A6A6A6"; - }; + # frame = { + # width = 1; + # color = "#A6A6A6"; + # }; - urgency_low = { - background = "#000000"; - foreground = "#A6A6A6"; - timeout = 4; - }; + # urgency_low = { + # background = "#000000"; + # foreground = "#A6A6A6"; + # timeout = 4; + # }; - urgency_normal = { - background = "#000000"; - foreground = "#A6A6A6"; - timeout = 4; - }; + # urgency_normal = { + # background = "#000000"; + # foreground = "#A6A6A6"; + # timeout = 4; + # }; - urgency_critical = { - background = "#900000"; - foreground = "#ffffff"; - timeout = 16; - }; - }; - }; + # urgency_critical = { + # background = "#900000"; + # foreground = "#ffffff"; + # timeout = 16; + # }; + # }; + # }; + + # sxhkd = { + # enable = true; + # keybindings = { + # "super + x" = "notify-send Time $(date '+%H:%M')"; + # "super + z" = "notify-send Battery $(cat /sys/class/power_supply/BAT0/capacity)%"; + # "alt + Tab" = "rofi -show window"; + # "super + Return" = "kitty"; + # "super + shift + Return" = "rofi -show drun"; + # "super + Escape" = "pkill -USR1 -x sxhkd"; + # "super {_,shift + }Tab" = "bspc node -f {next,prev}"; + # "super + shift + c" = "bspc node -c"; + # "super + a" = "bspc node @/ --flip vertical"; + # "super + d" = ''layer=normal; \ + # bspc query -N -n "focused.$\{layer\}" && layer=below; \ + # bspc node -l "$layer"''; + # "super + {s,f,k}" = + # ''state={floating,fullscreen,pseudo_tiled}; \ + # bspc query -N -n "focused.$\{state\}" && state=tiled; \ + # bspc node -t "$state" ''; + # "super + alt + {Left,Down,Up,Right}" = "bspc node -p {west,south,north,east}"; + # "super + ctrl + {Left,Right,Up,Down}" = "xdo move {-x -50,-x +50,-y -50,-y +50}"; + # "super + ctrl + alt + {Left,Right,Up,Down}" = "xdo resize {-w -50,-w +50,-h -50,-h +50}"; + # "super + {_,shift + }{Left,Down,Up,Right}" = "bspc node -{f,s} {west,south,north,east}"; + # "super + m" = "bspc node -s biggest"; + # "super + l" = "~/.bin/lock"; + # "super + ctrl + space" = "bspc node -p cancel"; + # "super + apostrophe" = "bspc node -s last"; + # "super + ctrl + comma" = "bspc node @/ --rotate 90"; + # "super + shift + comma" = "bspc node @/ --circulate forward"; + # "super + {1-9,0}" = "bspc desktop -f '{I,II,III,IV,V,VI,VII,VIII,IX,X}' && notify-send `bspc query -D -d --names`"; + # "super + shift + {1-9,0}" = "bspc node -d '{I,II,III,IV,V,VI,VII,VIII,IX,X}'"; + # # "XF86AudioMute" = "pulseaudio-ctl mute"; + # # "XF86AudioLowerVolume" = "pulseaudio-ctl down"; + # # "XF86AudioRaiseVolume" = "pulseaudio-ctl up"; + # "Print" = "flameshot gui"; + # }; + # }; nextcloud-client = { enable = true; startInBackground = true; }; - sxhkd = { - enable = true; - keybindings = { - "super + x" = "notify-send Time $(date '+%H:%M')"; - "super + z" = "notify-send Battery $(cat /sys/class/power_supply/BAT0/capacity)%"; - "alt + Tab" = "rofi -show window"; - "super + Return" = "kitty"; - "super + shift + Return" = "rofi -show drun"; - "super + Escape" = "pkill -USR1 -x sxhkd"; - "super {_,shift + }Tab" = "bspc node -f {next,prev}"; - "super + shift + c" = "bspc node -c"; - "super + a" = "bspc node @/ --flip vertical"; - "super + d" = ''layer=normal; \ - bspc query -N -n "focused.$\{layer\}" && layer=below; \ - bspc node -l "$layer"''; - "super + {s,f,k}" = - ''state={floating,fullscreen,pseudo_tiled}; \ - bspc query -N -n "focused.$\{state\}" && state=tiled; \ - bspc node -t "$state" ''; - "super + alt + {Left,Down,Up,Right}" = "bspc node -p {west,south,north,east}"; - "super + ctrl + {Left,Right,Up,Down}" = "xdo move {-x -50,-x +50,-y -50,-y +50}"; - "super + ctrl + alt + {Left,Right,Up,Down}" = "xdo resize {-w -50,-w +50,-h -50,-h +50}"; - "super + {_,shift + }{Left,Down,Up,Right}" = "bspc node -{f,s} {west,south,north,east}"; - "super + m" = "bspc node -s biggest"; - "super + l" = "~/.bin/lock"; - "super + ctrl + space" = "bspc node -p cancel"; - "super + apostrophe" = "bspc node -s last"; - "super + ctrl + comma" = "bspc node @/ --rotate 90"; - "super + shift + comma" = "bspc node @/ --circulate forward"; - "super + {1-9,0}" = "bspc desktop -f '{I,II,III,IV,V,VI,VII,VIII,IX,X}' && notify-send `bspc query -D -d --names`"; - "super + shift + {1-9,0}" = "bspc node -d '{I,II,III,IV,V,VI,VII,VIII,IX,X}'"; - # "XF86AudioMute" = "pulseaudio-ctl mute"; - # "XF86AudioLowerVolume" = "pulseaudio-ctl down"; - # "XF86AudioRaiseVolume" = "pulseaudio-ctl up"; - "Print" = "flameshot gui"; - }; - }; - redshift = { enable = true; duskTime = "21:00-22:00"; @@ -317,51 +317,56 @@ in flameshot.enable = true; }; - xsession = { - enable = true; - pointerCursor = { - defaultCursor = "left_ptr"; - name = "elementary"; - package = pkgs.pantheon.elementary-icon-theme; - }; - windowManager = { - command = pkgs.lib.mkForce '' - ${pkgs.bspwm}/bin/bspwm -c ~/.config/bspwm/bspwmrc & - ${pkgs.xfce.xfce4-session}/bin/xfce4-session - ''; - bspwm = { - enable = true; - extraConfig = '' - bspc wm --adopt-orphans +# xsession = { +# enable = true; +# pointerCursor = { +# defaultCursor = "left_ptr"; +# name = "elementary"; +# package = pkgs.pantheon.elementary-icon-theme; +# }; +# windowManager = { +# command = pkgs.lib.mkForce '' +# ${pkgs.bspwm}/bin/bspwm -c ~/.config/bspwm/bspwmrc & +# ${pkgs.xfce.xfce4-session}/bin/xfce4-session +# ''; +# bspwm = { +# enable = true; +# extraConfig = '' +# bspc wm --adopt-orphans +# +# bspc subscribe monitor_add monitor_remove| while read -r a event; do +# node /home/alex/Sync/windows.js +# done & +# ''; +# settings = { +# border_width = 4; +# window_gap = 5; +# top_padding = 0; +# left_padding = 0; +# right_padding = 0; +# bottom_padding = 0; +# split_ratio = 0.50; +# borderless_monocle = true; +# single_monocle = true; +# gapless_monocle = true; +# focus_follows_pointer = true; +# pointer_follows_monitor = true; +# pointer_follows_focus = false; +# center_pseudo_tiled = true; +# automatic_scheme = "alternate"; +# remove_unplugged_monitors = true; +# remove_disabled_monitors = true; +# normal_border_color = "#333333"; +# focused_border_color = "#666666"; +# presel_feedback_color = "#000000"; +# }; +# }; +# }; +# }; - bspc subscribe monitor_add monitor_remove| while read -r a event; do - node /home/alex/Sync/windows.js - done & - ''; - settings = { - border_width = 4; - window_gap = 5; - top_padding = 0; - left_padding = 0; - right_padding = 0; - bottom_padding = 0; - split_ratio = 0.50; - borderless_monocle = true; - single_monocle = true; - gapless_monocle = true; - focus_follows_pointer = true; - pointer_follows_monitor = true; - pointer_follows_focus = false; - center_pseudo_tiled = true; - automatic_scheme = "alternate"; - remove_unplugged_monitors = true; - remove_disabled_monitors = true; - normal_border_color = "#333333"; - focused_border_color = "#666666"; - presel_feedback_color = "#000000"; - }; - }; - }; + wayland.windowManager.sway = { + enable = true; + wrapperFeatures.gtk = true ; }; }; }