Compare commits

...

5 Commits

Author SHA1 Message Date
92c3f4675d add keybinds for group managment in hypr 2024-01-07 00:58:42 -08:00
1ff9f0881a update themeing in hyprland 2024-01-07 00:58:22 -08:00
47bd92d9a7 C 2024-01-07 00:57:22 -08:00
0d3e9fcfdc use dev version of hyprland 2024-01-07 00:57:07 -08:00
f8048db1ba fix next quicklist in vimrc 2024-01-06 18:27:56 -08:00
13 changed files with 307 additions and 154 deletions

View File

@ -1,16 +1,16 @@
themes:
gruvbox:
bg0: '#282828'
bg1: '#3c3836'
bg2: '#504945'
fg: '#d5c4a1'
black: '#282828'
red: '#fb4934'
green: '#b8bb26'
yellow: '#fabd2f'
blue0: '#83a598'
blue1: '#458588'
purple0: '#d3869b'
purple1: '#8f3f71'
cyan: '#8ec07c'
white: '#d5c4a1'
bg0: '282828'
bg1: '3c3836'
bg2: '504945'
fg: 'd5c4a1'
black: '282828'
red: 'fb4934'
green: 'b8bb26'
yellow: 'fabd2f'
blue0: '83a598'
blue1: '458588'
purple0: 'd3869b'
purple1: '8f3f71'
cyan: '8ec07c'
white: 'd5c4a1'

View File

@ -1,95 +0,0 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mod = SUPER
$term = kitty
$e = & hyprctl dispatch submap reset
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Source a file (multi-file configs)
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/keybinds.conf
source = ~/.config/hypr/windows.conf
source = ~/.config/hypr/start.conf
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 2
gaps_out = 2
border_size = 2
col.active_border = rgba(fabd2fff) rgba(fb4934ff) 45deg
col.inactive_border = rgba(282828ff)
layout = master
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 2
blur {
enabled = true
size = 3
passes = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
# animations are bloat ;)
enabled = no
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = false
mfact = 0.5
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic-mouse-v1 {
sensitivity = -0.5
}

View File

@ -0,0 +1,63 @@
$mod = SUPER
$term = kitty
$e = & hyprctl dispatch submap reset
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/keybinds.conf
source = ~/.config/hypr/windows.conf
source = ~/.config/hypr/start.conf
env = XCURSOR_SIZE,24
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0
}
group {
col.border_active = rgba({{ .themes.gruvbox.purple0 }}ff)
col.border_inactive = rgba({{ .themes.gruvbox.purple1 }}ff)
groupbar {
enabled = false
}
}
general {
gaps_in = 2
gaps_out = 2
border_size = 2
col.active_border = rgba({{ .themes.gruvbox.yellow }}ff)
col.inactive_border = rgba({{ .themes.gruvbox.bg0 }}ff)
layout = master
allow_tearing = false
}
decoration {
rounding = 2
}
animations {
enabled = no # animations are bloat ;)
}
master {
new_is_master = false
mfact = 0.5
}
gestures {
workspace_swipe = off
}
misc {
force_default_wallpaper = 0
}

View File

