style: improve theming with global variables
This commit is contained in:
parent
9fc9b6b5c8
commit
165fa48bfa
18
flake.lock
18
flake.lock
|
@ -716,7 +716,8 @@
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
"nixpkgs-master": "nixpkgs-master",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"openstreetmap": "openstreetmap"
|
"openstreetmap": "openstreetmap",
|
||||||
|
"themes": "themes"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
@ -749,6 +750,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"themes": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1715166503,
|
||||||
|
"narHash": "sha256-eG3+PTzJntnMrO9J2fCtshU+XX18uI8iIjDKU9NkJXA=",
|
||||||
|
"owner": "RGBCube",
|
||||||
|
"repo": "ThemeNix",
|
||||||
|
"rev": "c188d0d729841f71f576dfb544e70c0340bf52a8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "RGBCube",
|
||||||
|
"repo": "ThemeNix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
themes.url = "github:RGBCube/ThemeNix";
|
||||||
|
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
nixos-flake.url = "github:srid/nixos-flake";
|
nixos-flake.url = "github:srid/nixos-flake";
|
||||||
|
|
||||||
|
@ -61,6 +63,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-flake.flakeModule
|
inputs.nixos-flake.flakeModule
|
||||||
./public-keys.nix
|
./public-keys.nix
|
||||||
|
./theme.nix
|
||||||
./lib
|
./lib
|
||||||
./modules
|
./modules
|
||||||
./hosts
|
./hosts
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{
|
{
|
||||||
withSystem,
|
|
||||||
self,
|
self,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
|
@ -7,6 +6,7 @@
|
||||||
flake = {
|
flake = {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
stroopwafel = self.nixos-flake.lib.mkLinuxSystem {
|
stroopwafel = self.nixos-flake.lib.mkLinuxSystem {
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
imports = [
|
imports = [
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.impermanence.nixosModules.impermanence
|
||||||
|
|
|
@ -1,20 +1,3 @@
|
||||||
@define-color base00 #1a181a;
|
|
||||||
@define-color base01 #2d2a2e;
|
|
||||||
@define-color base02 #303030;
|
|
||||||
@define-color base03 #949494;
|
|
||||||
@define-color base04 #d3d1d4;
|
|
||||||
@define-color base05 #e3e1e4;
|
|
||||||
@define-color base06 #303030;
|
|
||||||
@define-color base07 #ff5f5f;
|
|
||||||
@define-color base08 #f85e84;
|
|
||||||
@define-color base09 #df5923;
|
|
||||||
@define-color base0A #e5c463;
|
|
||||||
@define-color base0B #9ecd6f;
|
|
||||||
@define-color base0C #ef9062;
|
|
||||||
@define-color base0D #7accd7;
|
|
||||||
@define-color base0E #ab9df2;
|
|
||||||
@define-color base0F #d70000;
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
border: none;
|
border: none;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{ flake, ...}: with flake.self.theme.with0x; {
|
||||||
env = {
|
env = {
|
||||||
TERM = "xterm-256color";
|
TERM = "xterm-256color";
|
||||||
};
|
};
|
||||||
|
@ -164,8 +164,8 @@
|
||||||
|
|
||||||
# Default colors
|
# Default colors
|
||||||
primary = {
|
primary = {
|
||||||
background = "0x1a181a";
|
background = base00;
|
||||||
foreground = "0xe3e1e4";
|
foreground = base05;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Cursor colors
|
# Cursor colors
|
||||||
|
@ -184,8 +184,8 @@
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
matches = {
|
matches = {
|
||||||
foreground = "0xe5c463";
|
foreground = base0A;
|
||||||
background = "0x1a181a";
|
background = base00;
|
||||||
};
|
};
|
||||||
focused_match = {
|
focused_match = {
|
||||||
foreground = "CellBackground";
|
foreground = "CellBackground";
|
||||||
|
@ -203,58 +203,58 @@
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
selection = {
|
selection = {
|
||||||
text = "0x1a181a";
|
text = base00;
|
||||||
background = "0xf85e84";
|
background = base08;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Normal colors
|
# Normal colors
|
||||||
normal = {
|
normal = {
|
||||||
black = "0x1a181a";
|
black = base00;
|
||||||
red = "0xf85e84";
|
red = base08;
|
||||||
green = "0x9ecd6f";
|
green = base09;
|
||||||
yellow = "0xe5c463";
|
yellow = base0A;
|
||||||
blue = "0x7accd7";
|
blue = base0D;
|
||||||
magenta = "0xab9df2";
|
magenta = base0E;
|
||||||
cyan = "0xef9062";
|
cyan = base0C;
|
||||||
white = "0xe3e1e4";
|
white = base05;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bright colors
|
# Bright colors
|
||||||
bright = {
|
bright = {
|
||||||
black = "0x949494";
|
black = base00;
|
||||||
red = "0xf85e84";
|
red = base08;
|
||||||
green = "0x9ecd6f";
|
green = base09;
|
||||||
yellow = "0xe5c463";
|
yellow = base0A;
|
||||||
blue = "0x7accd7";
|
blue = base0D;
|
||||||
magenta = "0xab9df2";
|
magenta = base0E;
|
||||||
cyan = "0xef9062";
|
cyan = base0C;
|
||||||
white = "0xff5f5f";
|
white = base07;
|
||||||
};
|
};
|
||||||
|
|
||||||
indexed_colors = [
|
indexed_colors = [
|
||||||
{
|
{
|
||||||
index = 16;
|
index = 16;
|
||||||
color = "0xdf5923";
|
color = base09;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 17;
|
index = 17;
|
||||||
color = "0xd70000";
|
color = base0F;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 18;
|
index = 18;
|
||||||
color = "0x2d2a2e";
|
color = base01;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 19;
|
index = 19;
|
||||||
color = "0x303030";
|
color = base02;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 20;
|
index = 20;
|
||||||
color = "0xd3d1d4";
|
color = base04;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 21;
|
index = 21;
|
||||||
color = "0x303030";
|
color = base02;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
args@{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
@ -111,7 +111,7 @@ in {
|
||||||
|
|
||||||
home-manager.users."${psCfg.user.name}" = {
|
home-manager.users."${psCfg.user.name}" = {
|
||||||
home.file."xinitrc".source = ./.xinitrc;
|
home.file."xinitrc".source = ./.xinitrc;
|
||||||
xdg.configFile."alacritty/alacritty.toml".source = tomlFormat.generate "alacritty.toml" (import ./alacritty.nix);
|
xdg.configFile."alacritty/alacritty.toml".source = tomlFormat.generate "alacritty.toml" ((import ./alacritty.nix) args);
|
||||||
xdg.configFile."xmodmap".source = ./.config/xmodmap;
|
xdg.configFile."xmodmap".source = ./.config/xmodmap;
|
||||||
xdg.configFile."user-dirs.dirs".source = ./.config/user-dirs.dirs;
|
xdg.configFile."user-dirs.dirs".source = ./.config/user-dirs.dirs;
|
||||||
xdg.configFile."user-dirs.locale".source = ./.config/user-dirs.locale;
|
xdg.configFile."user-dirs.locale".source = ./.config/user-dirs.locale;
|
||||||
|
@ -119,6 +119,12 @@ in {
|
||||||
xdg.configFile."libinput-gestures.conf".source = ./.config/libinput-gestures.conf;
|
xdg.configFile."libinput-gestures.conf".source = ./.config/libinput-gestures.conf;
|
||||||
xdg.configFile."wallpaper.jpg".source = ./assets/wallpaper.jpg;
|
xdg.configFile."wallpaper.jpg".source = ./assets/wallpaper.jpg;
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font.name = "Lato";
|
font.name = "Lato";
|
||||||
|
@ -136,7 +142,7 @@ in {
|
||||||
gtk-xft-hinting = "1";
|
gtk-xft-hinting = "1";
|
||||||
gtk-xft-hintstyle = "hintfull";
|
gtk-xft-hintstyle = "hintfull";
|
||||||
gtk-xft-rgba = "rgb";
|
gtk-xft-rgba = "rgb";
|
||||||
gtk-application-prefer-dark-theme = "true";
|
gtk-application-prefer-dark-theme = "1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
flake,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
|
@ -10,20 +11,20 @@ in {
|
||||||
home-manager.users."${psCfg.user.name}" = {
|
home-manager.users."${psCfg.user.name}" = {
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = with flake.self.theme.withHashtag; ''
|
||||||
padding=10
|
padding=10
|
||||||
margin=5,5,0
|
margin=5,5,0
|
||||||
default-timeout=5000
|
default-timeout=5000
|
||||||
|
|
||||||
background-color=#1a181a
|
background-color=${base00}
|
||||||
text-color=#e3e1e4
|
text-color=${base05}
|
||||||
border-color=#ff5f5f
|
border-color=${base07}
|
||||||
font=Hack 14
|
font=Hack 14
|
||||||
|
|
||||||
[urgency=high]
|
[urgency=high]
|
||||||
background-color=#ff5f5f
|
background-color=${base07}
|
||||||
text-color=#1a181a
|
text-color=${base00}
|
||||||
border-color=#1a181a
|
border-color=${base00}
|
||||||
layer=overlay
|
layer=overlay
|
||||||
font=Hack 14
|
font=Hack 14
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
## Base16 Burn
|
|
||||||
# Author: Benjamin Bädorf
|
|
||||||
|
|
||||||
set $base00 #1a181a
|
|
||||||
set $base01 #2d2a2e
|
|
||||||
set $base02 #303030
|
|
||||||
set $base03 #949494
|
|
||||||
set $base04 #d3d1d4
|
|
||||||
set $base05 #e3e1e4
|
|
||||||
set $base06 #303030
|
|
||||||
set $base07 #ff5f5f
|
|
||||||
set $base08 #f85e84
|
|
||||||
set $base09 #df5923
|
|
||||||
set $base0A #e5c463
|
|
||||||
set $base0B #9ecd6f
|
|
||||||
set $base0C #ef9062
|
|
||||||
set $base0D #7accd7
|
|
||||||
set $base0E #ab9df2
|
|
||||||
set $base0F #d70000
|
|
|
@ -1,14 +1,12 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
psCfg,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}: with pkgs; ''
|
||||||
with pkgs;
|
|
||||||
''
|
|
||||||
# Set shut down, restart and locking features
|
# Set shut down, restart and locking features
|
||||||
''
|
''
|
||||||
+ (
|
+ (
|
||||||
if psCfg.core.hibernation.enable
|
if config.pub-solar.core.hibernation.enable
|
||||||
then ''
|
then ''
|
||||||
set $mode_system (e)xit, (l)ock, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
set $mode_system (e)xit, (l)ock, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||||
''
|
''
|
||||||
|
@ -24,7 +22,7 @@ with pkgs;
|
||||||
bindsym l exec ${swaylock-bg}/bin/swaylock-bg, mode "default"
|
bindsym l exec ${swaylock-bg}/bin/swaylock-bg, mode "default"
|
||||||
''
|
''
|
||||||
+ (
|
+ (
|
||||||
if psCfg.core.hibernation.enable
|
if config.pub-solar.core.hibernation.enable
|
||||||
then ''
|
then ''
|
||||||
bindsym h exec ${systemd}/bin/systemctl hibernate, mode "default"
|
bindsym h exec ${systemd}/bin/systemctl hibernate, mode "default"
|
||||||
''
|
''
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
|
{ flake, ... }: with flake.self.theme.withHashtag; ''
|
||||||
|
set $base00 ${base00}
|
||||||
|
set $base01 ${base01}
|
||||||
|
set $base02 ${base02}
|
||||||
|
set $base03 ${base03}
|
||||||
|
set $base04 ${base04}
|
||||||
|
set $base05 ${base05}
|
||||||
|
set $base06 ${base06}
|
||||||
|
set $base07 ${base07}
|
||||||
|
set $base08 ${base08}
|
||||||
|
set $base09 ${base09}
|
||||||
|
set $base0A ${base0A}
|
||||||
|
set $base0B ${base0B}
|
||||||
|
set $base0C ${base0C}
|
||||||
|
set $base0D ${base0D}
|
||||||
|
set $base0E ${base0E}
|
||||||
|
set $base0F ${base0F}
|
||||||
|
|
||||||
# Border BG Text Ind Child Border
|
# Border BG Text Ind Child Border
|
||||||
client.focused $base00 $base01 $base07 $base0D $base07
|
client.focused $base00 $base01 $base07 $base0D $base07
|
||||||
client.focused_inactive $base00 $base01 $base07 $base03 $base00
|
client.focused_inactive $base00 $base01 $base07 $base03 $base00
|
||||||
|
@ -14,3 +32,4 @@ exec_always import-gtk-settings \
|
||||||
|
|
||||||
# Workaround to fix cursor scaling, see https://github.com/swaywm/sway/issues/4112
|
# Workaround to fix cursor scaling, see https://github.com/swaywm/sway/issues/4112
|
||||||
seat seat0 xcursor_theme Adwaita
|
seat seat0 xcursor_theme Adwaita
|
||||||
|
''
|
|
@ -1,217 +1,225 @@
|
||||||
{
|
args@{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: ''
|
}: let
|
||||||
# Default config for sway
|
applications = builtins.readFile ./config.d/applications.conf;
|
||||||
#
|
custom-keybindings = builtins.readFile ./config.d/custom-keybindings.conf;
|
||||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
gaps = builtins.readFile ./config.d/gaps.conf;
|
||||||
#
|
mode-system = import ./config.d/mode_system.conf.nix args;
|
||||||
# Read `man 5 sway` for a complete reference.
|
systemd = builtins.readFile ./config.d/systemd.conf;
|
||||||
|
in ''
|
||||||
|
# Default config for sway
|
||||||
|
#
|
||||||
|
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||||
|
#
|
||||||
|
# Read `man 5 sway` for a complete reference.
|
||||||
|
|
||||||
### Variables
|
### Variables
|
||||||
#
|
#
|
||||||
# Logo key. Use Mod1 for Alt.
|
# Logo key. Use Mod1 for Alt.
|
||||||
set $mod Mod4
|
set $mod Mod4
|
||||||
# Home row direction keys, like vim
|
# Home row direction keys, like vim
|
||||||
set $left j
|
set $left j
|
||||||
set $down k
|
set $down k
|
||||||
set $up i
|
set $up i
|
||||||
set $right l
|
set $right l
|
||||||
# Your preferred terminal emulator
|
# Your preferred terminal emulator
|
||||||
set $term ${pkgs.alacritty}/bin/alacritty
|
set $term ${pkgs.alacritty}/bin/alacritty
|
||||||
# Your preferred application launcher
|
# Your preferred application launcher
|
||||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||||
# on the original workspace that the command was run on.
|
# on the original workspace that the command was run on.
|
||||||
#set $menu dmenu_path | dmenu | xargs swaymsg exec bemenu-run --no-overlap
|
#set $menu dmenu_path | dmenu | xargs swaymsg exec bemenu-run --no-overlap
|
||||||
|
|
||||||
default_border pixel 1
|
default_border pixel 1
|
||||||
|
|
||||||
### Output configuration
|
### Key bindings
|
||||||
#
|
#
|
||||||
# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/)
|
# Basics:
|
||||||
output * bg ~/.config/wallpaper.jpg fill
|
#
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
### Key bindings
|
# Start a terminal
|
||||||
#
|
bindsym $mod+Shift+Return exec sh -c '$term --working-directory $(wcwd)'
|
||||||
# Basics:
|
|
||||||
#
|
|
||||||
# Start a terminal
|
|
||||||
bindsym $mod+Return exec $term
|
|
||||||
|
|
||||||
# Start a terminal
|
# Kill focused window
|
||||||
bindsym $mod+Shift+Return exec sh -c '$term --working-directory $(wcwd)'
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
# Kill focused window
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
bindsym $mod+Shift+q kill
|
# Resize them with right mouse button + $mod.
|
||||||
|
# Despite the name, also works for non-floating windows.
|
||||||
|
# Change normal to inverse to use left mouse button for resizing and right
|
||||||
|
# mouse button for dragging.
|
||||||
|
floating_modifier $mod normal
|
||||||
|
|
||||||
# Drag floating windows by holding down $mod and left mouse button.
|
# Reload the configuration file
|
||||||
# Resize them with right mouse button + $mod.
|
bindsym $mod+F5 reload
|
||||||
# Despite the name, also works for non-floating windows.
|
|
||||||
# Change normal to inverse to use left mouse button for resizing and right
|
|
||||||
# mouse button for dragging.
|
|
||||||
floating_modifier $mod normal
|
|
||||||
|
|
||||||
# Reload the configuration file
|
#
|
||||||
bindsym $mod+F5 reload
|
# Moving around:
|
||||||
|
#
|
||||||
|
# Move your focus around
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right focus right
|
||||||
|
# Or use $mod+[up|down|left|right]
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
#
|
# Move the focused window with the same, but add Shift
|
||||||
# Moving around:
|
bindsym $mod+Shift+$left move left
|
||||||
#
|
bindsym $mod+Shift+$down move down
|
||||||
# Move your focus around
|
bindsym $mod+Shift+$up move up
|
||||||
bindsym $mod+$left focus left
|
bindsym $mod+Shift+$right move right
|
||||||
bindsym $mod+$down focus down
|
# Ditto, with arrow keys
|
||||||
bindsym $mod+$up focus up
|
bindsym $mod+Shift+Left move left
|
||||||
bindsym $mod+$right focus right
|
bindsym $mod+Shift+Down move down
|
||||||
# Or use $mod+[up|down|left|right]
|
bindsym $mod+Shift+Up move up
|
||||||
bindsym $mod+Left focus left
|
bindsym $mod+Shift+Right move right
|
||||||
bindsym $mod+Down focus down
|
#
|
||||||
bindsym $mod+Up focus up
|
# Workspaces:
|
||||||
bindsym $mod+Right focus right
|
#
|
||||||
|
|
||||||
# Move the focused window with the same, but add Shift
|
|
||||||
bindsym $mod+Shift+$left move left
|
|
||||||
bindsym $mod+Shift+$down move down
|
|
||||||
bindsym $mod+Shift+$up move up
|
|
||||||
bindsym $mod+Shift+$right move right
|
|
||||||
# Ditto, with arrow keys
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
#
|
|
||||||
# Workspaces:
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
# Workspace names
|
# Workspace names
|
||||||
# to display names or symbols instead of plain workspace numbers you can use
|
# to display names or symbols instead of plain workspace numbers you can use
|
||||||
# something like: set $ws1 1:mail
|
# something like: set $ws1 1:mail
|
||||||
# set $ws2 2:
|
# set $ws2 2:
|
||||||
set $ws1 1
|
set $ws1 1
|
||||||
set $ws2 2
|
set $ws2 2
|
||||||
set $ws3 3
|
set $ws3 3
|
||||||
set $ws4 4
|
set $ws4 4
|
||||||
set $ws5 5
|
set $ws5 5
|
||||||
set $ws6 6
|
set $ws6 6
|
||||||
set $ws7 7
|
set $ws7 7
|
||||||
set $ws8 8
|
set $ws8 8
|
||||||
set $ws9 9
|
set $ws9 9
|
||||||
|
|
||||||
# Switch to workspace
|
# Switch to workspace
|
||||||
bindsym $mod+1 workspace 1
|
bindsym $mod+1 workspace 1
|
||||||
bindsym $mod+2 workspace 2
|
bindsym $mod+2 workspace 2
|
||||||
bindsym $mod+3 workspace 3
|
bindsym $mod+3 workspace 3
|
||||||
bindsym $mod+4 workspace 4
|
bindsym $mod+4 workspace 4
|
||||||
bindsym $mod+5 workspace 5
|
bindsym $mod+5 workspace 5
|
||||||
bindsym $mod+6 workspace 6
|
bindsym $mod+6 workspace 6
|
||||||
bindsym $mod+7 workspace 7
|
bindsym $mod+7 workspace 7
|
||||||
bindsym $mod+8 workspace 8
|
bindsym $mod+8 workspace 8
|
||||||
bindsym $mod+9 workspace 9
|
bindsym $mod+9 workspace 9
|
||||||
# Move focused container to workspace
|
# Move focused container to workspace
|
||||||
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||||
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||||
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||||
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||||
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||||
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||||
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||||
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||||
bindsym $mod+Ctrl+9 move container to workspace $ws9
|
bindsym $mod+Ctrl+9 move container to workspace $ws9
|
||||||
# Move focused container to workspace and move focus with it
|
# Move focused container to workspace and move focus with it
|
||||||
bindsym $mod+Shift+1 move container to workspace 1; workspace $ws1
|
bindsym $mod+Shift+1 move container to workspace 1; workspace $ws1
|
||||||
bindsym $mod+Shift+2 move container to workspace 2; workspace $ws2
|
bindsym $mod+Shift+2 move container to workspace 2; workspace $ws2
|
||||||
bindsym $mod+Shift+3 move container to workspace 3; workspace $ws3
|
bindsym $mod+Shift+3 move container to workspace 3; workspace $ws3
|
||||||
bindsym $mod+Shift+4 move container to workspace 4; workspace $ws4
|
bindsym $mod+Shift+4 move container to workspace 4; workspace $ws4
|
||||||
bindsym $mod+Shift+5 move container to workspace 5; workspace $ws5
|
bindsym $mod+Shift+5 move container to workspace 5; workspace $ws5
|
||||||
bindsym $mod+Shift+6 move container to workspace 6; workspace $ws6
|
bindsym $mod+Shift+6 move container to workspace 6; workspace $ws6
|
||||||
bindsym $mod+Shift+7 move container to workspace 7; workspace $ws7
|
bindsym $mod+Shift+7 move container to workspace 7; workspace $ws7
|
||||||
bindsym $mod+Shift+8 move container to workspace 8; workspace $ws8
|
bindsym $mod+Shift+8 move container to workspace 8; workspace $ws8
|
||||||
bindsym $mod+Shift+9 move container to workspace 9; workspace $ws9
|
bindsym $mod+Shift+9 move container to workspace 9; workspace $ws9
|
||||||
# Note: workspaces can have any name you want, not just numbers.
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
# We just use 1-10 as the default.
|
# We just use 1-10 as the default.
|
||||||
|
|
||||||
#navigate workspaces next / previous
|
#navigate workspaces next / previous
|
||||||
bindsym $mod+Ctrl+Right workspace next
|
bindsym $mod+Ctrl+Right workspace next
|
||||||
bindsym $mod+Ctrl+Left workspace prev
|
bindsym $mod+Ctrl+Left workspace prev
|
||||||
|
|
||||||
# workspace back and forth (with/without active container)
|
# workspace back and forth (with/without active container)
|
||||||
workspace_auto_back_and_forth yes
|
workspace_auto_back_and_forth yes
|
||||||
bindsym $mod+b workspace back_and_forth
|
bindsym $mod+b workspace back_and_forth
|
||||||
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
#
|
#
|
||||||
# Layout stuff:
|
# Layout stuff:
|
||||||
#
|
#
|
||||||
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||||
default_border pixel 1
|
default_border pixel 1
|
||||||
default_floating_border normal
|
default_floating_border normal
|
||||||
|
|
||||||
# Hide borders
|
# Hide borders
|
||||||
hide_edge_borders none
|
hide_edge_borders none
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
# is used in the bar {} block below.
|
# is used in the bar {} block below.
|
||||||
font xft:Hack 16
|
font xft:Hack 16
|
||||||
|
|
||||||
# You can "split" the current object of your focus with
|
# You can "split" the current object of your focus with
|
||||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
# respectively.
|
# respectively.
|
||||||
bindsym $mod+h splith; exec notify-send 'tile horizontally'
|
bindsym $mod+h splith; exec notify-send 'tile horizontally'
|
||||||
bindsym $mod+v splitv; exec notify-send 'tile vertically'
|
bindsym $mod+v splitv; exec notify-send 'tile vertically'
|
||||||
|
|
||||||
# Switch the current container between different layout styles
|
# Switch the current container between different layout styles
|
||||||
bindsym $mod+s layout stacking
|
bindsym $mod+s layout stacking
|
||||||
bindsym $mod+w layout tabbed
|
bindsym $mod+w layout tabbed
|
||||||
bindsym $mod+e layout toggle split
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
# Make the current focus fullscreen
|
# Make the current focus fullscreen
|
||||||
bindsym $mod+f fullscreen
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
# Toggle the current focus between tiling and floating mode
|
# Toggle the current focus between tiling and floating mode
|
||||||
bindsym $mod+Shift+space floating toggle
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
# Swap focus between the tiling area and the floating area
|
# Swap focus between the tiling area and the floating area
|
||||||
bindsym $mod+t focus mode_toggle
|
bindsym $mod+t focus mode_toggle
|
||||||
|
|
||||||
# Move focus to the parent container
|
# Move focus to the parent container
|
||||||
bindsym $mod+a focus parent
|
bindsym $mod+a focus parent
|
||||||
bindsym $mod+d focus child
|
bindsym $mod+d focus child
|
||||||
#
|
#
|
||||||
# Scratchpad:
|
# Scratchpad:
|
||||||
#
|
#
|
||||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||||
# You can send windows there and get them back later.
|
# You can send windows there and get them back later.
|
||||||
|
|
||||||
# Move the currently focused window to the scratchpad
|
# Move the currently focused window to the scratchpad
|
||||||
bindsym $mod+Shift+minus move scratchpad
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
# If there are multiple scratchpad windows, this command cycles through them.
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
bindsym $mod+minus scratchpad show
|
bindsym $mod+minus scratchpad show
|
||||||
#
|
#
|
||||||
# Resizing containers:
|
# Resizing containers:
|
||||||
#
|
#
|
||||||
mode "resize" {
|
mode "resize" {
|
||||||
# left will shrink the containers width
|
# left will shrink the containers width
|
||||||
# right will grow the containers width
|
# right will grow the containers width
|
||||||
# up will shrink the containers height
|
# up will shrink the containers height
|
||||||
# down will grow the containers height
|
# down will grow the containers height
|
||||||
bindsym $left resize shrink width 10px
|
bindsym $left resize shrink width 10px
|
||||||
bindsym $down resize grow height 10px
|
bindsym $down resize grow height 10px
|
||||||
bindsym $up resize shrink height 10px
|
bindsym $up resize shrink height 10px
|
||||||
bindsym $right resize grow width 10px
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
# Ditto, with arrow keys
|
# Ditto, with arrow keys
|
||||||
bindsym Left resize shrink width 10px
|
bindsym Left resize shrink width 10px
|
||||||
bindsym Down resize grow height 10px
|
bindsym Down resize grow height 10px
|
||||||
bindsym Up resize shrink height 10px
|
bindsym Up resize shrink height 10px
|
||||||
bindsym Right resize grow width 10px
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
# Return to default mode
|
# Return to default mode
|
||||||
bindsym Return mode "default"
|
bindsym Return mode "default"
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
}
|
}
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
include ~/.config/sway/config.d/*''
|
${applications}
|
||||||
|
${gaps}
|
||||||
|
${custom-keybindings}
|
||||||
|
${mode-system}
|
||||||
|
${systemd}
|
||||||
|
|
||||||
|
include ~/.config/sway/config.d/*
|
||||||
|
''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
args@{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
@ -77,14 +77,7 @@ in {
|
||||||
systemd.user.services.xsettingsd = import ./xsettingsd.service.nix {inherit pkgs psCfg;};
|
systemd.user.services.xsettingsd = import ./xsettingsd.service.nix {inherit pkgs psCfg;};
|
||||||
systemd.user.targets.sway-session = import ./sway-session.target.nix {inherit pkgs psCfg;};
|
systemd.user.targets.sway-session = import ./sway-session.target.nix {inherit pkgs psCfg;};
|
||||||
|
|
||||||
xdg.configFile."sway/config".text = import ./config/config.nix {inherit config pkgs;};
|
xdg.configFile."sway/config".text = import ./config/config.nix args;
|
||||||
xdg.configFile."sway/config.d/colorscheme.conf".source = ./config/config.d/colorscheme.conf;
|
|
||||||
xdg.configFile."sway/config.d/theme.conf".source = ./config/config.d/theme.conf;
|
|
||||||
xdg.configFile."sway/config.d/gaps.conf".source = ./config/config.d/gaps.conf;
|
|
||||||
xdg.configFile."sway/config.d/custom-keybindings.conf".source = ./config/config.d/custom-keybindings.conf;
|
|
||||||
xdg.configFile."sway/config.d/mode_system.conf".text = import ./config/config.d/mode_system.conf.nix {inherit pkgs psCfg;};
|
|
||||||
xdg.configFile."sway/config.d/applications.conf".source = ./config/config.d/applications.conf;
|
|
||||||
xdg.configFile."sway/config.d/systemd.conf".source = ./config/config.d/systemd.conf;
|
|
||||||
|
|
||||||
services.swayidle = with pkgs; {
|
services.swayidle = with pkgs; {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -2,13 +2,14 @@
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
flake,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
psCfg = config.pub-solar;
|
psCfg = config.pub-solar;
|
||||||
in {
|
in {
|
||||||
home-manager.users."${psCfg.user.name}" = {
|
home-manager.users."${psCfg.user.name}" = {
|
||||||
programs.waybar = {
|
programs.waybar = with flake.self.theme.withHashtag; {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.main = {
|
settings.main = {
|
||||||
layer = "top";
|
layer = "top";
|
||||||
|
@ -88,7 +89,25 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = builtins.readFile ./.config/waybar/style.css;
|
style = ''
|
||||||
|
@define-color base00 ${base00};
|
||||||
|
@define-color base01 ${base01};
|
||||||
|
@define-color base02 ${base02};
|
||||||
|
@define-color base03 ${base03};
|
||||||
|
@define-color base04 ${base04};
|
||||||
|
@define-color base05 ${base05};
|
||||||
|
@define-color base06 ${base06};
|
||||||
|
@define-color base07 ${base07};
|
||||||
|
@define-color base08 ${base08};
|
||||||
|
@define-color base09 ${base09};
|
||||||
|
@define-color base0A ${base0A};
|
||||||
|
@define-color base0B ${base0B};
|
||||||
|
@define-color base0C ${base0C};
|
||||||
|
@define-color base0D ${base0D};
|
||||||
|
@define-color base0E ${base0E};
|
||||||
|
@define-color base0F ${base0F};
|
||||||
|
|
||||||
|
''+ builtins.readFile ./.config/waybar/style.css;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
systemd.target = "sway-session.target";
|
systemd.target = "sway-session.target";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
flake,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
|
@ -23,8 +24,8 @@ in {
|
||||||
|
|
||||||
users.users."${psCfg.user.name}".packages = with pkgs;
|
users.users."${psCfg.user.name}".packages = with pkgs;
|
||||||
[
|
[
|
||||||
|
tealdeer
|
||||||
asciinema
|
asciinema
|
||||||
bat
|
|
||||||
blesh
|
blesh
|
||||||
eza
|
eza
|
||||||
fd
|
fd
|
||||||
|
@ -73,7 +74,7 @@ in {
|
||||||
# starship.toml has sane defaults that can be changed there
|
# starship.toml has sane defaults that can be changed there
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = import ./starship.toml.nix;
|
settings = import ./starship.toml.nix flake.self.theme.withHashtag;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.bash = import ./bash {
|
programs.bash = import ./bash {
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
{
|
theme: with theme; {
|
||||||
format = "$username$hostname$directory($git_branch$git_commit$git_state$git_status)($c$deno$golang$haskell$nodejs$php$python$ruby$rust$terraform[](fg:#F85E84 bg:#000000))($docker_context[](fg:#06969A))($container)$fill(\${custom.triton})$nix_shell$status[ |](fg:#F85E84)$line_break$character";
|
format = "$username$hostname$directory($git_branch$git_commit$git_state$git_status)($c$deno$golang$haskell$nodejs$php$python$ruby$rust$terraform[](fg:#F85E84 bg:${base00}))($docker_context[](fg:#06969A))($container)$fill(\${custom.triton})$nix_shell$status[ |](fg:#F85E84)$line_break$character";
|
||||||
|
|
||||||
# Disable the blank line at the start of the prompt
|
# Disable the blank line at the start of the prompt
|
||||||
add_newline = false;
|
add_newline = false;
|
||||||
|
|
||||||
# You can also replace your username with a neat symbol like to save some space
|
# You can also replace your username with a neat symbol like to save some space
|
||||||
username = {
|
username = {
|
||||||
style_user = "bg:#000000 fg:#F85E84";
|
style_user = "bg:${base00} fg:#F85E84";
|
||||||
style_root = "bg:#F85E84 fg:#000000";
|
style_root = "bg:#F85E84 fg:${base00}";
|
||||||
format = ''[$user ]($style)'';
|
format = ''[$user ]($style)'';
|
||||||
};
|
};
|
||||||
|
|
||||||
hostname = {
|
hostname = {
|
||||||
ssh_symbol = "";
|
ssh_symbol = "";
|
||||||
trim_at = "";
|
trim_at = "";
|
||||||
style = "bg:#000000 fg:#F85E84";
|
style = "bg:${base00} fg:#F85E84";
|
||||||
};
|
};
|
||||||
|
|
||||||
character = {
|
character = {
|
||||||
|
|
27
theme.nix
Normal file
27
theme.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
flake = {
|
||||||
|
theme = inputs.themes.custom {
|
||||||
|
"name" = "burn";
|
||||||
|
"author" = "b12f";
|
||||||
|
"base00" = "#1a181a";
|
||||||
|
"base01" = "#2d2a2e";
|
||||||
|
"base02" = "#303030";
|
||||||
|
"base03" = "#949494";
|
||||||
|
"base04" = "#d3d1d4";
|
||||||
|
"base05" = "#e3e1e4";
|
||||||
|
"base06" = "#303030";
|
||||||
|
"base07" = "#ff5f5f";
|
||||||
|
"base08" = "#f85e84";
|
||||||
|
"base09" = "#df5923";
|
||||||
|
"base0A" = "#e5c463";
|
||||||
|
"base0B" = "#9ecd6f";
|
||||||
|
"base0C" = "#ef9062";
|
||||||
|
"base0D" = "#7accd7";
|
||||||
|
"base0E" = "#ab9df2";
|
||||||
|
"base0F" = "#d70000";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue