This commit is contained in:
meml0rz
2024-12-09 20:49:04 +01:00
parent ec562be4b2
commit 6ab819268e
10 changed files with 692 additions and 12 deletions

View File

@ -19,6 +19,11 @@
nixvim,
...
}:
let
system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages.${system};
pkgs-stable = inputs.nixpkgs-stable.legacyPackages.${system};
in
{
nixosConfigurations = {
poggers = nixpkgs.lib.nixosSystem {
@ -27,17 +32,24 @@
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.fabian = import ./modules/home.nix;
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.fabian = import ./modules/home.nix;
};
home-manager.extraSpecialArgs = {
inherit nixvim;
inherit inputs;
inherit pkgs;
inherit pkgs-stable;
};
}
];
};
specialArgs = {
inherit inputs;
inherit pkgs;
inherit pkgs-stable;
};
};
};

View File

@ -3,15 +3,18 @@
imports = [
./nix/user.nix
./nix/nvim/default.nix
./nix/hypr/default.nix
./nix/bspwm/default.nix
#./nix/hypr/default.nix
#./nix/bspwm/default.nix
./nix/sway/default.nix
];
home.enableNixpkgsReleaseCheck = false;
home.stateVersion = "24.05";
home.file = {
".wp/temple.png".source = ./raw/wp/temple.png;
".wp/skull_purple.png".source = ./raw/wp/skull_purple.png;
".wp/gruvbox-dark-blue.png".source = ./raw/wp/gruvbox-dark-blue.png;
home = {
enableNixpkgsReleaseCheck = false;
stateVersion = "24.05";
file = {
".wp/temple.png".source = ./raw/wp/temple.png;
".wp/skull_purple.png".source = ./raw/wp/skull_purple.png;
".wp/gruvbox-dark-blue.png".source = ./raw/wp/gruvbox-dark-blue.png;
};
};
}

View File

@ -7,6 +7,11 @@
font_size 15.0
cursor_shape beam
close_window true
confirm_os_window_close 0
foreground #e6e6dc
background #161616
'';
};
tmux = {

View File

@ -18,6 +18,6 @@
];
programs.nixvim = {
enable = true;
colorschemes.gruvbox.enable = true;
colorschemes.oxocarbon.enable = true;
};
}

View File

@ -0,0 +1,15 @@
{ config, pkgs, ... }:
{
imports = [
./sway.nix
];
home.file = {
# ROFI
".config/rofi/config.rasi".source = ./raw/rofi/config.rasi;
# WEZTERM
".config/wezterm/wezterm.lua".source = ./raw/wezterm/wezterm.lua;
# WAYBAR
".config/waybar/style.css".source = ./raw/waybar/style.css;
".config/waybar/config".source = ./raw/waybar/config;
};
}

View File

@ -0,0 +1,76 @@
configuration {
display-drun: "Applications:";
drun-display-format: "{icon} {name}";
font: "JetBrainsMono Nerd Font Medium 10";
show-icons: true;
modi: "drun";
}
@theme "/dev/null"
* {
opacity: 0.5;
color0: #39305320;
color1: #494d6420;
color3: #d8dee9;
color4: #7b68ee;
color5: #cbe3e7;
background-color: transparent;
text-color: @color3;
accent-color: @color5;
margin: 0px;
border: 0px;
padding: 0px;
spacing: 0px;
}
window {
background-color: @color0;
border-color: @accent-color;
width: 50%;
border: 2px;
}
inputbar {
padding: 10px 12px;
spacing: 12px;
children: [ prompt, entry ];
}
prompt, entry, element-text, element-icon {
vertical-align: 0.5;
}
prompt {
text-color: @accent-color;
enabled: true;
text-color: @color4;
}
listview {
lines: 8;
columns: 2;
}
element {
padding: 8px;
spacing: 8px;
}
element selected {
text-color: @color4;
}
element-icon {
size: 20;
}
element-text {
text-color: inherit;
}

View File

