It builds now.

This commit is contained in:
Jimbo 2024-10-15 02:40:43 -04:00
parent 9c71495c73
commit f3d9e8a188
47 changed files with 577 additions and 401 deletions

View file

@ -1,4 +1,4 @@
{ outputs, ... }:
{ config, ... }:
{
programs.foot = {
enable = true;
@ -6,14 +6,14 @@
settings = {
main = {
term = "xterm-256color";
font = "${outputs.look.fonts.nerd}:size=14.7";
font = "${config.look.fonts.nerd}:size=14.7";
};
cursor = {
style = "beam";
};
colors = {
alpha = "0.65";
background = "${outputs.look.colors.dark}";
background = "${config.look.colors.dark}";
regular0 = "3f3f3f";
regular1 = "cc0000";
regular2 = "4e9a06";

View file

@ -1,31 +1,31 @@
{ pkgs, config, outputs, ... }:
{ pkgs, config, ... }:
let
# FireFox colors
themeJim = ''
:root {
--tab-active-bg-color: #${outputs.look.colors.prime};
--tab-hover-bg-color: #${outputs.look.colors.accent};
--tab-inactive-bg-color: #${outputs.look.colors.dark};
--tab-active-bg-color: #${config.look.colors.prime};
--tab-hover-bg-color: #${config.look.colors.accent};
--tab-inactive-bg-color: #${config.look.colors.dark};
--tab-active-fg-fallback-color: #FFFFFF;
--tab-inactive-fg-fallback-color: #${outputs.look.colors.text};
--urlbar-focused-bg-color: #${outputs.look.colors.dark};
--urlbar-not-focused-bg-color: #${outputs.look.colors.dark};
--toolbar-bgcolor: #${outputs.look.colors.dark} !important;
--tab-inactive-fg-fallback-color: #${config.look.colors.text};
--urlbar-focused-bg-color: #${config.look.colors.dark};
--urlbar-not-focused-bg-color: #${config.look.colors.dark};
--toolbar-bgcolor: #${config.look.colors.dark} !important;
'';
themeAlt = ''
:root {
--tab-active-bg-color: #${outputs.look.colors.dark};
--tab-hover-bg-color: #${outputs.look.colors.accent};
--tab-inactive-bg-color: #${outputs.look.colors.prime};
--tab-active-fg-fallback-color: #${outputs.look.colors.text};
--tab-active-bg-color: #${config.look.colors.dark};
--tab-hover-bg-color: #${config.look.colors.accent};
--tab-inactive-bg-color: #${config.look.colors.prime};
--tab-active-fg-fallback-color: #${config.look.colors.text};
--tab-inactive-fg-fallback-color: #FFFFFF;
--urlbar-focused-bg-color: #${outputs.look.colors.prime};
--urlbar-not-focused-bg-color: #${outputs.look.colors.prime};
--toolbar-bgcolor: #${outputs.look.colors.prime} !important;
--urlbar-focused-bg-color: #${config.look.colors.prime};
--urlbar-not-focused-bg-color: #${config.look.colors.prime};
--toolbar-bgcolor: #${config.look.colors.prime} !important;
'';
quteFoxCSS = ''
--tab-font: '${outputs.look.fonts.main}';
--urlbar-font: '${outputs.look.fonts.main}';
--tab-font: '${config.look.fonts.main}';
--urlbar-font: '${config.look.fonts.main}';
/* try increasing if you encounter problems */
--urlbar-height-setting: 24px;
@ -336,9 +336,9 @@ in {
};
};
commonSettings = {
"font.name.serif.x-western" = "${outputs.look.fonts.main}";
"font.name.sans-serif.x-western" = "${outputs.look.fonts.main}";
"font.name.monospace.x-western" = "${outputs.look.fonts.nerd}";
"font.name.serif.x-western" = "${config.look.fonts.main}";
"font.name.sans-serif.x-western" = "${config.look.fonts.main}";
"font.name.monospace.x-western" = "${config.look.fonts.nerd}";
"general.autoScroll" = true;
"browser.compactmode.show" = true;
"browser.uidensity" = 1;

View file

@ -1,18 +1,18 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
services.mako = {
enable = true;
borderColor = "#${outputs.look.colors.accent}";
backgroundColor = "#${outputs.look.colors.dark}CC";
output = "${outputs.displays.d1}";
borderColor = "#${config.look.colors.accent}";
backgroundColor = "#${config.look.colors.dark}CC";
output = "${config.displays.d1}";
sort = "+time";
layer = "overlay";
padding = "8";
margin = "0";
borderSize = outputs.look.border.int;
borderSize = config.look.border.int;
maxIconSize = 40;
defaultTimeout = 6000;
font = "${outputs.look.fonts.main} 12";
font = "${config.look.fonts.main} 12";
anchor = "bottom-right";
extraConfig = "on-button-right=dismiss-all\nouter-margin=10\n[mode=do-not-disturb]\ninvisible=1";
};

View file

@ -1,10 +1,10 @@
{ pkgs, config, outputs, ... }:
{ pkgs, config, ... }:
{
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
terminal = "foot";
font = "${outputs.look.fonts.main} 14";
font = "${config.look.fonts.main} 14";
theme = let
inherit (config.lib.formats.rasi) mkLiteral;
in {
@ -15,24 +15,24 @@
red = mkLiteral "#DC322F";
background-color = mkLiteral "#00000000";
separatorcolor = mkLiteral "#00000000";
normal-foreground = mkLiteral "#${outputs.look.colors.text}";
normal-background = mkLiteral "#${outputs.look.colors.dark}1A";
urgent-foreground = mkLiteral "#${outputs.look.colors.urgent}";
active-foreground = mkLiteral "#${outputs.look.colors.split}";
selected-active-foreground = mkLiteral "#${outputs.look.colors.prime}";
background = mkLiteral "#${outputs.look.colors.dark}B3";
bordercolor = mkLiteral "#${outputs.look.colors.prime}";
normal-foreground = mkLiteral "#${config.look.colors.text}";
normal-background = mkLiteral "#${config.look.colors.dark}1A";
urgent-foreground = mkLiteral "#${config.look.colors.urgent}";
active-foreground = mkLiteral "#${config.look.colors.split}";
selected-active-foreground = mkLiteral "#${config.look.colors.prime}";
background = mkLiteral "#${config.look.colors.dark}B3";
bordercolor = mkLiteral "#${config.look.colors.prime}";
selected-normal-foreground = mkLiteral "#FFFFFF";
selected-normal-background = mkLiteral "#${outputs.look.colors.prime}80";
border-color = mkLiteral "#${outputs.look.colors.prime}";
urgent-background = mkLiteral "#${outputs.look.colors.accent}26";
active-background = mkLiteral "#${outputs.look.colors.accent}26";
selected-active-background = mkLiteral "#${outputs.look.colors.split}54";
selected-normal-background = mkLiteral "#${config.look.colors.prime}80";
border-color = mkLiteral "#${config.look.colors.prime}";
urgent-background = mkLiteral "#${config.look.colors.accent}26";
active-background = mkLiteral "#${config.look.colors.accent}26";
selected-active-background = mkLiteral "#${config.look.colors.split}54";
};
"#window" = {
background-color = mkLiteral "@background";
width = 500;
border = mkLiteral "${outputs.look.border.string}";
border = mkLiteral "${config.look.border.string}";
padding = 5;
};
"#message" = {
@ -155,13 +155,13 @@
case $RET in
Default) swaymsg reload ;;
Wide) swaymsg "
output ${outputs.displays.d1} enable pos 1680 0 mode 1680x1050@59.954Hz
output ${outputs.displays.d2} enable pos 0 0 mode 1680x1050@59.954Hz
output ${outputs.displays.d3} enable pos 3360 0 transform 0
output ${config.displays.d1} enable pos 1680 0 mode 1680x1050@59.954Hz
output ${config.displays.d2} enable pos 0 0 mode 1680x1050@59.954Hz
output ${config.displays.d3} enable pos 3360 0 transform 0
";;
GPU2) swaymsg "
output ${outputs.displays.d2} enable pos 1680 0 mode 1920x1080@60Hz
output ${outputs.displays.d3} enable pos 0 0 transform 0
output ${config.displays.d2} enable pos 1680 0 mode 1920x1080@60Hz
output ${config.displays.d3} enable pos 0 0 transform 0
";;
esac
}

View file

@ -7,6 +7,5 @@
./general
./headless
./production
./remote-desktop
];
}

View file

@ -6,6 +6,6 @@
ryujinx
duckstation
pcsx2
unstable.lime3ds
#lime3ds
];
}