@ -3,6 +3,7 @@ bind = $mod SHIFT, return, exec, $term
bind = $mod, d, killactive,
bind = $mod, t, togglefloating,
bind = $mod, f, fullscreen,
bind = $mod, tab, changegroupactive
# Audio
bindl = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +2%
@ -12,8 +13,8 @@ bindl = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
# Utility commands
bind = $mod, x, submap, utility
submap = utility
bind = , s, exec, shutdown now
bind = , r, exec, reboot
bind = , s, exec, shutdown now
bind = , r, exec, reboot
bind = , q, exit,
bind = , g, exec, ~/.config/hypr/scripts/gamemode.sh $e
binde = , h, resizeactive, -50 0
@ -23,6 +24,26 @@ binde = , l, resizeactive, 50 0
bind = , 1, exec, ~/.config/hypr/scripts/audio-device-switcher.sh 1 $e
bind = , 2, exec, ~/.config/hypr/scripts/audio-device-switcher.sh 2 $e
bind = , 3, exec, ~/.config/hypr/scripts/audio-device-switcher.sh 3 $e
bind = , escape, submap, reset
submap = reset
# Group commands
bind = $mod, g, submap, group
submap = group
bind = , g, togglegroup
bind = , h, moveintogroup, l
bind = , j, moveintogroup, d
bind = , k, moveintogroup, u
bind = , l, moveintogroup, r
bind = , o, moveoutofgroup
# Reset submap after commands
bind = , g, submap, reset
bind = , h, submap, reset
bind = , j, submap, reset
bind = , k, submap, reset
bind = , l, submap, reset
bind = , o, submap, reset
bind = , escape, submap, reset
submap = reset
@ -34,7 +55,7 @@ bind = $mod SHIFT, k, layoutmsg, swapprev
bind = $mod, p, focuscurrentorlast
bind = $mod, m, layoutmsg, focusmaster
bind = $mod SHIFT, m, layoutmsg, swapwithmaster
bind = $mod, tab, layoutmsg, orientationcycle
bind = $mod, space, layoutmsg, orientationcycle
bind = $mod, period, layoutmsg, addmaster
bind = $mod, comma, layoutmsg, removemaster

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#
swaybg -c "{{ .themes.gruvbox.bg0 }}" &
swaybg -c "#{{ .themes.gruvbox.bg0 }}" &
sleep .5; swaybg -m center -i ~/.local/share/chezmoi/resources/img/{{ .chezmoi.hostname }}.png

View File

@ -1,7 +1,7 @@
sort=-time
layer=overlay
background-color={{ .themes.gruvbox.bg0 }}
text-color={{ .themes.gruvbox.fg }}
background-color=#{{ .themes.gruvbox.bg0 }}
text-color=#{{ .themes.gruvbox.fg }}
width=300
height=110
border-size=2
@ -14,11 +14,11 @@ font=monospace 10
anchor=top-center
[urgency=low]
border-color={{ .themes.gruvbox.green }}
border-color=#{{ .themes.gruvbox.green }}
[urgency=normal]
border-color={{ .themes.gruvbox.yellow }}
border-color=#{{ .themes.gruvbox.yellow }}
[urgency=high]
border-color={{ .themes.gruvbox.red }}
border-color=#{{ .themes.gruvbox.red }}
default-timeout=0

View File

