about summary refs log tree commit diff
path: root/home/modules/profiles/base/config
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2021-12-28 01:11:25 +0900
committersefidel <contact@sefidel.net>2021-12-28 01:12:48 +0900
commit56992b8c945d497a623fe693847c91235be1ae02 (patch)
tree102ff8c8872d7e14ce3e3dba69bf16685374504e /home/modules/profiles/base/config
downloadnixrc-56992b8c945d497a623fe693847c91235be1ae02.tar.gz
nixrc-56992b8c945d497a623fe693847c91235be1ae02.zip
initial commit
Diffstat (limited to 'home/modules/profiles/base/config')
-rw-r--r--home/modules/profiles/base/config/foot.nix33
-rw-r--r--home/modules/profiles/base/config/sway.nix202
-rw-r--r--home/modules/profiles/base/config/waybar-settings-new.nix68
-rw-r--r--home/modules/profiles/base/config/waybar-settings.nix68
-rw-r--r--home/modules/profiles/base/config/waybar-style.nix97
5 files changed, 468 insertions, 0 deletions
diff --git a/home/modules/profiles/base/config/foot.nix b/home/modules/profiles/base/config/foot.nix
new file mode 100644
index 0000000..d53dba7
--- /dev/null
+++ b/home/modules/profiles/base/config/foot.nix
@@ -0,0 +1,33 @@
+{
+  main = {
+    term = "foot";
+    font = "dina:size=10,Liga SFMono Nerd Font:size=10";
+    letter-spacing = 0;
+    line-height = 13;
+    dpi-aware = "yes";
+    pad = "16x16 center";
+  };
+
+  cursor.style = "beam";
+
+  colors = {
+    background = "18191f";
+    foreground = "cbc0ab";
+    regular0 = "222329";
+    regular1 = "b17f81";
+    regular2 = "8aa387";
+    regular3 = "d4ae80";
+    regular4 = "8896ae";
+    regular5 = "c495a2";
+    regular6 = "7aacaa";
+    regular7 = "d0d0c7";
+    bright0 = "36373d";
+    bright1 = "c59395";
+    bright2 = "9eb79b";
+    bright3 = "e8c294";
+    bright4 = "9caac2";
+    bright5 = "d8a9b6";
+    bright6 = "8ec0be";
+    bright7 = "e4e4db";
+  };
+}
\ No newline at end of file
diff --git a/home/modules/profiles/base/config/sway.nix b/home/modules/profiles/base/config/sway.nix
new file mode 100644
index 0000000..d04673e
--- /dev/null
+++ b/home/modules/profiles/base/config/sway.nix
@@ -0,0 +1,202 @@
+{ pkgs, wallpapers }:
+
+''
+  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 footclient
+  bindsym $mod+Return exec $term
+
+  # set menu
+  set $menu "${pkgs.bemenu}/bin/bemenu-run -H 18 -l 5 --fn 'Iosevka Pure 10.5' --tb '#c495a2' --tf '#18191f' --hb '#c495a2' --hf '#18191f'"
+  bindsym $mod+d exec $menu
+
+  # 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:Iosevka Pure 5"
+
+  # 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 "α"
+  set $ws2 "β"
+  set $ws3 "γ"
+  set $ws4 "δ"
+  set $ws5 "ε"
+  set $ws6 "ζ"
+  set $ws7 "η"
+  set $ws8 "θ"
+  set $ws9 "ι"
+  set $ws10 "κ"
+
+  # 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 sublime4
+  bindsym $mod+Shift+a exec brave 
+
+  # 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'
+
+  # Aesthetics
+  default_border pixel 3
+  hide_edge_borders --i3 smart
+  gaps inner 8
+  smart_borders on
+
+  set $color0 #222329
+  set $color1 #b17f81
+  set $color2 #8aa387
+  set $color3 #d4ae80
+  set $color4 #8896ae
+  set $color5 #c495a2
+  set $color6 #7aacaa
+  set $color7 #d0d0c7
+  set $color8 #36373d
+  set $color9 #c59395
+  set $color10 #9eb79b
+  set $color11 #e8c294
+  set $color12 #9caac2
+  set $color13 #d8a9b6
+  set $color14 #8ec0be
+  set $color15 #e4e4db
+
+  set $primary $color5
+  set $muted #b58693
+
+  # class                 border    backgr    text    indicator
+  client.focused          $primary $primary $color0 $color5
+  client.focused_inactive $muted $muted $color0 $color5
+  client.unfocused        $muted $muted $color7 $color5
+  client.urgent           $color10 $color10 $color0 $color5
+  output "*" bg ${wallpapers}/nixos/nix-glow-gruvbox.png fill
+  output "*" scale 1
+  output "*" scale_filter nearest
+  
+  input type:touchpad {
+    tap enabled
+    natural_scroll enabled
+  }
+
+  input type:keyboard {
+    repeat_rate 40
+    repeat_delay 350
+    xkb_layout us,se
+    # xkb_variant ,dvorak
+    xkb_options 'grp:alt_shift_toggle,caps:escape'                                                                                                                                                                                               
+    # xkb_options ctrl:swapcaps                                                                                                          
+  }
+''
diff --git a/home/modules/profiles/base/config/waybar-settings-new.nix b/home/modules/profiles/base/config/waybar-settings-new.nix
new file mode 100644
index 0000000..4b55a05
--- /dev/null
+++ b/home/modules/profiles/base/config/waybar-settings-new.nix
@@ -0,0 +1,68 @@
+{
+  # DISCLAIMER! On 22.05, do NOT use this until https://github.com/nix-community/home-manager/issues/2546 is solved.
+  layer = "bottom";
+  position = "top";
+  height = 17;
+  modules-left = [ "sway/workspaces" "sway/language" "cpu" "memory" ];
+  modules-center = [ "clock" ];
+  modules-right = [ "custom/weather" "pulseaudio" "network" ];
+
+  "sway/workspaces" = {
+    all-outputs = true;
+
+    persistent_workspaces = {
+      "α" = [ ];
+      "β" = [ ];
+      "γ" = [ ];
+      "δ" = [ ];
+      "ε" = [ ];
+      "ζ" = [ ];
+      "η" = [ ];
+      "θ" = [ ];
+      "ι" = [ ];
+      "κ" = [ ];
+    };
+  };
+
+  "sway/language" = {
+    format = " {long}";
+  };
+
+  "clock" = {
+    interval = 10;
+    format = "{:  %m/%d/%Y %I:%M %p}";
+  };
+
+  "cpu" = {
+    interval = 5;
+    format = "  {load}%   {usage}%";
+  };
+
+  "custom/weather" = {
+    format = "  {}";
+    exec = "curl 'wttr.in/?format='%t+-+%x+%C++%w'&M'";
+    interval = 3600;
+  };
+
+  "network" = {
+    interface = "enp4s0";
+    format = "  {ifname}";
+    format-wifi = "  {essid}";
+    format-ethernet = "  {ifname} {ipaddr}";
+    format-disconnected = "  Disconnected";
+    max-length = 50;
+  };
+
+  "pulseaudio" = {
+    format = "{icon} {volume}%";
+    format-muted = "婢  Muted";
+    format-source = "";
+    format-source-muted = "Muted";
+    format-icons.default = [ " " " " " " ];
+  };
+
+  "memory" = {
+    interval = 5;
+    format = " {used:0.1f}G / {total:0.1f}G ({percentage}%)";
+  };
+}
diff --git a/home/modules/profiles/base/config/waybar-settings.nix b/home/modules/profiles/base/config/waybar-settings.nix
new file mode 100644
index 0000000..e208895
--- /dev/null
+++ b/home/modules/profiles/base/config/waybar-settings.nix
@@ -0,0 +1,68 @@
+{
+  layer = "bottom";
+  position = "top";
+  height = 17;
+  modules-left = [ "sway/workspaces" "sway/language" "cpu" "memory" ];
+  modules-center = [ "clock" ];
+  modules-right = [ "custom/weather" "pulseaudio" "network" ];
+
+  modules = {
+    "sway/workspaces" = {
+      all-outputs = true;
+
+      persistent_workspaces = {
+        "α" = [ ];
+        "β" = [ ];
+        "γ" = [ ];
+        "δ" = [ ];
+        "ε" = [ ];
+        "ζ" = [ ];
+        "η" = [ ];
+        "θ" = [ ];
+        "ι" = [ ];
+        "κ" = [ ];
+      };
+    };
+
+    "sway/language" = {
+      format = " {long}";
+    };
+
+    "clock" = {
+      interval = 10;
+      format = "{:  %m/%d/%Y %I:%M %p}";
+    };
+
+    "cpu" = {
+      interval = 5;
+      format = " {usage:3}%";
+    };
+
+    "custom/weather" = {
+      format = "  {}";
+      exec = "curl 'wttr.in/?format='%t+-+%x+%C++%w'&M'";
+      interval = 3600;
+    };
+
+    "network" = {
+      interval = 5;
+      interface = "enp4s0";
+      format = " {ifname}";
+      format-wifi = " {essid}  {bandwidthUpBits}  {bandwidthDownBits}";
+      format-ethernet = "   {bandwidthUpBits:>}  {bandwidthDownBits:>}";
+      format-disconnected = " Disconnected";
+      max-length = 50;
+    };
+
+    "pulseaudio" = {
+      format = "{icon} {volume}%";
+      format-muted = "ﱝ  Muted";
+      format-icons.default = [ " " " " " " ];
+    };
+
+    "memory" = {
+      interval = 5;
+      format = " {used:0.1f}G / {total:0.1f}G ({percentage:3}%)";
+    };
+  };
+}
diff --git a/home/modules/profiles/base/config/waybar-style.nix b/home/modules/profiles/base/config/waybar-style.nix
new file mode 100644
index 0000000..45edf60
--- /dev/null
+++ b/home/modules/profiles/base/config/waybar-style.nix
@@ -0,0 +1,97 @@
+''
+  * {
+    border: none;
+    border-radius: 0;
+    font-family: "JetBrainsMono Nerd Font";
+    font-size: 14px;
+    min-height: 0;
+  }
+
+  window#waybar {
+    background: #18191f;
+    color: #cbc0ab;
+  }
+
+  #workspaces button {
+    padding: 0 4px;
+    background: #c495a2;
+    color: #18191f;
+    border-bottom: 2px solid #c495a2;
+  }
+
+  #workspaces button.focused {
+    background: #c495a2;
+    border-bottom: 2px solid #18191f;
+  }
+
+  #clock,
+  #cpu,
+  #battery,
+  #temperature,
+  #backlight,
+  #network,
+  #memory,
+  #language,
+  #pulseaudio,
+  #tray,
+  #mode,
+  #mpd,
+  #custom-weather {
+    padding: 0 6px;
+    margin: 0;
+    background-color: #c495a2;
+    color: #18191f;
+  }
+
+  @keyframes blink {
+    to {
+      background-color: #c495a2;
+      color: #18191f;
+    }
+  }
+
+  #cpu {
+    background-color: #8bb0a6;
+  }
+
+  #network {
+    background-color: #8bb0a6;
+  }
+
+  #memory {
+    background-color: #8bb0a6;
+  }
+
+  #pulseaudio {
+    background-color: #8bb0a6;
+  }
+
+  #battery {
+    background-color: #8bb0a6;
+  }
+
+  #battery.full {
+    background-color: #8bb0a6;
+    color: #18191f;
+  }
+
+  #battery.discharging {
+    background-color: #8bb0a6;
+    color: #18191f;
+  }
+
+  #battery.charging {
+    background-color: #8bb0a6;
+    color: #18191f;
+  }
+
+  #battery.warning:not(.charging) {
+    background-color: #8bb0a6;
+    color: #18191f;
+    animation-name: blink;
+    animation-duration: 0.5s;
+    animation-timing-function: linear;
+    animation-iteration-count: infinite;
+    animation-direction: alternate;
+  }
+''