From 0230fca93dab5ee27b3462ce318bfe01eddbfee5 Mon Sep 17 00:00:00 2001 From: pablusha Date: Wed, 17 Dec 2025 19:58:15 +0300 Subject: [PATCH] penis --- art.jpg | Bin 0 -> 52145 bytes configuration.nix | 75 +++++++++++++++++ fastfetch.jsonc | 69 ++++++++++++++++ home.nix | 190 ++++++++++++++++++++++++++++++++++++++++++++ hyprland.conf | 156 ++++++++++++++++++++++++++++++++++++ kitty.conf | 14 ++++ kitty_colors.conf | 32 ++++++++ waybar_colors.css | 4 + waybar_config.jsonc | 50 ++++++++++++ waybar_style.css | 55 +++++++++++++ wofi_config | 13 +++ wofi_style.css | 39 +++++++++ 12 files changed, 697 insertions(+) create mode 100644 art.jpg create mode 100644 configuration.nix create mode 100644 fastfetch.jsonc create mode 100644 home.nix create mode 100644 hyprland.conf create mode 100644 kitty.conf create mode 100644 kitty_colors.conf create mode 100644 waybar_colors.css create mode 100644 waybar_config.jsonc create mode 100644 waybar_style.css create mode 100644 wofi_config create mode 100644 wofi_style.css diff --git a/art.jpg b/art.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4b8b76d9843b9f87e610868bf7ae5ab27e37c0a GIT binary patch literal 52145 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 literal 0 HcmV?d00001 diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..6afcd12 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,75 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "MAK-desktop"; + + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Moscow"; + + services.pipewire = { + enable = true; + pulse.enable = true; + }; + + users.users.pablusha = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + }; + + environment.systemPackages = with pkgs; [ + curl + wget + git + btop + htop + psmisc + zip + unzip + ]; + + services.gvfs.enable = true; + + # nvidia + + nixpkgs.config.allowUnfree = true; + + hardware.graphics = { + enable = true; + }; + + services.xserver.videoDrivers = [ "nvidia" ]; + + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.production; + }; + + # hyprland section + + programs.hyprland = { + enable = true; + withUWSM = false; + xwayland.enable = true; + }; + + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; + }; + + system.stateVersion = "25.11"; +} + diff --git a/fastfetch.jsonc b/fastfetch.jsonc new file mode 100644 index 0000000..d8f46be --- /dev/null +++ b/fastfetch.jsonc @@ -0,0 +1,69 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "modules": [ + "title", + { + "type": "separator", + "string": "+-", + "length": 18 + }, + { + "type": "os", + "format": "{pretty-name}", + "key": "os " + }, + { + "type": "shell", + "key": "sh ", + "format": "{exe-name}" + }, + { + "type": "wm", + "key": "wm ", + "format": "{pretty-name}" + }, + { + "type": "terminalfont", + "key": "fnt", + "format": "{}" + }, + { + "type": "cpu", + "key": "cpu", + "format": "{name}" + }, + { + "type": "gpu", + "key": "gpu", + "format": "{name}" + }, + { + "type": "memory", + "key": "mem", + "format": "{used} / {total}" + }, + { + "type": "swap", + "key": "swp", + "format": "{used} / {total}" + }, + { + "type": "disk", + "key": "dsk", + "format": "{size-used} / {size-total}" + }, + "break", + { + "type": "colors", + "symbol": "circle" + }, + ], + "logo": { + "source": "~/.config/fastfetch/art.jpg", + "height": 13, + "position": "left" + }, + "display": { + "separator": " " + } +} diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..e064b2c --- /dev/null +++ b/home.nix @@ -0,0 +1,190 @@ +{config, lib, pkgs, ...}: + +{ + home.username = "pablusha"; + home.homeDirectory = "/home/pablusha"; + home.stateVersion = "25.11"; + programs.home-manager.enable = true; + + nixpkgs.config.allowUnfree = true; + + home.packages = with pkgs; [ + telegram-desktop + mako + swww + pkgs.nerd-fonts.monaspace + xdg-user-dirs + gnome-themes-extra + prismlauncher + libsForQt5.qt5ct + ncdu + audacious + gcc + python3 + python3Packages.pip + xfce.thunar + xfce.tumbler + lf + hyprshot + gthumb + xarchiver + glib + nftables + remmina + qemu + obsidian + krita + blender + vlc + cava + ventoy + unrar + libreoffice-qt + scrcpy + android-tools + mate.atril + ffmpeg + file + themechanger + ]; + + nixpkgs.config.permittedInsecurePackages = [ + "ventoy-1.1.07" + ]; + + imports = [ + ./syncthing.nix + ]; + + # theme & cursor + + home.pointerCursor = { + enable = true; + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 22; + gtk.enable = true; + }; + + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + gtk-theme = "Adwaita-dark"; + }; + }; + + gtk = { + font.name = "DejaVu Sans 10"; + enable = true; + theme = { + name = "Adwaita-dark"; + package = pkgs.gnome-themes-extra; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + }; + + # hyprland + + wayland.windowManager.hyprland = { + enable = true; + extraConfig = builtins.readFile ./hyprland.conf; + }; + + # waybar + + programs.waybar.enable = true; + xdg.configFile."waybar/config.jsonc".source = ./waybar_config.jsonc; + xdg.configFile."waybar/style.css".source = ./waybar_style.css; + xdg.configFile."waybar/colors.css".source = ./waybar_colors.css; + + # kitty + + programs.kitty.enable = true; + xdg.configFile."kitty/kitty.conf".source = ./kitty.conf; + xdg.configFile."kitty/colors.conf".source = ./kitty_colors.conf; + + # firefox + + programs.firefox = { + enable = true; + languagePacks = [ "en-US" "ru-RU"]; + + policies = { + AppAutoUpdate = false; + BackgroundAppUpdate = false; + + DisableFirefoxAccounts = true; + DisableSetDesktopBackground = true; + DisablePocket = true; + DisableTelemetry = true; + DisableFormHistory = true; + }; + }; + + # wofi + + programs.wofi.enable = true; + xdg.configFile."wofi/config".source = ./wofi_config; + xdg.configFile."wofi/style.css".source = ./wofi_style.css; + + # obs studio + + programs.obs-studio = { + enable = true; + + package = pkgs.obs-studio.override { + cudaSupport = true; + }; + + plugins = with pkgs.obs-studio-plugins; [ + obs-pipewire-audio-capture + wlrobs + obs-backgroundremoval + obs-gstreamer + ]; + }; + + # vim + + programs.vim = { + enable = true; + + extraConfig = '' + set background=dark + + set number + set smartindent + set tabstop=4 + set shiftwidth=4 + set expandtab + set nowrap + set rnu + + set hidden + set nobackup + set nowritebackup + set cmdheight=2 + ''; + }; + + # bash + + programs.bash.enable = true; + programs.bash.initExtra = '' + export PS1="[\\u@\\h:\\w]\\$ " + ''; + + # fastfetch + + programs.fastfetch.enable = true; + + xdg.configFile."fastfetch/config.jsonc".source = ./fastfetch.jsonc; + xdg.configFile."fastfetch/art.jpg".source = ./art.jpg; + + # vscode + + programs.vscode.enable = true; +} diff --git a/hyprland.conf b/hyprland.conf new file mode 100644 index 0000000..8cda9a0 --- /dev/null +++ b/hyprland.conf @@ -0,0 +1,156 @@ +# MONITORS + +monitor = DVI-D-1, 1920x1080, 0x0, 1 +monitor = HDMI-A-1, 3240x2160, 1920x0, 2 + +# ENV + +$terminal = kitty +$fileManager = thunar +$menu = wofi --show drun --normal-window + +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = HYPRCURSOR_THEME,Bibata-Modern-Classic + +env = XCURSOR_SIZE,22 +env = HYPRCURSOR_SIZE,22 + +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_QPA_PLATFORM,wayland + +# WINDOW RULES + +layerrule = blur, wofi + +# AUTOSTART + +exec-once = waybar & swww-daemon & mako +exec-once = hyprctl setcursor Bibata-Modern-Classic 22 + +# DECO + +general { + gaps_in = 4 + gaps_out = 8 + + border_size = 0 + + allow_tearing = false + layout = dwindle +} + +decoration { + rounding = 8 + + + blur { + enabled = true + size = 4 + passes = 3 + } + + shadow { + enabled = false + } +} + +misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true +} + +# ANIMATIONS + +animations { + # https://wiki.hyprland.org/Configuring/Animations/ + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + bezier = easeInOut,0.66,0,0.61,1 + + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 1, 3, easeInOut, slide + animation = workspacesIn, 1, 2, easeInOut, slide + animation = workspacesOut, 1, 2, easeInOut, slide +} + +dwindle { + pseudotile = true + preserve_split = true +} + +# INPUT + +input { + follow_mouse = 1 + kb_layout = us, ru + kb_options = grp:alt_shift_toggle +} + +# BINDS + +$mainMod = SUPER + +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, W, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, R, exec, $menu +bind = $mainMod, Z, togglesplit, +bind = $mainMod, X, togglefloating, +bind = $mainMod, c, exec, hyprctl dispatch centerwindow +bind = $mainMod, F, fullscreen, 0 +bind = $mainMod, S, exec, hyprshot -m region -z +bind = $mainMod, D, exec, hyprshot -m output -z +bind = $mainMod, A, exec, hyprshot -m window -z + +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +bind = , mouse:275, workspace, e-1 +bind = , mouse:276, workspace, e+1 diff --git a/kitty.conf b/kitty.conf new file mode 100644 index 0000000..e26c943 --- /dev/null +++ b/kitty.conf @@ -0,0 +1,14 @@ +include colors.conf + +background_opacity 0.8 +font_size 10.0 +confirm_os_window_close 0 +window_padding_width 10 +cursor_shape beam + +# BEGIN_KITTY_FONTS +font_family family="MonaspiceAr Nerd Font" +bold_font auto +italic_font auto +bold_italic_font auto +# END_KITTY_FONTS diff --git a/kitty_colors.conf b/kitty_colors.conf new file mode 100644 index 0000000..ce541d9 --- /dev/null +++ b/kitty_colors.conf @@ -0,0 +1,32 @@ +cursor #888888 +cursor_text_color #444444 + +foreground #cccccc +background #111111 +selection_foreground #000000 +selection_background #aaaaaa +url_color #888888 + +color0 #1a1a1a +color8 #333333 + +color1 #888888 +color9 #aaaaaa + +color2 #777777 +color10 #999999 + +color3 #666666 +color11 #888888 + +color4 #888888 +color12 #aaaaaa + +color5 #777777 +color13 #999999 + +color6 #666666 +color14 #888888 + +color7 #e0e0e0 +color15 #ffffff diff --git a/waybar_colors.css b/waybar_colors.css new file mode 100644 index 0000000..6bfb1dc --- /dev/null +++ b/waybar_colors.css @@ -0,0 +1,4 @@ +@define-color background #111111; +@define-color tertiary #aeaeae; +@define-color primary #53dbca; +@define-color secondary #82d5c9; diff --git a/waybar_config.jsonc b/waybar_config.jsonc new file mode 100644 index 0000000..a2ecb08 --- /dev/null +++ b/waybar_config.jsonc @@ -0,0 +1,50 @@ +{ + "height": 0, + "spacing": 8, + "modules-left": [ + "clock", + "custom/separator", + "custom/phone", + "network" + ], + "modules-center": [ + "hyprland/workspaces", + ], + "modules-right": [ + "cpu", + "memory", + "custom/separator", + "pulseaudio", + "custom/separator", + "hyprland/language", + "tray", + ], + "hyprland/language": { + "format": "{}", + "format-ru": "ru", + "format-en": "en", + }, + "hyprland/workspaces": { + "all-outputs": true, + }, + "custom/separator": { + "format": "|" + }, + "network": { + "interface": "enp2s0", + "format": "dn {bandwidthDownBytes} up {bandwidthUpBytes}", + "interval": 5, + }, + "tray": { + "icon-size": 13, + "spacing": 8 + }, + "cpu": { + "interval": 5, + "format": "cpu {usage}%" + }, + "memory": { + "interval": 5, + "format": "mem {percentage}%" + } +} diff --git a/waybar_style.css b/waybar_style.css new file mode 100644 index 0000000..361f359 --- /dev/null +++ b/waybar_style.css @@ -0,0 +1,55 @@ +@import "colors.css"; + +* { + font-family: FontAwesome, MonaspiceAr Nerd Font Mono, monospace; + font-size: 13px; + font-weight: 600; +} + +window#waybar { + all:unset; +} + +.modules-left { + margin: 4px 0px 0px 8px; + padding: 6px 12px 6px 12px; + background: alpha(@background, 0.7); + border-radius: 8px; +} + +.modules-center { + margin: 4px 0px 0px 0px; + padding: 6px 12px 6px 12px; + background: alpha(@background, 0.7); + border-radius: 8px; +} + +.modules-right { + margin: 4px 8px 0px 0px; + padding: 6px 12px 6px 12px; + background: alpha(@background, 0.7); + border-radius: 8px; +} + +#workspaces button { + all: unset; + padding: 0px 5px; + transition: all .2s ease; +} + +#workspaces button.active { + color: @tertiary; +} + +#workspaces button:hover { + text-decoration: underline; + transition: all 1s ease; +} + +#network { + color: @primary; +} + +#pulseaudio { + color: @secondary; +} diff --git a/wofi_config b/wofi_config new file mode 100644 index 0000000..f2e425b --- /dev/null +++ b/wofi_config @@ -0,0 +1,13 @@ +[config] +allow_images=true +width=700 +show=drun +prompt=Search +height=400 +term=kitty +hide_scroll=true +print_command=true +insensitive=true +columns=1 +no_actions=true +image_size=30 diff --git a/wofi_style.css b/wofi_style.css new file mode 100644 index 0000000..680ba88 --- /dev/null +++ b/wofi_style.css @@ -0,0 +1,39 @@ +* { + all:unset; + font-family: MonaspiceAr Nerd Font Mono, monospace; + font-weight: 600; + font-size: 18px; +} + +window { + all:unset; + background: rgba(17, 17, 17, 0.7); + border-radius: 4px; +} + +#text { + margin: 5px; +} + +#entry { + padding: 4px; +} + +#entry:selected { + color: #aeaeae; + background: #444444; + border-radius: 4px; +} + +#input * { + padding: 10px; + border: none; + outline: none; +} + +#scroll { + margin: 0px; + padding: 10px; + border: none; +} +