aboutsummaryrefslogtreecommitdiff
path: root/home/profiles/gui/config
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2023-07-25 18:58:27 +0900
committersefidel <contact@sefidel.net>2023-07-25 18:58:27 +0900
commitec647eecd447bfbbd8f7b6f2fe5bb65ebf9abf16 (patch)
treee36c9348852f95d95040ed61f7ee7a2b4501ef89 /home/profiles/gui/config
parent6ccd70ae9afee4f9c98135502abca8f9d0f2b58d (diff)
downloadnixrc-ec647eecd447bfbbd8f7b6f2fe5bb65ebf9abf16.zip
feat(home): split gui from base
Diffstat (limited to 'home/profiles/gui/config')
-rw-r--r--home/profiles/gui/config/dunst.nix47
-rw-r--r--home/profiles/gui/config/foot.nix37
-rw-r--r--home/profiles/gui/config/sway.nix226
-rw-r--r--home/profiles/gui/config/waybar/settings.nix64
-rw-r--r--home/profiles/gui/config/waybar/style.nix80
5 files changed, 454 insertions, 0 deletions
diff --git a/home/profiles/gui/config/dunst.nix b/home/profiles/gui/config/dunst.nix
new file mode 100644
index 0000000..60ed15f
--- /dev/null
+++ b/home/profiles/gui/config/dunst.nix
@@ -0,0 +1,47 @@
+{ neotheme }:
+
+with neotheme.colors;
+{
+ global = {
+ padding = 8;
+ width = "330";
+ height = "500";
+ origin = "top-right";
+ offset = "8x25";
+ notification_limit = 5;
+ frame_width = 2;
+ vertical_alignment = "center";
+ horizontal_padding = 8;
+ icon_position = "left";
+ corner_radius = 10;
+
+ markup = "full";
+ word_wrap = true;
+ show_indicators = false;
+ format = "<b>%s</b>\\n\\n%b";
+ font = "Dina 10";
+ frame_color = "#${color3}";
+ separator_color = "auto";
+ max_icon_size = 80;
+ };
+
+ urgency_low = {
+ foreground = "#${foreground}";
+ background = "#${background}";
+ frame_color = "#${color4}";
+ timeout = 4;
+ };
+
+ urgency_normal = {
+ foreground = "#${foreground}";
+ background = "#${background}";
+ frame_color = "#${color3}";
+ timeout = 8;
+ };
+
+ urgency_critical = {
+ foreground = "#${foreground}";
+ background = "#${background}";
+ frame_color = "#${color1}";
+ };
+}
diff --git a/home/profiles/gui/config/foot.nix b/home/profiles/gui/config/foot.nix
new file mode 100644
index 0000000..bcb3145
--- /dev/null
+++ b/home/profiles/gui/config/foot.nix
@@ -0,0 +1,37 @@
+{ neotheme }:
+
+with neotheme.colors;
+
+{
+ main = {
+ term = "foot";
+ font = "Dina:pixelsize=13,JetBrainsMono Nerd Font:pixelsize=12";
+ letter-spacing = 0;
+ line-height = 13;
+ dpi-aware = "yes";
+ pad = "16x16 center";
+ };
+
+ cursor.style = "beam";
+
+ colors = {
+ background = background;
+ foreground = foreground;
+ regular0 = color0;
+ regular1 = color1;
+ regular2 = color2;
+ regular3 = color3;
+ regular4 = color4;
+ regular5 = color5;
+ regular6 = color6;
+ regular7 = color7;
+ bright0 = bright0;
+ bright1 = bright1;
+ bright2 = bright2;
+ bright3 = bright3;
+ bright4 = bright4;
+ bright5 = bright5;
+ bright6 = bright6;
+ bright7 = bright7;
+ };
+}
diff --git a/home/profiles/gui/config/sway.nix b/home/profiles/gui/config/sway.nix
new file mode 100644
index 0000000..5e4de04
--- /dev/null
+++ b/home/profiles/gui/config/sway.nix
@@ -0,0 +1,226 @@
+{ pkgs, neotheme }:
+
+with neotheme.colors;
+
+''
+ # disable power key
+ exec systemd-inhibit --what=handle-power-key --who="sway" --why="Sway manages power key behaviour" sleep infinity
+
+ exec autotiling
+
+ # set modifiers
+ set $mod Mod4
+ set $alt Mod1
+ set $floating_modifier $mod
+ set $left h
+ set $down j
+ set $up k
+ set $right l
+
+ # set terminal
+
+ set $term foot
+ bindsym $mod+Return exec $term
+
+ # set menu
+ set $menu "${pkgs.bemenu}/bin/bemenu-run -H 18 -l 5 --fn 'Dina 13px' -p 'run::' --tb '$primary' --tf '$color0' --hb '$primary' --hf '$color0'"
+ bindsym $mod+d exec $menu
+
+ # set screenshot util
+ bindsym $mod+Ctrl+Return exec grimshot copy area
+
+ # change focus
+ # vim-style
+ bindsym $mod+$left focus left
+ bindsym $mod+$down focus down
+ bindsym $mod+$up focus up
+ bindsym $mod+$right focus right
+ # arrows
+ bindsym $mod+Left focus left
+ bindsym $mod+Down focus down
+ bindsym $mod+Up focus up
+ bindsym $mod+Right focus right
+
+ # move focused window
+ # vim-style
+ bindsym $mod+Shift+$left move left
+ bindsym $mod+Shift+$down move down
+ bindsym $mod+Shift+$up move up
+ bindsym $mod+Shift+$right move right
+ # arrows
+ bindsym $mod+Shift+Left move left
+ bindsym $mod+Shift+Down move down
+ bindsym $mod+Shift+Up move up
+ bindsym $mod+Shift+Right move right
+
+ # split
+ bindsym $mod+c split h # horizontal
+ bindsym $mod+v split v # vertical
+
+ # fullscreen
+ bindsym $mod+e fullscreen toggle
+
+ # floating
+ bindsym $mod+f floating toggle
+
+ # kill focused
+ bindsym $mod+w kill
+
+ font "pango:Dina 10"
+
+ # window rules
+ for_window [window_role="pop-up"] floating enable
+ for_window [window_role="bubble"] floating enable
+ for_window [window_role="task_dialog"] floating enable
+ for_window [window_role="Preferences"] floating enable
+ for_window [window_type="dialog"] floating enable
+ for_window [window_type="menu"] floating enable
+ for_window [class="mpv"] floating enable
+ for_window [class=".*"] inhibit_idle fullscreen
+ for_window [app_id=".*"] title_format ""
+ for_window [class=".*"] title_format ""
+
+ titlebar_border_thickness 0
+ titlebar_padding 0 0
+
+ # workspace names
+ set $ws1 1:I
+ set $ws2 2:II
+ set $ws3 3:III
+ set $ws4 4:IV
+ set $ws5 5:V
+ set $ws6 6:VI
+ set $ws7 7:VII
+ set $ws8 8:VIII
+ set $ws9 9:IX
+ set $ws10 10:X
+
+ # switch to named ws
+ bindsym $mod+1 workspace $ws1
+ bindsym $mod+2 workspace $ws2
+ bindsym $mod+3 workspace $ws3
+ bindsym $mod+4 workspace $ws4
+ bindsym $mod+5 workspace $ws5
+ bindsym $mod+6 workspace $ws6
+ bindsym $mod+7 workspace $ws7
+ bindsym $mod+8 workspace $ws8
+ bindsym $mod+9 workspace $ws9
+ bindsym $mod+0 workspace $ws10
+
+ # switch to prev/next ws
+ bindsym $mod+z workspace prev
+ bindsym $mod+x workspace next
+
+ # move focused container to ws
+ bindsym $mod+Shift+1 move container to workspace $ws1
+ bindsym $mod+Shift+2 move container to workspace $ws2
+ bindsym $mod+Shift+3 move container to workspace $ws3
+ bindsym $mod+Shift+4 move container to workspace $ws4
+ bindsym $mod+Shift+5 move container to workspace $ws5
+ bindsym $mod+Shift+6 move container to workspace $ws6
+ bindsym $mod+Shift+7 move container to workspace $ws7
+ bindsym $mod+Shift+8 move container to workspace $ws8
+ bindsym $mod+Shift+9 move container to workspace $ws9
+ bindsym $mod+Shift+0 move container to workspace $ws10
+ bindsym $mod+Shift+z move container to workspace prev
+ bindsym $mod+Shift+x move container to workspace next
+
+ # ws back-and-forth
+ workspace_auto_back_and_forth no
+
+ # reload
+ bindsym $mod+q reload
+
+ # application shortcuts
+ bindsym $mod+a exec qutebrowser
+ # bindsym $mod+Shift+a
+
+ # Volume control
+ bindsym XF86AudioRaiseVolume exec ~/.local/bin/volume up
+ bindsym XF86AudioLowerVolume exec ~/.local/bin/volume down
+ bindsym XF86AudioMute exec ~/.local/bin/volume toggle
+ # HHKB
+ bindsym $mod+equal exec ~/.local/bin/volume up
+ bindsym $mod+minus exec ~/.local/bin/volume down
+ bindsym $mod+backslash exec ~/.local/bin/volume toggle
+
+ # Brightness
+ bindsym XF86MonBrightnessDown exec brightnessctl -q set 10%-
+ bindsym XF86MonBrightnessUp exec brightnessctl -q set 10%+
+
+ # Screenshot
+ bindsym $mod+Print exec grimshot copy area
+ bindsym Print exec grimshot copy active
+ bindsym $alt+Print exec grimshot save screen
+
+ # Toggle waybar
+ bindsym $mod+b exec pkill -USR1 waybar
+
+ # Exit
+ bindsym $mod+Shift+q exec swaynag -t warning -m 'Do you really want to exit sway?' -b 'Yes, exit sway' 'swaymsg exit'
+
+ # Power
+ bindsym XF86PowerOff exec swaynag -t error -m 'Confirm poweroff?' -b 'Confirm' 'shutdown now'
+
+ # Aesthetics
+ default_border pixel 3
+ hide_edge_borders --i3 smart
+ gaps inner 8
+ smart_borders on
+
+ set $color0 #${color0}
+ set $color1 #${color1}
+ set $color2 #${color2}
+ set $color3 #${color3}
+ set $color4 #${color4}
+ set $color5 #${color5}
+ set $color6 #${color6}
+ set $color7 #${color7}
+ set $color8 #${bright0}
+ set $color9 #${bright1}
+ set $color10 #${bright2}
+ set $color11 #${bright3}
+ set $color12 #${bright4}
+ set $color13 #${bright5}
+ set $color14 #${bright6}
+ set $color15 #${bright7}
+
+ set $primary $color4
+ set $muted #36486a
+
+ # class border backgr text indicator
+ client.focused $primary $primary $color0 $primary
+ client.focused_inactive $muted $muted $color0 $muted
+ client.unfocused $muted $muted $color7 $muted
+ client.urgent $color10 $color10 $color0 $color10
+ output "*" bg ${../../../../assets/annie-spratt-arctic.jpg} fill
+ output "*" scale 1
+ output "*" scale_filter nearest
+
+ input type:touchpad {
+ tap enabled
+ natural_scroll enabled
+ }
+
+
+ input "1452:641:Apple_Internal_Keyboard_/_Trackpad" {
+ dwt enabled #Disable while typing
+ tap enabled #Tap registers as a click
+ accel_profile adaptive #adaptive/flat cursor acceleration
+ pointer_accel 0 #From -1 to 1: Speed of cursor
+ natural_scroll enabled #Direction of Scroll
+ scroll_factor 0.3 #Speed of Scrolling gets multiplied by this factor
+ scroll_method two_finger #none|two_finger|edge|on_button_down
+ middle_emulation enabled #Enables middle click
+ tap_button_map lmr #1Finger > Left Click , 2Finger > Right Click, 3Fingers > MiddleClick
+ }
+
+ input type:keyboard {
+ repeat_rate 40
+ repeat_delay 350
+ xkb_layout us
+ # xkb_variant ,dvorak
+ xkb_options 'grp:alt_shift_toggle,caps:escape'
+ # xkb_options ctrl:swapcaps
+ }
+''
diff --git a/home/profiles/gui/config/waybar/settings.nix b/home/profiles/gui/config/waybar/settings.nix
new file mode 100644
index 0000000..86e865a
--- /dev/null
+++ b/home/profiles/gui/config/waybar/settings.nix
@@ -0,0 +1,64 @@
+{ neotheme }:
+
+with neotheme.colors;
+{
+ layer = "bottom";
+ position = "top";
+ height = 22;
+ modules-left = [ "pulseaudio" "custom/separator" "cpu" "custom/separator" "memory" "custom/separator" "idle_inhibitor" ];
+ modules-center = [ "sway/workspaces" ];
+ modules-right = [ "battery" "custom/separator" "clock" ];
+
+ "sway/workspaces" = {
+ all-outputs = true;
+ disable-scroll = false;
+ format = "{name}";
+ persistent_workspaces = {
+ "1:I" = [ ];
+ "2:II" = [ ];
+ "3:III" = [ ];
+ "4:IV" = [ ];
+ "5:V" = [ ];
+ "6:VI" = [ ];
+ "7:VII" = [ ];
+ "8:VIII" = [ ];
+ "9:IX" = [ ];
+ "10:X" = [ ];
+ };
+ };
+
+ "clock" = {
+ interval = 10;
+ format = "<span foreground='#${color5}'>TIME</span> {:%A, %b %d %H:%M}";
+ };
+
+ "cpu" = {
+ interval = 5;
+ format = "<span foreground='#${color2}'>CPU</span> {usage:2}%";
+ };
+
+ "pulseaudio" = {
+ format = "<span foreground='#${color4}'>VOL</span> {volume}%";
+ format-muted = "<span foreground='#${color4}'>VOL</span> Muted";
+ };
+
+ "memory" = {
+ interval = 5;
+ format = "<span foreground='#${color3}'>MEM</span> {used:0.2f}GiB";
+ };
+
+ "battery" = {
+ format = "<span foreground='#${color6}'>BATT</span> {capacity}%";
+ format-alt = "<span foreground='#${color6}'>PWR</span> {power}Wh";
+ };
+
+ "idle_inhibitor" = {
+ format = "<span foreground='#a89984'>CAFFEINE</span> {status}";
+ };
+
+ "custom/separator" = {
+ format = "|";
+ interval = "once";
+ tooltip = false;
+ };
+}
diff --git a/home/profiles/gui/config/waybar/style.nix b/home/profiles/gui/config/waybar/style.nix
new file mode 100644
index 0000000..d8714ed
--- /dev/null
+++ b/home/profiles/gui/config/waybar/style.nix
@@ -0,0 +1,80 @@
+{ neotheme }:
+
+with neotheme.colors;
+
+''
+ * {
+ border: none;
+ border-radius: 0;
+ font-family: "Dina, JetBrainsMono Nerd Font";
+ font-size: 12px;
+ min-height: 0;
+ }
+
+ window#waybar {
+ background: #${background};
+ color: #${foreground};
+ border-bottom: 1px solid #${bright0};
+ }
+
+ #workspaces button {
+ min-width: 0;
+ padding: 0 8px;
+ background: #${background};
+ color: #${foreground};
+ border-bottom: 1px solid #${bright0};
+ }
+
+ #workspaces button.focused {
+ color: #${foreground};
+ background-color: #${alt0};
+ }
+
+ #workspaces button.urgent {
+ color: #${color1};
+ }
+
+ #workspaces button.persistent {
+ color: #${alt1};
+ }
+
+ #workspaces button:hover {
+ color: #${foreground};
+ background: #${alt1};
+ box-shadow: inherit;
+ text-shadow: inherit;
+ }
+
+ #clock,
+ #cpu,
+ #temperature,
+ #backlight,
+ #battery,
+ #network,
+ #memory,
+ #idle_inhibitor,
+ #language,
+ #pulseaudio,
+ #tray,
+ #mode,
+ #mpd {
+ padding: 0.2rem 0.6rem;
+ margin: 0 2px;
+ color: #${foreground};
+ background-color: #${background};
+ border-bottom: 1px solid #${bright0};
+ }
+
+ @keyframes blink {
+ to {
+ background-color: #${color4};
+ color: #${background};
+ }
+ }
+
+ #custom-separator {
+ color: #${alt1};
+ background-color: #${background};
+ border-bottom: 1px solid #${bright0};
+ }
+''