@ -0,0 +1,189 @@
[
{
"battery": {
"format": "{icon} {capacity}%",
"format-alt": "{icon} {time}",
"format-charging": " {capacity}%",
"format-icons": [
"",
"",
"",
"",
""
],
"format-plugged": " {capacity}% ",
"states": {
"critical": 15,
"good": 95,
"warning": 30
}
},
"cava#left": {
"autosens": 1,
"bar_delimiter": 0,
"bars": 18,
"format-icons": [
"<span foreground='#cba6f7'>▁</span>",
"<span foreground='#cba6f7'>▂</span>",
"<span foreground='#cba6f7'>▃</span>",
"<span foreground='#cba6f7'>▄</span>",
"<span foreground='#89b4fa'>▅</span>",
"<span foreground='#89b4fa'>▆</span>",
"<span foreground='#89b4fa'>▇</span>",
"<span foreground='#89b4fa'>█</span>"
],
"framerate": 60,
"higher_cutoff_freq": 10000,
"input_delay": 2,
"lower_cutoff_freq": 50,
"method": "pulse",
"monstercat": false,
"reverse": false,
"source": "auto",
"stereo": true,
"waves": false
},
"cava#right": {
"autosens": 1,
"bar_delimiter": 0,
"bars": 18,
"format-icons": [
"<span foreground='#cba6f7'>▁</span>",
"<span foreground='#cba6f7'>▂</span>",
"<span foreground='#cba6f7'>▃</span>",
"<span foreground='#cba6f7'>▄</span>",
"<span foreground='#89b4fa'>▅</span>",
"<span foreground='#89b4fa'>▆</span>",
"<span foreground='#89b4fa'>▇</span>",
"<span foreground='#89b4fa'>█</span>"
],
"framerate": 60,
"higher_cutoff_freq": 10000,
"input_delay": 2,
"lower_cutoff_freq": 50,
"method": "pulse",
"monstercat": false,
"reverse": false,
"source": "auto",
"stereo": true,
"waves": false
},
"clock": {
"format": " {:%a, %d %b, %I:%M %p}",
"format-alt": " {:%d/%m}",
"tooltip": "true",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"cpu": {
"format": "󰻠 {usage}%",
"format-alt": "󰻠 {avg_frequency} GHz",
"interval": 5
},
"custom/launcher": {
"format": "",
"tooltip": "false"
},
"custom/playerctl#backward": {
"format": "󰙣 ",
"on-click": "playerctl previous",
"on-scroll-down": "playerctl volume .05-",
"on-scroll-up": "playerctl volume .05+"
},
"custom/playerctl#foward": {
"format": "󰙡 ",
"on-click": "playerctl next",
"on-scroll-down": "playerctl volume .05-",
"on-scroll-up": "playerctl volume .05+"
},
"custom/playerctl#play": {
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
"format": "{icon}",
"format-icons": {
"Paused": "<span> </span>",
"Playing": "<span>󰏥 </span>",
"Stopped": "<span> </span>"
},
"on-click": "playerctl play-pause",
"on-scroll-down": "playerctl volume .05-",
"on-scroll-up": "playerctl volume .05+",
"return-type": "json"
},
"custom/playerlabel": {
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
"format": "<span>󰎈 {} 󰎈</span>",
"max-length": 40,
"on-click": "",
"return-type": "json"
},
"custom/randwall": {
"format": "󰏘"
},
"height": 35,
"layer": "top",
"margin-bottom": 0,
"margin-left": 0,
"margin-right": 0,
"margin-top": 0,
"memory": {
"format": "󰍛 {}%",
"format-alt": "󰍛 {used}/{total} GiB",
"interval": 5
},
"modules-center": [
"custom/playerlabel",
],
"modules-left": [
"cava#left",
"custom/playerctl#backward",
"custom/playerctl#play",
"custom/playerctl#foward",
],
"modules-right": [
"tray",
"battery",
"pulseaudio",
"network",
],
"network": {
"format-disconnected": "󰖪 0% ",
"format-ethernet": "󰈀 100% ",
"format-linked": "{ifname} (No IP)",
"format-wifi": " {signalStrength}%",
"tooltip-format": "Connected to {essid} {ifname} via {gwaddr}"
},
"position": "top",
"pulseaudio": {
"format": "{icon} {volume}%",
"format-icons": {
"default": [
"󰕿",
"󰖀",
"󰕾"
]
},
"format-muted": "󰝟",
"on-click": "pavucontrol",
"scroll-step": 5
},
"tray": {
"icon-size": 20,
"spacing": 8
},
"wlr/workspaces": {
"active-only": false,
"all-outputs": false,
"disable-scroll": false,
"format": "{name}",
"format-icons": {
"active": "",
"default": "",
"sort-by-number": true,
"urgent": ""
},
"on-click": "activate",
"on-scroll-down": "hyprctl dispatch workspace e+1",
"on-scroll-up": "hyprctl dispatch workspace e-1"
}
}
]

View File

@ -0,0 +1,134 @@
* {
border: none;
border-radius: 0px;
font-family: RobotoMono Nerd Font;
font-size: 14px;
min-height: 0;
}
window#waybar {
/* background: rgba(17,17,27,1); */
background: transparent;
}
#cava.left, #cava.right {
/* background: #25253a; */
/*background: #25253a;*/
background: #010101;
margin: 5px;
padding: 8px 16px;
color: #cba6f7;
}
#cava.left {
border-radius: 24px 24px 24px 24px;
}
#cava.right {
border-radius: 10px 24px 10px 24px;
}
#workspaces {
background: #11111b;
margin: 5px 5px;
padding: 8px 5px;
border-radius: 16px;
color: #cba6f7
}
#workspaces button {
padding: 0px 5px;
margin: 0px 3px;
border-radius: 16px;
color: transparent;
background: rgba(17,17,27,1);
transition: all 0.3s ease-in-out;
}
#workspaces button.active {
background-color: #89b4fa;
color: #11111B;
border-radius: 16px;
min-width: 50px;
background-size: 400% 400%;
transition: all 0.3s ease-in-out;
}
#workspaces button:hover {
background-color: #f5f5f5;
color: #11111B;
border-radius: 16px;
min-width: 50px;
background-size: 400% 400%;
}
#tray, #pulseaudio, #network, #battery,
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward{
background: #010101;
font-weight: bold;
margin: 5px 0px;
opacity: 1;
}
#tray, #pulseaudio, #network, #battery{
color: #f5f5f5;
border-radius: 24px 24px 24px 24px;
padding: 0 20px;
margin-left: 7px;
}
#clock {
color: #f5f5f5;
background: #010101;
border-radius: 0px 0px 0px 40px;
padding: 10px 10px 15px 25px;
margin-left: 7px;
font-weight: bold;
font-size: 16px;
}
#custom-launcher {
color: #89b4fa;
background: #010101;
border-radius: 0px 0px 40px 0px;
margin: 0px;
padding: 0px 35px 0px 15px;
font-size: 28px;
}
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward {
background: #010101;
font-size: 22px;
}
#custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.foward:hover{
color: #f5f5f5;
}
#custom-playerctl.backward {
color: #cba6f7;
border-radius: 24px 0px 0px 24px;
padding-left: 16px;
margin-left: 7px;
}
#custom-playerctl.play {
color: #89b4fa;
padding: 0 5px;
}
#custom-playerctl.foward {
color: #cba6f7;
border-radius: 0px 24px 24px 0px;
padding-right: 12px;
margin-right: 7px
}
#custom-playerlabel {
background: #010101;
color: #f5f5f5;
padding: 0 20px;
border-radius: 24px 24px 24px 24px;
margin: 5px 0;
font-weight: bold;
}
#window{
/*background: #25253a; */
padding-left: 15px;
padding-right: 15px;
border-radius: 16px;
margin-top: 5px;
margin-bottom: 5px;
font-weight: normal;
font-style: normal;
opacity: 0.1;
}