@ -30,38 +30,38 @@
"exec": "~/.config/waybar/scripts/bits.sh",
},
"custom/disk": {
"format": " 󰉉 <span color=\"{{ .themes.gruvbox.red }}\">{}</span>G ",
"format": " 󰉉 <span color=\"#{{ .themes.gruvbox.red }}\">{}</span>G ",
"interval": 30,
"exec": "df -h --output=avail / | awk 'NR==2 {sub(/.$/, \"\", $1); print $1}'",
},
"cpu": {
"format": " <span color=\"{{ .themes.gruvbox.red }}\">{usage}</span>%",
"format": " <span color=\"#{{ .themes.gruvbox.red }}\">{usage}</span>%",
"tooltip": false
},
"memory": {
"format": " <span color=\"{{ .themes.gruvbox.red }}\">{used:0.1f}</span>G"
"format": " <span color=\"#{{ .themes.gruvbox.red }}\">{used:0.1f}</span>G"
},
"network": {
"format-wifi": "({signalStrength}%) ",
"format-ethernet": "<span color=\"{{ .themes.gruvbox.green }}\">{ifname}</span>",
"format-ethernet": "<span color=\"#{{ .themes.gruvbox.green }}\">{ifname}</span>",
"tooltip-format": "{ifname} via {gwaddr}",
"format-linked": "{ifname} (No IP) ?",
"format-disconnected": "",
"on-click": "nm-connection-editor"
},
"custom/mouse": {
"format": " 󰍽 <span color=\"{{ .themes.gruvbox.red }}\">{}</span>% ",
"format": " 󰍽 <span color=\"#{{ .themes.gruvbox.red }}\">{}</span>% ",
"interval": 5,
"exec": "cat /sys/class/power_supply/hidpp_battery_[0-9]*/capacity | head -n 1",
},
"pulseaudio": {
"format": "{icon} <span color=\"{{ .themes.gruvbox.red }}\">{volume}</span>% {format_source}",
"format": "{icon} <span color=\"#{{ .themes.gruvbox.red }}\">{volume}</span>% {format_source}",
"format-muted": "󰖁 {format_source}",
"format-bluetooth": "{icon}  <span color=\"{{ .themes.gruvbox.red }}\">{volume}</span>% {format_source}",
"format-bluetooth": "{icon}  <span color=\"#{{ .themes.gruvbox.red }}\">{volume}</span>% {format_source}",
"format-bluetooth-muted": "󰖁  {format_source}",
"tooltip": false,
"format-source": "  <span color=\"{{ .themes.gruvbox.red }}\">{volume}</span>%",
"format-source": "  <span color=\"#{{ .themes.gruvbox.red }}\">{volume}</span>%",
"format-source-muted": "",
"format-icons": {

View File

@ -5,12 +5,12 @@ bits=""
# Gamemode bit
if [ "$(gamemoded -s)" != "gamemode is inactive" ]; then
bits+="<span color=\"{{ .themes.gruvbox.blue0 }}\">G</span>"
bits+="<span color=\"#{{ .themes.gruvbox.blue0 }}\">G</span>"
fi
# VPN bit
if [ -f ~/.wg0 ]; then
bits+="<span color=\"{{ .themes.gruvbox.purple0 }}\">V</span>"
bits+="<span color=\"#{{ .themes.gruvbox.purple0 }}\">V</span>"
fi
# Print bits if there are any

View File

@ -1,16 +1,16 @@
/* Colors */
@define-color bg {{ .themes.gruvbox.bg0 }};
@define-color bg2 {{ .themes.gruvbox.bg1 }};
@define-color bg3 {{ .themes.gruvbox.bg2 }};
@define-color fg {{ .themes.gruvbox.fg }};
@define-color red {{ .themes.gruvbox.red }};
@define-color green {{ .themes.gruvbox.green }};
@define-color yellow {{ .themes.gruvbox.yellow }};
@define-color blue0 {{ .themes.gruvbox.blue0 }};
@define-color blue1 {{ .themes.gruvbox.blue1 }};
@define-color purple0 {{ .themes.gruvbox.purple0 }};
@define-color purple1 {{ .themes.gruvbox.purple1 }};
@define-color cyan {{ .themes.gruvbox.cyan }};
@define-color bg #{{ .themes.gruvbox.bg0 }};
@define-color bg2 #{{ .themes.gruvbox.bg1 }};
@define-color bg3 #{{ .themes.gruvbox.bg2 }};
@define-color fg #{{ .themes.gruvbox.fg }};
@define-color red #{{ .themes.gruvbox.red }};
@define-color green #{{ .themes.gruvbox.green }};
@define-color yellow #{{ .themes.gruvbox.yellow }};
@define-color blue0 #{{ .themes.gruvbox.blue0 }};
@define-color blue1 #{{ .themes.gruvbox.blue1 }};
@define-color purple0 #{{ .themes.gruvbox.purple0 }};
@define-color purple1 #{{ .themes.gruvbox.purple1 }};
@define-color cyan #{{ .themes.gruvbox.cyan }};
* {
font-family: JetBrains Mono, Symbols Nerd Font Mono;

View File

@ -117,8 +117,8 @@ map <leader>nl :lnext<CR>
map <leader>pl :lprev<CR>
" next/last quickfix
map <leader>nc :lnext<CR>
map <leader>pc :lnext<CR>
map <leader>nc :cnext<CR>
map <leader>pc :cnext<CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" misc keys

View File

@ -20,6 +20,71 @@
"type": "github"
}
},
"hyprland": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"nixpkgs": "nixpkgs",
"systems": "systems",
"wlroots": "wlroots",
"xdph": "xdph"
},
"locked": {
"lastModified": 1704475363,
"narHash": "sha256-isiBkAsjXIvb/6McVK42/iBbC4h+UL3JRkkLqTSPE48=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "7e033e48ace5406a9bc442f7d403f9ce3af193f3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1691753796,
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1704287638,
"narHash": "sha256-TuRXJGwtK440AXQNl5eiqmQqY4LZ/9+z/R7xC0ie3iA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "6624f2bb66d4d27975766e81f77174adbe58ec97",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"jovian-nixos": {
"flake": false,
"locked": {
@ -39,15 +104,15 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1703438236,
"narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=",
"owner": "nixos",
"lastModified": 1704194953,
"narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b",
"rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@ -70,6 +135,38 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1702645756,
"narHash": "sha256-qKI6OR3TYJYQB3Q8mAZ+DG4o/BR9ptcv9UnRV2hzljc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "40c3c94c241286dd2243ea34d3aef8a488f9e4d0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1703438236,
"narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1703134684,
"narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=",
@ -88,14 +185,15 @@
"root": {
"inputs": {
"home-manager": "home-manager",
"hyprland": "hyprland",
"jovian-nixos": "jovian-nixos",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_3",
"sops-nix": "sops-nix"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_4",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
@ -111,6 +209,70 @@
"repo": "sops-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"wlroots": {
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
"lastModified": 1703963193,
"narHash": "sha256-ke8drv6PTrdQDruWbajrRJffP9A9PU6FRyjJGNZRTs4=",
"owner": "wlroots",
"repo": "wlroots",
"rev": "f81c3d93cd6f61b20ae784297679283438def8df",
"type": "gitlab"
},
"original": {
"host": "gitlab.freedesktop.org",
"owner": "wlroots",
"repo": "wlroots",
"rev": "f81c3d93cd6f61b20ae784297679283438def8df",
"type": "gitlab"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": "hyprlang",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1704400467,
"narHash": "sha256-IsEAKBCorRlN53FwFAMbyGLRsPVu/ZrWEJtCwykPds8=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "1c802128f6cc3db29a8ef01552b1a22f894eeefd",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
}
},
"root": "root",

View File

@ -12,9 +12,10 @@
flake = false;
};
sops-nix.url = "github:Mic92/sops-nix";
hyprland.url = "github:hyprwm/Hyprland";
};
outputs = inputs @ { self, nixpkgs, home-manager, jovian-nixos, sops-nix, ... }:
outputs = inputs @ { self, nixpkgs, home-manager, jovian-nixos, sops-nix, hyprland, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
@ -26,7 +27,7 @@
nixosConfigurations = {
kestrel = lib.nixosSystem {
inherit system;
specialArgs = { inherit user; };
specialArgs = { inherit user; inherit inputs; };
modules = [
./modules
./hosts/kestrel/configuration.nix
@ -48,7 +49,7 @@
torus = lib.nixosSystem {
inherit system;
specialArgs = { inherit user; };
specialArgs = { inherit user; inherit inputs; };
modules = [
./modules
./hosts/torus/configuration.nix
@ -70,7 +71,7 @@
bulwark = lib.nixosSystem {
inherit system;
specialArgs = { inherit user; inherit jovian-nixos; inherit home-manager; };
specialArgs = { inherit user; inherit inputs; inherit jovian-nixos; inherit home-manager; };
modules = [
./modules
./hosts/bulwark/configuration.nix

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, user, ... }:
{ config, lib, pkgs, user, inputs, ... }:
let
cfg = config.modules.desktop.sway;
@ -110,6 +110,7 @@ in {
wrapperFeatures.gtk = true;
};
programs.hyprland = {
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
enable = true;
xwayland.enable = true;
};