diff --git a/Justfile b/Justfile
new file mode 100644
index 0000000..db4b1bf
--- /dev/null
+++ b/Justfile
@@ -0,0 +1,66 @@
+# just is a command runner, Justfile is very similar to Makefile, but simpler.
+
+############################################################################
+#
+# Nix commands related to the local machine
+#
+############################################################################
+
+deploy:
+ nixos-rebuild switch --flake . --use-remote-sudo
+
+debug:
+ nixos-rebuild switch --flake . --use-remote-sudo --show-trace --verbose
+
+up:
+ nix flake update
+
+# Update specific input
+# usage: make upp i=home-manager
+upp:
+ nix flake update $(i)
+
+history:
+ nix profile history --profile /nix/var/nix/profiles/system
+
+repl:
+ nix repl -f flake:nixpkgs
+
+clean:
+ # remove all generations older than 7 days
+ sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 7d
+
+gc:
+ # garbage collect all unused nix store entries
+ sudo nix-collect-garbage --delete-old
+
+############################################################################
+#
+# Idols, Commands related to my remote distributed building cluster
+#
+############################################################################
+
+add-idols-ssh-key:
+ ssh-add ~/.ssh/ai-idols
+
+aqua: add-idols-ssh-key
+ nixos-rebuild --flake .#aquamarine --target-host aquamarine --build-host aquamarine switch --use-remote-sudo
+
+aqua-debug: add-idols-ssh-key
+ nixos-rebuild --flake .#aquamarine --target-host aquamarine --build-host aquamarine switch --use-remote-sudo --show-trace --verbose
+
+ruby: add-idols-ssh-key
+ nixos-rebuild --flake .#ruby --target-host ruby --build-host ruby switch --use-remote-sudo
+
+ruby-debug: add-idols-ssh-key
+ nixos-rebuild --flake .#ruby --target-host ruby --build-host ruby switch --use-remote-sudo --show-trace --verbose
+
+kana: add-idols-ssh-key
+ nixos-rebuild --flake .#kana --target-host kana --build-host kana switch --use-remote-sudo
+
+kana-debug: add-idols-ssh-key
+ nixos-rebuild --flake .#kana --target-host kana --build-host kana switch --use-remote-sudo --show-trace --verbose
+
+idols: aqua ruby kana
+
+idols-debug: aqua-debug ruby-debug kana-debug
diff --git a/maskiner/desktop/configuration.nix b/maskiner/desktop/configuration.nix
index ab78280..6287cb4 100644
--- a/maskiner/desktop/configuration.nix
+++ b/maskiner/desktop/configuration.nix
@@ -7,89 +7,22 @@
pkgs,
myhostname,
...
-}: {
+}:
+{
# You can import other NixOS modules here
imports = [
./hardware-configuration.nix
- ../../moduler/base.nix
- ../../moduler/users.nix
- ../../moduler/nginx.nix
+ ../../moduler/base.nix
+ ../../moduler/users.nix
+ ../../moduler/nginx.nix
+ ../../moduler/k3s.nix
];
- environment.systemPackages = with pkgs; [
- unstable.lego
- ];
-networking.firewall = {
- enable = true;
- allowedTCPPorts = [ 8384 22000];
- allowedUDPPortRanges = [
- { from = 4000; to = 4007; }
- { from = 8000; to = 8010; }
+ environment.systemPackages = with pkgs; [
+ unstable.lego
];
-};
-
-services.k3s = {
- enable = true;
- role = "server";
- token = "supersupersecretkey";
- extraFlags = toString ([
- "--write-kubeconfig-mode \"0644\""
- "--cluster-init"
- "--disable local-storage"
- "--disable traefik"
- ]);
- clusterInit = true;
- };
-
- services.openiscsi = {
- enable = true;
- name = "iqn.2016-04.com.open-iscsi:desktop";
- };
-
- networking.firewall.allowedUDPPorts = [ 22000 21027 ];
-
- services = {
- openssh = {
- enable = true;
- # ports = [55502];
- settings = {
- PermitRootLogin = "no";
- PasswordAuthentication = false;
- X11Forwarding = true;
- };
- extraConfig = ''
- AllowUsers fw ios jw
- '';
- };
- syncthing = {
- enable = true;
- user = "fw";
- dataDir = "/home/fw/syncthing";
- configDir = "/home/fw/.config/syncthing";
- overrideDevices = true; # overrides any devices added or deleted through the WebUI
- overrideFolders = true; # overrides any folders added or deleted through the WebUI
- guiAddress = "0.0.0.0:8384";
- settings = {
- devices = {
- "laptop" = { id = "2VEN7O3-PB3G2MK-XJI7R5Z-6MHTNN2-WMXERIX-6G7QWSK-VKSWOSH-Q5WFDAI"; };
- "jobb" = { id = "XRKVC74-UNJDQSW-4G3RHC3-5I4W5UT-D2MRMBZ-R4A4MMT-4XB4W47-LFLFBAV"; };
- };
- folders = {
- "Documents" = { # Name of folder in Syncthing, also the folder ID
- path = "/home/fw/docs"; # Which folder to add to Syncthing
- devices = [ "laptop" ]; # Which devices to share the folder with
- };
- };
- };
- };
- };
-
-
- security.rtkit.enable = true;
networking.hostName = myhostname;
- services.xserver.dpi = 100;
-
system.stateVersion = "23.11";
}
diff --git a/moduler/base.nix b/moduler/base.nix
index 58474f7..90ad371 100644
--- a/moduler/base.nix
+++ b/moduler/base.nix
@@ -1,5 +1,3 @@
-# This is your system's configuration file.
-# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{
inputs,
lib,
@@ -9,8 +7,6 @@
}:
{
nixpkgs = {
- overlays = [
- ];
config = {
allowUnfree = true;
};
@@ -92,19 +88,10 @@
};
console.keyMap = "sv-latin1";
- environment.systemPackages = with pkgs; [
- waypipe
- ];
-
services = {
clipmenu.enable = true;
openssh = {
enable = true;
};
- blueman = {
- enable = true;
- };
};
-
- system.stateVersion = "25.05";
}
diff --git a/moduler/hyprland.nix b/moduler/hyprland.nix
index d9c1b8f..c52e31c 100644
--- a/moduler/hyprland.nix
+++ b/moduler/hyprland.nix
@@ -20,6 +20,7 @@ in
waypipe
];
+
services = {
gnome.gnome-keyring.enable = true;
greetd = {
@@ -260,7 +261,7 @@ in
# Applications
"$mod, q, exec, ${pkgs.firefox}/bin/firefox"
- "$mod, d, exec, ${pkgs.rofi}/bin/rofi"
+ "$mod, d, exec, ${pkgs.rofi}/bin/rofi -show run"
# Screencapture
"$mod, S, exec, ${pkgs.grim}/bin/grim | wl-copy"
diff --git a/moduler/k3s.nix b/moduler/k3s.nix
index a18b564..3a51f7a 100644
--- a/moduler/k3s.nix
+++ b/moduler/k3s.nix
@@ -9,21 +9,38 @@
let
in
{
- networking.firewall.allowedTCPPorts = [
- 6443
- 5173
- 8080
- 3000
- ];
+ networking.firewall = {
+ enable = true;
+ allowedTCPPorts = [
+ 6443
+ 5173
+ 8080
+ 3000
+ 8384
+ 22000
+ ];
+ allowedUDPPortRanges = [
+ {
+ from = 4000;
+ to = 4007;
+ }
+ {
+ from = 8000;
+ to = 8010;
+ }
+ 22000
+ 21027
+ ];
+ };
services.k3s = {
enable = true;
role = "server";
extraFlags = toString ([
- "--write-kubeconfig-mode \"0644\""
- "--cluster-init"
- "--disable servicelb"
- "--disable traefik"
- "--disable local-storage"
+ "--write-kubeconfig-mode \"0644\""
+ "--cluster-init"
+ # "--disable servicelb"
+ "--disable traefik"
+ "--disable local-storage"
]);
clusterInit = true;
};
@@ -38,9 +55,9 @@ in
};
environment.systemPackages = with pkgs; [
- k3s
- cifs-utils
- nfs-utils
- git
+ k3s
+ cifs-utils
+ nfs-utils
+ git
];
}
diff --git a/moduler/network.nix b/moduler/network.nix
index 3acf980..2ad3db6 100644
--- a/moduler/network.nix
+++ b/moduler/network.nix
@@ -18,12 +18,17 @@
environment.systemPackages = with pkgs; [
openvpn
networkmanagerapplet
- networkmanager-l2tp
- strongswan
- networkmanager_strongswan
wireguard-tools
networkmanager
openssh
- dig
+
+ mtr # A network diagnostic tool
+ iperf3
+ dnsutils # `dig` + `nslookup`
+ ldns # replacement of `dig`, it provide the command `drill`
+ aria2 # A lightweight multi-protocol & multi-source command-line download utility
+ socat # replacement of openbsd-netcat
+ nmap # A utility for network discovery and security auditing
+ ipcalc # it is a calculator for the IPv4/v6 addresses
];
}
diff --git a/moduler/sound.nix b/moduler/sound.nix
index 952c77d..2979e21 100644
--- a/moduler/sound.nix
+++ b/moduler/sound.nix
@@ -9,6 +9,7 @@
alsa.support32Bit = true;
pulse.enable = true;
};
+ blueman.enable = true;
};
hardware = {
bluetooth = {
diff --git a/moduler/system.nix b/moduler/system.nix
index 4f606ec..de85150 100644
--- a/moduler/system.nix
+++ b/moduler/system.nix
@@ -7,80 +7,125 @@
pkgs,
myhostname,
...
-}: {
+}:
+{
- services.pcscd.enable = true;
- programs.gnupg.agent = {
- enable = true;
- enableSSHSupport = true;
- };
+ services.pcscd.enable = true;
+ programs.gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ };
- programs.nh = {
- enable = true;
- clean.enable = true;
- clean.extraArgs = "--keep-since 4d --keep 3";
- flake = "/home/fw/nix";
- };
+ programs.nh = {
+ enable = true;
+ clean.enable = true;
+ clean.extraArgs = "--keep-since 4d --keep 3";
+ flake = "/home/fw/nix";
+ };
+ environment.systemPackages = with pkgs; [
+ # Build
+ just
+
+ # System
+ libnotify
+ lf
+ xsel
+ xbanish
+ unzip
+ zip
+ wget
+ alsa-utils
+ htop
+ procps
+ fzf
+ eza
+ btop
+ xclip
+ dysk
+ rsync
+ procs
+ dust
+ brightnessctl
+ lolcat
+ fortune
+ cowsay
+ ripgrep
+ poppler_utils
+ grc
+ pkg-config
+ vim
+ bat
+ fd
+ bluez
+ bluez-tools
+ openssl
+ imagemagick
+ pandoc
+ texliveFull
+ fastfetch
+ keyutils
+ pinentry-all
+ (pass.withExtensions (
+ ext: with ext; [
+ pass-import
+ pass-genphrase
+ pass-update
+ ]
+ ))
+ lazygit
+ chawan
+ go-passbolt-cli
+ waypipe
+ wl-clipboard
+ smartmontools
- environment.systemPackages = with pkgs; [
- # System
- libnotify
- lf
- xsel
- xbanish
- unzip
- zip
- wget
- alsa-utils
- htop
- procps
- fzf
- eza
- btop
- xclip
- dysk
- rsync
- procs
- dust
- brightnessctl
- lolcat
- fortune
- cowsay
- ripgrep
- poppler_utils
- grc
- pkg-config
- vim
- bat
- fd
- bluez
- bluez-tools
- openssl
- imagemagick
- pandoc
- texliveFull
- fastfetch
- keyutils
- pinentry-all
- (pass.withExtensions (ext: with ext; [
- pass-import
- pass-genphrase
- pass-update
- ]))
- lazygit
- chawan
- go-passbolt-cli
- waypipe
- wl-clipboard
- smartmontools
+ # Typesetting
+ typst
+ typstyle
+ tinymist
+ websocat
+ nix-search-cli
+ libsixel
- # Typesetting
- typst
- typstyle
- tinymist
- websocat
- nix-search-cli
- libsixel
- ];
+ # system call monitoring
+ strace # system call monitoring
+ ltrace # library call monitoring
+ lsof # list open files
+
+ # system tools
+ sysstat
+ lm_sensors # for `sensors` command
+ ethtool
+ pciutils # lspci
+ usbutils # lsusb
+
+ (
+ let
+ base = pkgs.appimageTools.defaultFhsEnvArgs;
+ in
+ pkgs.buildFHSUserEnv (
+ base
+ // {
+ name = "fhs";
+ targetPkgs =
+ pkgs:
+ # pkgs.buildFHSUserEnv provides only a minimal FHS environment,
+ # lacking many basic packages needed by most software.
+ # Therefore, we need to add them manually.
+ #
+ # pkgs.appimageTools provides basic packages required by most software.
+ (base.targetPkgs pkgs)
+ ++ (with pkgs; [
+ pkg-config
+ ncurses
+ # Feel free to add more packages here if needed.
+ ]);
+ profile = "export FHS=1";
+ runScript = "bash";
+ extraOutputsToInstall = [ "dev" ];
+ }
+ )
+ )
+ ];
}
diff --git a/moduler/waybar.nix b/moduler/waybar.nix
index baa03e2..32cdfd3 100644
--- a/moduler/waybar.nix
+++ b/moduler/waybar.nix
@@ -1,25 +1,30 @@
{
- config,
- pkgs,
...
-}: {
- home.packages = with pkgs; [waybar];
+}:
+{
programs.waybar = {
enable = true;
+ systemd.enable = true;
settings = {
mainBar = {
layer = "top";
- "modules-left" = ["hyprland/workspaces" "hyprland/window"];
- "modules-center" = ["clock"];
- "modules-right" = ["tray" "cpu" "memory" "idle_inhibitor" "pulseaudio" "bluetooth"];
+ "modules-left" = [
+ "hyprland/workspaces"
+ ];
+ "modules-right" = [
+ "tray"
+ "clock"
+ "pulseaudio"
+ "bluetooth"
+ ];
"hyprland/window" = {
format = "{title}";
"max-length" = 333;
"seperate-outputs" = true;
};
clock = {
- format = " {:%I:%M %a %d}";
+ format = "{:%c}";
"tooltip-format" = "{calendar}";
calendar = {
mode = "month";
@@ -47,22 +52,6 @@
format = " {}%";
interval = 1;
};
- "custom/gpu-util" = {
- exec = "./scripts/gpu-util";
- format = " {}";
- interval = 1;
- };
- "custom/gpu-temp" = {
- exec = "./scripts/gpu-temp";
- format = " {}";
- interval = 1;
- };
- temperature = {
- "hwmon-path" = "/sys/class/hwmon/hwmon1/temp1_input";
- "critical-threshold" = 80;
- format = " {temperatureC}°C";
- interval = 1;
- };
"hyprland/workspaces" = {
format = "{icon}";
"active-only" = false;
@@ -103,7 +92,11 @@
headphone = "";
phone = "";
portable = "";
- default = ["" "" ""];
+ default = [
+ ""
+ ""
+ ""
+ ];
};
"on-click-left" = "pavucontrol";
input = true;
@@ -149,7 +142,7 @@
"tooltip-format" = "{title}";
"on-click" = "activate";
"on-click-middle" = "close";
- "ignore-list" = ["Alacritty"];
+ "ignore-list" = [ "Alacritty" ];
"app_ids-mapping" = {
firefoxdeveloperedition = "firefox-developer-edition";
};
@@ -175,256 +168,255 @@
};
};
style = ''
- @define-color bg #${config.stylix.base16Scheme.base00};
- @define-color fg #${config.stylix.base16Scheme.base05};
- @define-color lbg #${config.stylix.base16Scheme.base01};
- @define-color yellow #${config.stylix.base16Scheme.base0A};
- @define-color lavender #${config.stylix.base16Scheme.base0E};
- @define-color peach #${config.stylix.base16Scheme.base0A};
- @define-color red #${config.stylix.base16Scheme.base08};
- @define-color green #${config.stylix.base16Scheme.base0B};
- @define-color blue #${config.stylix.base16Scheme.base0D};
- @define-color border #${config.stylix.base16Scheme.base02};
+ @define-color bg #eff1f5;
+ @define-color fg #4c4f69;
+ @define-color lbg #e6e9ef;
+ @define-color yellow #df8e1d;
+ @define-color lavender #7287fd;
+ @define-color peach #fe640b;
+ @define-color red #d20f39;
+ @define-color green #40a02b;
+ @define-color blue #1e66f5;
+ @define-color border #dce0e8;
- * {
- min-height: 0;
- margin: 0px 0px 0px 0px;
- padding: 0;
- border-radius: 7px;
- font-family: "JetBrains Mono Nerd Font";
- font-size: 14pt;
- font-weight: 700;
- padding-bottom: 0px;
- }
+ * {
+ min-height: 0;
+ margin: 0px 0px 0px 0px;
+ padding: 0;
+ border-radius: 7px;
+ font-family: "ComicShannsMono Nerd Font";
+ font-size: 11pt;
+ font-weight: 700;
+ padding-bottom: 0px;
+ }
- tooltip {
- background: @bg;
- border-radius: 7px;
- border: 2px solid @border;
- }
+ tooltip {
+ background: @bg;
+ border-radius: 7px;
+ border: 2px solid @border;
+ }
- #window {
- margin: 0px 0px 0px 0px;
- padding-left: 10px;
- padding-right: 7px;
- border-radius: 3px;
- border-color: @lbg;
- background-color: @yellow;
- color: @bg;
- }
+ #window {
+ margin: 0px 0px 0px 0px;
+ padding-left: 10px;
+ padding-right: 7px;
+ border-radius: 3px;
+ border-color: @lbg;
+ background-color: @yellow;
+ color: @bg;
+ }
- window#waybar.empty #window {
- background-color: @bg;
- border-bottom: none;
- border-right: none;
- }
+ window#waybar.empty #window {
+ background-color: @bg;
+ border-bottom: none;
+ border-right: none;
+ }
- window#waybar {
- background-color: @bg;
- color: @lavender;
- }
+ window#waybar {
+ background-color: @bg;
+ color: @lavender;
+ }
- /* Workspaces */
- @keyframes button_activate {
- from { opacity: .3 }
- to { opacity: 1.; }
- }
+ /* Workspaces */
+ @keyframes button_activate {
+ from { opacity: .3 }
+ to { opacity: 1.; }
+ }
- #workspaces {
- margin: 0px 0px 0px 0px;
- border-radius: 3px;
- padding: 1px;
- background-color: @bg;
- color: @bg;
- }
+ #workspaces {
+ margin: 0px 0px 0px 0px;
+ border-radius: 3px;
+ padding: 1px;
+ background-color: @bg;
+ color: @bg;
+ }
- #workspaces button {
- margin: 0px 0px 0px 0px;
- border-radius: 3px;
- padding-left: 3px;
- padding-right: 9px;
- background-color: @bg;
- color: @fg;
- }
+ #workspaces button {
+ margin: 0px 0px 0px 0px;
+ border-radius: 3px;
+ padding-left: 3px;
+ padding-right: 9px;
+ background-color: @bg;
+ color: @fg;
+ }
- #workspaces button.active {
- background-color:@blue;
- color: @bg;
- }
+ #workspaces button.active {
+ background-color:@blue;
+ color: @bg;
+ }
- #workspaces button.urgent {
- color: #F38BA8;
- }
+ #workspaces button.urgent {
+ color: #F38BA8;
+ }
- #workspaces button:hover {
- border: solid transparent;
- }
+ #workspaces button:hover {
+ border: solid transparent;
+ }
- #custom-gpu-util {
- margin: 0px 0px 0px 0px;
- padding-left: 10px;
- padding-right: 10px;
- border-radius: 7px;
- background-color: @bg;
- color: @fg;
- }
+ #custom-gpu-util {
+ margin: 0px 0px 0px 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border-radius: 7px;
+ background-color: @bg;
+ color: @fg;
+ }
- #tray {
- margin: 0px 0px 0px 0px;
- border-radius: 3px;
- padding-left: 10px;
- padding-right: 10px;
- background-color: @bg;
- color: @fg;
- }
+ #tray {
+ margin: 0px 0px 0px 0px;
+ border-radius: 3px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: @bg;
+ color: @fg;
+ }
- #idle_inhibitor {
- margin: 0px 0px 0px 0px;
- padding-left: 10px;
- padding-right: 12px;
- border-radius: 3px;
- background-color: @bg;
- color: @fg;
- }
+ #idle_inhibitor {
+ margin: 0px 0px 0px 0px;
+ padding-left: 10px;
+ padding-right: 12px;
+ border-radius: 3px;
+ background-color: @bg;
+ color: @fg;
+ }
- #network {
- margin: 5px 5px 2px 5px;
- padding-left: 10px;
- padding-right: 12px;
- border-radius: 7px;
- background-color: @bg;
- color: @lavender;
- }
+ #network {
+ margin: 5px 5px 2px 5px;
+ padding-left: 10px;
+ padding-right: 12px;
+ border-radius: 7px;
+ background-color: @bg;
+ color: @lavender;
+ }
- #network.linked {
- color: @peach;
- }
- #network.disconnected,
- #network.disabled {
- color: @red;
- }
+ #network.linked {
+ color: @peach;
+ }
+ #network.disconnected,
+ #network.disabled {
+ color: @red;
+ }
- #custom-subs {
- color: @fg;
- margin: 5px 5px 2px 5px;
- padding-left: 10px;
- padding-right: 12px;
- border-radius: 3px;
- border-bottom: 2px solid @bg;
- border-right: 2px solid @bg;
- border-color: @lbg;
- background-color: @red;
- }
+ #custom-subs {
+ color: @fg;
+ margin: 5px 5px 2px 5px;
+ padding-left: 10px;
+ padding-right: 12px;
+ border-radius: 3px;
+ border-bottom: 2px solid @bg;
+ border-right: 2px solid @bg;
+ border-color: @lbg;
+ background-color: @red;
+ }
- #custom-spacer {
- background-color: @yellow;
- }
+ #custom-spacer {
+ background-color: @yellow;
+ }
- #custom-cliphist {
- color: @peach;
- margin: 5px 5px 2px 5px;
- padding-left: 10px;
- padding-right: 12px;
- border-radius: 3px;
- background-color: @bg;
- }
+ #custom-cliphist {
+ color: @peach;
+ margin: 5px 5px 2px 5px;
+ padding-left: 10px;
+ padding-right: 12px;
+ border-radius: 3px;
+ background-color: @bg;
+ }
- #custom-gpu-temp,
- #cpu,
- #memory,
- #custom-clipboard,
- #temperature {
- margin: 0px 0px 0px 0px;
- padding-left: 10px;
- padding-right: 10px;
- border-radius: 3px;
- color: @fg;
- background-color: @bg;
- }
+ #custom-gpu-temp,
+ #cpu,
+ #memory,
+ #custom-clipboard,
+ #temperature {
+ margin: 0px 0px 0px 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border-radius: 3px;
+ color: @fg;
+ background-color: @bg;
+ }
- #custom-playerctl {
- margin: 5px 5px 2px 5px;
- padding-left: 10px;
- padding-right: 10px;
- border-radius: 3px;
- color: @fg;
- background-color: @bg;
- }
+ #custom-playerctl {
+ margin: 5px 5px 2px 5px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border-radius: 3px;
+ color: @fg;
+ background-color: @bg;
+ }
- #battery,
- #backlight,
- #bluetooth,
- #pulseaudio {
- margin-top: 5px;
- margin-bottom: 2px;
- color: @fg;
- background-color: @bg;
- border-top-right-radius: 0px;
- border-bottom-right-radius: 0px;
- border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- }
+ #battery,
+ #backlight,
+ #bluetooth,
+ #pulseaudio {
+ margin-top: 5px;
+ margin-bottom: 2px;
+ color: @fg;
+ background-color: @bg;
+ border-top-right-radius: 0px;
+ border-bottom-right-radius: 0px;
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ }
- #battery,
- #bluetooth {
- margin-left: 0px;
- margin-right: 5px;
- padding-left: 7.5px;
- padding-right: 10px;
- border-top-left-radius: 0px;
- border-bottom-left-radius: 0px;
- border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- }
+ #battery,
+ #bluetooth {
+ margin-left: 0px;
+ margin-right: 5px;
+ padding-left: 7.5px;
+ padding-right: 10px;
+ border-top-left-radius: 0px;
+ border-bottom-left-radius: 0px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ }
- #backlight,
- #pulseaudio {
- margin-right: 0px;
- margin-left: 5px;
- padding-left: 10px;
- padding-right: 7.5px;
- border-top-right-radius: 0px;
- border-bottom-right-radius: 0px;
- border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- }
+ #backlight,
+ #pulseaudio {
+ margin-right: 0px;
+ margin-left: 5px;
+ padding-left: 10px;
+ padding-right: 7.5px;
+ border-top-right-radius: 0px;
+ border-bottom-right-radius: 0px;
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ }
- #clock {
- margin: 0px 0px 0px 0px;
- padding-left: 10px;
- padding-right: 10px;
- border-radius: 3px;
- color: @bg;
- background-color: @green;
- }
+ #clock {
+ margin: 0px 0px 0px 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border-radius: 3px;
+ color: @bg;
+ background-color: @green;
+ }
- #taskbar {
- border-radius: 0px 0px 0px 0;
- padding: 0 3px;
- margin: 0 0px;
- color: #ffffff;
- background-color: rgba(120,118,117,0.3);
- }
- #taskbar button {
- border-radius: 0px 0px 0px 0px;
- padding: 0 0 0 3px;
- margin: 3px 1;
- color: #ffffff;
- background-color: rgba(120,118,117,0.1);
- }
- #taskbar button.active {
- background-color: rgba(120,118,117,0.8);
- }
+ #taskbar {
+ border-radius: 0px 0px 0px 0;
+ padding: 0 3px;
+ margin: 0 0px;
+ color: #ffffff;
+ background-color: rgba(120,118,117,0.3);
+ }
+ #taskbar button {
+ border-radius: 0px 0px 0px 0px;
+ padding: 0 0 0 3px;
+ margin: 3px 1;
+ color: #ffffff;
+ background-color: rgba(120,118,117,0.1);
+ }
+ #taskbar button.active {
+ background-color: rgba(120,118,117,0.8);
+ }
- #mode {
- margin: 0px 0px 0px 0px;
- padding-left: 10px;
- padding-right: 10px;
- border-radius: 3px;
- background-color: @bg;
- color: @peach;
- }
+ #mode {
+ margin: 0px 0px 0px 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border-radius: 3px;
+ background-color: @bg;
+ color: @peach;
+ }
'';
};
}
-