View File

@ -0,0 +1,139 @@
local wezterm = require 'wezterm'
local act = wezterm.action
mb = {
}
for i = 1,99,1
do
table.insert(mb,
{
event = { Down = { streak = i, button = 'Middle' } },
mods = 'NONE',
action = act.PasteFrom("PrimarySelection")
})
table.insert(mb, {
event = { Down = { streak = i, button = 'Right' } },
mods = 'NONE',
action = wezterm.action_callback(function(window, pane)
local has_selection = window:get_selection_text_for_pane(pane) ~= ''
if has_selection then
window:perform_action(
act.CopyTo 'ClipboardAndPrimarySelection',
pane
)
window:perform_action(act.ClearSelection, pane)
else
window:perform_action(act.PasteFrom("PrimarySelection"), pane)
end
end),
})
end
return {
disable_default_key_bindings = true,
pane_focus_follows_mouse = false,
mouse_bindings = mb,
-- leader = { key = 'VoidSymbol', timeout_milliseconds = 1000 },
keys = {
-- {
-- key = 'c',
-- mods = 'CTRL|SHIFT',
-- action = wezterm.action.SpawnCommandInNewTab {
-- args = { 'zsh' },
-- cwd = '~'
-- },
-- },
{
key = 'v',
mods = 'CTRL|SHIFT',
action = act.PasteFrom("Clipboard"),
},
{
key = 'c',
mods = 'CTRL|SHIFT',
action = act.CopyTo("Clipboard"),
},
{
key = 't',
mods = 'CTRL|SHIFT',
action = wezterm.action.SpawnCommandInNewTab {
args = { 'fish' },
cwd = '~'
},
},
{
key = 'f',
mods = 'CTRL',
action = wezterm.action.TogglePaneZoomState,
},
-- {
-- key = 'p',
-- mods = 'LEADER',
-- action = act.ActivateTabRelative(-1),
-- },
-- {
-- key = 'n',
-- mods = 'LEADER',
-- action = act.ActivateTabRelative(1),
-- },
},
window_padding = {
left = 2,
right = 2,
top = 0,
bottom = 0,
},
window_frame = {
border_left_width = '0.5cell',
border_right_width = '0.5cell',
},
window_background_opacity = 0.50,
window_decorations = "NONE",
tab_bar_at_bottom = true,
hide_tab_bar_if_only_one_tab = true,
warn_about_missing_glyphs = false,
use_fancy_tab_bar = true,
scrollback_lines = 999999,
enable_scroll_bar = false,
adjust_window_size_when_changing_font_size=false,
-- font = wezterm.font_with_fallback({"Hack", "Twemoji"}),
font_size = 15,
force_reverse_video_cursor = false,
colors = {
ansi = {
'#1d1f21',
'#cc6666',
'#b5bd68',
'#f0c674',
'#81a2be',
'#b294bb',
'#8abeb7',
'#c5c8c6'
},
background = '#010101',
brights = {
'#969896',
'#cc6666',
'#b5bd68',
'#f0c674',
'#81a2be',
'#b294bb',
'#8abeb7',
'#ffffff'
},
foreground = '#c5c8c6',
selection_bg = '#373b41',
selection_fg = '#c5c8c6',
cursor_bg = '#c5c8c6',
cursor_border = '#c5c8c6',
cursor_fg = '#1d1f21',
},
-- color_scheme = 'Catppuccin Macchiato',
-- default_cursor_style = 'BlinkingBlock',
-- cursor_blink_rate = 500,
-- animation_fps = 100,
-- front_end = "Software",
}

107
modules/nix/sway/sway.nix Normal file
View File

@ -0,0 +1,107 @@
{ config, pkgs, ... }:
{
wayland.windowManager.sway = {
enable = true;
xwayland = true;
package = pkgs.swayfx-unwrapped;
wrapperFeatures.gtk = true;
checkConfig = false;
extraSessionCommands = ''
export _JAVA_AWT_WM_NONREPARENTING=1
export QT_QPA_PLATFORM=wayland
export XDG_CURRENT_DESKTOP=sway
'';
config = rec {
modifier = "Mod4";
terminal = "wezterm";
menu = "${pkgs.rofi}/bin/rofi -show drun -c .config/rofi/config.rasi";
startup = [
{ command = "swaybg -i $HOME/.wp/skull_purple.png"; }
];
bars = [ { command = "waybar"; } ];
gaps = {
outer = 5;
inner = 10;
};
window = {
border = 0;
};
keybindings = {
# IMPORTANT STUFF #
"${modifier}+Return" = "exec ${terminal}";
"${modifier}+space" = "exec ${menu}";
"${modifier}+Q" = "kill";
"${modifier}+Shift+R" = "reload";
# WINDOW STUFF #
"${modifier}+Shift+space" = "floating toggle";
"${modifier}+Shift+F" = "fullscreen toggle";
"${modifier}+Left" = "focus left";
"${modifier}+Down" = "focus down";
"${modifier}+Up" = "focus up";
"${modifier}+Right" = "focus right";
"${modifier}+Ctrl+Right" = "resize shrink width 3 px or 3 ppt";
"${modifier}+Ctrl+Down" = "resize grow height 3 px or 3 ppt";
"${modifier}+Ctrl+Up" = "resize shrink height 3 px or 3 ppt";
"${modifier}+Ctrl+Left" = "resize grow width 3 px or 3 ppt";
"${modifier}+Shift+Left" = "move left";
"${modifier}+Shift+Down" = "move down";
"${modifier}+Shift+Up" = "move up";
"${modifier}+Shift+Right" = "move right";
# WORKSPACES #
"${modifier}+1" = "workspace number 1";
"${modifier}+2" = "workspace number 2";
"${modifier}+3" = "workspace number 3";
"${modifier}+4" = "workspace number 4";
"${modifier}+5" = "workspace number 5";
"${modifier}+6" = "workspace number 6";
"${modifier}+7" = "workspace number 7";
"${modifier}+8" = "workspace number 8";
"${modifier}+9" = "workspace number 9";
# MOVE WINDOW TO OTHER WS #
"${modifier}+Shift+1" = "move container to workspace number 1";
"${modifier}+Shift+2" = "move container to workspace number 2";
"${modifier}+Shift+3" = "move container to workspace number 3";
"${modifier}+Shift+4" = "move container to workspace number 4";
"${modifier}+Shift+5" = "move container to workspace number 5";
"${modifier}+Shift+6" = "move container to workspace number 6";
"${modifier}+Shift+7" = "move container to workspace number 7";
"${modifier}+Shift+8" = "move container to workspace number 8";
"${modifier}+Shift+9" = "move container to workspace number 9";
# Audio
"XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +10%";
"XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -10%";
"XF86AudioMute" = "exec set-volume toggle-mute";
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop";
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86MonBrightnessDown" = "exec brightnessctl set 15%-";
"XF86MonBrightnessUp" = "exec brightnessctl set +15%";
};
};
extraConfig = ''
shadows enable
corner_radius 12
blur_radius 7
blur_passes 4
default_dim_inactive 0.2
for_window [app_id="wezterm"] blur enable
for_window [app_id="code"] blur enable
for_window [app_id="rofi"] blur enable
default_border pixel 0px
default_floating_border none
titlebar_border_thickness 0
'';
};
}