View file

@ -1,4 +1,4 @@
{ pkgs, lib, config, ... }:
{ pkgs, blender-bin, ... }:
{
home.packages = with pkgs; [
krita
@ -7,4 +7,6 @@
blender_4_2
sunvox
];
nixpkgs.overlays = [ blender-bin.overlays.default ];
}

View file

@ -1,9 +1,8 @@
{ pkgs, outputs, ... }:
{ pkgs, ... }:
{
programs.git = {
enable = true;
lfs.enable = true;
userName = outputs.secrets.jimUsername;
userEmail = outputs.secrets.jimEmail;
userName = "Jimbo";
userEmail = "jimbo@jimbosfiles.com";
};
}

View file

@ -1,4 +1,4 @@
{ pkgs, outputs, ... }:
{ config, pkgs, ... }:
{
programs.neovim = {
enable = true;
@ -85,8 +85,8 @@
let g:airline_theme='onedark'
let g:airline#extensions#tabline#enabled = 1
hi Normal guibg=none ctermbg=235
hi Visual guibg=#${outputs.look.colors.mid} ctermbg=238
hi Pmenu guibg=#${outputs.look.colors.mid} ctermbg=238
hi Visual guibg=#${config.look.colors.mid} ctermbg=238
hi Pmenu guibg=#${config.look.colors.mid} ctermbg=238
hi EndOfBuffer guibg=none ctermbg=235
hi LineNr guibg=none ctermbg=none
lua require'colorizer'.setup()

View file

@ -1,9 +1,9 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
gtk = {
enable = true;
font = {
name = "${outputs.look.fonts.main}";
name = "${config.look.fonts.main}";
size = 11;
};
theme = {

View file

@ -1,15 +1,16 @@
{ config, pkgs, outputs, ... }:
{ config, pkgs, ... }:
{
imports = [
./hardware
./theme
./hotkeys
./programs
./rules
./autostart
./waybar
./swayshot
./swaylock
./swayfx
#./swayfx
];
# Enable Sway and write some scripts
@ -20,7 +21,7 @@
checkConfig = false;
extraConfig = ''
# Options I can't find in Nix yet
default_floating_border pixel ${outputs.look.border.string}
default_floating_border pixel ${config.look.border.string}
hide_edge_borders --i3 smart
titlebar_padding 10 1
primary_selection disabled
@ -32,8 +33,8 @@
}}
# Switch to workspace 1
workspace ${outputs.ws.w7}
workspace ${outputs.ws.w1}
workspace ${config.ws.w7}
workspace ${config.ws.w1}
'';
};
}

View file

@ -1,10 +1,10 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
wayland.windowManager.sway = {
config = {
# Define monitors
output = {
${outputs.displays.d1} = {
${config.displays.d1} = {
pos = "1920 405";
mode = "1920x1080@143.980Hz";
max_render_time = "3";
@ -12,13 +12,13 @@
adaptive_sync = "on";
#tearing_allowed = "1";
};
${outputs.displays.d2} = {
${config.displays.d2} = {
pos = "0 405";
mode = "1920x1080@60Hz";
max_render_time = "3";
bg = "~/.wallpapers/2.png fill";
};
${outputs.displays.d3} = {
${config.displays.d3} = {
pos = "3840 0";
mode = "1680x1050@59.883Hz";
transform = "270";

View file

@ -1,4 +1,4 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
wayland.windowManager.sway = {
config = let
@ -16,9 +16,9 @@
# Get the current border style of the focused window
current_style=$(swaymsg -t get_tree | jq -r '.. | select(.focused?).border')
# Toggle between "normal" (default) and "pixel ${outputs.look.border.string}" border styles
# Toggle between "normal" (default) and "pixel ${config.look.border.string}" border styles
if [ "$current_style" == "none" ]; then
swaymsg "sticky disable, border pixel ${outputs.look.border.string}"
swaymsg "sticky disable, border pixel ${config.look.border.string}"
else
swaymsg "sticky enable, border none"
fi
@ -28,7 +28,7 @@
swayTools = pkgs.writeScript "swaytools" ''
# List the app name and whether or not it uses wayland
swayprop() {
selected_window=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | "\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)"' | slurp -r -c ${outputs.look.colors.prime} -B 00000066 -b 00000000)
selected_window=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | "\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)"' | slurp -r -c ${config.look.colors.prime} -B 00000066 -b 00000000)
if [ -n "$selected_window" ]; then
app_id=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | select("\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)" == "'"$selected_window"'") | .app_id')
system=$(sed 's/xdg_shell/Wayland/g; s/xwayland/Xorg/g' < <(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | select("\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)" == "'"$selected_window"'") | .shell'))
@ -38,7 +38,7 @@
# Kill a selected window
swaykill() {
selected_window=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | "\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)"' | slurp -r -c ${outputs.look.colors.prime} -B 00000066 -b 00000000)
selected_window=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | "\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)"' | slurp -r -c ${config.look.colors.prime} -B 00000066 -b 00000000)
if [ -n "$selected_window" ]; then
pid=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | select("\(.rect.x),\(.rect.y) \(.rect.width)x\(.rect.height)" == "'"$selected_window"'") | .pid')
kill -9 "$pid"
@ -143,7 +143,7 @@
"Shift+Print" = ''exec swayshot --screen'';
# Server SSH
"${primeMod}+Ctrl+Return" = ''exec foot ssh ${outputs.ips.server} -p 2222'';
"${primeMod}+Ctrl+Return" = ''exec foot ssh ${config.ips.server} -p 2222'';
# Display Brightness and Keyboard Brightness
"XF86MonBrightnessUp" = ''exec light -A 5'';
@ -158,50 +158,50 @@
"${primeMod}+Shift+r" = ''reload'';
# Switch to workspaces
"${primeMod}+grave" = ''workspace ${outputs.ws.w0}'';
"${primeMod}+1" = ''workspace ${outputs.ws.w1}'';
"${primeMod}+2" = ''workspace ${outputs.ws.w2}'';
"${primeMod}+3" = ''workspace ${outputs.ws.w3}'';
"${primeMod}+4" = ''workspace ${outputs.ws.w4}'';
"${primeMod}+5" = ''workspace ${outputs.ws.w5}'';
"${primeMod}+6" = ''workspace ${outputs.ws.w6}'';
"${primeMod}+7" = ''workspace ${outputs.ws.w7}'';
"${primeMod}+8" = ''workspace ${outputs.ws.w8}'';
"${primeMod}+9" = ''workspace ${outputs.ws.w9}'';
"${primeMod}+grave" = ''workspace ${config.ws.w0}'';
"${primeMod}+1" = ''workspace ${config.ws.w1}'';
"${primeMod}+2" = ''workspace ${config.ws.w2}'';
"${primeMod}+3" = ''workspace ${config.ws.w3}'';
"${primeMod}+4" = ''workspace ${config.ws.w4}'';
"${primeMod}+5" = ''workspace ${config.ws.w5}'';
"${primeMod}+6" = ''workspace ${config.ws.w6}'';
"${primeMod}+7" = ''workspace ${config.ws.w7}'';
"${primeMod}+8" = ''workspace ${config.ws.w8}'';
"${primeMod}+9" = ''workspace ${config.ws.w9}'';
# Switch to alternate workspaces
"${secMod}+F1" = ''workspace ${outputs.ws.w1a}'';
"${secMod}+F2" = ''workspace ${outputs.ws.w2a}'';
"${secMod}+F3" = ''workspace ${outputs.ws.w3a}'';
"${secMod}+F4" = ''workspace ${outputs.ws.w4a}'';
"${secMod}+F5" = ''workspace ${outputs.ws.w5a}'';
"${secMod}+F6" = ''workspace ${outputs.ws.w6a}'';
"${secMod}+F7" = ''workspace ${outputs.ws.w7a}'';
"${secMod}+F8" = ''workspace ${outputs.ws.w8a}'';
"${secMod}+F9" = ''workspace ${outputs.ws.w9a}'';
"${secMod}+F1" = ''workspace ${config.ws.w1a}'';
"${secMod}+F2" = ''workspace ${config.ws.w2a}'';
"${secMod}+F3" = ''workspace ${config.ws.w3a}'';
"${secMod}+F4" = ''workspace ${config.ws.w4a}'';
"${secMod}+F5" = ''workspace ${config.ws.w5a}'';
"${secMod}+F6" = ''workspace ${config.ws.w6a}'';
"${secMod}+F7" = ''workspace ${config.ws.w7a}'';
"${secMod}+F8" = ''workspace ${config.ws.w8a}'';
"${secMod}+F9" = ''workspace ${config.ws.w9a}'';
# Move window to and focus new workspace
"${primeMod}+Shift+grave" = ''move container to workspace ${outputs.ws.w0}; workspace ${outputs.ws.w0}'';
"${primeMod}+Shift+1" = ''move container to workspace ${outputs.ws.w1}; workspace ${outputs.ws.w1}'';
"${primeMod}+Shift+2" = ''move container to workspace ${outputs.ws.w2}; workspace ${outputs.ws.w2}'';
"${primeMod}+Shift+3" = ''move container to workspace ${outputs.ws.w3}; workspace ${outputs.ws.w3}'';
"${primeMod}+Shift+4" = ''move container to workspace ${outputs.ws.w4}; workspace ${outputs.ws.w4}'';
"${primeMod}+Shift+5" = ''move container to workspace ${outputs.ws.w5}; workspace ${outputs.ws.w5}'';
"${primeMod}+Shift+6" = ''move container to workspace ${outputs.ws.w6}; workspace ${outputs.ws.w6}'';
"${primeMod}+Shift+7" = ''move container to workspace ${outputs.ws.w7}; workspace ${outputs.ws.w7}'';
"${primeMod}+Shift+8" = ''move container to workspace ${outputs.ws.w8}; workspace ${outputs.ws.w8}'';
"${primeMod}+Shift+9" = ''move container to workspace ${outputs.ws.w9}; workspace ${outputs.ws.w9}'';
"${primeMod}+Shift+grave" = ''move container to workspace ${config.ws.w0}; workspace ${config.ws.w0}'';
"${primeMod}+Shift+1" = ''move container to workspace ${config.ws.w1}; workspace ${config.ws.w1}'';
"${primeMod}+Shift+2" = ''move container to workspace ${config.ws.w2}; workspace ${config.ws.w2}'';
"${primeMod}+Shift+3" = ''move container to workspace ${config.ws.w3}; workspace ${config.ws.w3}'';
"${primeMod}+Shift+4" = ''move container to workspace ${config.ws.w4}; workspace ${config.ws.w4}'';
"${primeMod}+Shift+5" = ''move container to workspace ${config.ws.w5}; workspace ${config.ws.w5}'';
"${primeMod}+Shift+6" = ''move container to workspace ${config.ws.w6}; workspace ${config.ws.w6}'';
"${primeMod}+Shift+7" = ''move container to workspace ${config.ws.w7}; workspace ${config.ws.w7}'';
"${primeMod}+Shift+8" = ''move container to workspace ${config.ws.w8}; workspace ${config.ws.w8}'';
"${primeMod}+Shift+9" = ''move container to workspace ${config.ws.w9}; workspace ${config.ws.w9}'';
# Move window to and focus new alternate workspace
"${secMod}+Shift+F1" = ''move container to workspace ${outputs.ws.w1a}; workspace ${outputs.ws.w1a}'';
"${secMod}+Shift+F2" = ''move container to workspace ${outputs.ws.w2a}; workspace ${outputs.ws.w2a}'';
"${secMod}+Shift+F3" = ''move container to workspace ${outputs.ws.w3a}; workspace ${outputs.ws.w3a}'';
"${secMod}+Shift+F4" = ''move container to workspace ${outputs.ws.w4a}; workspace ${outputs.ws.w4a}'';
"${secMod}+Shift+F5" = ''move container to workspace ${outputs.ws.w5a}; workspace ${outputs.ws.w5a}'';
"${secMod}+Shift+F6" = ''move container to workspace ${outputs.ws.w6a}; workspace ${outputs.ws.w6a}'';
"${secMod}+Shift+F7" = ''move container to workspace ${outputs.ws.w7a}; workspace ${outputs.ws.w7a}'';
"${secMod}+Shift+F8" = ''move container to workspace ${outputs.ws.w8a}; workspace ${outputs.ws.w8a}'';
"${secMod}+Shift+F9" = ''move container to workspace ${outputs.ws.w9a}; workspace ${outputs.ws.w9a}'';
"${secMod}+Shift+F1" = ''move container to workspace ${config.ws.w1a}; workspace ${config.ws.w1a}'';
"${secMod}+Shift+F2" = ''move container to workspace ${config.ws.w2a}; workspace ${config.ws.w2a}'';
"${secMod}+Shift+F3" = ''move container to workspace ${config.ws.w3a}; workspace ${config.ws.w3a}'';
"${secMod}+Shift+F4" = ''move container to workspace ${config.ws.w4a}; workspace ${config.ws.w4a}'';
"${secMod}+Shift+F5" = ''move container to workspace ${config.ws.w5a}; workspace ${config.ws.w5a}'';
"${secMod}+Shift+F6" = ''move container to workspace ${config.ws.w6a}; workspace ${config.ws.w6a}'';
"${secMod}+Shift+F7" = ''move container to workspace ${config.ws.w7a}; workspace ${config.ws.w7a}'';
"${secMod}+Shift+F8" = ''move container to workspace ${config.ws.w8a}; workspace ${config.ws.w8a}'';
"${secMod}+Shift+F9" = ''move container to workspace ${config.ws.w9a}; workspace ${config.ws.w9a}'';
# Change focus across windows
"${primeMod}+Up" = ''focus up'';
@ -209,10 +209,10 @@
"${primeMod}+Left" = ''focus left'';
"${primeMod}+Right" = ''focus right'';
# Switch focus across outputs
"${primeMod}+j" = ''focus output ${outputs.displays.d2}'';
"${primeMod}+k" = ''focus output ${outputs.displays.d1}'';
"${primeMod}+l" = ''focus output ${outputs.displays.d3}'';
# Switch focus across config
"${primeMod}+j" = ''focus output ${config.displays.d2}'';
"${primeMod}+k" = ''focus output ${config.displays.d1}'';
"${primeMod}+l" = ''focus output ${config.displays.d3}'';
# Move focused window
"${primeMod}+Shift+Up" = ''move up ${resizeAmount} px'';
@ -220,10 +220,10 @@
"${primeMod}+Shift+Left" = ''move left ${resizeAmount} px'';
"${primeMod}+Shift+Right" = ''move right ${resizeAmount} px'';
# Move window across outputs
"${primeMod}+Shift+j" = ''move output ${outputs.displays.d2}; focus output ${outputs.displays.d2}'';
"${primeMod}+Shift+k" = ''move output ${outputs.displays.d1}; focus output ${outputs.displays.d1}'';
"${primeMod}+Shift+l" = ''move output ${outputs.displays.d3}; focus output ${outputs.displays.d3}'';
# Move window across config
"${primeMod}+Shift+j" = ''move output ${config.displays.d2}; focus output ${config.displays.d2}'';
"${primeMod}+Shift+k" = ''move output ${config.displays.d1}; focus output ${config.displays.d1}'';
"${primeMod}+Shift+l" = ''move output ${config.displays.d3}; focus output ${config.displays.d3}'';
# Change focus between floating/tiled, toggle floating
"${primeMod}+space" = ''focus mode_toggle'';

View file

@ -1,33 +1,33 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
wayland.windowManager.sway = {
config = {
# Assign workspaces to outputs
# Assign workspaces to config
workspaceOutputAssign = let
workspaces1 = [
"${outputs.ws.w0}"
"${outputs.ws.w1}"
"${outputs.ws.w2}"
"${outputs.ws.w3}"
"${outputs.ws.w1a}"
"${outputs.ws.w2a}"
"${outputs.ws.w3a}"
"${config.ws.w0}"
"${config.ws.w1}"
"${config.ws.w2}"
"${config.ws.w3}"
"${config.ws.w1a}"
"${config.ws.w2a}"
"${config.ws.w3a}"
];
workspaces2 = [
"${outputs.ws.w4}"
"${outputs.ws.w5}"
"${outputs.ws.w6}"
"${outputs.ws.w4a}"
"${outputs.ws.w5a}"
"${outputs.ws.w6a}"
"${config.ws.w4}"
"${config.ws.w5}"
"${config.ws.w6}"
"${config.ws.w4a}"
"${config.ws.w5a}"
"${config.ws.w6a}"
];
workspaces3 = [
"${outputs.ws.w7}"
"${outputs.ws.w8}"
"${outputs.ws.w9}"
"${outputs.ws.w7a}"
"${outputs.ws.w8a}"
"${outputs.ws.w9a}"
"${config.ws.w7}"
"${config.ws.w8}"
"${config.ws.w9}"
"${config.ws.w7a}"
"${config.ws.w8a}"
"${config.ws.w9a}"
];
assign = output: workspaces:
map (workspace: {
@ -36,13 +36,13 @@
})
workspaces;
in
(assign "${outputs.displays.d1}" workspaces1) ++
(assign "${outputs.displays.d2}" workspaces2) ++
(assign "${outputs.displays.d3}" workspaces3);
(assign "${config.displays.d1}" workspaces1) ++
(assign "${config.displays.d2}" workspaces2) ++
(assign "${config.displays.d3}" workspaces3);
# Rules
window = {
border = outputs.look.border.int;
border = config.look.border.int;
titlebar = false;
commands = [
# Scratchpads
@ -76,7 +76,7 @@
# Give apps that don't have them borders
{
criteria = {con_mark = "borderless";};
command = ''border pixel ${outputs.look.border.string}'';
command = ''border pixel ${config.look.border.string}'';
}
{
criteria = {app_id = "com.github.wwmm.easyeffects";};
@ -111,20 +111,20 @@
];
};
assigns = {
# Brooutputs.wsers
"${outputs.ws.w1}" = [{app_id = "JimBrowser";}];
"${outputs.ws.w1a}" = [{app_id = "AltBrowser";}];
# Broconfig.wsers
"${config.ws.w1}" = [{app_id = "JimBrowser";}];
"${config.ws.w1a}" = [{app_id = "AltBrowser";}];
# Communication
"${outputs.ws.w3a}" = [{class = "zoom";}];
"${outputs.ws.w7}" = [{app_id = "MiscBrowser";} {app_id = "vesktop";} {class = "vesktop";}];
"${outputs.ws.w8}" = [{app_id = "org.gnome.Fractal";}];
"${outputs.ws.w9}" = [{app_id = "thunderbird";}];
"${config.ws.w3a}" = [{class = "zoom";}];
"${config.ws.w7}" = [{app_id = "MiscBrowser";} {app_id = "vesktop";} {class = "vesktop";}];
"${config.ws.w8}" = [{app_id = "org.gnome.Fractal";}];
"${config.ws.w9}" = [{app_id = "thunderbird";}];
# Else
"${outputs.ws.w2}" = [{class = "steam";} {app_id = "heroic";}];
"${outputs.ws.w2a}" = [{app_id = "looking-glass-client";}];
"${outputs.ws.w4a}" = [{app_id = "com.obsproject.Studio";}];
"${config.ws.w2}" = [{class = "steam";} {app_id = "heroic";}];
"${config.ws.w2a}" = [{app_id = "looking-glass-client";}];
"${config.ws.w4a}" = [{app_id = "com.obsproject.Studio";}];
};
focus.newWindow = "focus";
};

View file

@ -1,7 +1,7 @@
{ pkgs, ... }:
{
wayland.windowManager.sway = {
package = pkgs.unstable.sway;
package = pkgs.swayfx;
extraConfig = ''
blur enable
blur_passes 3

View file

@ -1,14 +1,14 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
let
swayLock = pkgs.writeScriptBin "swaylock" ''
# Set the lock script
lockscript() {
BLANK='#00000000'
CLEAR='#FFFFFF22'
DEFAULT='#${outputs.look.colors.prime}FF'
DEFAULT='#${config.look.colors.prime}FF'
TEXT='#FFFFFFFF'
WRONG='#${outputs.look.colors.split}FF'
VERIFYING='#${outputs.look.colors.accent}FF'
WRONG='#${config.look.colors.split}FF'
VERIFYING='#${config.look.colors.accent}FF'
${pkgs.swaylock-effects}/bin/swaylock -f -e \
--key-hl-color=$VERIFYING \
@ -35,7 +35,7 @@ let
--indicator-radius=80 \
--image=~/.wallpapers/lock.png \
--clock \
--font=${outputs.look.fonts.main} \
--font=${config.look.fonts.main} \
--font-size=30 \
--timestr="%I:%M%p" \
--datestr="%a %b %d %Y"

View file

@ -1,4 +1,4 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
imports = [
./swappy
@ -13,7 +13,7 @@
# Capture the screenshot of the selected area and save to a temporary file
selected_area=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"'\
| XCURSOR_SIZE=40 slurp -w ${outputs.look.border.string} -c ${outputs.look.colors.prime} -B 00000066 -b 00000099)
| XCURSOR_SIZE=40 slurp -w ${config.look.border.string} -c ${config.look.colors.prime} -B 00000066 -b 00000099)
temp_file=$(mktemp -u).png
grim -g "$selected_area" "$temp_file"
@ -31,7 +31,7 @@
handle_screen() {
# Take a screenshot and save it to the temporary file
temp_file=$(mktemp -u).png
grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') "$temp_file"
grim -o $(swaymsg -t get_config | jq -r '.[] | select(.focused) | .name') "$temp_file"
# Check if the screenshot was successfully taken
if [ $? -eq 0 ]; then

View file

@ -1,4 +1,4 @@
{ config, pkgs, outputs, ... }:
{ config, pkgs, ... }:
{
wayland.windowManager.sway = {
enable = true;
@ -7,36 +7,36 @@
config = {
colors = {
focused = {
border = "#${outputs.look.colors.prime}";
background = "#${outputs.look.colors.prime}";
border = "#${config.look.colors.prime}";
background = "#${config.look.colors.prime}";
text = "#FFFFFF";
indicator = "#${outputs.look.colors.actSplit}";
childBorder = "#${outputs.look.colors.prime}";
indicator = "#${config.look.colors.actSplit}";
childBorder = "#${config.look.colors.prime}";
};
focusedInactive = {
border = "#${outputs.look.colors.accent}";
background = "#${outputs.look.colors.accent}";
text = "#${outputs.look.colors.text}";
indicator = "#${outputs.look.colors.split}";
childBorder = "#${outputs.look.colors.accent}";
border = "#${config.look.colors.accent}";
background = "#${config.look.colors.accent}";
text = "#${config.look.colors.text}";
indicator = "#${config.look.colors.split}";
childBorder = "#${config.look.colors.accent}";
};
unfocused = {
border = "#${outputs.look.colors.dark}";
background = "#${outputs.look.colors.dark}";
text = "#${outputs.look.colors.text}";
indicator = "#${outputs.look.colors.split}";
childBorder = "#${outputs.look.colors.split}";
border = "#${config.look.colors.dark}";
background = "#${config.look.colors.dark}";
text = "#${config.look.colors.text}";
indicator = "#${config.look.colors.split}";
childBorder = "#${config.look.colors.split}";
};
urgent = {
border = "#${outputs.look.colors.urgent}";
background = "#${outputs.look.colors.urgent}";
text = "#${outputs.look.colors.text}";
indicator = "#${outputs.look.colors.urgent}";
childBorder = "#${outputs.look.colors.urgent}";
border = "#${config.look.colors.urgent}";
background = "#${config.look.colors.urgent}";
text = "#${config.look.colors.text}";
indicator = "#${config.look.colors.urgent}";
childBorder = "#${config.look.colors.urgent}";
};
};
fonts = {
names = ["${outputs.look.fonts.main}"];
names = ["${config.look.fonts.main}"];
size = 10.5;
};
gaps = {

View file

@ -1,4 +1,4 @@
{ pkgs, outputs, ... }:
{ pkgs, config, ... }:
{
programs.waybar = let
swayWorkspacesModule = {
@ -11,7 +11,7 @@
swayWindowsModule = {
icon = true;
icon-size = 15;
all-outputs = true;
all-config = true;
tooltip = false;
rewrite = {
"(.*) LibreWolf" = " $1";
@ -262,7 +262,7 @@
name = "bar1";
position = "top";
layer = "bottom";
output = [outputs.displays.d1 "VGA-1"];
output = [config.displays.d1 "VGA-1"];
modules-left = ["sway/workspaces" "sway/window"];
modules-right = [
"pulseaudio"
@ -293,7 +293,7 @@
name = "bar2";
position = "top";
layer = "bottom";
output = [outputs.displays.d2];
output = [config.displays.d2];
modules-left = ["sway/workspaces" "sway/window"];
modules-right = [
"pulseaudio"
@ -318,7 +318,7 @@
name = "bar3";
position = "top";
layer = "bottom";
output = [outputs.displays.d3];
output = [config.displays.d3];
modules-left = ["sway/workspaces" "sway/window"];
modules-right = [
"pulseaudio"
@ -383,12 +383,12 @@
border: 0;
border-radius: 0;
min-height: 0;
font-family: ${outputs.look.fonts.main}, ${outputs.look.fonts.nerd};
font-family: ${config.look.fonts.main}, ${config.look.fonts.nerd};
font-size: 15.5px;
color: #${outputs.look.colors.text};
color: #${config.look.colors.text};
}
#waybar {
background: #${outputs.look.colors.dark};
background: #${config.look.colors.dark};
}
#workspaces {
padding: 0 6px 0 0;
@ -413,15 +413,15 @@
min-width: 20px;
}
#workspaces button.visible {
border-bottom: 3px solid #${outputs.look.colors.prime};
background: #${outputs.look.colors.mid};
border-bottom: 3px solid #${config.look.colors.prime};
background: #${config.look.colors.mid};
}
#workspaces button.urgent {
border-bottom: 3px solid #${outputs.look.colors.urgent};
border-bottom: 3px solid #${config.look.colors.urgent};
}
#workspaces button:hover {
box-shadow: none;
background: #${outputs.look.colors.light};
background: #${config.look.colors.light};
}
#scratchpad {
margin-left: 2px;
@ -457,13 +457,13 @@
color: #888;
}
#custom-weather {
border-bottom: 3px solid #${outputs.look.colors.prime};
border-bottom: 3px solid #${config.look.colors.prime};
}
#custom-weather2 {
border-bottom: 3px solid #c75bd3;
}
#custom-notifs {
border-bottom: 3px solid #${outputs.look.colors.prime};
border-bottom: 3px solid #${config.look.colors.prime};
}
#custom-notifs.disabled {
color: #888;