initial commit x2
This commit is contained in:
32
home-manager/apps/fastfetch.nix
Normal file
32
home-manager/apps/fastfetch.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
package = pkgs.fastfetch;
|
||||
settings = {
|
||||
logo.source = "nixos_small";
|
||||
display.separator = " :: ";
|
||||
modules = [
|
||||
{
|
||||
type = "os";
|
||||
key = "dis";
|
||||
}
|
||||
{
|
||||
type = "kernel";
|
||||
key = "krn";
|
||||
}
|
||||
{
|
||||
type = "uptime";
|
||||
key = "upt";
|
||||
}
|
||||
{
|
||||
type = "packages";
|
||||
key = "pks";
|
||||
}
|
||||
{
|
||||
type = "wm";
|
||||
key = "wdm";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
7
home-manager/apps/git.nix
Normal file
7
home-manager/apps/git.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ config, ... }: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "chronoblade";
|
||||
userEmail = "sophr.temin@ro.ru";
|
||||
};
|
||||
}
|
||||
15
home-manager/apps/kitty.nix
Normal file
15
home-manager/apps/kitty.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
font = {
|
||||
size = 10;
|
||||
name = "JetBrainsMono NF";
|
||||
};
|
||||
settings = {
|
||||
cursor_shape = "beam";
|
||||
window_padding_width = 6;
|
||||
};
|
||||
themeFile = "gruvbox-dark";
|
||||
};
|
||||
}
|
||||
24
home-manager/apps/neovim.nix
Normal file
24
home-manager/apps/neovim.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
package = pkgs.neovim-unwrapped;
|
||||
defaultEditor = true;
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
vim-plug
|
||||
gruvbox-nvim
|
||||
yuck-vim
|
||||
bufferline-nvim
|
||||
nvim-web-devicons
|
||||
nvim-lspconfig
|
||||
];
|
||||
extraConfig = ''
|
||||
colorscheme gruvbox
|
||||
set tabstop=2
|
||||
set softtabstop=2
|
||||
set shiftwidth=2
|
||||
set laststatus=0
|
||||
set number
|
||||
set shortmess+=I
|
||||
'';
|
||||
};
|
||||
}
|
||||
66
home-manager/apps/zsh.nix
Normal file
66
home-manager/apps/zsh.nix
Normal file
@@ -0,0 +1,66 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
package = pkgs.zsh;
|
||||
plugins = [{
|
||||
name = "zsh-autosuggestions";
|
||||
src = pkgs.zsh-autosuggestions;
|
||||
}
|
||||
{
|
||||
name = "zsh-highlighting";
|
||||
src = pkgs.zsh-syntax-highlighting;
|
||||
}];
|
||||
shellAliases =
|
||||
let
|
||||
conf = "/home/chronoblade/nix/system/default.nix";
|
||||
args = "-- --impure -I";
|
||||
flake = "FLAKE='/home/chronoblade/nix'";
|
||||
in {
|
||||
"nhs" = "${flake} nh home switch ${args} ${conf}";
|
||||
"nhsu" = "${flake} nh home switch --update ${args} ${conf}";
|
||||
"nos" = "${flake} nh os switch ${args} ${conf}";
|
||||
"nosu" = "${flake} nh os switch --update ${args} ${conf}";
|
||||
"nca" = "${flake} nh clean all";
|
||||
};
|
||||
syntaxHighlighting = {
|
||||
enable = true;
|
||||
highlighters = [ "main" "brackets" "pattern" "regexp" "root" "line" ];
|
||||
styles =
|
||||
let
|
||||
fg = "#282828";
|
||||
red = "#cc241d";
|
||||
green = "#98971a";
|
||||
yellow = "#79921";
|
||||
blue = "#458588";
|
||||
orange = "#d65d0e";
|
||||
aqua = "#689d6a";
|
||||
purple = "#b16286";
|
||||
gray = "#a89984";
|
||||
in {
|
||||
command = "fg=${blue},bold";
|
||||
unknown-token = "fg=${red},bold";
|
||||
reserved-word = "fg=${blue},bold";
|
||||
alias = "fg=${aqua},bold";
|
||||
builtin = "fg=${aqua},bold";
|
||||
function = "fg=${fg},bold";
|
||||
commandseparator = "fg=${green},bold";
|
||||
path = "fg=${aqua},bold";
|
||||
path_pathseparator = "fg=${aqua},bold";
|
||||
globbing = "fg=${blue},bold";
|
||||
command-sustitution = "fg=${green},bold";
|
||||
single-hyphen-option = "fg=${green},bold";
|
||||
double-hyphen-option = "fg=${aqua},bold";
|
||||
back-quoted-argument = "fg=${yellow},bold";
|
||||
single-quoted-argument = "fg=${yellow},bold";
|
||||
double-quoted-argument = "fg=${yellow},bold";
|
||||
redirection = "fg=${purple},bold";
|
||||
comment = "fg=${gray},bold";
|
||||
arg0 = "fg=${blue},bold";
|
||||
default = "fg=${blue},bold";
|
||||
};
|
||||
};
|
||||
initExtra = ''
|
||||
export PROMPT="%m %2~ %B::%b "
|
||||
'';
|
||||
};
|
||||
}
|
||||
40
home-manager/configuration.nix
Normal file
40
home-manager/configuration.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{ config, pkgs, ... }: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
home = {
|
||||
username = "chronoblade";
|
||||
homeDirectory = "/home/chronoblade";
|
||||
stateVersion = "24.11";
|
||||
packages = with pkgs; [
|
||||
#Интернет
|
||||
inputs.zen-browser.packages."${system}".default
|
||||
transmission_4-gtk
|
||||
filezilla
|
||||
cassette
|
||||
|
||||
#Игры
|
||||
prismlauncher
|
||||
wineWowPackages.stable
|
||||
|
||||
#Рисовалка/медиа
|
||||
krita
|
||||
obs-studio
|
||||
vlc
|
||||
|
||||
#ПРоги стола
|
||||
nemo
|
||||
eog
|
||||
file-roller
|
||||
|
||||
#Заметки
|
||||
obsidian
|
||||
|
||||
#Утилиты
|
||||
pamixer
|
||||
cava
|
||||
playerctl
|
||||
pavucontrol
|
||||
grim
|
||||
onefetch
|
||||
];
|
||||
};
|
||||
}
|
||||
18
home-manager/default.nix
Normal file
18
home-manager/default.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ ... }: {
|
||||
imports = [
|
||||
./configuration.nix
|
||||
|
||||
./apps/fastfetch.nix
|
||||
./apps/git.nix
|
||||
./apps/kitty.nix
|
||||
./apps/neovim.nix
|
||||
./apps/zsh.nix
|
||||
|
||||
./desktop/eww/eww.nix
|
||||
./desktop/rofi/rofi.nix
|
||||
./desktop/gtk.nix
|
||||
./desktop/hyprland.nix
|
||||
./desktop/hyprpaper.nix
|
||||
./desktop/xdg.nix
|
||||
];
|
||||
}
|
||||
BIN
home-manager/desktop/avatar.jpg
Normal file
BIN
home-manager/desktop/avatar.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
8
home-manager/desktop/eww/eww.nix
Normal file
8
home-manager/desktop/eww/eww.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.eww = {
|
||||
enable = true;
|
||||
package = pkgs.eww;
|
||||
enableZshIntegration = true;
|
||||
configDir = "/home/$HOME/nix/home-manager/desktop/eww";
|
||||
};
|
||||
}
|
||||
68
home-manager/desktop/eww/eww.scss
Normal file
68
home-manager/desktop/eww/eww.scss
Normal file
@@ -0,0 +1,68 @@
|
||||
$bg: #282828;
|
||||
$fg: #ebdbb2;
|
||||
$bg2: #373633;
|
||||
$fg2: #32302f;
|
||||
|
||||
* {
|
||||
font-family: JetBrains Mono NF;
|
||||
font-size: 14;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.bar {
|
||||
border: 2px solid $fg2;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.ws-number-class {
|
||||
font-weight: 900;
|
||||
margin: 0px 5px 0px 10px;
|
||||
background: $bg2;
|
||||
padding: 3px 5px 3px 5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.ws-title-class {
|
||||
margin: 0px 5px;
|
||||
padding: 3px 5px 3px 5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.right1 {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
.date-class {
|
||||
background: $fg;
|
||||
color: $bg;
|
||||
padding: 3px 5px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.volume-class {
|
||||
background: $bg2;
|
||||
margin: 0px 8px 0px 0px;
|
||||
border-top-right-radius: 6px;
|
||||
border-bottom-right-radius: 6px;
|
||||
}
|
||||
|
||||
.language-class {
|
||||
background: $bg2;
|
||||
padding: 0px 10px 0px 5px;
|
||||
border-top-left-radius: 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
}
|
||||
|
||||
.uptime-class {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
.music {
|
||||
background: $bg2;
|
||||
padding: 3px 3px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
66
home-manager/desktop/eww/eww.yuck
Normal file
66
home-manager/desktop/eww/eww.yuck
Normal file
@@ -0,0 +1,66 @@
|
||||
(defpoll WS :interval "0.1s" "/home/fox/.config/eww/workspace-number.sh")
|
||||
(defpoll WST :interval "0.1s" "/home/fox/.config/eww/workspace-title.sh")
|
||||
(defpoll DATE :interval "40s" "date +'%H:%M'")
|
||||
(defpoll VOL :interval "0.1s" "/home/fox/.config/eww/volume.sh")
|
||||
(defpoll LGN :interval "0.1s" "/home/fox/.config/eww/language.sh")
|
||||
(defpoll UPT :interval "3600s" "/home/fox/.config/eww/uptime.sh")
|
||||
(defpoll MS :interval "0.1s" "/home/fox/.config/eww/music.sh")
|
||||
|
||||
(defwindow bar
|
||||
:monitor 0
|
||||
:geometry (geometry :x "0"
|
||||
:y "7"
|
||||
:width "850"
|
||||
:height "45"
|
||||
:anchor "bottom center")
|
||||
:stacking "fg"
|
||||
:exclusive true
|
||||
:windowtype "dock"
|
||||
:wm-ignore false
|
||||
(box (left)
|
||||
(center)
|
||||
(right)))
|
||||
|
||||
(defwidget left []
|
||||
(box :orientation "h"
|
||||
:valign "center"
|
||||
:space-evenly "false"
|
||||
(box :halign "center"
|
||||
:orientation "v"
|
||||
(label :class "ws-number-class"
|
||||
:text WS))
|
||||
(box :halign "start"
|
||||
:orientation "v"
|
||||
(label :class "ws-title-class"
|
||||
:text WST))))
|
||||
|
||||
(defwidget center []
|
||||
(box :orientation "h"
|
||||
:halign "center"
|
||||
:valign "center"
|
||||
:class "music"
|
||||
MS))
|
||||
|
||||
(defwidget right []
|
||||
(box :orientation "h"
|
||||
:halign "end"
|
||||
:valign "center"
|
||||
:space-evenly "false"
|
||||
:vexpand "false"
|
||||
:hexpand "false"
|
||||
:class "right1"
|
||||
(box :orientation "h" :class "upt"
|
||||
(label :class "uptime-class"
|
||||
:text UPT))
|
||||
(box (label :class "language-class"
|
||||
:text LGN))
|
||||
(box (label :class "volume-class"
|
||||
:text VOL))
|
||||
(box (label :class "date-class"
|
||||
:text DATE))))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
7
home-manager/desktop/eww/language.sh
Executable file
7
home-manager/desktop/eww/language.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
if hyprctl devices | grep -q "active keymap: Russian"; then
|
||||
echo "ru"
|
||||
else
|
||||
echo "en"
|
||||
fi
|
||||
|
||||
15
home-manager/desktop/eww/music.sh
Executable file
15
home-manager/desktop/eww/music.sh
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
music=$(playerctl metadata --format "{{title}}" 2>/dev/null)
|
||||
|
||||
max_length=15
|
||||
|
||||
if [ -z "$music" ]; then
|
||||
echo ":: No playing ::"
|
||||
else
|
||||
if [ ${#music} -gt $max_length ]; then
|
||||
echo "${music:0:$max_length}..."
|
||||
else
|
||||
echo "$music"
|
||||
fi
|
||||
fi
|
||||
|
||||
3
home-manager/desktop/eww/uptime.sh
Executable file
3
home-manager/desktop/eww/uptime.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
command=$(uptime | awk '{print $3}')
|
||||
|
||||
echo "$command "
|
||||
4
home-manager/desktop/eww/volume.sh
Executable file
4
home-manager/desktop/eww/volume.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
vol=$(pamixer --get-volume)
|
||||
|
||||
echo " $vol "
|
||||
5
home-manager/desktop/eww/workspace-number.sh
Executable file
5
home-manager/desktop/eww/workspace-number.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
current_ws=$(hyprctl activeworkspace | grep "workspace ID" | awk '{print $3}' | head -n1)
|
||||
|
||||
#echo "Workspace $current_ws"
|
||||
echo " $current_ws"
|
||||
25
home-manager/desktop/eww/workspace-title.sh
Executable file
25
home-manager/desktop/eww/workspace-title.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
current_tl=$(hyprctl activewindow | grep -A1 "title" | tail -n1 | awk '{$1=""; print substr($0, 2)}')
|
||||
air=""
|
||||
|
||||
if [[ $current_tl != $air ]]; then
|
||||
case $current_tl in
|
||||
zen)
|
||||
echo " Browser"
|
||||
;;
|
||||
kitty)
|
||||
echo " Terminal"
|
||||
;;
|
||||
org.telegram.desktop)
|
||||
echo " Telegram"
|
||||
;;
|
||||
obsidian)
|
||||
echo " Obsidian"
|
||||
;;
|
||||
*)
|
||||
echo "$current_tl"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo " Desktop"
|
||||
fi
|
||||
47
home-manager/desktop/eww/ws.sh
Executable file
47
home-manager/desktop/eww/ws.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
#c_ws=$( hyprctl activeworkspace | grep "workspace ID" | awk '{print $3}' | head -1)
|
||||
#l_ws=""
|
||||
|
||||
#while true; do
|
||||
# if [[ "$c_ws" != "$l_ws" ]]; then
|
||||
# echo $c_ws
|
||||
# l_ws=$c_ws
|
||||
# fi
|
||||
#done
|
||||
|
||||
#prev_value_ws=""
|
||||
#while true; do
|
||||
# current_value_ws=$(hyprctl activeworkspace | grep "workspace ID" | awk '{print $3}' | head -1)
|
||||
# if [[ "$current_value_ws" != "$prev_value_ws" ]]; then
|
||||
# echo "$current_value_ws"
|
||||
# prev_value_ws="$current_value_ws"
|
||||
# fi
|
||||
#done
|
||||
|
||||
#prev_value_tl=""
|
||||
#while true; do
|
||||
# current_value_tl=$(hyprctl activewindow | grep title | awk 'NR == 2' | awk '{print $2}')
|
||||
# if [[ "$current_value_tl" != "$prev_value_tl" ]]; then
|
||||
# echo "$current_value_tl"
|
||||
# prev_value_ws="$current_value_tl"
|
||||
# fi
|
||||
#done
|
||||
|
||||
|
||||
prev_ws=""
|
||||
prev_tl=""
|
||||
output_file="/home/fox/.cache/waybar_output"
|
||||
|
||||
while true; do
|
||||
current_ws=$(hyprctl activeworkspace | grep "workspace ID" | awk '{print $3}' | head -n1)
|
||||
current_tl=$(hyprctl activewindow | grep -A1 "title" | tail -n1 | awk '{$1=""; print substr($0, 2)}')
|
||||
|
||||
if [[ "$current_ws" != "$prev_ws" || "$current_tl" != "$prev_tl" ]]; then
|
||||
echo "$current_ws"
|
||||
echo "$current_tl"
|
||||
prev_ws="$current_ws"
|
||||
prev_tl="$current_tl"
|
||||
fi
|
||||
|
||||
sleep 0.1
|
||||
done
|
||||
45
home-manager/desktop/gtk.nix
Normal file
45
home-manager/desktop/gtk.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
theme = "${pkgs.gruvbox-gtk-theme}/share/themes/Gruvbox-Dark";
|
||||
theme-name = "Gruvbox-Dark";
|
||||
icon = "Gruvbox-Plus-Dark";
|
||||
cursor = "cursor";
|
||||
in {
|
||||
home.packages = [
|
||||
pkgs.dconf
|
||||
pkgs.glib
|
||||
pkgs.gruvbox-kvantum pkgs.qt6ct #перенести потом в qt.nix
|
||||
];
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = {
|
||||
size = 10;
|
||||
name = "JetBrains Mono Medium";
|
||||
};
|
||||
gtk3 = {
|
||||
extraCss = "${theme}/gtk-3.0/gtk-dark.css";
|
||||
extraConfig = {
|
||||
gtk-button-images = 0;
|
||||
gtk-menu-images = 0;
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
button-layout = "";
|
||||
};
|
||||
};
|
||||
gtk4 = {
|
||||
extraCss = "${theme}/gtk-4.0/gtk-dark.css";
|
||||
extraConfig = { buttom-layout = ""; };
|
||||
};
|
||||
iconTheme = {
|
||||
name = "${icon}";
|
||||
package = pkgs.gruvbox-plus-icons;
|
||||
};
|
||||
cursorTheme = {
|
||||
name = "${cursor}";
|
||||
package = pkgs.capitaine-cursors-themed;
|
||||
};
|
||||
theme = {
|
||||
name = "${theme-name}";
|
||||
package = pkgs.gruvbox-gtk-theme;
|
||||
};
|
||||
};
|
||||
}
|
||||
155
home-manager/desktop/hyprland.nix
Normal file
155
home-manager/desktop/hyprland.nix
Normal file
@@ -0,0 +1,155 @@
|
||||
{ pkgs, ... }: {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
xwayland.enable = true;
|
||||
settings = {
|
||||
autogenerated = 0;
|
||||
monitor = "HDMI-A-2, 1920x1080@100, 0x0, 1";
|
||||
|
||||
exec-once = [ "hyprpaper" "eww open bar" ];
|
||||
env = [
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
"QT_QPA_PLATFORMTHEME,qt6ct"
|
||||
"XDG_CURRENT_DESKTOP='Hyprland'"
|
||||
"XDG_SESSION_TYPE='wayland'"
|
||||
"XDG_SESSION_DESKTOP='Hyprland'"
|
||||
"QT_AUTO_SCREEN_SCALE_FACTOR='1'"
|
||||
"QT_QPA_PLATFORM='wayland'"
|
||||
"QT_QPA_PLATFORMTHEME='gtk3'"
|
||||
];
|
||||
|
||||
general = {
|
||||
gaps_in = 15;
|
||||
gaps_out = 30;
|
||||
|
||||
border_size = 2;
|
||||
col = {
|
||||
active_border = "rgb(32302f)";
|
||||
inactive_border = "rgb(1d2021)";
|
||||
};
|
||||
|
||||
resize_on_border = true;
|
||||
allow_tearing = true;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
rounding_power = 2;
|
||||
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 5;
|
||||
render_power = 5;
|
||||
color = "rgb(1d2021)";
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
|
||||
vibrancy = 0.1696;
|
||||
};
|
||||
};
|
||||
|
||||
animations {
|
||||
enabled = "yes, please :)";
|
||||
|
||||
bezier = [
|
||||
"easeOutQuint,0.23,1,0.32,1"
|
||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||
"linear,0,0,1,1"
|
||||
"almostLinear,0.5,0.5,0.75,1.0"
|
||||
"quick,0.15,0,0.1,1"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"global, 1, 10, default"
|
||||
"border, 1, 5.39, easeOutQuint"
|
||||
"windows, 1, 4.79, easeOutQuint"
|
||||
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
|
||||
"windowsOut, 1, 1.49, linear, popin 87%"
|
||||
"fadeIn, 1, 1.73, almostLinear"
|
||||
"fadeOut, 1, 1.46, almostLinear"
|
||||
"fade, 1, 3.03, quick"
|
||||
"layers, 1, 3.81, easeOutQuint"
|
||||
"layersIn, 1, 4, easeOutQuint, fade"
|
||||
"layersOut, 1, 1.5, linear, fade"
|
||||
"fadeLayersIn, 1, 1.79, almostLinear"
|
||||
"fadeLayersOut, 1, 1.39, almostLinear"
|
||||
"workspaces, 1, 1.94, almostLinear, fade"
|
||||
"workspacesIn, 1, 1.21, almostLinear, fade"
|
||||
"workspacesOut, 1, 1.94, almostLinear, fade"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
disable_hyprland_logo = true;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us,ru";
|
||||
kb_options = "grp:alt_shift_toggle";
|
||||
follow_mouse = 1;
|
||||
sensitivity = 1.3;
|
||||
};
|
||||
|
||||
gestures.workspace_swipe = false;
|
||||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, redizewindow"
|
||||
];
|
||||
|
||||
bind = [
|
||||
"alt, l, exec, eww open lock-dialog"
|
||||
"alt, g, exec, eww close bar"
|
||||
"alt, m, exec, eww open bar"
|
||||
|
||||
"$mod shift, q, exit"
|
||||
"$mod ctrl, r, exec, eww open reboot-dialog"
|
||||
"$mod ctrl, q, exec, eww open off-dialog"
|
||||
"alt, l, exec, eww open lock-dialog-zopa"
|
||||
|
||||
"$mod, c, killactive,"
|
||||
"$mod, s, togglefloating,"
|
||||
"$mod, t, pseudo,"
|
||||
"$mod, g, togglesplit"
|
||||
|
||||
"alt, space, exec, rofi -show drun -config ~/.config/rofi/rofi.rasi"
|
||||
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
16
home-manager/desktop/hyprpaper.nix
Normal file
16
home-manager/desktop/hyprpaper.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ pkgs, ... }: {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
package = pkgs.hyprpaper;
|
||||
settings = let
|
||||
wallp = "$HOME/nix/home-manager/desktop/wallp.jpg";
|
||||
in {
|
||||
preload = [
|
||||
"${wallp}"
|
||||
];
|
||||
wallpaper = [
|
||||
"HDMI-A-2, ${wallp}"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
8
home-manager/desktop/rofi/rofi.nix
Normal file
8
home-manager/desktop/rofi/rofi.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, config, ... }: {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland-unwrapped;
|
||||
#package = pkgs.rofi;
|
||||
# Я НЕНАВИЖУ ТОГО КТО ДЛЯ РОФИ ПИСАЛ ЭТОТ ПРИНИМАЮЩИЙ КОНФИГ
|
||||
};
|
||||
}
|
||||
94
home-manager/desktop/rofi/rofi.rasi
Normal file
94
home-manager/desktop/rofi/rofi.rasi
Normal file
@@ -0,0 +1,94 @@
|
||||
* {
|
||||
bg: #282828;
|
||||
fg: #ebdbb2;
|
||||
}
|
||||
|
||||
configuration {
|
||||
modes: "drun";
|
||||
font: "JetBrainsMono Regular 10";
|
||||
location: 0;
|
||||
xoffset: 0;
|
||||
yoffset: 0;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: @bg;
|
||||
width: 400;
|
||||
border: 2px solid;
|
||||
border-radius: 12px;
|
||||
border-color: #32302f;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: @bg;
|
||||
padding: 6px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
background-color: @fg;
|
||||
border: 2px solid;
|
||||
border-color: @fg;
|
||||
padding: 6px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: false;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: " ";
|
||||
background-color: @fg;
|
||||
text-color: @bg;
|
||||
}
|
||||
|
||||
entry {
|
||||
background-color: @fg;
|
||||
text-color: @bg;
|
||||
cursor: text;
|
||||
placeholder: "Search...";
|
||||
placeholder-color: @bg;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 1;
|
||||
lines: 16;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
background-color: @bg;
|
||||
text-color: @fg;
|
||||
margin: 5px 0px 0px 0px;
|
||||
}
|
||||
|
||||
element {
|
||||
background-color: @bg;
|
||||
text-color: @fg;
|
||||
padding: 8px 3px;
|
||||
}
|
||||
|
||||
element normal.normal,
|
||||
element alternate.normal,
|
||||
message,
|
||||
error-message {
|
||||
background-color: @bg;
|
||||
text-color: @fg;
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: @fg;
|
||||
text-color: @bg;
|
||||
border-radius: 5px;
|
||||
padding: 8px 4px;
|
||||
}
|
||||
|
||||
error-message,
|
||||
textbox {
|
||||
padding: 3px;
|
||||
background-color: @bg;
|
||||
text-color: @fg;
|
||||
}
|
||||
BIN
home-manager/desktop/wallp.jpg
Normal file
BIN
home-manager/desktop/wallp.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
40
home-manager/desktop/xdg.nix
Normal file
40
home-manager/desktop/xdg.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{ config, pkgs, ... }: {
|
||||
xdg = {
|
||||
enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
|
||||
config = {
|
||||
common.default = "gtk";
|
||||
};
|
||||
};
|
||||
|
||||
cacheHome = builtins.toPath "${config.home.homeDirectory}/.cache";
|
||||
configHome = builtins.toPath "${config.home.homeDirectory}/.config";
|
||||
dataHome = builtins.toPath "${config.home.homeDirectory}/.local/share";
|
||||
stateHome = builtins.toPath "${config.home.homeDirectory}/.local/state";
|
||||
|
||||
systemDirs = {
|
||||
config = [ "/etc/xdg" ];
|
||||
data = [ "/usr/share" "/usr/local/share" ];
|
||||
};
|
||||
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
|
||||
desktop = builtins.toPath "${config.home.homeDirectory}/Desktop";
|
||||
documents = builtins.toPath "${config.home.homeDirectory}/Documents";
|
||||
download = builtins.toPath "${config.home.homeDirectory}/Downloads";
|
||||
pictures = builtins.toPath "${config.home.homeDirectory}/Pictures";
|
||||
videos = null;
|
||||
music = null;
|
||||
publicShare = null;
|
||||
templates = null;
|
||||
|
||||
extraConfig = {
|
||||
XDG_GIT_DIR = "${config.home.homeDirectory}/Repositories";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user