Compare commits

...

8 commits

9 changed files with 465 additions and 110 deletions

View file

@ -1,7 +1,6 @@
{ pkgs, inputs, ... }:
{
programs = {
dconf.enable = true;
zsh.enable = true;
gnupg.agent = {
enable = true;

View file

@ -5,59 +5,6 @@
...
}:
{
fonts.fontconfig.enable = true;
home.packages = [
# pkgs.nerdfonts
# (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
pkgs.twemoji-color-font
pkgs.noto-fonts-emoji
pkgs.swww
pkgs.swaylock
pkgs.pywal16
];
gtk = {
enable = true;
font = {
name = "GohuFont 14 Nerd Font Mono";
size = 14;
};
theme = {
name = "Juno";
package = pkgs.juno-theme; # .override {
# colorVariants = [ "dark" ];
# themeVariants = [ "green" ];
# tweakVariants = [ "macos" ];
# };
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme.override {
color = "black";
};
};
cursorTheme = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
};
home.pointerCursor = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
wayland.windowManager.hyprland = {
settings = {
@ -102,11 +49,6 @@
};
};
#gestures = {
# workspace_swipe = true;
# workspace_swipe_invert = true;
#};
general = {
"$mainMod" = "ALT";
layout = "dwindle";

View file

@ -7,7 +7,6 @@
}:
{
home.packages = with pkgs; [
swayfx
# Environment shit
tesseract
yubikey-touch-detector

View file

@ -1,21 +1,385 @@
{ pkgs, username, ... }:
{
pkgs,
host,
username,
lib,
...
}:
let
dark = "#040606";
black = "#241b2f";
dim = "#495671";
red = "#f53fa1";
green = "#72f1b8";
yellow = "#ffcc00";
blue = "#2b196e";
magenta = "#ff7edb"; # previously cda5ef
cyan = "#61e2ff";
white = "#f8f8f8";
bright = "#ffffff";
transparent = "#ff000000";
winterBlue = "#252535";
in
{
home.packages = with pkgs; [
swayfx
autotiling
libinput-gestures
wmctrl
swaycons
];
#home.file = {
# "/home/${username}/.config/libinput-gestures/sway.conf" = {
# executable = false;
# text = "
# # Cycle right through sway workspaces
# gesture: swipe right 3 swaymsg focus right
# # Cycle left through sway workspaces
# gesture: swipe left 3 swaymsg focus left
# ";
# };
#};
wayland.windowManager.sway = {
checkConfig = false;
package = pkgs.swayfx;
enable = true;
config = {
window.border = 4;
colors = {
focused = {
border = magenta;
background = "#536161";
text = white;
indicator = yellow;
childBorder = "#536161";
};
unfocused = {
border = dark;
background = dark;
text = dim;
indicator = dark;
childBorder = winterBlue;
};
focusedInactive = {
border = dark;
background = dark;
text = white;
indicator = dark;
childBorder = winterBlue;
};
urgent = {
border = red;
background = red;
text = white;
indicator = red;
childBorder = red;
};
placeholder = {
border = dark;
background = dark;
text = white;
indicator = white;
childBorder = dark;
};
};
fonts = {
names = [
"GohuFont 11 Nerd Font Mono"
];
style = "Bold Semi-Condensed";
size = 11.0;
};
bars = [ ];
input = {
"type:keyboard" = {
# "*" = {
xkb_options = "caps:ctrl_modifier";
};
};
modifier = "Mod1";
keybindings = lib.attrsets.mergeAttrsList [
(lib.attrsets.mergeAttrsList (
map
(
num:
let
ws = toString num;
in
{
"Mod1+${ws}" = "workspace ${ws}";
"Mod1+Ctrl+${ws}" = "move container to workspace ${ws}";
}
)
[
1
2
3
4
5
6
7
8
9
0
]
))
(lib.attrsets.concatMapAttrs
(key: direction: {
"Mod1+${key}" = "focus parent, focus ${direction}, focus child";
"Mod1+Ctrl+${key}" = "focus parent, move ${direction}, focus child";
})
{
h = "left";
j = "down";
k = "up";
l = "right";
}
)
{
"Mod1+q" = "kill";
"Mod1+w" = "layout split";
"Mod1+f" = "fullscreen toggle";
"Mod1+s" = "layout stacking";
# "Mod1+v" = "split v";
"Mod1+g" = "layout tabbed";
"Mod1+Space" = "floating toggle";
"Mod1+Shift+r" = "exec swaymsg reload";
"Mod1+Tab" = "focus next";
"Mod1+Shift+Tab" = "focus prev";
"Mod4+n" = "focus next";
"Mod4+p" = "focus prev";
"Mod1+d" = "exec --no-startup-id ${pkgs.bemenu}/bin/bemenu-run -l 5 --ignorecase";
"Mod1+e" = "exec --no-startup-id thunar";
"Mod1+c" = "exec --no-startup-id hyprpicker -a";
"Mod1+n" = "exec --no-startup-id swaync-client -t";
"Mod1+Return" = "exec --no-startup-id ${pkgs.foot}/bin/footclient";
"Mod1+Shift+Return" = "exec --no-startup-id ${pkgs.foot}/bin/footclient --title 'float_foot'";
"Mod1+Shift+l" = "exec --no-startup-id ${pkgs.hyprlock}/bin/hyprlock";
"Mod4+Shift+l" = "exec swaylock --image /home/${username}/.local/share/bg.png";
"Mod1+Shift+b" = "exec pkill -SIGUSR1 .waybar-wrapped";
"Mod1+Shift+v" = "exec cliphist list | bemenu -l 5 --ignorecase | cliphist decode | wl-copy";
"Mod1+Shift+f" = "exec --no-startup-id librewolf";
"Mod1+Shift+c" = "exec --no-startup-id chromium";
"Mod1+Shift+q" = "exec --no-startup-id qutebrowser";
"Mod1+Shift+w" = "exec --no-startup-id wdisplays";
"Mod1+Shift+t" = "exec --no-startup-id thunderbird";
"Mod1+Shift+e" = "exec --no-startup-id element-desktop";
"Mod1+Shift+p" = "exec --no-startup-id pavucontrol-qt";
"Mod1+Shift+n" = "exec --no-startup-id notes";
# screenshot
"Mod1+Shift+s" = "exec --no-startup-id grimblast copy area";
"Mod1+Shift+g" = "exec --no-startup-id grabtext";
# media and volume controls
# ",XF86AudioRaiseVolume,exec, pamixer -i 2"
# ",XF86AudioLowerVolume,exec, pamixer -d 2"
# ",XF86AudioMute,exec, pamixer -t"
# ",XF86AudioPlay,exec, playerctl play-pause"
# ",XF86AudioNext,exec, playerctl next"
# ",XF86AudioPrev,exec, playerctl previous"
# ",XF86AudioStop, exec, playerctl stop"
# "Mod1, mouse_down, workspace, e-1"
# "Mod1, mouse_up, workspace, e+1"
# # laptop brigthness
# ",XF86MonBrightnessUp, exec, brightnessctl set 5%+"
# ",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
# "Mod1, XF86MonBrightnessUp, exec, brightnessctl set 100%+"
# "Mod1, XF86MonBrightnessDown, exec, brightnessctl set 100%-"
}
];
focus.followMouse = true;
startup = [
{ command = "systemctl --user import-environment &"; }
{ command = "hash dbus-update-activation-environment 2>/dev/null &"; }
{ command = "dbus-update-activation-environment --systemd &"; }
{ command = "wl-clip-persist --clipboard both"; }
{ command = "swww-daemon &"; }
{ command = "poweralertd &"; }
{ command = "waybar &"; }
{ command = "swaync &"; }
{ command = "wl-paste --watch cliphist store &"; }
{ command = "yubikey-touch-detector --libnotify &"; }
{ command = "mpDris2 &"; }
{ command = "swaycons &"; }
# { command = "wlsunset -S '06:30' -s '19:30' -d 1800 "; }
{ command = "foot --server &"; }
{ command = "footclient"; }
];
workspaceAutoBackAndForth = false;
};
# systemd.enable = true; # ???
wrapperFeatures = {
gtk = true;
};
};
home.file.".hm-graphical-session".text = pkgs.lib.concatStringsSep "\n" [
"export MOZ_ENABLE_WAYLAND=1"
"export NIXOS_OZONE_WL=1" # Electron
];
services.kanshi = {
enable = true;
profiles = {
laptops = {
outputs =
if (host == "sakura") then
[
{
criteria = "eDP-1";
scale = 1.0;
status = "enable";
position = "0,0";
}
]
else if (host == "zinnia") then
[
{
criteria = "eDP-1";
scale = 1.0;
status = "enable";
position = "0,0";
}
]
else if (host == "imilia") then
[
{
criteria = "eDP-1";
scale = 1.0;
status = "enable";
position = "0,0";
}
]
else
[
{
criteria = "eDP-1";
scale = 1.0;
status = "enable";
position = "0,0";
}
];
};
};
};
programs.sway-easyfocus = {
enable = true;
settings = {
chars = "asdfjkl";
focused_background_color = "285577";
focused_background_opacity = 1.0;
focused_text_color = "ffffff";
font_family = "GohuFont 14 Nerd Font Mono";
font_size = "14";
window_background_color = "d1f21";
window_background_opacity = 0.2;
};
};
home.file."/home/${username}/.config/swaycons/config.toml".text = ''
[global]
color = "#FFFFFF"
focused_color = "#FFFFFF"
icon = "󰖯"
size = "14pt"
separator = " "
[app_id]
"dev.alextren.Spot" = { icon = "󰓇", color = "#1ed760" }
"org.daa.NeovimGtk" = { icon = "", color = "#8fff6d" }
"org.gnome.Calculator" = { icon = "󰃬" }
"org.gnome.clocks" = { icon = "󱑈" }
"org.gnome.Nautilus" = { icon = "󰉖", color = "#6291d6" }
"im.dino.Dino" = { icon = "󰭹", color = "#3777f0" }
spt = { icon = "󰋋", color = "#ef5466" }
rmpc = { icon = "󰋋", color = "#ef5466" }
Signal = { icon = "󰭹", color = "#3777f0" }
Element = { icon = "󰭹", color = "#3777f0" }
Spotify = { icon = "󰓇", color = "#1ed760" }
chromium = { icon = "", color = "#a1c2fa", size = "13pt" }
librewolf = { icon = "", color = "#ff8817", size = "13pt" }
foot = { icon = "" }
thunderbird = { icon = "", color = "#f6d32d" }
neovide = { icon = "", color = "#8fff6d" }
nvim-qt = { icon = "", color = "#8fff6d" }
libreoffice-writer = { icon = "", color = "#00A500", size = "12pt" }
libreoffice-calc = { icon = "󰱿", color = "#00A500" }
[title]
"(?i)Thunar" = { icon = "󰉖", color = "#6291d6" }
"(?i)vim" = { app_id = ["foot", "Alacritty"], icon = "", color = "#8fff6d" }
"(cloud|developers)\\.google.com" = { icon = "", color = "#4285f4" }
"192\\.168\\.0\\.1|192\\.168\\.86\\.1|ui\\.com" = { icon = "󰖩", color = "#004cb6" }
"1password\\.com" = { icon = "󰍁", color = "#0572ec" }
"amazon\\.com" = { icon = "", color = "#ff9900" }
"angular\\.io" = { icon = "", color = "#dd0031" }
"archlinux\\.org" = { icon = "", color = "#1793d1" }
"atlassian\\.(net|com)" = { icon = "󰌃", color = "#0052cc" }
"aws\\.amazon\\.com" = { icon = "", color = "#ff9900" }
"bitbucket\\.org" = { icon = "󰂨", color = "#0052cc" }
"calendar\\.google\\.com" = { icon = "󰃶", color = "#4285f4" }
"coda\\.io" = { icon = "", color = "#f46a54" }
"crates\\.io" = { icon = "󰏗", color = "#ffc933" }
"deezer\\.com" = { icon = "󰋋", color = "#ef5466" }
"discogs\\.com" = { icon = "󰀥" }
"discord\\.com" = { icon = "󰙯", color = "#404eed" }
"docs\\.google\\.com" = { icon = "", color = "#4285f4" }
"docs\\.google\\.com/spreadsheets" = { icon = "󰈛", color = "#34a853" }
"docs\\.rs|rust-lang\\.org" = { icon = "", size = "16pt" }
"drive\\.google\\.com" = { icon = "󰊶", color = "#4285f4" }
"dropbox\\.com" = { icon = "󰇣", color = "#0061fe" }
"duckduckgo\\.com" = { icon = "󰇥", color = "#de5833" }
"facebook\\.com" = { icon = "", color = "#1877f2" }
"fastmail\\.com" = { icon = "󰗰", color = "#1565c0" }
"fastmail\\.com/calendar" = { icon = "", color = "#1565c0" }
"fastmail\\.com/contacts" = { size = "11pt", icon = "", color = "#1565c0" }
"feedbin\\.com" = { icon = "" }
"gitbook\\.com" = { icon = "", color = "#346ddb" }
"github\\.com" = { icon = "" }
"google\\.com" = { icon = "", color = "#4285f4" }
"google\\.com/maps" = { icon = "󰗵", color = "#4caf50" }
"insomnia\\.rest" = { icon = "", color = "#7100df" }
"keep\\.google\\.com" = { icon = "󰛜", color = "#fbbc04" }
"last\\.fm" = { icon = "", color = "#ba0000" }
"mail\\.google\\.com" = { icon = "󰊫", color = "#ad1f1c" }
"meet\\.google\\.com" = { icon = "", color = "#4285f4" }
"messages\\.google\\.com" = { icon = "󰍩", color = "#4285f4" }
"mozilla\\.org" = { icon = "" }
"nerdfonts\\.com" = { icon = "", color = "#ffce3e" }
"nytimes\\.com/games/wordle" = { icon = "󰈭", color = "#538d4e" }
"photos\\.google\\.com" = { icon = "󰄄", color = "#4285f4" }
"reactjs\\.org" = { icon = "", color = "#61dafb" }
"reddit\\.com" = { icon = "󰑍", color = "#ff4500" }
"slack\\.com" = { icon = "󰒱", color = "#2eb67d" }
"sleeper\\.com" = { icon = "󰉟", color = "#7c8ef4" }
"spotify\\.com" = { icon = "󰓇", color = "#1ed760" }
"sr\\.ht|sourcehut\\.org" = { icon = "" }
"stackoverflow\\.com" = { icon = "", color = "#f48225" }
"startpage\\.com" = { icon = "", color = "#6573ff" }
"stripe\\.com" = { icon = "", color = "#635bff" }
"ticktick\\.com" = { icon = "󰄴", color = "#4774f9" }
"todoist\\.com" = { icon = "󰄲", color = "#e44232" }
"travis-ci\\.(com|org)" = { icon = "", color = "#cd324a" }
"twitter\\.com" = { icon = "", color = "#1d9bf0" }
"webpack\\.js\\.org" = { icon = "󰆧", color = "#8ed6fb" }
"wikipedia\\.org" = { icon = "" }
"youneedabudget\\.com" = { icon = "", color = "#4495d7" }
"bandcamp\\.com" = { icon = "", color = "#1da0c3", size = "13pt" }
"zoom\\.us" = { icon = "󰕧", color = "#2d8cff" }
aerc = { app_id = ["foot", "Alacritty"], icon = "󰇰" }
litecli = { app_id = ["foot", "Alacritty"], icon = "󰆼", color = "#c74451" }
nnn = { app_id = ["foot", "Alacritty"], icon = "󰉖" }
pgcli = { app_id = ["foot", "Alacritty"], icon = "󰆼", color = "#c74451" }
'';
}
#home.file = {
# "/home/${username}/.config/libinput-gestures/sway.conf" = {
# executable = false;
# text = "
# # Cycle right through sway workspaces
# gesture: swipe right 3 swaymsg focus right
# # Cycle left through sway workspaces
# gesture: swipe left 3 swaymsg focus left
# ";
# };
#};

View file

@ -29,13 +29,15 @@
"modules-left": [
"privacy",
"network",
"custom/music",
"custom/vpn",
"custom/devices",
"custom/spotify",
"sway/mode",
"tray",
],
"modules-center": [
"sway/workspaces",
"hyprland/workspaces",
],
@ -104,7 +106,7 @@
"interval": 30
},
"custom/spotify": {
"custom/music": {
"interval": 5,
"return-type": "json",
"exec": "~/.local/bin/waybar-music",
@ -293,7 +295,7 @@
},
"battery": {
"bat": "BAT1",
"bat": "BAT0",
"interval": 20,
"states": {
"warning": 20,
@ -501,7 +503,7 @@
background: #f9409d;
}
#custom-spotify {
#custom-music {
color: #ffffff;
padding-right: 5px;
}

View file

@ -158,7 +158,7 @@
#!/usr/bin/env sh
META="{{ trunc(artist,17) }} - {{ trunc(title,17) }}"
PLAYERS="spotify ncspot mpv mpd"
PLAYERS="spotify ncspot mpv mpd spotify_player"
for PLAYER in $PLAYERS; do
# if the player is not playing, continue to the next player, until we find one that is playing

View file

@ -32,7 +32,7 @@
localVariables = {
# Looks like this: '~/some/path > '
PS1 = "> %F{magenta}%~%f < ";
PS1 = "> %F{magenta}%~%f > ";
RPROMPT = "%F{magenta}%m";
# Gets pushed to the home directory otherwise
LESSHISTFILE = "/dev/null";

View file

@ -24,39 +24,88 @@ in
gnome.gnome-keyring.enable = true;
dbus.enable = true;
};
home-manager.users.${username} = {
fonts.fontconfig.enable = true;
gtk = {
enable = true;
font = {
name = "GohuFont 14 Nerd Font Mono";
size = 14;
};
theme = {
name = "Juno";
package = pkgs.juno-theme; # .override {
# colorVariants = [ "dark" ];
# themeVariants = [ "green" ];
# tweakVariants = [ "macos" ];
# };
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme.override {
color = "black";
};
};
cursorTheme = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
};
home-manager.users.${username}.home.packages = with pkgs; [
element-desktop
dino
signal-desktop
mumble
anki-bin
obs-studio
wdisplays
librewolf # main
ungoogled-chromium # for things that don't work with librewolf
nsxiv
imv
libreoffice
xfce.thunar
# spotify
spotify-player
thunderbird
lxqt.pavucontrol-qt
mpv
kdePackages.kdeconnect-kde
winbox
# onthespot-overlay
home.pointerCursor = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 24;
};
# Gaming
lunar-client
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
home.packages = with pkgs; [
element-desktop
dino
signal-desktop
mumble
anki-bin
obs-studio
wdisplays
librewolf # main
ungoogled-chromium # for things that don't work with librewolf
nsxiv
imv
libreoffice
xfce.thunar
# spotify
spotify-player
thunderbird
lxqt.pavucontrol-qt
mpv
kdePackages.kdeconnect-kde
winbox
# onthespot-overlay
# Not GUI but specific to GUI usage
sshuttle
sshfs
# Gaming
lunar-client
# try out for a bit
niri
];
# Not GUI but specific to GUI usage
sshuttle
sshfs
# previously in hyprland config
# pkgs.nerdfonts
# (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
pkgs.twemoji-color-font
pkgs.noto-fonts-emoji
pkgs.swww
pkgs.swaylock
pkgs.pywal16
];
};
};
}

View file

@ -20,7 +20,7 @@ in
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
open = if (config.liv.gui.enable == true) then true else false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};