init
This commit is contained in:
commit
b6cdc78668
210 changed files with 9929 additions and 0 deletions
49
hand7s/default.nix
Normal file
49
hand7s/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
imports = [
|
||||
./fonts/fonts.nix
|
||||
./options/gui.nix
|
||||
|
||||
./wayland/hyprland.nix
|
||||
./wayland/river.nix
|
||||
./wayland/sway.nix
|
||||
|
||||
./home/defaults.nix
|
||||
./home/gui.nix
|
||||
./home/keyboard.nix
|
||||
./home/packages.nix
|
||||
./home/shellAliases.nix
|
||||
|
||||
./nixpkgs/config.nix
|
||||
./nixpkgs/overlays.nix
|
||||
|
||||
./services/hypridle.nix
|
||||
./services/swayidle.nix
|
||||
|
||||
./systemd/hyprpanel-service.nix
|
||||
./systemd/hyprpolkitagent-service.nix
|
||||
./systemd/yambar-service.nix
|
||||
|
||||
./programs/bat.nix
|
||||
./programs/eza.nix
|
||||
./programs/fish.nix
|
||||
./programs/fzf.nix
|
||||
./programs/ghostty.nix
|
||||
./programs/git.nix
|
||||
./programs/mpv.nix
|
||||
./programs/helix.nix
|
||||
./programs/index.nix
|
||||
./programs/obs-studio.nix
|
||||
./programs/starship.nix
|
||||
./programs/firefox.nix
|
||||
./programs/swaylock.nix
|
||||
./programs/yazi.nix
|
||||
./programs/zoxide.nix
|
||||
./programs/chrome.nix
|
||||
./programs/fuzzel.nix
|
||||
./programs/hyprlock.nix
|
||||
./programs/hyprpanel.nix
|
||||
./programs/spicetify.nix
|
||||
./programs/vscode.nix
|
||||
./programs/yambar.nix
|
||||
];
|
||||
}
|
||||
9
hand7s/fonts/fonts.nix
Normal file
9
hand7s/fonts/fonts.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
fonts = {
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
12
hand7s/gtk/gtk.nix
Normal file
12
hand7s/gtk/gtk.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Whitesur-icon-theme";
|
||||
package = pkgs.whitesur-icon-theme;
|
||||
};
|
||||
};
|
||||
}
|
||||
9
hand7s/home/defaults.nix
Normal file
9
hand7s/home/defaults.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
home = {
|
||||
stateVersion = "24.11";
|
||||
username = "hand7s";
|
||||
homeDirectory = "/home/hand7s";
|
||||
};
|
||||
}
|
||||
26
hand7s/home/gui.nix
Normal file
26
hand7s/home/gui.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
osConfig,
|
||||
lib,
|
||||
...
|
||||
}:{
|
||||
home = {
|
||||
gui = {
|
||||
enable = lib.mkIf (
|
||||
osConfig.networking.hostName == "s0mePC-nix" || osConfig.networking.hostName == "s0melapt0p-nix"
|
||||
) true;
|
||||
|
||||
|
||||
sessionType = if (
|
||||
osConfig.networking.hostName == "s0mePC-nix"
|
||||
) then (
|
||||
"Hyprland"
|
||||
) else if (
|
||||
osConfig.networking.hostName == "s0melapt0p-nix"
|
||||
) then (
|
||||
"Sway"
|
||||
) else (
|
||||
"None"
|
||||
);
|
||||
};
|
||||
};
|
||||
}
|
||||
13
hand7s/home/keyboard.nix
Normal file
13
hand7s/home/keyboard.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
home = {
|
||||
keyboard = {
|
||||
variant = "qwerty";
|
||||
layout = "us, ru";
|
||||
options = [
|
||||
"grp:caps_toggle"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
49
hand7s/home/packages.nix
Normal file
49
hand7s/home/packages.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
osConfig,
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
freesm-launcher = inputs.freesm.packages.${pkgs.system}.freesmlauncher;
|
||||
in {
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
gh
|
||||
sd
|
||||
nvd
|
||||
git
|
||||
dust
|
||||
procs
|
||||
gping
|
||||
dconf
|
||||
tokei
|
||||
ifuse
|
||||
trippy
|
||||
bottom
|
||||
kubectl
|
||||
yt-dlp
|
||||
ripgrep
|
||||
tty-clock
|
||||
freesm-launcher
|
||||
libimobiledevice
|
||||
nix-output-monitor
|
||||
] ++lib.optionals (
|
||||
osConfig.networking.hostName == "s0mePC-nix"
|
||||
) [
|
||||
|
||||
tetrio-desktop
|
||||
netbird-ui
|
||||
thunderbird
|
||||
mindustry
|
||||
qbittorrent-enhanced
|
||||
|
||||
] ++ lib.optionals (
|
||||
osConfig.networking.hostName == "s0melapt0p-nix"
|
||||
) [
|
||||
iwgtk
|
||||
brightnessctl
|
||||
|
||||
];
|
||||
};
|
||||
}
|
||||
11
hand7s/home/shellAliases.nix
Normal file
11
hand7s/home/shellAliases.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
home = {
|
||||
shellAliases = {
|
||||
e = "eza";
|
||||
et = "eza -T";
|
||||
k = "kubectl";
|
||||
};
|
||||
};
|
||||
}
|
||||
8
hand7s/nix/package.nix
Normal file
8
hand7s/nix/package.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nix = {
|
||||
package = pkgs.nixVersions.latest;
|
||||
};
|
||||
}
|
||||
21
hand7s/nix/settings/substituters.nix
Normal file
21
hand7s/nix/settings/substituters.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
nix = {
|
||||
settings = {
|
||||
substituters = [
|
||||
# cache.nixos.org
|
||||
"https://nixos-cache-proxy.cofob.dev"
|
||||
"https://cache.nixos.org"
|
||||
# cache.garnix.org
|
||||
"https://cache.garnix.io"
|
||||
# cachix
|
||||
"https://nix-community.cachix.org/"
|
||||
"https://chaotic-nyx.cachix.org/"
|
||||
"https://ags.cachix.org"
|
||||
"https://hyprland.cachix.org"
|
||||
"https://chaotic-nyx.cachix.org/"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
20
hand7s/nix/settings/trusted-public-keys.nix
Normal file
20
hand7s/nix/settings/trusted-public-keys.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-public-keys = [
|
||||
# cache.nixos.org
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
# cache.garnix.io
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
# cachix.org
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
||||
"ags.cachix.org-1:naAvMrz0CuYqeyGNyLgE010iUiuf/qx6kYrUv3NwAJ8="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
10
hand7s/nixpkgs/config.nix
Normal file
10
hand7s/nixpkgs/config.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowBroken = true;
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
10
hand7s/nixpkgs/overlays.nix
Normal file
10
hand7s/nixpkgs/overlays.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
inputs.hyprpanel.overlay
|
||||
];
|
||||
};
|
||||
}
|
||||
98
hand7s/options/gui.nix
Normal file
98
hand7s/options/gui.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.home.gui;
|
||||
ayugram-desktop = inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop;
|
||||
in {
|
||||
options.home.gui = {
|
||||
enable = lib.mkEnableOption ''
|
||||
Enabling this option will allow you to activate GUI Software,
|
||||
that exist in my home-manager setup. Enabling this, as you can
|
||||
see, is depending on hostname of my system. To bypass this,
|
||||
either delete expression in `home.nix`, or change hostname
|
||||
to yours.
|
||||
'';
|
||||
|
||||
sessionType = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"Sway"
|
||||
"River"
|
||||
"Hyprland"
|
||||
"None"
|
||||
];
|
||||
default = "None";
|
||||
description = ''
|
||||
This option allows to choose current desktop session. All
|
||||
three: riverwm, sway and Hyprland has their own config. Almost
|
||||
all of them - their respectful software. WIP.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
vesktop
|
||||
(discord.override {
|
||||
withVencord = true;
|
||||
withOpenASAR = false;
|
||||
})
|
||||
|
||||
ayugram-desktop
|
||||
element-desktop
|
||||
|
||||
obsidian
|
||||
pwvucontrol
|
||||
easyeffects
|
||||
hyprpolkitagent
|
||||
parsec-bin
|
||||
bitwarden
|
||||
mindustry
|
||||
playerctl
|
||||
lan-mouse
|
||||
nekoray
|
||||
] ++ lib.optionals (
|
||||
cfg.sessionType == "Sway"
|
||||
) [
|
||||
swaykbdd
|
||||
sway-contrib.grimshot
|
||||
sway-contrib.inactive-windows-transparency
|
||||
autotiling-rs
|
||||
sway-audio-idle-inhibit
|
||||
] ++ lib.optionals (
|
||||
cfg.sessionType == "River"
|
||||
) [
|
||||
wayshot
|
||||
waylock
|
||||
wayidle
|
||||
] ++ lib.optionals (
|
||||
cfg.sessionType == "Hyprland"
|
||||
) [
|
||||
hyprpanel
|
||||
grimblast
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
chromium.enable = true;
|
||||
spicetify.enable = true;
|
||||
vscode.enable = true;
|
||||
fuzzel.enable = true;
|
||||
ghostty.enable = true;
|
||||
firefox.enable = true;
|
||||
};
|
||||
|
||||
services = with lib.mkDefault; {
|
||||
hyprpaper.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
s0me1newithhan7ds
|
||||
# aka hand7s
|
||||
];
|
||||
}
|
||||
12
hand7s/programs/bat.nix
Normal file
12
hand7s/programs/bat.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
pager = "less -FR";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
22
hand7s/programs/chrome.nix
Normal file
22
hand7s/programs/chrome.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
chromium = {
|
||||
package = (
|
||||
pkgs.google-chrome.override {
|
||||
commandLineArgs = [
|
||||
"--enable-features=AcceleratedVideoEncoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE"
|
||||
"--enable-features=VaapiIgnoreDriverChecks,VaapiVideoDecoder,PlatformHEVCDecoderSupport"
|
||||
"--enable-features=UseMultiPlaneFormatForHardwareVideo"
|
||||
"--enable-features=SkiaGraphite"
|
||||
"--enable-unsafe-webgpu"
|
||||
"--ignore-gpu-blocklist"
|
||||
"--enable-zero-copy"
|
||||
];
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
}
|
||||
12
hand7s/programs/eza.nix
Normal file
12
hand7s/programs/eza.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
eza = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
git = true;
|
||||
icons = "always";
|
||||
};
|
||||
};
|
||||
}
|
||||
13
hand7s/programs/firefox.nix
Normal file
13
hand7s/programs/firefox.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
zen-browser = inputs.zen-browser.packages.${pkgs.system}.default;
|
||||
in {
|
||||
programs = {
|
||||
firefox = {
|
||||
package = zen-browser;
|
||||
};
|
||||
};
|
||||
}
|
||||
15
hand7s/programs/fish.nix
Normal file
15
hand7s/programs/fish.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
fish = {
|
||||
enable = true;
|
||||
generateCompletions = true;
|
||||
functions = {
|
||||
fish_greeting = {
|
||||
body = "echo ' ~ 𝑠𝑛𝑜𝑤𝑦 𝑝𝑙𝑎𝑐𝑒, 𝑓𝑢𝑙𝑙 𝑜𝑓 𝑓𝑙𝑎𝑘𝑒𝑠! '";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
21
hand7s/programs/fuzzel.nix
Normal file
21
hand7s/programs/fuzzel.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
fuzzel = {
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "${pkgs.ghostty}/bin/ghostty";
|
||||
layer = "overlay";
|
||||
prompt = " > ";
|
||||
};
|
||||
|
||||
border = {
|
||||
width = "2";
|
||||
radius = "10";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
13
hand7s/programs/fzf.nix
Normal file
13
hand7s/programs/fzf.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
tmux = {
|
||||
enableShellIntegration = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
24
hand7s/programs/ghostty.nix
Normal file
24
hand7s/programs/ghostty.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
ghostty = {
|
||||
enableFishIntegration = true;
|
||||
installBatSyntax = true;
|
||||
settings = {
|
||||
title = "spooky scary tty";
|
||||
|
||||
command = "${pkgs.fish}/bin/fish --login --interactive";
|
||||
|
||||
confirm-close-surface = false;
|
||||
|
||||
keybind = [
|
||||
"ctrl+shift+d=new_split:right"
|
||||
"ctrl+shift+h=goto_split:left"
|
||||
"ctrl+shift+l=goto_split:right"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
11
hand7s/programs/git.nix
Normal file
11
hand7s/programs/git.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
userEmail = "117505144+s0me1newithhand7s@users.noreply.github.com";
|
||||
userName = "s0me1newithhand7s";
|
||||
};
|
||||
};
|
||||
}
|
||||
63
hand7s/programs/helix.nix
Normal file
63
hand7s/programs/helix.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
helix = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
extraPackages = with pkgs; [
|
||||
nixd
|
||||
nixfmt-rfc-style
|
||||
];
|
||||
|
||||
settings = {
|
||||
editor = {
|
||||
line-number = "relative";
|
||||
cursorline = true;
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language-servers = {
|
||||
nixd = {
|
||||
command = "${pkgs.nixd}/bin/nixd";
|
||||
args = [
|
||||
"--inlay-hints=true"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
language = [
|
||||
{
|
||||
name = "nix";
|
||||
comment-token = "#";
|
||||
injection-regex = "nix";
|
||||
indent = {
|
||||
tab-width = 4;
|
||||
unit = " ";
|
||||
};
|
||||
|
||||
formatter = {
|
||||
command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt-rfc-style";
|
||||
args = [
|
||||
"--indent=4"
|
||||
];
|
||||
};
|
||||
|
||||
file-types = [
|
||||
"nix"
|
||||
];
|
||||
|
||||
language-servers = [
|
||||
"nixd"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
94
hand7s/programs/hyprlock.nix
Normal file
94
hand7s/programs/hyprlock.nix
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
hyprlock = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
hide_cursor = true;
|
||||
ignore_empty_input = true;
|
||||
};
|
||||
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "$TIME";
|
||||
text_align = "center";
|
||||
color = config.lib.stylix.colors.base01;
|
||||
font_size = 48;
|
||||
font_family = "Nerd Hack Font";
|
||||
rotate = 0;
|
||||
|
||||
position = "0, 50";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
|
||||
shadow_passes = 1;
|
||||
shadow_size = 2;
|
||||
shadow_color = "rgba(38, 3, 4, 1)";
|
||||
shadow_boost = 2;
|
||||
}
|
||||
|
||||
{
|
||||
monitor = "";
|
||||
text = "> $LAYOUT[en,ru]";
|
||||
text_align = "center";
|
||||
color = config.lib.stylix.colors.base06;
|
||||
font_size = 26;
|
||||
font_family = "Nerd Hack Font";
|
||||
rotate = 0;
|
||||
|
||||
position = "200, -50";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
|
||||
shadow_passes = 1;
|
||||
shadow_size = 2;
|
||||
shadow_color = "rgba(38, 3, 4, 1)";
|
||||
shadow_boost = 2;
|
||||
}
|
||||
];
|
||||
|
||||
input-field = lib.mkForce [
|
||||
{
|
||||
monitor = "";
|
||||
size = "250, 50";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.35;
|
||||
dots_spacing = 0.5;
|
||||
dots_center = true;
|
||||
dots_rounding = -2;
|
||||
|
||||
fade_on_empty = false;
|
||||
fade_timeout = 0;
|
||||
placeholder_text = " ";
|
||||
hide_input = false;
|
||||
rounding = -0.3;
|
||||
|
||||
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
||||
fail_transition = 1000;
|
||||
capslock_color = -1;
|
||||
numlock_color = -1;
|
||||
bothlock_color = -1;
|
||||
invert_numlock = false;
|
||||
swap_font_color = false;
|
||||
|
||||
position = "0, -50";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
|
||||
shadow_passes = 1;
|
||||
shadow_size = 5;
|
||||
shadow_boost = 1;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
470
hand7s/programs/hyprpanel.nix
Normal file
470
hand7s/programs/hyprpanel.nix
Normal file
|
|
@ -0,0 +1,470 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
hyprpanel = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
|
||||
hyprland = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
};
|
||||
|
||||
overwrite = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
};
|
||||
|
||||
overlay = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
};
|
||||
|
||||
settings = {
|
||||
layout = {
|
||||
"bar.layouts" = {
|
||||
"*" = {
|
||||
left = [
|
||||
"dashboard"
|
||||
"workspaces"
|
||||
"media"
|
||||
];
|
||||
|
||||
middle = [
|
||||
"clock"
|
||||
"power"
|
||||
];
|
||||
|
||||
right = [
|
||||
"network"
|
||||
"kbinput"
|
||||
"volume"
|
||||
"systray"
|
||||
"notifications"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
scalingPriority = "hyprland";
|
||||
|
||||
tear = false;
|
||||
terminal = "${pkgs.ghostty}/bin/ghostty";
|
||||
dummy = true;
|
||||
|
||||
hyprpanel = {
|
||||
restartAgs = true;
|
||||
restartCommand = "${pkgs.systemd}/bin/systemctl --user restart hyprpanel.service";
|
||||
};
|
||||
|
||||
bar = {
|
||||
autoHide = "never";
|
||||
scrollSpeed = 5;
|
||||
|
||||
battery = {
|
||||
hideLabelWhenFull = true;
|
||||
label = true;
|
||||
};
|
||||
|
||||
bluetooth = {
|
||||
label = true;
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "%a, %b %d %I:%M:%S %p";
|
||||
icon = "";
|
||||
showIcon = true;
|
||||
showTime = true;
|
||||
};
|
||||
|
||||
launcher = {
|
||||
icon = " ";
|
||||
autoDetectIcon = true;
|
||||
};
|
||||
|
||||
media = {
|
||||
format = "{artist: - }{title}";
|
||||
show_active_only = true;
|
||||
show_label = true;
|
||||
truncation = true;
|
||||
truncation_size = 30;
|
||||
};
|
||||
|
||||
network = {
|
||||
label = true;
|
||||
showWifiInfo = true;
|
||||
truncation = true;
|
||||
truncation_size = 10;
|
||||
};
|
||||
|
||||
notifications = {
|
||||
show_total = false;
|
||||
hideCountWhenZero = true;
|
||||
};
|
||||
|
||||
volume = {
|
||||
label = true;
|
||||
scrollDown = "${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
||||
scrollUp = "${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+";
|
||||
rightClick = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
|
||||
windowtitle = {
|
||||
icon = true;
|
||||
label = true;
|
||||
class_name = false;
|
||||
custom_title = true;
|
||||
truncation = true;
|
||||
truncation_size = 50;
|
||||
};
|
||||
|
||||
workspaces = {
|
||||
show_icons = false;
|
||||
show_numbered = false;
|
||||
showApplicationIcons = true;
|
||||
showAllActive = true;
|
||||
showWsIcons = true;
|
||||
numbered_active_indicator = "highlight";
|
||||
workspaces = 20;
|
||||
monitorSpecific = true;
|
||||
reverse_scroll = false;
|
||||
scroll_speed = 5;
|
||||
spacing = 1.0;
|
||||
workspaceMask = true;
|
||||
ignored = "";
|
||||
|
||||
applicationIconEmptyWorkspace = "";
|
||||
applicationIconFallback = "";
|
||||
|
||||
icons = {
|
||||
active = "";
|
||||
available = "";
|
||||
occupied = "";
|
||||
};
|
||||
};
|
||||
|
||||
customModules = {
|
||||
scrollSpeed = 5;
|
||||
|
||||
cava = {
|
||||
showIcon = true;
|
||||
icon = "";
|
||||
spaceCharacter = " ";
|
||||
showActiveOnly = true;
|
||||
stereo = false;
|
||||
autoSensitivity = true;
|
||||
|
||||
bars = 10;
|
||||
channels = 2;
|
||||
framerate = 165;
|
||||
samplerate = 48000;
|
||||
lowCutoff = 20;
|
||||
highCutoff = 20000;
|
||||
|
||||
|
||||
barCharacters = [
|
||||
"▁"
|
||||
"▂"
|
||||
"▃"
|
||||
"▄"
|
||||
"▅"
|
||||
"▆"
|
||||
"▇"
|
||||
"█"
|
||||
];
|
||||
};
|
||||
|
||||
cpu = {
|
||||
icon = "";
|
||||
label = true;
|
||||
round = true;
|
||||
pollingInterval = 1000;
|
||||
};
|
||||
|
||||
cpuTemp = {
|
||||
icon = "";
|
||||
label = true;
|
||||
pollingInterval = 500;
|
||||
round = true;
|
||||
showUnit = true;
|
||||
sensor = "";
|
||||
};
|
||||
|
||||
hypridle = {
|
||||
label = true;
|
||||
pollingInterval = 500;
|
||||
|
||||
offIcon = "";
|
||||
offLabel = "OFF";
|
||||
onIcon = "";
|
||||
onLabel = "ON";
|
||||
};
|
||||
|
||||
hyprsunset = {
|
||||
label = true;
|
||||
pollingInterval = 500;
|
||||
|
||||
offIcon = "";
|
||||
offLabel = "OFF";
|
||||
onIcon = "";
|
||||
onLabel = "ON";
|
||||
};
|
||||
|
||||
kbLayout = {
|
||||
icon = "";
|
||||
label = true;
|
||||
labelType = "code";
|
||||
rightClick = "${pkgs.hyprland}/bin/hyprctl switchxkblayout monsgeek-monsgeek-keyboard next";
|
||||
};
|
||||
|
||||
netstat = {
|
||||
icon = "";
|
||||
label = true;
|
||||
pollingInterval = 250;
|
||||
dynamicIcon = true;
|
||||
round = true;
|
||||
|
||||
rateUnit = "auto";
|
||||
networkInLabel = "↓";
|
||||
networkOutLabel = "↑";
|
||||
};
|
||||
|
||||
power = {
|
||||
icon = "";
|
||||
showLabel = true;
|
||||
leftClick = "menu:powerdropdown";
|
||||
};
|
||||
|
||||
microphone = {
|
||||
label = true;
|
||||
mutedIcon = "";
|
||||
unmutedIcon = "";
|
||||
|
||||
leftClick = "menu:audio";
|
||||
};
|
||||
|
||||
ram = {
|
||||
icon = "";
|
||||
label = true;
|
||||
labelType = "percentage";
|
||||
pollingInterval = 250;
|
||||
round = true;
|
||||
};
|
||||
|
||||
storage = {
|
||||
icon = "";
|
||||
label = true;
|
||||
labelType = "percentage";
|
||||
pollingInterval = 2000;
|
||||
round = false;
|
||||
};
|
||||
|
||||
submap = {
|
||||
label = true;
|
||||
showSubmapName = true;
|
||||
enabledIcon = "";
|
||||
enabledText = "ON";
|
||||
disabledIcon = "";
|
||||
disabledText = "OFF";
|
||||
};
|
||||
|
||||
updates = {
|
||||
label = true;
|
||||
autoHide = true;
|
||||
padZero = true;
|
||||
pollingInterval = 1440000;
|
||||
updateCommand = "nix flake update --flake ~/Projects/flake";
|
||||
|
||||
icon = {
|
||||
pending = "";
|
||||
updated = "";
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
weather = {
|
||||
label = true;
|
||||
unit = "metric";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
menus = {
|
||||
transition = "crossfade";
|
||||
transitionTime = 200;
|
||||
|
||||
clock = {
|
||||
time = {
|
||||
military = false;
|
||||
hideSeconds = true;
|
||||
};
|
||||
|
||||
weather = {
|
||||
enabled = true;
|
||||
location = "Yelabuga";
|
||||
unit = "metric";
|
||||
key = "ac3df6535cac4448a4c83337252702";
|
||||
};
|
||||
};
|
||||
|
||||
dashboard = {
|
||||
shortcuts = {
|
||||
left = {
|
||||
shortcut1 = {
|
||||
command = "${pkgs.google-chrome}/bin/google-chrome-stable";
|
||||
icon = "";
|
||||
tooltip = "Google Chrome";
|
||||
};
|
||||
|
||||
shortcut2 = {
|
||||
command = "spotify";
|
||||
icon = "";
|
||||
tooltip = "Spotify";
|
||||
};
|
||||
|
||||
shortcut3 = {
|
||||
command = "${pkgs.discord}/bin/discord";
|
||||
icon = "";
|
||||
tooltip = "Discord";
|
||||
};
|
||||
|
||||
shortcut4 = {
|
||||
command = "ayugram-desktop";
|
||||
icon = "";
|
||||
tooltip = "Telegram";
|
||||
};
|
||||
};
|
||||
|
||||
right = {
|
||||
shortcut1 = {
|
||||
command = "${pkgs.fuzzel}/bin/fuzzel";
|
||||
icon = "";
|
||||
tooltip = "Search";
|
||||
};
|
||||
|
||||
shortcut3 = {
|
||||
command = "sleep 2; ${pkgs.grimblast}/bin/grimblast --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png";
|
||||
icon = "";
|
||||
tooltip = "Screenshot";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
stats = {
|
||||
enable_gpu = false;
|
||||
enabled = true;
|
||||
interval = 1000;
|
||||
};
|
||||
|
||||
directories = {
|
||||
enabled = true;
|
||||
};
|
||||
|
||||
powermenu = {
|
||||
avatar = {
|
||||
image = "/home/hand7s/Pictures/pfp.jpg";
|
||||
name = "system";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
media = {
|
||||
displayTime = true;
|
||||
displayTimeTooltip = true;
|
||||
noMediaText = "-";
|
||||
hideAlbum = false;
|
||||
hideAuthor = false;
|
||||
};
|
||||
|
||||
power = {
|
||||
confirmation = true;
|
||||
showLabel = true;
|
||||
logout = "${pkgs.hyprland}hyprctl dispatch exit";
|
||||
reboot = "${pkgs.systemd}/bin/systemctl reboot";
|
||||
shutdown = "${pkgs.systemd}/bin/systemctl poweroff";
|
||||
sleep = "${pkgs.systemd}/bin/systemctl suspend";
|
||||
};
|
||||
|
||||
volume = {
|
||||
raiseMaximumVolume = false;
|
||||
};
|
||||
};
|
||||
|
||||
notifications = {
|
||||
active_monitor = true;
|
||||
cache_actions = true;
|
||||
clearDelay = 50;
|
||||
displayedTotal = 5;
|
||||
showActionsOnHover = true;
|
||||
timeout = 5000;
|
||||
};
|
||||
|
||||
theme = {
|
||||
matugen = false;
|
||||
|
||||
matugen_settings = {
|
||||
contrast = 0;
|
||||
mode = "dark";
|
||||
scheme_type = "monochrome";
|
||||
variation = "standard_1";
|
||||
};
|
||||
|
||||
font = {
|
||||
name = "Hack Font Nerd Regular";
|
||||
size = "16px";
|
||||
weight = 600;
|
||||
};
|
||||
|
||||
bar = {
|
||||
transparent = false;
|
||||
floating = true;
|
||||
layer = "top";
|
||||
location = "top";
|
||||
|
||||
margin_bottom = "0";
|
||||
margin_sides = "20px";
|
||||
margin_top = "20px";
|
||||
|
||||
border_radius = "10px";
|
||||
|
||||
border = {
|
||||
location = "full";
|
||||
width = "2px";
|
||||
};
|
||||
|
||||
buttons = {
|
||||
enableBorders = false;
|
||||
monochrome = false;
|
||||
style = "default";
|
||||
};
|
||||
};
|
||||
|
||||
osd = {
|
||||
enable = true;
|
||||
active_monitor = true;
|
||||
duration = 2500;
|
||||
location = "right";
|
||||
margins = "5px 5px 5px 5px";
|
||||
muted_zero = false;
|
||||
radius = "10px";
|
||||
};
|
||||
};
|
||||
|
||||
wallpaper = {
|
||||
enable = false;
|
||||
pywal = false;
|
||||
image = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
10
hand7s/programs/index.nix
Normal file
10
hand7s/programs/index.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
nix-index = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
9
hand7s/programs/mpv.nix
Normal file
9
hand7s/programs/mpv.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
mpv = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
22
hand7s/programs/obs-studio.nix
Normal file
22
hand7s/programs/obs-studio.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
obs-studio = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
waveform
|
||||
obs-vkcapture
|
||||
obs-pipewire-audio-capture
|
||||
obs-webkitgtk
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hand7s/programs/spicetify.nix
Normal file
19
hand7s/programs/spicetify.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
spicetify = {
|
||||
enabledExtensions = with inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle
|
||||
];
|
||||
|
||||
theme = lib.mkForce inputs.spicetify-nix.legacyPackages.${pkgs.system}.themes.text;
|
||||
colorScheme = lib.mkForce "Spotify";
|
||||
};
|
||||
};
|
||||
}
|
||||
55
hand7s/programs/starship.nix
Normal file
55
hand7s/programs/starship.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
starship = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
|
||||
format = ''
|
||||
[╭──╼](bold blue) $hostname $os
|
||||
[┆](bold blue) $directory$git_branch$git_commit$git_state$git_metrics$git_status
|
||||
[╰─>](bold blue)
|
||||
'';
|
||||
|
||||
right_format = ''$cmd_duration ($character) at ❗$time'';
|
||||
|
||||
os = {
|
||||
format = "on [($name $codename$version$edition $symbol )]($style)";
|
||||
style = "bold blue";
|
||||
disabled = false;
|
||||
};
|
||||
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
format = "[$hostname]($style)";
|
||||
style = "bold red";
|
||||
disabled = false;
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[✓](bold green)";
|
||||
error_symbol = "[✗](bold red)";
|
||||
};
|
||||
|
||||
time = {
|
||||
disabled = false;
|
||||
format = " [$time]($style)";
|
||||
time_format = "%H:%M";
|
||||
utc_time_offset = "local";
|
||||
style = "pale blue";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
disabled = false;
|
||||
min_time = 250;
|
||||
show_milliseconds = false;
|
||||
show_notifications = false;
|
||||
format = "was [$duration](bold green)";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
17
hand7s/programs/swaylock.nix
Normal file
17
hand7s/programs/swaylock.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
swaylock = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Sway"
|
||||
) true;
|
||||
|
||||
settings = {
|
||||
show-failed-attempts = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
45
hand7s/programs/vscode.nix
Normal file
45
hand7s/programs/vscode.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
vscode = {
|
||||
profiles = {
|
||||
default = {
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
jnoortheen.nix-ide
|
||||
ms-vscode-remote.vscode-remote-extensionpack
|
||||
ms-vsliveshare.vsliveshare
|
||||
redhat.vscode-yaml
|
||||
redhat.ansible
|
||||
];
|
||||
|
||||
userSettings = lib.mkForce {
|
||||
"editor.fontFamily" = "'Hack Nerd Font'";
|
||||
"editor.fontSize" = 16;
|
||||
|
||||
"editor.cursorBlinking" = "smooth";
|
||||
"editor.cursorSmoothCaretAnimation" = "on";
|
||||
"editor.wordWrap" = "on";
|
||||
|
||||
"workbench.colorTheme" = "Blazing Red";
|
||||
"workbench.sideBar.location" = "right";
|
||||
"workbench.activityBar.location" = "top";
|
||||
"workbench.editor.editorActionsLocation" = "titleBar";
|
||||
"workbench.editor.showTabs" = "none";
|
||||
|
||||
"window.menuBarVisibility" = "hidden";
|
||||
|
||||
"files.autoSave" = "afterDelay";
|
||||
|
||||
"[nix]" = {
|
||||
"editor.insertSpaces" = true;
|
||||
"editor.tabSize" = 4;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
1949
hand7s/programs/yambar.nix
Normal file
1949
hand7s/programs/yambar.nix
Normal file
File diff suppressed because it is too large
Load diff
61
hand7s/programs/yazi.nix
Normal file
61
hand7s/programs/yazi.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
yazi = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
shellWrapperName = "yz";
|
||||
settings = {
|
||||
manager = {
|
||||
sort_by = "natural";
|
||||
sort_sensitive = true;
|
||||
sort_reverse = false;
|
||||
sort_translit = true;
|
||||
|
||||
linemode = "size";
|
||||
|
||||
show_hidden = true;
|
||||
show_symlink = true;
|
||||
};
|
||||
|
||||
preview = {
|
||||
tab_size = 4;
|
||||
image_filter = "lanczos3";
|
||||
image_quality = 90;
|
||||
};
|
||||
|
||||
opener = {
|
||||
play = [
|
||||
{
|
||||
run = "${pkgs.mpv}/bin/mpv ''$@''";
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
edit = [
|
||||
{
|
||||
run = "${pkgs.helix}/bin/hx ''$@''";
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
open = [
|
||||
{
|
||||
run = "${pkgs.xdg-utils}/bin/xdg-open ''$@''";
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
input = {
|
||||
cursor_blink = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
10
hand7s/programs/zoxide.nix
Normal file
10
hand7s/programs/zoxide.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
7
hand7s/qt/qt.nix
Normal file
7
hand7s/qt/qt.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
qt = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
39
hand7s/services/hypridle.nix
Normal file
39
hand7s/services/hypridle.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services = {
|
||||
hypridle = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
before_sleep_cmd = "${pkgs.hyprland}/bin/hyprctl dispatch dpms off";
|
||||
after_sleep_cmd = "${pkgs.hyprland}/bin/hyprctl dispatch dpms on";
|
||||
};
|
||||
|
||||
listener = [
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -s set 10";
|
||||
on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -r";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 900;
|
||||
on-timeout = "${pkgs.systemd}/bin/systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
49
hand7s/services/swayidle.nix
Normal file
49
hand7s/services/swayidle.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services = {
|
||||
swayidle = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Sway"
|
||||
) true;
|
||||
|
||||
events = [
|
||||
{
|
||||
event = "lock";
|
||||
command = "${pkgs.swaylock}/bin/swaylock";
|
||||
}
|
||||
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "${pkgs.sway}/bin/swaymsg 'output * power off'";
|
||||
}
|
||||
|
||||
{
|
||||
event = "after-resume";
|
||||
command = "${pkgs.sway}/bin/swaymsg 'output * power on'";
|
||||
}
|
||||
];
|
||||
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 300;
|
||||
command = "${pkgs.brightnessctl}/bin/brightnessctl -s set 10";
|
||||
resumeCommand = "${pkgs.brightnessctl}/bin/brightnessctl -r";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 600;
|
||||
command = "${pkgs.swaylock}/bin/swaylock";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 900;
|
||||
command = "${pkgs.systemd}/bin/systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
54
hand7s/standalone.nix
Normal file
54
hand7s/standalone.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
imports = [
|
||||
./fonts/fonts.nix
|
||||
./options/gui.nix
|
||||
|
||||
./wayland/hyprland.nix
|
||||
./wayland/river.nix
|
||||
|
||||
./nix/settings/substituters.nix
|
||||
./nix/settings/trusted-public-keys.nix
|
||||
./nix/package.nix
|
||||
|
||||
./stylix/base16Scheme.nix
|
||||
./stylix/cursor.nix
|
||||
./stylix/defaults.nix
|
||||
./stylix/fonts.nix
|
||||
./stylix/image.nix
|
||||
|
||||
./nixpkgs/config.nix
|
||||
./nixpkgs/overlays.nix
|
||||
|
||||
./home/defaults.nix
|
||||
./home/gui.nix
|
||||
./home/keyboard.nix
|
||||
./home/packages.nix
|
||||
./home/shellAliases.nix
|
||||
|
||||
./services/hypridle.nix
|
||||
|
||||
./systemd/hyprpanel-service.nix
|
||||
./systemd/hyprpolkitagent-service.nix
|
||||
|
||||
./programs/bat.nix
|
||||
./programs/eza.nix
|
||||
./programs/fish.nix
|
||||
./programs/fzf.nix
|
||||
./programs/ghostty.nix
|
||||
./programs/git.nix
|
||||
./programs/helix.nix
|
||||
./programs/index.nix
|
||||
./programs/obs-studio.nix
|
||||
./programs/starship.nix
|
||||
./programs/yazi.nix
|
||||
./programs/zoxide.nix
|
||||
./programs/chrome.nix
|
||||
./programs/fuzzel.nix
|
||||
./programs/hyprlock.nix
|
||||
./programs/hyprpanel.nix
|
||||
./programs/spicetify.nix
|
||||
./programs/vscode.nix
|
||||
./programs/waybar.nix
|
||||
./programs/wlogout.nix
|
||||
];
|
||||
}
|
||||
34
hand7s/stylix/base16Scheme.nix
Normal file
34
hand7s/stylix/base16Scheme.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
stylix = {
|
||||
base16Scheme = {
|
||||
base00 = "2a1617";
|
||||
base01 = "5d3f3f";
|
||||
base02 = "7a5bab";
|
||||
base03 = "bb9499";
|
||||
base04 = "eea1cf";
|
||||
base05 = "f5dddd";
|
||||
base06 = "ffebff";
|
||||
base07 = "ffede9";
|
||||
base08 = "e36b70";
|
||||
base09 = "ac878e";
|
||||
base0A = "db7356";
|
||||
base0B = "a78897";
|
||||
base0C = "ca7a79";
|
||||
base0D = "b28776";
|
||||
base0E = "d8708b";
|
||||
base0F = "ec6653";
|
||||
base10 = "2a1617";
|
||||
base11 = "2a1617";
|
||||
base12 = "e36b70";
|
||||
base13 = "ac878e";
|
||||
base14 = "a78897";
|
||||
base15 = "ca7a79";
|
||||
base16 = "b28776";
|
||||
base17 = "d8708b";
|
||||
scheme = "hand7s";
|
||||
name = "red_ish";
|
||||
};
|
||||
};
|
||||
}
|
||||
11
hand7s/stylix/cursor.nix
Normal file
11
hand7s/stylix/cursor.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
stylix = {
|
||||
cursor = {
|
||||
name = "Whitesur-cursors";
|
||||
package = pkgs.whitesur-cursors;
|
||||
};
|
||||
};
|
||||
}
|
||||
9
hand7s/stylix/defaults.nix
Normal file
9
hand7s/stylix/defaults.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
stylix = {
|
||||
enable = true;
|
||||
autoEnable = true;
|
||||
polarity = "dark";
|
||||
};
|
||||
}
|
||||
35
hand7s/stylix/fonts.nix
Normal file
35
hand7s/stylix/fonts.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
stylix = {
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 10;
|
||||
desktop = 8;
|
||||
popups = 10;
|
||||
terminal = 8;
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.roboto-mono;
|
||||
name = "Roboto-Mono Nerd Font";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.nerd-fonts.symbols-only;
|
||||
name = "Symbols Only Nerd Font";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.aurulent-sans-mono;
|
||||
name = "Aurulent Sans Mono Nerd Font";
|
||||
};
|
||||
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.hack;
|
||||
name = "Hack Nerd Font";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
7
hand7s/stylix/image.nix
Normal file
7
hand7s/stylix/image.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
...
|
||||
}: {
|
||||
stylix = {
|
||||
image = ./wallpaper.jpg;
|
||||
};
|
||||
}
|
||||
BIN
hand7s/stylix/wallpaper.jpg
Normal file
BIN
hand7s/stylix/wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 MiB |
29
hand7s/systemd/hyprpanel-service.nix
Normal file
29
hand7s/systemd/hyprpanel-service.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
systemd = {
|
||||
user = {
|
||||
services = {
|
||||
hyprpanel = {
|
||||
Unit = {
|
||||
Description = "Hyprpanel service.";
|
||||
WantedBy = "graphical-session.target";
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.hyprpanel}/bin/hyprpanel";
|
||||
Restart = "always";
|
||||
RestartSec = 1;
|
||||
};
|
||||
|
||||
Install = {
|
||||
After = "graphical-session.target";
|
||||
ConditionEnvironment = "WAYLAND_DISPLAY";
|
||||
PartOf = "graphical-session.target";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
29
hand7s/systemd/hyprpolkitagent-service.nix
Normal file
29
hand7s/systemd/hyprpolkitagent-service.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
systemd = {
|
||||
user = {
|
||||
services = {
|
||||
hyprpolkitagent = {
|
||||
Unit = {
|
||||
Description = "Hyprpolkitagent service.";
|
||||
WantedBy = "graphical-session.target";
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent";
|
||||
Restart = "always";
|
||||
RestartSec = 10;
|
||||
};
|
||||
|
||||
Install = {
|
||||
After = "graphical-session.target";
|
||||
ConditionEnvironment = "WAYLAND_DISPLAY";
|
||||
PartOf = "graphical-session.target";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
29
hand7s/systemd/yambar-service.nix
Normal file
29
hand7s/systemd/yambar-service.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
systemd = {
|
||||
user = {
|
||||
services = {
|
||||
yambar = {
|
||||
Unit = {
|
||||
Description = "Yambar service.";
|
||||
WantedBy = "graphical-session.target";
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.yambar}/bin/yambar";
|
||||
Restart = "always";
|
||||
RestartSec = 1;
|
||||
};
|
||||
|
||||
Install = {
|
||||
After = "graphical-session.target";
|
||||
ConditionEnvironment = "WAYLAND_DISPLAY";
|
||||
PartOf = "graphical-session.target";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
238
hand7s/wayland/hyprland.nix
Normal file
238
hand7s/wayland/hyprland.nix
Normal file
|
|
@ -0,0 +1,238 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
wayland = {
|
||||
windowManager = {
|
||||
hyprland = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Hyprland"
|
||||
) true;
|
||||
|
||||
settings = {
|
||||
monitor = ", 2560x1440@165.00Hz, 0x0, 1";
|
||||
|
||||
general = {
|
||||
gaps_in = "5";
|
||||
gaps_out = "20";
|
||||
border_size = "2";
|
||||
layout = "dwindle";
|
||||
|
||||
snap = {
|
||||
enabled = true;
|
||||
window_gap = "5";
|
||||
monitor_gap = "5";
|
||||
border_overlap = false;
|
||||
};
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us, ru";
|
||||
kb_options = "grp:caps_toggle";
|
||||
|
||||
numlock_by_default = true;
|
||||
follow_mouse = "1";
|
||||
left_handed = true;
|
||||
sensitivity = "0";
|
||||
|
||||
special_fallthrough = true;
|
||||
focus_on_close = 1;
|
||||
|
||||
touchpad = {
|
||||
disable_while_typing = true;
|
||||
tap-to-click = true;
|
||||
};
|
||||
|
||||
tablet = {
|
||||
output = "current";
|
||||
left_handed = true;
|
||||
};
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = true;
|
||||
workspace_swipe_distance = 400;
|
||||
};
|
||||
|
||||
group = {
|
||||
auto_group = true;
|
||||
insert_after_current = true;
|
||||
focus_removed_window = true;
|
||||
drag_into_group = "2";
|
||||
merge_groups_on_drag = true;
|
||||
merge_groups_on_groupbar = true;
|
||||
group_on_movetoworkspace = true;
|
||||
|
||||
groupbar = {
|
||||
enabled = true;
|
||||
};
|
||||
};
|
||||
|
||||
decoration = {
|
||||
active_opacity = "0.85";
|
||||
inactive_opacity = "0.65";
|
||||
fullscreen_opacity = "1.0";
|
||||
rounding = "10";
|
||||
|
||||
dim_inactive = true;
|
||||
dim_strength = "0.15";
|
||||
dim_special = "0.0";
|
||||
dim_around = "0.05";
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
render_power = "4";
|
||||
range = "4";
|
||||
ignore_window = false;
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = "10";
|
||||
passes = "5";
|
||||
};
|
||||
};
|
||||
|
||||
exec-once = [
|
||||
"${pkgs.systemd}/bin/systemctl --user start hyprpaper.service"
|
||||
"${pkgs.systemd}/bin/systemctl --user start hypridle.service"
|
||||
"${pkgs.systemd}/bin/systemctl --user start hyprpolkitagent.service"
|
||||
"${pkgs.systemd}/bin/systemctl --user start hyprpanel.service"
|
||||
];
|
||||
|
||||
bind = [
|
||||
"ALT, return, exec, ${pkgs.ghostty}/bin/ghostty"
|
||||
"ALT, Q, killactive,"
|
||||
"ALT, S, exec, ${pkgs.fuzzel}/bin/fuzzel"
|
||||
"ALT, F, fullscreen, 0"
|
||||
"ALT, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||
|
||||
|
||||
"ALT SHIFT, E, exit,"
|
||||
"ALT SHIFT, space, togglefloating, active"
|
||||
"ALT SHIFT, S, exec, ${pkgs.grimblast}/bin/grimblast --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png"
|
||||
|
||||
"ALT, left, movefocus, l"
|
||||
"ALT, right, movefocus, r"
|
||||
"ALT, up, movefocus, u"
|
||||
"ALT, down, movefocus, d"
|
||||
|
||||
"ALT, 1, workspace, 1"
|
||||
"ALT, 2, workspace, 2"
|
||||
"ALT, 3, workspace, 3"
|
||||
"ALT, 4, workspace, 4"
|
||||
"ALT, 5, workspace, 5"
|
||||
"ALT, 6, workspace, 6"
|
||||
"ALT, 7, workspace, 7"
|
||||
"ALT, 8, workspace, 8"
|
||||
"ALT, 9, workspace, 9"
|
||||
"ALT, 0, workspace, 0"
|
||||
"ALT, H, togglespecialworkspace, special"
|
||||
|
||||
"ALT SHIFT, 1, movetoworkspace, 1"
|
||||
"ALT SHIFT, 2, movetoworkspace, 2"
|
||||
"ALT SHIFT, 3, movetoworkspace, 3"
|
||||
"ALT SHIFT, 4, movetoworkspace, 4"
|
||||
"ALT SHIFT, 5, movetoworkspace, 5"
|
||||
"ALT SHIFT, 6, movetoworkspace, 6"
|
||||
"ALT SHIFT, 7, movetoworkspace, 7"
|
||||
"ALT SHIFT, 8, movetoworkspace, 8"
|
||||
"ALT SHIFT, 9, movetoworkspace, 9"
|
||||
"ALT SHIFT, 0, movetoworkspace, 0"
|
||||
"ALT SHIFT, H, movetoworkspace, special"
|
||||
|
||||
"ALT, mouse_down, workspace, e+1"
|
||||
"ALT, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
bindel = [
|
||||
", XF86AudioRaiseVolume, exec, ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
", XF86AudioLowerVolume, exec, ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
|
||||
", XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 5%-"
|
||||
", XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl set +5%"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
", XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
|
||||
", XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous"
|
||||
", XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next"
|
||||
", XF86AudioMute, exec, ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
|
||||
"ALT, TAB, hyprexpo:expo, toggle"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"ALT, mouse:272, movewindow"
|
||||
"ALT, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"enabled = true"
|
||||
|
||||
"bezier = bez, 0.05, 0.9, 0.1, 1.05"
|
||||
|
||||
"animation = windows, 1, 7, bez"
|
||||
"animation = windowsOut, 1, 7, default, popin 80%"
|
||||
"animation = border, 1, 10, default"
|
||||
"animation = borderangle, 1, 10, default"
|
||||
"animation = fade, 1, 7, default"
|
||||
"animation = workspaces, 1, 7, default"
|
||||
];
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
middle_click_paste = false;
|
||||
animate_manual_resizes = true;
|
||||
animate_mouse_windowdragging = true;
|
||||
focus_on_activate = true;
|
||||
close_special_on_empty = true;
|
||||
initial_workspace_tracking = "2";
|
||||
};
|
||||
|
||||
binds = {
|
||||
workspace_back_and_forth = true;
|
||||
allow_workspace_cycles = true;
|
||||
workspace_center_on = true;
|
||||
};
|
||||
|
||||
xwayland = {
|
||||
enabled = true;
|
||||
use_nearest_neighbor = true;
|
||||
force_zero_scaling = false;
|
||||
};
|
||||
|
||||
ecosystem = {
|
||||
no_update_news = true;
|
||||
no_donation_nag = true;
|
||||
};
|
||||
|
||||
debug = {
|
||||
suppress_errors = true;
|
||||
};
|
||||
|
||||
plugin = {
|
||||
hyprexpo = {
|
||||
columns = 3;
|
||||
gap_size = 5;
|
||||
|
||||
enable_gesture = true;
|
||||
gesture_fingers = 3;
|
||||
gesture_distance = 300;
|
||||
gesture_positive = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
plugins = with inputs; [
|
||||
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
113
hand7s/wayland/river.nix
Normal file
113
hand7s/wayland/river.nix
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
wayland = {
|
||||
windowManager = {
|
||||
river = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "River"
|
||||
) true;
|
||||
|
||||
settings = {
|
||||
default-layout = "rivertile";
|
||||
focus-follows-cursor = "normal";
|
||||
border-width = 2;
|
||||
|
||||
declare-mod = [
|
||||
"locked"
|
||||
"normal"
|
||||
];
|
||||
|
||||
xwayland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
map = {
|
||||
normal = {
|
||||
"Alt Q" = "close";
|
||||
"Alt S" = "spawn fuzzel";
|
||||
"Alt Return" = "spawn ghostty";
|
||||
"Alt L" = "spawn hyprlock";
|
||||
"Alt F" = "toggle-fullscreen";
|
||||
|
||||
"Alt+Shift S" = "spawn wayshot --clipboard";
|
||||
"Alt+Shift E" = "exit";
|
||||
"Alt+Shift Space" = "toggle-float";
|
||||
|
||||
"Alt Up" = "send-to-output next";
|
||||
"Alt Down" = "send-to-output previous";
|
||||
"Alt Right" = "send-to-output next";
|
||||
"Alt Left" = "send-to-output previous";
|
||||
|
||||
"Alt 1" = "set-focused-tags 0";
|
||||
"Alt 2" = "set-focused-tags 1";
|
||||
"Alt 3" = "set-focused-tags 2";
|
||||
"Alt 4" = "set-focused-tags 3";
|
||||
"Alt 5" = "set-focused-tags 4";
|
||||
"Alt 6" = "set-focused-tags 5";
|
||||
"Alt 7" = "set-focused-tags 6";
|
||||
"Alt 8" = "set-focused-tags 7";
|
||||
"Alt 9" = "set-focused-tags 8";
|
||||
"Alt H" = "toggle-focused-tags 20";
|
||||
|
||||
"Alt+Shift 1" = "set-view-tags 0";
|
||||
"Alt+Shift 2" = "set-view-tags 1";
|
||||
"Alt+Shift 3" = "set-view-tags 2";
|
||||
"Alt+Shift 4" = "set-view-tags 3";
|
||||
"Alt+Shift 5" = "set-view-tags 4";
|
||||
"Alt+Shift 6" = "set-view-tags 5";
|
||||
"Alt+Shift 7" = "set-view-tags 6";
|
||||
"Alt+Shift 8" = "set-view-tags 7";
|
||||
"Alt+Shift 9" = "set-view-tags 8";
|
||||
"Alt+Shift H" = "set-view-tags 20";
|
||||
|
||||
"Alt+Control 1" = "toggle-focused-tags 0";
|
||||
"Alt+Control 2" = "toggle-focused-tags 1";
|
||||
"Alt+Control 3" = "toggle-focused-tags 2";
|
||||
"Alt+Control 4" = "toggle-focused-tags 3";
|
||||
"Alt+Control 5" = "toggle-focused-tags 4";
|
||||
"Alt+Control 6" = "toggle-focused-tags 5";
|
||||
"Alt+Control 7" = "toggle-focused-tags 6";
|
||||
"Alt+Control 8" = "toggle-focused-tags 7";
|
||||
"Alt+Control 9" = "toggle-focused-tags 8";
|
||||
"Alt+Control H" = "toggle-focused-tags 20";
|
||||
|
||||
"Alt+Shift+Control 1" = "toggle-view-tags 0";
|
||||
"Alt+Shift+Control 2" = "toggle-view-tags 1";
|
||||
"Alt+Shift+Control 3" = "toggle-view-tags 2";
|
||||
"Alt+Shift+Control 4" = "toggle-view-tags 3";
|
||||
"Alt+Shift+Control 5" = "toggle-view-tags 4";
|
||||
"Alt+Shift+Control 6" = "toggle-view-tags 5";
|
||||
"Alt+Shift+Control 7" = "toggle-view-tags 6";
|
||||
"Alt+Shift+Control 8" = "toggle-view-tags 7";
|
||||
"Alt+Shift+Control 9" = "toggle-view-tags 8";
|
||||
"Alt+Shift+Control H" = "toggle-view-tags 20";
|
||||
};
|
||||
|
||||
spawn = [
|
||||
"${pkgs.systemd}/bin/systemctl --user start hyprpaper.service"
|
||||
"${pkgs.systemd}/bin/systemctl --user start hyprpolkitagent.service"
|
||||
"${pkgs.yambar}/bin/yambar"
|
||||
"${pkgs.wayidle}/bin/wayidle -t=300 ${pkgs.brightnessctl}/bin/brightnessctl -s set 10"
|
||||
"${pkgs.wayidle}/bin/wayidle -t=600 ${pkgs.waylock}/bin/waylock"
|
||||
];
|
||||
|
||||
map-pointer = {
|
||||
normal = {
|
||||
"Alt BTN_LEFT" = "move-view";
|
||||
"Alt BTN_RIGHT" = "resize-view";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
riverctl keyboard-layout -options "grp:caps_toggle" "us,ru"
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
183
hand7s/wayland/sway.nix
Normal file
183
hand7s/wayland/sway.nix
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
wayland = {
|
||||
windowManager = {
|
||||
sway = {
|
||||
enable = lib.mkIf (
|
||||
config.home.gui.sessionType == "Sway"
|
||||
) true;
|
||||
|
||||
package = pkgs.sway;
|
||||
|
||||
config = {
|
||||
bindkeysToCode = true;
|
||||
defaultWorkspace = "workspace number 1";
|
||||
workspaceAutoBackAndForth = true;
|
||||
|
||||
bars = [];
|
||||
|
||||
window = {
|
||||
border = 2;
|
||||
titlebar = false;
|
||||
hideEdgeBorders = "both";
|
||||
};
|
||||
|
||||
floating = {
|
||||
border = 2;
|
||||
titlebar = false;
|
||||
modifier = "Mod1";
|
||||
};
|
||||
|
||||
focus = {
|
||||
forceWrapping = true;
|
||||
mouseWarping = true;
|
||||
|
||||
followMouse = "always";
|
||||
newWindow = "smart";
|
||||
wrapping = "yes";
|
||||
};
|
||||
|
||||
gaps = {
|
||||
vertical = null;
|
||||
horizontal = null;
|
||||
|
||||
outer = null;
|
||||
inner = null;
|
||||
|
||||
top = null;
|
||||
bottom = null;
|
||||
left = null;
|
||||
right = null;
|
||||
|
||||
smartGaps = false;
|
||||
smartBorders = "no_gaps";
|
||||
};
|
||||
|
||||
startup = [
|
||||
{
|
||||
command = "${pkgs.systemd}/bin/systemctl --user start hyprpaper.service";
|
||||
}
|
||||
|
||||
{
|
||||
command = "${pkgs.systemd}/bin/systemctl --user start hypridle.service";
|
||||
}
|
||||
|
||||
{
|
||||
command = "${pkgs.systemd}/bin/systemctl --user start hyprpolkitagent.service";
|
||||
}
|
||||
|
||||
{
|
||||
command = "${pkgs.sway-audio-idle-inhibit}/bin/sway-audio-idle-inhibit";
|
||||
}
|
||||
|
||||
{
|
||||
command = "${pkgs.autotiling-rs}/bin/autotiling-rs";
|
||||
}
|
||||
|
||||
{
|
||||
command = "${pkgs.swaykbdd}/bin/swaykbdd";
|
||||
}
|
||||
|
||||
{
|
||||
command = "${pkgs.yambar}/bin/yambar";
|
||||
}
|
||||
];
|
||||
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"Mod1+q" = "kill";
|
||||
"Mod1+s" = "exec ${pkgs.fuzzel}/bin/fuzzel";
|
||||
"Mod1+Return" = "exec ${pkgs.ghostty}/bin/ghostty";
|
||||
"Mod1+l" = "exec ${pkgs.swaylock}/bin/swaylock";
|
||||
"Mod1+f" = "fullscreen toggle";
|
||||
"Mod1+Shift+s" = "exec ${pkgs.sway-contrib.grimshot}/bin/grimshot --notify copy area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png";
|
||||
|
||||
"Mod1+Shift+e" = "exec ${pkgs.sway}/bin/swaymsg exit";
|
||||
"Mod1+Space" = "floating toggle";
|
||||
"Mod1+r" = "mode resize";
|
||||
|
||||
"Mod1+Left" = "focus left";
|
||||
"Mod1+Right" = "focus right";
|
||||
"Mod1+Up" = "focus up";
|
||||
"Mod1+Down" = "focus down";
|
||||
|
||||
"Mod1+1" = "workspace number 1";
|
||||
"Mod1+2" = "workspace number 2";
|
||||
"Mod1+3" = "workspace number 3";
|
||||
"Mod1+4" = "workspace number 4";
|
||||
"Mod1+5" = "workspace number 5";
|
||||
"Mod1+6" = "workspace number 6";
|
||||
"Mod1+7" = "workspace number 7";
|
||||
"Mod1+8" = "workspace number 8";
|
||||
"Mod1+9" = "workspace number 9";
|
||||
"Mod1+0" = "workspace number 10";
|
||||
"Mod1+h" = "scratchpad show";
|
||||
|
||||
"Mod1+Shift+1" = "move container to workspace number 1";
|
||||
"Mod1+Shift+2" = "move container to workspace number 2";
|
||||
"Mod1+Shift+3" = "move container to workspace number 3";
|
||||
"Mod1+Shift+4" = "move container to workspace number 4";
|
||||
"Mod1+Shift+5" = "move container to workspace number 5";
|
||||
"Mod1+Shift+6" = "move container to workspace number 6";
|
||||
"Mod1+Shift+7" = "move container to workspace number 7";
|
||||
"Mod1+Shift+8" = "move container to workspace number 8";
|
||||
"Mod1+Shift+9" = "move container to workspace number 9";
|
||||
"Mod1+Shift+0" = "move container to workspace number 10";
|
||||
"Mod1+Shift+h" = "move scratchpad";
|
||||
|
||||
"XF86AudioRaiseVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+";
|
||||
"XF86AudioLowerVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
||||
"XF86AudioMute" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
|
||||
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
||||
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
|
||||
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
|
||||
|
||||
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
|
||||
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
|
||||
};
|
||||
|
||||
modes = {
|
||||
resize = {
|
||||
"Left" = "resize shrink width 10px";
|
||||
"Right" = "resize shrink width 10px";
|
||||
"Up" = "resize shrink height 10px";
|
||||
"Down" = "resize shrink height 10px";
|
||||
|
||||
"Shift+Left" = "resize grow width 10px";
|
||||
"Shift+Right" = "resize grow width 10px";
|
||||
"Shift+Up" = "resize grow height 10px";
|
||||
"Shift+Down" = "resize grow height 10px";
|
||||
"Escape" = "mode default";
|
||||
"Return" = "mode default";
|
||||
};
|
||||
};
|
||||
|
||||
input = {
|
||||
"type:pointer" = {
|
||||
accel_profile = "flat";
|
||||
pointer_accel = "0";
|
||||
};
|
||||
|
||||
"type:keyboard" = {
|
||||
xkb_layout = "us,ru";
|
||||
xkb_options = "grp:caps_toggle";
|
||||
};
|
||||
|
||||
"type:touchpad" = {
|
||||
natural_scroll = "enabled";
|
||||
tap = "enabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
bindswitch lid:on exec swaylock
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue