{ lib, config, ... }:
- {
- programs.waybar = {
- enable = lib.mkDefault config.monorepo.profiles.hyprland.enable;
- style = ''
- * {
- border: none;
- border-radius: 0px;
- font-family: Iosevka Nerd Font, FontAwesome, Noto Sans CJK;
- font-size: 14px;
- font-style: normal;
- min-height: 0;
- }
+{
+ programs.waybar = {
+ enable = lib.mkDefault config.monorepo.profiles.hyprland.enable;
+ style = ''
+ * {
+ border: none;
+ border-radius: 0px;
+ font-family: Iosevka Nerd Font, FontAwesome, Noto Sans CJK;
+ font-size: 14px;
+ font-style: normal;
+ min-height: 0;
+ }
- window#waybar {
- background: rgba(30, 30, 46, 0.5);
- border-bottom: 1px solid #45475a;
- color: #cdd6f4;
- }
+ window#waybar {
+ background: rgba(30, 30, 46, 0.5);
+ border-bottom: 1px solid #45475a;
+ color: #cdd6f4;
+ }
- #workspaces {
- background: #45475a;
- margin: 5px 5px 5px 5px;
- padding: 0px 5px 0px 5px;
+ #workspaces {
+ background: #45475a;
+ margin: 5px 5px 5px 5px;
+ padding: 0px 5px 0px 5px;
+ border-radius: 16px;
+ border: solid 0px #f4d9e1;
+ font-weight: normal;
+ font-style: normal;
+ }
+ #workspaces button {
+ padding: 0px 5px;
border-radius: 16px;
- border: solid 0px #f4d9e1;
- font-weight: normal;
- font-style: normal;
- }
- #workspaces button {
- padding: 0px 5px;
- border-radius: 16px;
- color: #a6adc8;
- }
+ color: #a6adc8;
+ }
- #workspaces button.active {
- color: #f4d9e1;
- background-color: transparent;
- border-radius: 16px;
- }
+ #workspaces button.active {
+ color: #f4d9e1;
+ background-color: transparent;
+ border-radius: 16px;
+ }
- #workspaces button:hover {
- background-color: #cdd6f4;
- color: black;
- border-radius: 16px;
- }
+ #workspaces button:hover {
+ background-color: #cdd6f4;
+ color: black;
+ border-radius: 16px;
+ }
- #custom-date, #clock, #battery, #pulseaudio, #network, #custom-randwall, #custom-launcher {
- background: transparent;
- padding: 5px 5px 5px 5px;
- margin: 5px 5px 5px 5px;
- border-radius: 8px;
- border: solid 0px #f4d9e1;
- }
+ #custom-date, #clock, #battery, #pulseaudio, #network, #custom-randwall, #custom-launcher {
+ background: transparent;
+ padding: 5px 5px 5px 5px;
+ margin: 5px 5px 5px 5px;
+ border-radius: 8px;
+ border: solid 0px #f4d9e1;
+ }
- #custom-date {
- color: #D3869B;
- }
+ #custom-date {
+ color: #D3869B;
+ }
- #custom-power {
- color: #24283b;
- background-color: #db4b4b;
- border-radius: 5px;
- margin-right: 10px;
- margin-top: 5px;
- margin-bottom: 5px;
- margin-left: 0px;
- padding: 5px 10px;
- }
+ #custom-power {
+ color: #24283b;
+ background-color: #db4b4b;
+ border-radius: 5px;
+ margin-right: 10px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ margin-left: 0px;
+ padding: 5px 10px;
+ }
- #tray {
- background: #45475a;
- margin: 5px 5px 5px 5px;
- border-radius: 16px;
- padding: 0px 5px;
- /*border-right: solid 1px #282738;*/
- }
+ #tray {
+ background: #45475a;
+ margin: 5px 5px 5px 5px;
+ border-radius: 16px;
+ padding: 0px 5px;
+ /*border-right: solid 1px #282738;*/
+ }
- #clock {
- color: #cdd6f4;
- background-color: #45475a;
- border-radius: 0px 0px 0px 24px;
- padding-left: 13px;
- padding-right: 15px;
- margin-right: 0px;
- margin-left: 10px;
- margin-top: 0px;
- margin-bottom: 0px;
- font-weight: bold;
- /*border-left: solid 1px #282738;*/
- }
+ #clock {
+ color: #cdd6f4;
+ background-color: #45475a;
+ border-radius: 0px 0px 0px 24px;
+ padding-left: 13px;
+ padding-right: 15px;
+ margin-right: 0px;
+ margin-left: 10px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ font-weight: bold;
+ /*border-left: solid 1px #282738;*/
+ }
- #battery {
- color: #89b4fa;
- }
+ #battery {
+ color: #89b4fa;
+ }
- #battery.charging {
- color: #a6e3a1;
- }
+ #battery.charging {
+ color: #a6e3a1;
+ }
- #battery.warning:not(.charging) {
- background-color: #f7768e;
- color: #f38ba8;
- border-radius: 5px 5px 5px 5px;
- }
+ #battery.warning:not(.charging) {
+ background-color: #f7768e;
+ color: #f38ba8;
+ border-radius: 5px 5px 5px 5px;
+ }
- #backlight {
- background-color: #24283b;
- color: #db4b4b;
- border-radius: 0px 0px 0px 0px;
- margin: 5px;
- margin-left: 0px;
- margin-right: 0px;
- padding: 0px 0px;
- }
+ #backlight {
+ background-color: #24283b;
+ color: #db4b4b;
+ border-radius: 0px 0px 0px 0px;
+ margin: 5px;
+ margin-left: 0px;
+ margin-right: 0px;
+ padding: 0px 0px;
+ }
- #network {
- color: #f4d9e1;
- border-radius: 8px;
- margin-right: 5px;
- }
+ #network {
+ color: #f4d9e1;
+ border-radius: 8px;
+ margin-right: 5px;
+ }
- #pulseaudio {
- color: #f4d9e1;
- border-radius: 8px;
- margin-left: 0px;
- }
+ #pulseaudio {
+ color: #f4d9e1;
+ border-radius: 8px;
+ margin-left: 0px;
+ }
+
+ #pulseaudio.muted {
+ background: transparent;
+ color: #928374;
+ border-radius: 8px;
+ margin-left: 0px;
+ }
- #pulseaudio.muted {
- background: transparent;
- color: #928374;
- border-radius: 8px;
- margin-left: 0px;
- }
+ #custom-randwall {
+ color: #f4d9e1;
+ border-radius: 8px;
+ margin-right: 0px;
+ }
- #custom-randwall {
- color: #f4d9e1;
- border-radius: 8px;
- margin-right: 0px;
- }
+ #custom-launcher {
+ color: #e5809e;
+ background-color: #45475a;
+ border-radius: 0px 24px 0px 0px;
+ margin: 0px 0px 0px 0px;
+ padding: 0 20px 0 13px;
+ /*border-right: solid 1px #282738;*/
+ font-size: 20px;
+ }
- #custom-launcher {
- color: #e5809e;
- background-color: #45475a;
- border-radius: 0px 24px 0px 0px;
- margin: 0px 0px 0px 0px;
- padding: 0 20px 0 13px;
- /*border-right: solid 1px #282738;*/
- font-size: 20px;
- }
+ #custom-launcher button:hover {
+ background-color: #FB4934;
+ color: transparent;
+ border-radius: 8px;
+ margin-right: -5px;
+ margin-left: 10px;
+ }
- #custom-launcher button:hover {
- background-color: #FB4934;
- color: transparent;
- border-radius: 8px;
- margin-right: -5px;
- margin-left: 10px;
- }
+ #custom-playerctl {
+ background: #45475a;
+ padding-left: 15px;
+ padding-right: 14px;
+ border-radius: 16px;
+ /*border-left: solid 1px #282738;*/
+ /*border-right: solid 1px #282738;*/
+ margin-top: 5px;
+ margin-bottom: 5px;
+ margin-left: 0px;
+ font-weight: normal;
+ font-style: normal;
+ font-size: 16px;
+ }
- #custom-playerctl {
- background: #45475a;
- padding-left: 15px;
- padding-right: 14px;
- border-radius: 16px;
+ #custom-playerlabel {
+ background: transparent;
+ padding-left: 10px;
+ padding-right: 15px;
+ border-radius: 16px;
/*border-left: solid 1px #282738;*/
/*border-right: solid 1px #282738;*/
margin-top: 5px;
margin-bottom: 5px;
- margin-left: 0px;
font-weight: normal;
font-style: normal;
- font-size: 16px;
- }
+ }
- #custom-playerlabel {
- background: transparent;
- padding-left: 10px;
- padding-right: 15px;
- border-radius: 16px;
- /*border-left: solid 1px #282738;*/
- /*border-right: solid 1px #282738;*/
- margin-top: 5px;
- margin-bottom: 5px;
- font-weight: normal;
- font-style: normal;
- }
-
- #window {
- background: #45475a;
- padding-left: 15px;
- padding-right: 15px;
- border-radius: 16px;
- /*border-left: solid 1px #282738;*/
- /*border-right: solid 1px #282738;*/
- margin-top: 5px;
- margin-bottom: 5px;
- font-weight: normal;
- font-style: normal;
- }
+ #window {
+ background: #45475a;
+ padding-left: 15px;
+ padding-right: 15px;
+ border-radius: 16px;
+ /*border-left: solid 1px #282738;*/
+ /*border-right: solid 1px #282738;*/
+ margin-top: 5px;
+ margin-bottom: 5px;
+ font-weight: normal;
+ font-style: normal;
+ }
- #custom-wf-recorder {
- padding: 0 20px;
- color: #e5809e;
- background-color: #1E1E2E;
- }
+ #custom-wf-recorder {
+ padding: 0 20px;
+ color: #e5809e;
+ background-color: #1E1E2E;
+ }
- #cpu {
- background-color: #45475a;
- /*color: #FABD2D;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 10px 0px 10px;
- font-weight: bold;
- }
+ #cpu {
+ background-color: #45475a;
+ /*color: #FABD2D;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 10px 0px 10px;
+ font-weight: bold;
+ }
- #memory {
- background-color: #45475a;
- /*color: #83A598;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 10px 0px 10px;
- font-weight: bold;
- }
+ #memory {
+ background-color: #45475a;
+ /*color: #83A598;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 10px 0px 10px;
+ font-weight: bold;
+ }
- #disk {
- background-color: #45475a;
- /*color: #8EC07C;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 10px 0px 10px;
- font-weight: bold;
- }
+ #disk {
+ background-color: #45475a;
+ /*color: #8EC07C;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 10px 0px 10px;
+ font-weight: bold;
+ }
- #custom-hyprpicker {
- background-color: #45475a;
- /*color: #8EC07C;*/
- border-radius: 16px;
- margin: 5px;
- margin-left: 5px;
- margin-right: 5px;
- padding: 0px 11px 0px 9px;
- font-weight: bold;
- }
- '';
- settings = {
- mainBar = {
- layer = "top";
- position = "top";
- height = 50;
+ #custom-hyprpicker {
+ background-color: #45475a;
+ /*color: #8EC07C;*/
+ border-radius: 16px;
+ margin: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ padding: 0px 11px 0px 9px;
+ font-weight: bold;
+ }
+ '';
+ settings = {
+ mainBar = {
+ layer = "top";
+ position = "top";
+ height = 50;
- output = config.monorepo.vars.monitors;
+ output = config.monorepo.vars.monitors;
- modules-left = [ "hyprland/workspaces" ];
- modules-center = [ "hyprland/window" ];
- modules-right = [ "battery" "clock" ];
+ modules-left = [ "hyprland/workspaces" ];
+ modules-center = [ "hyprland/window" ];
+ modules-right = [ "battery" "clock" ];
- battery = {
- format = "{icon} {capacity}%";
- format-icons = ["" "" "" "" "" ];
- };
+ battery = {
+ format = "{icon} {capacity}%";
+ format-icons = ["" "" "" "" "" ];
+ };
- clock = {
- format = "⏰ {:%a %d, %b %H:%M}";
- };
+ clock = {
+ format = "⏰ {:%a %d, %b %H:%M}";
};
};
};
- }
-#+end_src
-**
+ };
+}
-lib, ... }:
- let
- ipv4addr = "66.42.84.130";
- ipv6addr = "2001:19f0:5401:10d0:5400:5ff:fe4a:7794";
- in
- {
- imports = [
- ../common.nix
- ../../disko/drive-bios.nix
+{ lib, ... }:
+ let
+ ipv4addr = "66.42.84.130";
+ ipv6addr = "2001:19f0:5401:10d0:5400:5ff:fe4a:7794";
+ in
+ {
+ imports = [
+ ../common.nix
+ ../../disko/drive-bios.nix
- # nixos-anywhere generates this file
- ./hardware-configuration.nix
- ];
- config = {
- monorepo = {
- vars.device = "/dev/vda";
- profiles = {
- server.enable = true;
- ttyonly.enable = true;
- grub.enable = true;
- pipewire.enable = false;
- tor.enable = false;
- home.enable = false;
- };
+ # nixos-anywhere generates this file
+ ./hardware-configuration.nix
+ ];
+ config = {
+ monorepo = {
+ vars.device = "/dev/vda";
+ profiles = {
+ server.enable = true;
+ ttyonly.enable = true;
+ grub.enable = true;
+ pipewire.enable = false;
+ tor.enable = false;
+ home.enable = false;
};
+ };
- boot.loader.grub.device = "nodev";
- networking = {
- interfaces.ens3.ipv4.addresses = [
- {
- address = ipv4addr;
- prefixLength = 24;
- }
- ];
- interfaces.ens3.ipv6.addresses = [
- {
- address = ipv6addr;
- prefixLength = 64;
- }
- ];
- firewall.allowedTCPPorts = [
- 80
- 143
- 443
- 465
- 587
- 993
- 6697
- 6667
- 8448
- ];
- domains = {
- enable = true;
- baseDomains = {
- "${config.monorepo.vars.remoteHost}" = {
- a.data = ipv4addr;
- aaaa.data = ipv6addr;
- };
- "${config.monorepo.vars.orgHost}" = {
- a.data = ipv4addr;
- aaaa.data = ipv6addr;
- };
+ boot.loader.grub.device = "nodev";
+ networking = {
+ interfaces.ens3.ipv4.addresses = [
+ {
+ address = ipv4addr;
+ prefixLength = 24;
+ }
+ ];
+ interfaces.ens3.ipv6.addresses = [
+ {
+ address = ipv6addr;
+ prefixLength = 64;
+ }
+ ];
+ firewall.allowedTCPPorts = [
+ 80
+ 143
+ 443
+ 465
+ 587
+ 993
+ 6697
+ 6667
+ 8448
+ ];
+ domains = {
+ enable = true;
+ baseDomains = {
+ "${config.monorepo.vars.remoteHost}" = {
+ a.data = ipv4addr;
+ aaaa.data = ipv6addr;
};
- subDomains = {
- "${config.monorepo.vars.remoteHost}" = {};
- "matrix.${config.monorepo.vars.remoteHost}" = {};
- "www.${config.monorepo.vars.remoteHost}" = {};
- "mail.${config.monorepo.vars.remoteHost}" = {
- mx.data = "10 mail.${config.monorepo.vars.remoteHost}.";
- };
-
- "${config.monorepo.vars.orgHost}" = {};
- "git.${config.monorepo.vars.orgHost}" = {};
- "matrix.${config.monorepo.vars.orgHost}" = {};
- "talk.${config.monorepo.vars.orgHost}" = {};
- "mail.${config.monorepo.vars.orgHost}" = {};
- "${config.monorepo.vars.internetName}.${config.monorepo.vars.orgHost}" = {};
+ "${config.monorepo.vars.orgHost}" = {
+ a.data = ipv4addr;
+ aaaa.data = ipv6addr;
};
};
+ subDomains = {
+ "${config.monorepo.vars.remoteHost}" = {};
+ "matrix.${config.monorepo.vars.remoteHost}" = {};
+ "www.${config.monorepo.vars.remoteHost}" = {};
+ "mail.${config.monorepo.vars.remoteHost}" = {
+ mx.data = "10 mail.${config.monorepo.vars.remoteHost}.";
+ };
+
+ "${config.monorepo.vars.orgHost}" = {};
+ "git.${config.monorepo.vars.orgHost}" = {};
+ "matrix.${config.monorepo.vars.orgHost}" = {};
+ "talk.${config.monorepo.vars.orgHost}" = {};
+ "mail.${config.monorepo.vars.orgHost}" = {};
+ "${config.monorepo.vars.internetName}.${config.monorepo.vars.orgHost}" = {};
+ };
};
};
- }
- #+end_src
- **
-#+begin_src nix :tangle ../nix/systems/spontaneity/home.nix
- { lib, config, pkgs, ... }:
- {
- imports = [
- ../home-common.nix
- ];
- config.monorepo.profiles.enable = false;
+ };
}