hand7s: upstream

Signed-off-by: s0me1newithhand7s <git+me@hand7s.org>
This commit is contained in:
s0me1newithhand7s 2026-02-08 22:43:08 +03:00
parent e6c9d19b0f
commit e4222e5423
48 changed files with 282 additions and 1097 deletions

View file

@ -4,8 +4,6 @@
"${self}/hand7s/options/gui.nix"
"${self}/hand7s/wayland/hyprland.nix"
"${self}/hand7s/wayland/river.nix"
"${self}/hand7s/wayland/sway.nix"
"${self}/hand7s/home/defaults.nix"
"${self}/hand7s/home/gui.nix"
@ -17,7 +15,7 @@
"${self}/hand7s/nixpkgs/overlays.nix"
"${self}/hand7s/services/hypridle.nix"
"${self}/hand7s/services/swayidle.nix"
"${self}/hand7s/services/hyprsunset.nix"
"${self}/hand7s/services/kdeconnect.nix"
"${self}/hand7s/systemd/hyprpolkitagent-service.nix"
@ -33,19 +31,15 @@
"${self}/hand7s/programs/index.nix"
"${self}/hand7s/programs/obs-studio.nix"
"${self}/hand7s/programs/starship.nix"
"${self}/hand7s/programs/firefox.nix"
"${self}/hand7s/programs/swaylock.nix"
"${self}/hand7s/programs/yazi.nix"
"${self}/hand7s/programs/zoxide.nix"
"${self}/hand7s/programs/chrome.nix"
"${self}/hand7s/programs/hyprlock.nix"
"${self}/hand7s/programs/hyprpanel.nix"
"${self}/hand7s/programs/spicetify.nix"
"${self}/hand7s/programs/vscode.nix"
"${self}/hand7s/programs/zellij.nix"
"${self}/hand7s/programs/zed-editor.nix"
"${self}/hand7s/programs/direnv.nix"
"${self}/hand7s/programs/kitty.nix"
"${self}/hand7s/programs/noctalia.nix"
"${self}/hand7s/programs/iamb.nix"
];
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
fonts = {
fontconfig = {
enable = true;

View file

@ -1,4 +1,4 @@
{...}: {
_: {
gtk = {
enable = true;
};

View file

@ -1,4 +1,4 @@
{...}: {
_: {
home = {
stateVersion = "24.11";
username = "hand7s";

View file

@ -1,5 +1,6 @@
{
osConfig,
config,
lib,
...
}: {
@ -7,27 +8,13 @@
gui = {
enable =
lib.mkIf (
osConfig.networking.hostName == "s0mePC-nix" || osConfig.networking.hostName == "s0melapt0p-nix"
osConfig.networking.hostName == "ada" || osConfig.networking.hostName == "isla" || osConfig.networking.hostName == "wanda"
)
true;
sessionType =
if
(
osConfig.networking.hostName == "s0mePC-nix"
)
then "Hyprland"
else if
(
osConfig.networking.hostName == "s0mew0rkstat1on-nix"
)
then "Hyprland"
else if
(
osConfig.networking.hostName == "s0melapt0p-nix"
)
then "Sway"
else "None";
lib.mkIf config.home.gui.enable
"Hyprland";
};
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
home = {
keyboard = {
variant = "";

View file

@ -1,62 +1,32 @@
{
osConfig,
pkgs,
lib,
...
}: {
{pkgs, ...}: {
home = {
packages = with pkgs;
[
fd
gh
sd
xh
dua
nvd
gat
dust
sops
rsync
procs
sbctl
gping
dconf
tokei
comma
ifuse
trippy
bottom
kubectl
yt-dlp
ripgrep
gitoxide
tty-clock
deploy-rs
monero-cli
nixos-anywhere
wireguard-tools
yubico-piv-tool
yubikey-manager
libimobiledevice
nix-output-monitor
yubikey-touch-detector
yubikey-personalization
netbird-ui
]
++ lib.optionals (
osConfig.networking.hostName == "s0mePC-nix"
) [
mindustry
thunderbird
tetrio-desktop
min-ed-launcher
qbittorrent-enhanced
]
++ lib.optionals (
osConfig.networking.hostName == "s0melapt0p-nix"
) [
iwgtk
brightnessctl
];
packages = with pkgs; [
fd
gh
sd
xh
dua
nvd
dust
sops
rsync
procs
sbctl
gping
comma
trippy
bottom
ragenix
ripgrep
kubectl
gitoxide
deploy-rs
btop-rocm
bubblewrap
ripgrep-all
nixos-anywhere
wireguard-tools
nix-output-monitor
];
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
nix = {
settings = {
substituters = [
@ -9,9 +9,10 @@
# cachix
"https://nix-community.cachix.org/"
"https://chaotic-nyx.cachix.org/"
"https://ags.cachix.org"
"https://hyprland.cachix.org"
"https://chaotic-nyx.cachix.org/"
# nix-community
"https://hydra.nix-community.org/"
];
};
};

View file

@ -1,4 +1,4 @@
{...}: {
_: {
nix = {
settings = {
trusted-public-keys = [

View file

@ -1,4 +1,4 @@
{...}: {
_: {
nixpkgs = {
config = {
allowBroken = true;

View file

@ -1,4 +1,4 @@
{...}: {
_: {
nixpkgs = {
overlays = [
];

View file

@ -2,12 +2,12 @@
lib,
pkgs,
config,
inputs,
self,
...
}: let
cfg = config.home.gui;
ayugram = inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop;
freesm-launcher = inputs.freesm.packages.${pkgs.system}.freesmlauncher;
ayugram = self.inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop;
freesm-launcher = self.inputs.freesm.packages.${pkgs.system}.freesmlauncher;
in {
options.home.gui = {
enable = lib.mkEnableOption ''
@ -19,6 +19,7 @@ in {
'';
sessionType = lib.mkOption {
default = "None";
type = lib.types.enum [
"DWL"
"Sway"
@ -26,7 +27,7 @@ in {
"Hyprland"
"None"
];
default = "None";
description = ''
This option allows to choose current desktop session. All
three: riverwm, sway and Hyprland has their own config. Almost
@ -39,49 +40,55 @@ in {
home = {
packages = with pkgs;
[
throne
heroic
vesktop
nekoray
ayugram
anki-bin
obsidian
playerctl
monero-gui
mindustry
bitwarden
lan-mouse
monero-gui
parsec-bin
proton-pass
pwvucontrol
easyeffects
ayugram
element-desktop
thunderbird
chatterino7
tetrio-desktop
hyprpolkitagent
freesm-launcher
bitwarden-desktop
qbittorrent-enhanced
(discord.override {
withVencord = true;
withOpenASAR = false;
})
]
++ lib.optionals (
cfg.sessionType == "Sway"
) [
swaykbdd
autotiling-rs
sway-audio-idle-inhibit
sway-contrib.grimshot
sway-contrib.inactive-windows-transparency
]
++ lib.optionals (
cfg.sessionType == "River"
) [
wayshot
waylock
wayidle
]
++ lib.optionals (
cfg.sessionType == "Hyprland"
) [
inputs.noctalia.packages.${system}.default
fum
timg
dconf
iwgtk
tokei
ifuse
yt-dlp
termusic
playerctl
tty-clock
grimblast
monero-cli
brightnessctl
hyprsysteminfo
yubico-piv-tool
yubikey-manager
libimobiledevice
yubikey-touch-detector
yubikey-personalization
self.inputs.noctalia.packages.${system}.default
];
};
@ -89,10 +96,8 @@ in {
chromium.enable = true;
spicetify.enable = true;
vscode.enable = true;
fuzzel.enable = true;
ghostty.enable = true;
firefox.enable = true;
alacritty.enable = true;
git.enable = true;
};
services = with lib.mkDefault; {

View file

@ -1,7 +1,9 @@
{...}: {
_: {
programs = {
direnv = {
enable = true;
silent = true;
nix-direnv = {
enable = true;
};

View file

@ -1,4 +1,4 @@
{...}: {
_: {
programs = {
eza = {
enable = true;

View file

@ -1,28 +0,0 @@
{
inputs,
pkgs,
...
}: let
zen-browser = inputs.zen-browser.packages.${pkgs.system}.default;
in {
programs = {
firefox = {
package = zen-browser;
profiles = rec {
default = {
userContent = "
--zen-colors-primary: #82aaff !important;
--zen-colors-secondary: #c099ff !important;
--zen-colors-tertiary: #1e2030 !important;
--zen-colors-border: #3b4261 !important;
--zen-dialog-background: #222436 !important;
.tab-background[selected=[selected=''] {
background-color: #6c598c !important;
}
";
};
};
};
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
programs = {
fzf = {
enable = true;

View file

@ -8,12 +8,25 @@
enableFishIntegration = true;
installBatSyntax = true;
settings = {
title = "spooky scary tty";
title = "";
command = "${lib.getExe pkgs.fish} --login --interactive";
bell-features = "system";
command = "${lib.getExe pkgs.fish}";
confirm-close-surface = false;
cursor-style-blink = true;
cursor-style = "bar";
mouse-hide-while-typing = true;
working-directory = "home";
window-save-state = "never";
window-inherit-working-directory = false;
keybind = [
"ctrl+shift+d=new_split:right"
"ctrl+shift+a=new_split:down"

View file

@ -5,23 +5,18 @@
}: {
programs = {
git = {
enable = true;
package = pkgs.git;
userEmail = "117505144+s0me1newithhand7s@users.noreply.github.com";
userName = "s0me1newithhand7s";
aliases = {
pushall = "push github && push gitlab";
pushall-f = "push --force github && push --force gitlab";
};
settings = {
user = {
email = "git+me@hand7s.org";
name = "s0me1newithhand7s";
};
signing = {
format = "ssh";
signByDefault = true;
key = osConfig.sops.secrets.sshKey.path;
};
lfs = {
enable = true;
signing = {
format = "ssh";
signByDefault = true;
key = osConfig.sops.secrets.sshKey.path;
};
};
};
};

View file

@ -5,7 +5,7 @@
}: {
programs = {
helix = {
package = pkgs.helix_git;
package = pkgs.helix;
enable = true;
defaultEditor = true;
extraPackages = with pkgs; [

View file

@ -1,5 +1,6 @@
{
config,
pkgs,
lib,
...
}: {
@ -20,14 +21,17 @@
label = [
{
monitor = "";
text = "$TIME";
text = ''
cmd[update:1000] ${lib.getExe' pkgs.uutils-coreutils-noprefix "date"} +"%T"
'';
text_align = "center";
color = config.lib.stylix.colors.base01;
font_size = 48;
font_family = config.stylix.fonts.emoji.name;
rotate = 0;
position = "0, 50";
position = "0, 200";
halign = "center";
valign = "center";
@ -39,14 +43,17 @@
{
monitor = "";
text = "> $LAYOUT[en,ru]";
text = ''
cmd[update:1000] ${lib.getExe' pkgs.uutils-coreutils-noprefix "date"} +"%A, %B"
'';
text_align = "center";
color = config.lib.stylix.colors.base06;
font_size = 26;
color = config.lib.stylix.colors.base01;
font_size = 24;
font_family = config.stylix.fonts.emoji.name;
rotate = 0;
position = "200, -50";
position = "0, 150";
halign = "center";
valign = "center";
@ -73,7 +80,7 @@
hide_input = false;
rounding = -0.3;
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
fail_text = "$FAIL -> $ATTEMPTS";
fail_transition = 1000;
capslock_color = -1;
numlock_color = -1;
@ -81,7 +88,7 @@
invert_numlock = false;
swap_font_color = false;
position = "0, -50";
position = "0, -650";
halign = "center";
valign = "center";

View file

@ -1,440 +0,0 @@
{
pkgs,
lib,
...
}: {
programs = {
hyprpanel = {
enable = false;
settings = {
layout = {
"bar.layouts" = {
"*" = {
left = [
"dashboard"
"workspaces"
"media"
];
middle = [
"clock"
"power"
];
right = [
"network"
"kbinput"
"volume"
"systray"
"notifications"
];
};
};
};
scalingPriority = "hyprland";
tear = false;
dummy = true;
hyprpanel = {
restartAgs = true;
restartCommand = "${lib.getExe' pkgs.systemd "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 = "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%-";
scrollUp = "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%+";
rightClick = "${lib.getExe' pkgs.wireplumber "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 = "${lib.getExe' pkgs.hyprland "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 = "${lib.getExe pkgs.google-chrome}";
icon = "";
tooltip = "Google Chrome";
};
shortcut2 = {
command = "spotify";
icon = "";
tooltip = "Spotify";
};
shortcut3 = {
command = "${lib.getExe pkgs.discord}";
icon = "";
tooltip = "Discord";
};
shortcut4 = {
command = "ayugram-desktop";
icon = "";
tooltip = "Telegram";
};
};
right = {
shortcut1 = {
command = "${lib.getExe pkgs.fuzzel}";
icon = "";
tooltip = "Search";
};
shortcut3 = {
command = "${lib.getExe pkgs.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/pfp4_mini.jpg";
name = "system";
};
};
};
media = {
displayTime = true;
displayTimeTooltip = true;
noMediaText = "-";
hideAlbum = false;
hideAuthor = false;
};
power = {
confirmation = true;
showLabel = true;
logout = "${lib.getExe' pkgs.hyprland "hyprctl"} dispatch exit";
reboot = "${lib.getExe' pkgs.systemd "systemctl"} reboot";
shutdown = "${lib.getExe' pkgs.systemd "systemctl"} poweroff";
sleep = "${lib.getExe' pkgs.systemd "systemctl"} suspend";
};
volume = {
raiseMaximumVolume = false;
};
};
notifications = {
active_monitor = true;
cache_actions = true;
clearDelay = 50;
displayedTotal = 5;
showActionsOnHover = true;
timeout = 5000;
};
theme = {
matugen = false;
name = "tokyo-night-vivid";
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 = "";
};
};
};
};
}

16
hand7s/programs/iamb.nix Normal file
View file

@ -0,0 +1,16 @@
_: {
programs = {
iamb = {
enable = true;
settings = {
default_profile = "hand7s";
profiles = {
hand7s = {
user_id = "@s0me1newithhand7s:ubiquelambda.dev";
url = "https://ubiquelambda.dev";
};
};
};
};
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
programs = {
nix-index = {
enable = true;

View file

@ -1,12 +0,0 @@
{...}: {
programs = {
kitty = {
enable = true;
enableGitIntegration = true;
shellIntegration = {
enableFishIntegration = true;
};
};
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
programs = {
mangohud = {
enable = true;

View file

@ -1,4 +1,4 @@
{...}: {
_: {
programs = {
mpv = {
enable = true;

View file

@ -1,4 +1,8 @@
{config, ...}: {
{
lib,
config,
...
}: {
programs =
if
(
@ -14,12 +18,14 @@
dimDesktop = false;
forceBlackScreenCorners = true;
showScreenCorners = true;
screenRadiusRatio = 2;
screenRadiusRatio = 1;
radiusRatio = 0.7;
enableShadows = true;
shadowDirection = "center";
};
appLauncher = {
position = "center";
position = "bottom_center";
useApp2Unit = false;
sortByMostUsed = true;
enableClipboardHistory = false;
@ -34,8 +40,8 @@
};
bar = {
floating = true;
density = "comfortable";
floating = false;
density = "default";
position = "right";
showCapsule = false;
marginVertical = 1;
@ -47,7 +53,7 @@
widgets = {
left = [
{
id = "SidePanelToggle";
id = "ControlCenter";
useDistroLogo = true;
}
@ -112,6 +118,10 @@
};
};
notifications = {
location = "top_center";
};
controlCenter = {
position = "close_to_bar_button";
quickSettingsStyle = "compact";
@ -181,23 +191,27 @@
enabled = true;
alwaysOnTop = true;
autoHideMs = 2500;
location = "top";
location = "bottom_center";
monitors = [
"DP-3"
];
};
ui = {
fontDefault = "Nerd Fonts Hack";
fontDefault = lib.mkForce "Nerd Fonts Hack";
fontDefaultScale = 1;
fontFixed = "Nerd Fonts Hack";
fontFixed = lib.mkForce "Nerd Fonts Hack";
fontFixedScale = 1;
idleInhibitorEnabled = false;
tooltipsEnabled = true;
};
wallpaper = {
enabled = false;
};
location = {
name = "Yelaguba";
name = "Tatarstan, Yelaguba";
showWeekNumberInCalendar = true;
use12hourFormat = false;
useFahrenheit = false;

View file

@ -1,19 +1,19 @@
{
lib,
pkgs,
inputs,
self,
...
}: {
programs = {
spicetify = {
enabledExtensions = with inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [
enabledExtensions = with self.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";
theme = lib.mkForce self.inputs.spicetify-nix.legacyPackages.${pkgs.system}.themes.text;
colorScheme = lib.mkForce "TokyoNight";
};
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
programs = {
starship = {
enable = true;
@ -7,15 +7,14 @@
add_newline = true;
format = ''
[](bold blue) $hostname $os
[](bold blue) $username at $hostname on $os
[](bold blue) $directory$git_branch$git_commit$git_state$git_metrics$git_status
[>](bold blue)
'';
[>](bold blue) '';
right_format = ''$cmd_duration ($character) at $time'';
os = {
format = "on [($name $codename$version$edition $symbol )]($style)";
format = "[($name $codename$version$edition $symbol )]($style)";
style = "bold blue";
disabled = false;
};
@ -27,6 +26,13 @@
disabled = false;
};
username = {
show_always = true;
disabled = false;
format = "[$user]($style)";
style_user = "bold green";
};
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";

View file

@ -1,19 +0,0 @@
{
config,
lib,
...
}: {
programs = {
swaylock = {
enable =
lib.mkIf (
config.home.gui.sessionType == "Sway"
)
true;
settings = {
show-failed-attempts = true;
};
};
};
}

View file

@ -6,14 +6,19 @@
}: {
programs = {
vscode = {
package = pkgs.vscodium;
profiles = {
default = {
extensions = with pkgs.vscode-extensions; [
jnoortheen.nix-ide
ms-vscode-remote.vscode-remote-extensionpack
ms-vsliveshare.vsliveshare
redhat.vscode-yaml
redhat.ansible
nefrob.vscode-just-syntax
];
userSettings = lib.mkForce {
@ -24,7 +29,7 @@
"editor.cursorSmoothCaretAnimation" = "on";
"editor.wordWrap" = "on";
"workbench.colorTheme" = "Tokyo Night Moon";
"workbench.colorTheme" = "Tokyo Storm AltSynt";
"workbench.sideBar.location" = "right";
"workbench.activityBar.location" = "top";
"workbench.editor.editorActionsLocation" = "titleBar";
@ -35,11 +40,6 @@
"terminal.integrated.cursorBlinking" = true;
"files.autoSave" = "afterDelay";
"[nix]" = {
"editor.insertSpaces" = true;
"editor.tabSize" = 4;
};
};
};
};

View file

@ -50,6 +50,14 @@
}
];
view = [
{
run = "${lib.getExe pkgs.timg} ''-p k -C $@ | ${lib.getExe' pkgs.uutils-coreutils-noprefix "more"}''";
block = true;
for = "unix";
}
];
edit = [
{
run = "${lib.getExe pkgs.helix} ''$@''";
@ -61,12 +69,36 @@
open = [
{
run = "${lib.getExe' pkgs.xdg-utils "xdg-open"} ''$@''";
block = true;
orphan = true;
for = "unix";
}
];
};
open = {
rules = [
{
mime = "image/*";
use = "view";
}
{
mime = "text/*";
use = "edit";
}
{
mime = "audio/*";
use = "play";
}
{
mime = "video/*";
use = "play";
}
];
};
input = {
cursor_blink = true;
};

View file

@ -1,32 +0,0 @@
{pkgs, ...}: {
programs = {
zed-editor = {
enable = false;
package = pkgs.zed-editor_git;
installRemoteServer = true;
userSettings = {
vim_mode = true;
features = {
copilot = false;
};
tab_bar = {
show = false;
};
telemetry = {
metrics = false;
};
};
extensions = [
"nix"
"xy-zed"
];
extraPackages = [
pkgs.nixd
];
};
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
programs = {
zoxide = {
enable = true;

View file

@ -1,4 +1,4 @@
{...}: {
_: {
qt = {
enable = true;
};

View file

@ -0,0 +1,23 @@
_: {
services = {
hyprsunset = {
enable = true;
settings = {
max-gamma = 150;
profile = [
{
time = "6:00";
identity = true;
}
{
time = "22:00";
temperature = 4000;
gamma = 1.1;
}
];
};
};
};
}

View file

@ -1,51 +0,0 @@
{
config,
pkgs,
lib,
...
}: {
services = {
swayidle = {
enable =
lib.mkIf (
config.home.gui.sessionType == "Sway"
)
true;
events = [
{
event = "lock";
command = "${lib.getExe pkgs.swaylock}";
}
{
event = "before-sleep";
command = "${lib.getExe' pkgs.sway "swaymsg"} 'output * power off'";
}
{
event = "after-resume";
command = "${lib.getExe' pkgs.sway "swaymsg"} 'output * power on'";
}
];
timeouts = [
{
timeout = 300;
command = "${lib.getExe pkgs.brightnessctl} -s set 10";
resumeCommand = "${lib.getExe pkgs.brightnessctl} -r";
}
{
timeout = 600;
command = "${lib.getExe pkgs.swaylock}";
}
{
timeout = 900;
command = "${lib.getExe' pkgs.systemd "systemctl"} suspend";
}
];
};
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
stylix = {
base16Scheme = {
scheme = "Tokyonight by Folke Lemaitre (https://github.com/folke)";

View file

@ -1,4 +1,4 @@
{...}: {
_: {
stylix = {
enable = true;
autoEnable = true;

View file

@ -1,5 +1,5 @@
{...}: {
_: {
stylix = {
image = ./wallpaper3.jpg;
image = ./wallpaper3.png;
};
}

View file

@ -1,4 +1,4 @@
{...}: {
_: {
stylix = {
base16Scheme = {
base00 = "2a1617";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 980 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 980 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -1,5 +1,5 @@
{
inputs,
self,
config,
pkgs,
lib,
@ -14,8 +14,8 @@
)
true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
package = self.inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = self.inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
settings = {
monitor = ", 2560x1440@165.00Hz, 0x0, 1";
@ -92,9 +92,7 @@
"${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service"
"${lib.getExe' pkgs.systemd "systemctl"} --user start hypridle.service"
"${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service"
# "${lib.getExe' pkgs.systemd "systemctl"} --user start noctalis.service"
"${lib.getExe inputs.noctalia.packages.${pkgs.system}.default}"
"${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default}"
"${lib.getExe' pkgs.hyprland "hyprctl"} setcursor material_light_cursors 20"
];
@ -102,13 +100,12 @@
bind = [
"ALT, return, exec, ${lib.getExe pkgs.ghostty}"
"ALT, Q, killactive,"
"ALT, S, exec, ${lib.getExe inputs.noctalia.packages.${pkgs.system}.default} ipc call launcher toggle"
"ALT, S, exec, ${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default} ipc call launcher toggle"
"ALT, F, fullscreen, 0"
"ALT, L, exec, ${lib.getExe pkgs.hyprlock}"
"ALT SHIFT, E, exit,"
"ALT SHIFT, space, togglefloating, active"
"ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png"
"ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png | , killall -9 hyprpicker"
"ALT, left, movefocus, l"
"ALT, right, movefocus, r"
@ -139,6 +136,8 @@
"ALT SHIFT, 0, movetoworkspacesilent, 10"
"ALT SHIFT, H, movetoworkspacesilent, special"
"ALT, Tab, hyprexpo:expo, toggle"
"ALT, mouse_down, workspace, e+1"
"ALT, mouse_up, workspace, e-1"
];
@ -166,14 +165,16 @@
animation = [
"enabled = true"
"bezier = bez, 0.05, 0.9, 0.1, 1.05"
"animation = windows, 1, 7, popin"
"animation = windowsOut, 1, 7, popin"
"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"
"animation = layers, 1, 7, fade"
"animation = border, 1, 10"
"animation = borderangle, 1, 10"
"animation = workspaces, 1, 7, slidevert"
"animation = specialWorkspace, 1, 7, slidevert"
];
misc = {
@ -216,10 +217,15 @@
hyprscrolling = {
fullscreen_on_one_column = true;
follow_focus = true;
column_width = 0.7;
focus_fit_method = "center";
};
easymotion = {
only_special = false;
hyprexpo = {
columns = 2;
gap_size = 10;
skip_empty = true;
workspace_method = "workspace";
};
dynamic-cursors = {
@ -228,7 +234,7 @@
threshold = 2;
stretch = {
limit = 4000;
function = "quadratic";
function = "linear";
};
shake = {
@ -256,17 +262,10 @@
};
};
plugins = [
# pkgs.hyprlandPlugins.hypr-dynamic-cursors
# pkgs.hyprlandPlugins.xtra-dispatchers
# pkgs.hyprlandPlugins.hyprwinwrap
# pkgs.hyprlandPlugins.hyprgrass
# pkgs.hyprlandPlugins.hyprscrolling
# inputs.hyprcurs.packages.${pkgs.system}.hypr-dynamic-cursors
# inputs.hyprplugs.packages.${pkgs.system}.hyprscrolling
# inputs.hyprplugs.packages.${pkgs.system}.xtra-dispatchers
# inputs.hyprplugs.packages.${pkgs.system}.hyprwinwrap
plugins = with pkgs.hyprlandPlugins; [
hypr-dynamic-cursors
hyprscrolling
hyprexpo
];
};
};

View file

@ -1,112 +0,0 @@
{
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";
};
map-pointer = {
normal = {
"Alt BTN_LEFT" = "move-view";
"Alt BTN_RIGHT" = "resize-view";
};
};
};
};
extraConfig = ''
${lib.getExe' pkgs.river "riverctl"} keyboard-layout -options "grp:caps_toggle" "us,ru"
${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service
${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service
${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getExe' pkgs.systemd "systemctl"} --user start yambar.service
${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getEce pkgs.wayidle} -t=300 ${lib.getExe pkgs.brightnessctl} -s set 10
${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getEce pkgs.wayidle} -t=600 ${lib.getExe pkgs.waylock}
'';
};
};
};
}

View file

@ -1,185 +0,0 @@
{
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 = "${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service";
}
{
command = "${lib.getExe' pkgs.systemd "systemctl"} --user start hypridle.service";
}
{
command = "${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service";
}
{
command = "${lib.getExe' pkgs.systemd "systemctl"} --user start yambar.service";
}
{
command = "${lib.getExe pkgs.sway-audio-idle-inhibit}";
}
{
command = "${lib.getExe pkgs.autotiling-rs}";
}
{
command = "${lib.getExe pkgs.swaykbdd}";
}
];
keybindings = lib.mkOptionDefault {
"Mod1+q" = "kill";
"Mod1+s" = "exec ${lib.getExe pkgs.fuzzel}";
"Mod1+Return" = "exec ${lib.getExe pkgs.ghostty}";
"Mod1+l" = "exec ${lib.getExe pkgs.swaylock}";
"Mod1+f" = "fullscreen toggle";
"Mod1+Shift+s" = "exec ${lib.getExe pkgs.sway-contrib.grimshot} --notify copy area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png";
"Mod1+Shift+e" = "exec ${lib.getExe' pkgs.sway "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 ${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%+";
"XF86AudioLowerVolume" = "exec ${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%-";
"XF86AudioMute" = "exec ${lib.getExe' pkgs.wireplumber "wpctl"} set-mute @DEFAULT_AUDIO_SINK@ toggle";
"XF86AudioPlay" = "exec ${lib.getExe pkgs.playerctl} play-pause";
"XF86AudioPrev" = "exec ${lib.getExe pkgs.playerctl} previous";
"XF86AudioNext" = "exec ${lib.getExe pkgs.playerctl} next";
"XF86MonBrightnessDown" = "exec ${lib.getExe pkgs.brightnessctl} set 5%-";
"XF86MonBrightnessUp" = "exec ${lib.getExe pkgs.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
'';
};
};
};
}