video4
This commit is contained in:
parent
1f6e2b3a64
commit
8f009006f9
@ -1,6 +1,8 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./fish.nix
|
./fish.nix
|
||||||
|
./fzf.nix
|
||||||
|
./neofetch.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.zoxide = {
|
programs.zoxide = {
|
||||||
|
38
home/features/cli/fzf.nix
Normal file
38
home/features/cli/fzf.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.features.cli.fzf;
|
||||||
|
in {
|
||||||
|
options.features.cli.fzf.enable = mkEnableOption "enable fuzzy finder";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
"fg" = "#f8f8f2";
|
||||||
|
"bg" = "#282a36";
|
||||||
|
"hl" = "#bd93f9";
|
||||||
|
"fg+" = "#f8f8f2";
|
||||||
|
"bg+" = "#44475a";
|
||||||
|
"hl+" = "#bd93f9";
|
||||||
|
"info" = "#ffb86c";
|
||||||
|
"prompt" = "#50fa7b";
|
||||||
|
"pointer" = "#ff79c6";
|
||||||
|
"marker" = "#ff79c6";
|
||||||
|
"spinner" = "#ffb86c";
|
||||||
|
"header" = "#6272a4";
|
||||||
|
};
|
||||||
|
defaultOptions = [
|
||||||
|
"--preview='bat --color=always -n {}'"
|
||||||
|
"--bind 'ctrl-/:toggle-preview'"
|
||||||
|
];
|
||||||
|
defaultCommand = "fd --type f --exclude .git --follow --hidden";
|
||||||
|
changeDirWidgetCommand = "fd --type d --exclude .git --follow --hidden";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
15
home/features/cli/neofetch.nix
Normal file
15
home/features/cli/neofetch.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.features.cli.neofetch;
|
||||||
|
in {
|
||||||
|
options.features.cli.neofetch.enable = mkEnableOption "enable neofetch";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = with pkgs; [neofetch];
|
||||||
|
};
|
||||||
|
}
|
8
home/features/desktop/default.nix
Normal file
8
home/features/desktop/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
imports = [
|
||||||
|
./wayland.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
251
home/features/desktop/wayland.nix
Normal file
251
home/features/desktop/wayland.nix
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.features.desktop.wayland;
|
||||||
|
in {
|
||||||
|
options.features.desktop.wayland.enable = mkEnableOption "wayland extra tools and config";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
style = ''
|
||||||
|
@define-color background-darker rgba(30, 31, 41, 230);
|
||||||
|
@define-color background #282a36;
|
||||||
|
@define-color selection #44475a;
|
||||||
|
@define-color foreground #f8f8f2;
|
||||||
|
@define-color comment #6272a4;
|
||||||
|
@define-color cyan #8be9fd;
|
||||||
|
@define-color green #50fa7b;
|
||||||
|
@define-color orange #ffb86c;
|
||||||
|
@define-color pink #ff79c6;
|
||||||
|
@define-color purple #bd93f9;
|
||||||
|
@define-color red #ff5555;
|
||||||
|
@define-color yellow #f1fa8c;
|
||||||
|
|
||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
font-family: FiraCode Nerd Font;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 14px;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: rgba(21, 18, 27, 0);
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: #1e1e2e;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-width: 2px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #11111b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 5px;
|
||||||
|
color: #313244;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: #11111b;
|
||||||
|
background: #a6e3a1;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
color: #a6adc8;
|
||||||
|
background: #eba0ac;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
color: #11111b;
|
||||||
|
background: #a6e3a1;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: #11111b;
|
||||||
|
color: #cdd6f4;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-language,
|
||||||
|
#custom-updates,
|
||||||
|
#custom-caffeine,
|
||||||
|
#custom-weather,
|
||||||
|
#window,
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#pulseaudio,
|
||||||
|
#network,
|
||||||
|
#workspaces,
|
||||||
|
#tray,
|
||||||
|
#backlight {
|
||||||
|
background: #1e1e2e;
|
||||||
|
padding: 0px 10px;
|
||||||
|
margin: 3px 0px;
|
||||||
|
margin-top: 10px;
|
||||||
|
border: 1px solid #181825;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
background: #1e1e2e;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-left: 10px;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-caffeine {
|
||||||
|
color: #89dceb;
|
||||||
|
border-radius: 10px 0px 0px 10px;
|
||||||
|
border-right: 0px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-language {
|
||||||
|
color: #f38ba8;
|
||||||
|
border-left: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates {
|
||||||
|
color: #f5c2e7;
|
||||||
|
border-left: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-left: 60px;
|
||||||
|
margin-right: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: #fab387;
|
||||||
|
border-radius: 10px 0px 0px 10px;
|
||||||
|
margin-left: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
color: #f9e2af;
|
||||||
|
border-left: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
color: #89b4fa;
|
||||||
|
border-left: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.microphone {
|
||||||
|
color: #cba6f7;
|
||||||
|
border-left: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: #a6e3a1;
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
margin-right: 10px;
|
||||||
|
border-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather {
|
||||||
|
border-radius: 0px 10px 10px 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
settings = {
|
||||||
|
mainbar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
mod = "dock";
|
||||||
|
exclusive = true;
|
||||||
|
passthrough = false;
|
||||||
|
gtk-layer-shell = true;
|
||||||
|
height = 0;
|
||||||
|
modules-left = ["clock" "custom/weather" "hyprland/workspaces"];
|
||||||
|
modules-center = ["hyprland/window"];
|
||||||
|
modules-right = [
|
||||||
|
"tray"
|
||||||
|
];
|
||||||
|
|
||||||
|
"hyprland/window" = {
|
||||||
|
format = "👉 {}";
|
||||||
|
seperate-outputs = true;
|
||||||
|
};
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
disable-scroll = true;
|
||||||
|
all-outputs = true;
|
||||||
|
on-click = "activate";
|
||||||
|
format = " {name} {icon} ";
|
||||||
|
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||||
|
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||||
|
format-icons = {
|
||||||
|
"1" = "";
|
||||||
|
"2" = "";
|
||||||
|
"3" = "";
|
||||||
|
"4" = "";
|
||||||
|
"5" = "";
|
||||||
|
"6" = "";
|
||||||
|
"7" = "";
|
||||||
|
};
|
||||||
|
persistent_workspaces = {
|
||||||
|
"1" = [];
|
||||||
|
"2" = [];
|
||||||
|
"3" = [];
|
||||||
|
"4" = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"custom/weather" = {
|
||||||
|
format = "{}°C";
|
||||||
|
tooltip = true;
|
||||||
|
interval = 3600;
|
||||||
|
exec = "wttrbar --location Pockau-Lengefeld";
|
||||||
|
return-type = "json";
|
||||||
|
};
|
||||||
|
tray = {
|
||||||
|
icon-size = 13;
|
||||||
|
spacing = 10;
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
format = " {:%R %d/%m}";
|
||||||
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
grim
|
||||||
|
hyprlock
|
||||||
|
qt6.qtwayland
|
||||||
|
slurp
|
||||||
|
waypipe
|
||||||
|
wf-recorder
|
||||||
|
wl-mirror
|
||||||
|
wl-clipboard
|
||||||
|
wlogout
|
||||||
|
wtype
|
||||||
|
ydotool
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -1,13 +1,19 @@
|
|||||||
{config, ...}: {
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../common
|
../common
|
||||||
../features/cli
|
../features/cli
|
||||||
|
../features/desktop
|
||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
features = {
|
features = {
|
||||||
cli = {
|
cli = {
|
||||||
fish.enable = false;
|
fish.enable = true;
|
||||||
|
fzf.enable = true;
|
||||||
|
neofetch.enable = true;
|
||||||
|
};
|
||||||
|
desktop = {
|
||||||
|
wayland.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user