diff --git a/assets/dark_abstract.png b/assets/dark_abstract.png deleted file mode 100644 index 006f9d0..0000000 Binary files a/assets/dark_abstract.png and /dev/null differ diff --git a/assets/gruvbox_wallpaper.png b/assets/gruvbox_wallpaper.png new file mode 100644 index 0000000..5239806 Binary files /dev/null and b/assets/gruvbox_wallpaper.png differ diff --git a/assets/shadow-cli.txt b/assets/shadow-cli.txt deleted file mode 100644 index 1e796ef..0000000 --- a/assets/shadow-cli.txt +++ /dev/null @@ -1,14 +0,0 @@ -      ▄▀▀▀▀▀▀▀▀▄▄       -    ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄     -   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀    -  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄  - ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  - ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  - ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄   -▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ -    ▄▀▀▀▀▀▀▀▀▀▀▀▀▄      -  ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄    -   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄   - ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  -  ▀ ▀ ▀▀▀▀ ▀▀▀▀▀ ▀▀     -            ▀▀         \ No newline at end of file diff --git a/assets/shadow_dark.png b/assets/shadow_dark.png deleted file mode 100644 index eff998e..0000000 Binary files a/assets/shadow_dark.png and /dev/null differ diff --git a/configuration/laptop/configuration.nix b/configuration/laptop/configuration.nix index 0fe82a0..4bcbb39 100644 --- a/configuration/laptop/configuration.nix +++ b/configuration/laptop/configuration.nix @@ -1,21 +1,13 @@ { imports = [ - ../modules/locale.nix ../modules/main-user.nix ../modules/system.nix - ../modules/boot.nix ../modules/desktop.nix - ../modules/audio.nix - ../modules/printing.nix - ../modules/programs.nix + ../modules/ld.nix ../modules/sddm.nix ]; - nix.settings.experimental-features = ["nix-command" "flakes"]; - nixpkgs.config.allowUnfree = true; - services = { - avahi.enable = true; upower.enable = true; power-profiles-daemon.enable = true; }; @@ -28,13 +20,4 @@ Policy.AutoEnable = true; }; }; - - networking = { - proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - networkmanager = { - enable = true; - }; - - firewall.enable = true; - }; } diff --git a/configuration/main/configuration.nix b/configuration/main/configuration.nix index 8440381..51e7384 100644 --- a/configuration/main/configuration.nix +++ b/configuration/main/configuration.nix @@ -3,29 +3,12 @@ ./verbatim.nix ../modules/steam.nix - ../modules/locale.nix + ../modules/desktop.nix ../modules/main-user.nix ../modules/system.nix - ../modules/boot.nix - ../modules/desktop.nix - ../modules/audio.nix - ../modules/printing.nix - ../modules/programs.nix + ../modules/ld.nix ../modules/sddm.nix ]; - nix.settings.experimental-features = ["nix-command" "flakes"]; - nixpkgs.config.allowUnfree = true; - - services.avahi.enable = true; - - networking = { - hostName = "max-main"; - proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - networkmanager.enable = true; - firewall = { - enable = true; - allowedTCPPorts = [9123]; - }; - }; + networking.allowedTCPPorts = [9123]; } diff --git a/configuration/modules/audio.nix b/configuration/modules/audio.nix deleted file mode 100644 index 5cdfcc3..0000000 --- a/configuration/modules/audio.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - services.pipewire = { - enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - pulse.enable = true; - jack.enable = true; - }; - - security.rtkit.enable = true; - programs.noisetorch.enable = true; -} diff --git a/configuration/modules/boot.nix b/configuration/modules/boot.nix deleted file mode 100644 index 98d367b..0000000 --- a/configuration/modules/boot.nix +++ /dev/null @@ -1,11 +0,0 @@ -{pkgs, ...}: { - boot = { - loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - - kernelPackages = pkgs.linuxPackages_latest; - #kernelPackages = pkgs.linuxPackages_zen; - }; -} diff --git a/configuration/modules/desktop.nix b/configuration/modules/desktop.nix index 9083c21..551df8d 100644 --- a/configuration/modules/desktop.nix +++ b/configuration/modules/desktop.nix @@ -1,10 +1,4 @@ -{pkgs, ...}: { - environment.systemPackages = with pkgs; [ - wl-clipboard - libsForQt5.qt5.qtquickcontrols2 - libsForQt5.qt5.qtgraphicaleffects - ]; - +{ hardware.graphics = { enable = true; enable32Bit = true; @@ -16,32 +10,8 @@ portal.enable = true; }; - programs = { - hyprland = { - enable = true; - withUWSM = true; - package = pkgs.hyprland; - portalPackage = pkgs.xdg-desktop-portal-hyprland; - }; - }; - - security.pam.services.hyprlock = {}; - - services = { - xserver = { - enable = true; - videoDrivers = ["amdgpu"]; - xkb = { - layout = "cz"; - variant = ""; - options = "caps:escape"; - }; - }; - }; - - environment.sessionVariables = { - TERMINAL = "foot"; - EDITOR = "nvim"; - NIXOS_OZONE_WL = "1"; + services.xserver = { + enable = true; + videoDrivers = ["amdgpu"]; }; } diff --git a/configuration/modules/ld.nix b/configuration/modules/ld.nix new file mode 100644 index 0000000..4c37538 --- /dev/null +++ b/configuration/modules/ld.nix @@ -0,0 +1,38 @@ +{pkgs, ...}: { + programs.nix-ld = { + enable = true; + libraries = with pkgs; [ + # Graphics + libGL + vulkan-loader + libdrm + libgbm + + # Audio + alsa-lib + pulseaudio + pipewire + + # Display / input + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXi + xorg.libXext + xorg.libXfixes + wayland + + # Common runtime deps most Unity/Godot/etc games need + libxcrypt + glibc + stdenv.cc.cc.lib # libstdc++ + zlib + openssl + curl + + # Controllers + udev + libevdev + ]; + }; +} diff --git a/configuration/modules/locale.nix b/configuration/modules/locale.nix deleted file mode 100644 index c1e9d41..0000000 --- a/configuration/modules/locale.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - console.keyMap = "cz-lat2"; - time.timeZone = "Europe/Prague"; - - i18n = { - defaultLocale = "en_US.UTF-8"; - extraLocaleSettings = { - LC_ADDRESS = "cs_CZ.UTF-8"; - LC_IDENTIFICATION = "cs_CZ.UTF-8"; - LC_MEASUREMENT = "cs_CZ.UTF-8"; - LC_MONETARY = "cs_CZ.UTF-8"; - LC_NAME = "cs_CZ.UTF-8"; - LC_NUMERIC = "cs_CZ.UTF-8"; - LC_PAPER = "cs_CZ.UTF-8"; - LC_TELEPHONE = "cs_CZ.UTF-8"; - LC_TIME = "cs_CZ.UTF-8"; - }; - }; -} diff --git a/configuration/modules/printing.nix b/configuration/modules/printing.nix deleted file mode 100644 index dc591ea..0000000 --- a/configuration/modules/printing.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - services.printing.enable = true; -} diff --git a/configuration/modules/programs.nix b/configuration/modules/programs.nix deleted file mode 100644 index d295907..0000000 --- a/configuration/modules/programs.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - programs = { - firefox.enable = true; - bash.blesh.enable = true; # Enhanced bash - nix-ld = { - enable = true; - #libraries = with pkgs; [ - # Add libraries here - #]; - }; - }; -} diff --git a/configuration/modules/system.nix b/configuration/modules/system.nix index 4e84295..d5a491a 100644 --- a/configuration/modules/system.nix +++ b/configuration/modules/system.nix @@ -1,6 +1,73 @@ -{device-name, ...}: { - networking.hostName = "max-${device-name}"; - system = { - stateVersion = "25.11"; +{ + device-name, + pkgs, + lib, + ... +}: { + system.stateVersion = "25.11"; + nix.settings.experimental-features = ["nix-command" "flakes"]; + nixpkgs.config.allowUnfree = true; + + networking = { + networkmanager.enable = true; + hostName = "max-${device-name}"; + proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + firewall = { + enable = true; + }; }; + + boot = { + loader = { + grub.enable = true; + efi.canTouchEfiVariables = true; + }; + + kernelPackages = pkgs.linuxPackages_latest; #pkgs.linuxPackages_zen; + }; + + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; + + security.rtkit.enable = true; + programs.noisetorch.enable = true; + + console.keyMap = "cz-lat2"; + time.timeZone = "Europe/Prague"; + + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "cs_CZ.UTF-8"; + LC_IDENTIFICATION = "cs_CZ.UTF-8"; + LC_MEASUREMENT = "cs_CZ.UTF-8"; + LC_MONETARY = "cs_CZ.UTF-8"; + LC_NAME = "cs_CZ.UTF-8"; + LC_NUMERIC = "cs_CZ.UTF-8"; + LC_PAPER = "cs_CZ.UTF-8"; + LC_TELEPHONE = "cs_CZ.UTF-8"; + LC_TIME = "cs_CZ.UTF-8"; + }; + }; + + services = { + printing.enable = true; + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + }; + + environment.systemPackages = [ + (lib.hiPrio pkgs.uutils-coreutils.override {prefix = "";}) + (lib.hiPrio pkgs.uutils-findutils.override {prefix = "";}) + ]; } diff --git a/flake.nix b/flake.nix index e2d5494..d63aa33 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "My personal Hyprland NixOS config"; + description = "My personal NixOS config"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; @@ -28,12 +28,20 @@ url = "git+https://git.stribrny.org/max_ag/floating-calculator?rev=2abbacf66e99db523d624037f3e449aa40e8f366"; inputs.nixpkgs.follows = "nixpkgs"; }; + + niri-flake = { + url = "github:sodiboo/niri-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = {nixpkgs, ...} @ inputs: let + system = "x86_64-linux"; + mkSystem = device-name: nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; + inherit system; + specialArgs = { inherit inputs device-name; }; @@ -41,19 +49,22 @@ ./configuration/${device-name}/configuration.nix ./configuration/${device-name}/hardware-configuration.nix inputs.home-manager.nixosModules.default - inputs.stylix.nixosModules.stylix { home-manager = { + enable = true; useUserPackages = true; useGlobalPkgs = true; + extraSpecialArgs = { - inherit inputs device-name; + inherit inputs device-name system; }; + backupFileExtension = null; - users.maxag = ./home/${device-name}/home.nix; - sharedModules = [ - inputs.stylix.homeModules.stylix - ]; + + users.maxag = { + imports = [./home/${device-name}/home.nix]; + home.stateVersion = "25.11"; + }; }; } ]; diff --git a/home/laptop/home.nix b/home/laptop/home.nix index b48abdc..e816644 100644 --- a/home/laptop/home.nix +++ b/home/laptop/home.nix @@ -1,26 +1,3 @@ -{pkgs, ...}: { - home = { - username = "maxag"; - homeDirectory = "/home/maxag"; - stateVersion = "25.11"; - }; - - programs.home-manager.enable = true; - - home.packages = with pkgs; [ - brightnessctl - ]; - - imports = [ - ./hyprland.nix - ../modules/nvf.nix - ../modules/stylix.nix - ../modules/programming.nix - ../modules/multimedia.nix - ../modules/communication.nix - ../modules/rice.nix - ../modules/shells.nix - ../modules/passwords.nix - ../modules/create-project/create-project.nix - ]; +{ + imports = [../modules/default.nix]; } diff --git a/home/laptop/hyprland.nix b/home/laptop/hyprland.nix deleted file mode 100644 index 8a0e5a6..0000000 --- a/home/laptop/hyprland.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ - pkgs, - inputs, - ... -}: { - imports = [ - ../modules/hyprland.nix - ]; - - home.packages = with pkgs; [ - bluez - ]; - - wayland.windowManager.hyprland = { - settings = { - bind = [ - "SUPER ALT, left, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,3 && hyprctl keyword input:touchdevice:transform 3 && hyprctl keyword input:tablet:transform 3" - "SUPER ALT, right, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,1 && hyprctl keyword input:touchdevice:transform 1 && hyprctl keyword input:tablet:transform 1" - "SUPER ALT, up, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,2 && hyprctl keyword input:touchdevice:transform 2 && hyprctl keyword input:tablet:transform 2" - "SUPER ALT, down, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,0 && hyprctl keyword input:touchdevice:transform 0 && hyprctl keyword input:tablet:transform 0" - ]; - - workspace = [ - "1, monitor:eDP-1" - "2, monitor:eDP-1" - "3, monitor:eDP-1" - "4, monitor:eDP-1" - "5, monitor:eDP-1" - "6, monitor:eDP-1" - "7, monitor:eDP-1" - "8, monitor:eDP-1" - "9, monitor:eDP-1" - "10, monitor:eDP-1" - ]; - }; - - extraConfig = " - monitor=eDP-1,1920x1200@60,0x0,1 - - xwayland { - force_zero_scaling = true - } - "; - }; - - programs.hyprpanel = { - settings = { - bar = { - layouts = { - "*" = { - left = [ - "dashboard" - "workspaces" - ]; - middle = []; - right = [ - "volume" - "bluetooth" - "clock" - "systray" - "network" - "battery" - "notifications" - ]; - }; - }; - }; - }; - }; -} diff --git a/home/main/home.nix b/home/main/home.nix index 00a00df..7ac8de9 100644 --- a/home/main/home.nix +++ b/home/main/home.nix @@ -1,23 +1,5 @@ { - home = { - username = "maxag"; - homeDirectory = "/home/maxag"; - stateVersion = "25.11"; - }; + imports = [../modules/default.nix]; - programs.home-manager.enable = true; - - imports = [ - ./hyprland.nix - ../modules/nvf.nix - ../modules/stylix.nix - ../modules/games.nix - ../modules/programming.nix - ../modules/multimedia.nix - ../modules/communication.nix - ../modules/rice.nix - ../modules/shells.nix - ../modules/passwords.nix - ../modules/create-project/create-project.nix - ]; + myModules.games.enable = true; } diff --git a/home/main/hyprland.nix b/home/main/hyprland.nix deleted file mode 100644 index 20cb764..0000000 --- a/home/main/hyprland.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - imports = [ - ../modules/hyprland.nix - ]; - - wayland.windowManager.hyprland = { - settings = { - workspace = [ - "1, monitor:DP-1" - "2, monitor:DP-1" - "3, monitor:DP-1" - "4, monitor:DP-1" - "5, monitor:DP-1" - "6, monitor:DP-1" - "7, monitor:DP-1" - "8, monitor:DP-1" - "9, monitor:DP-1" - "10, monitor:DP-1" - - "11, monitor:DP-2" - "12, monitor:DP-2" - "13, monitor:DP-2" - "14, monitor:DP-2" - "15, monitor:DP-2" - "16, monitor:DP-2" - "17, monitor:DP-2" - "18, monitor:DP-2" - "19, monitor:DP-2" - "20, monitor:DP-2" - ]; - }; - - extraConfig = " - monitor=DP-1,2560x1440@120,0x0,1 - monitor=DP-2,1920x1080@60,-1920x300,1 - - xwayland { - force_zero_scaling = true - } - "; - }; - - programs.hyprpanel = { - settings = { - bar = { - layouts = { - "*" = { - left = [ - "dashboard" - "workspaces" - ]; - middle = []; - right = [ - "volume" - "clock" - "systray" - "notifications" - ]; - }; - }; - }; - }; - }; -} diff --git a/home/modules/communication.nix b/home/modules/communication.nix deleted file mode 100644 index f1c2c8c..0000000 --- a/home/modules/communication.nix +++ /dev/null @@ -1,6 +0,0 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - discord - wasistlos - ]; -} diff --git a/home/modules/daily_apps.nix b/home/modules/daily_apps.nix new file mode 100644 index 0000000..a25eceb --- /dev/null +++ b/home/modules/daily_apps.nix @@ -0,0 +1,32 @@ +{pkgs, ...}: { + home.packages = with pkgs; [ + # Browser + inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default + + # Communication + discord + wasistlos + thunderbird + + # Programming + godot + arduino-ide + + # Office + libreoffice + trilium-desktop + xournalpp + + # Images + pixieditor + qimgv + + # Wine + wineWow64Packages.staging + winetricks + + # Video + obs-studio + kdePackages.kdenlive + ]; +} diff --git a/home/modules/default.nix b/home/modules/default.nix new file mode 100644 index 0000000..97cea74 --- /dev/null +++ b/home/modules/default.nix @@ -0,0 +1,54 @@ +{ + config, + lib, + ... +}: let + cfg = config.myModules; +in { + options.myModules = { + games.enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable games module."; + }; + + dailyApps.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Enable daily applications."; + }; + + niri.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Enable niri wayland compositor config."; + }; + + nvf.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Enable nvf (neovim) configuration."; + }; + + shell.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Enable shell configuration."; + }; + + createProject.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Enable create-project tooling."; + }; + }; + + imports = [ + (lib.mkIf cfg.dailyApps.enable ./daily_apps.nix) + (lib.mkIf cfg.niri.enable ./niri.nix) + (lib.mkIf cfg.nvf.enable ./nvf.nix) + (lib.mkIf cfg.shell.enable ./shell.nix) + (lib.mkIf cfg.games.enable ./games/minecraft.nix) + (lib.mkIf cfg.createProject.enable ./create-project) + ]; +} diff --git a/home/modules/games.nix b/home/modules/games/minecraft.nix similarity index 100% rename from home/modules/games.nix rename to home/modules/games/minecraft.nix diff --git a/home/modules/hyprland.nix b/home/modules/hyprland.nix deleted file mode 100644 index 081877a..0000000 --- a/home/modules/hyprland.nix +++ /dev/null @@ -1,325 +0,0 @@ -{pkgs, ...}: { - wayland.windowManager.hyprland = { - enable = true; - systemd.enable = true; - systemd.variables = ["--all"]; - - xwayland.enable = true; - - settings = { - exec-once = [ - "wl-clip-persist --clipboard both" - "wl-paste --watch cliphist store" - "hyprpanel" - ]; - - input = { - kb_layout = "cz"; - kb_options = "caps:escape"; - numlock_by_default = true; - - sensitivity = 0; - touchpad = { - natural_scroll = false; - }; - }; - - misc = { - disable_hyprland_logo = true; - layers_hog_keyboard_focus = true; - animate_manual_resizes = true; - enable_swallow = true; - focus_on_activate = true; - middle_click_paste = false; - }; - - dwindle = { - force_split = 0; - special_scale_factor = 1.0; - split_width_multiplier = 1.0; - use_active_for_splits = true; - pseudotile = "yes"; - preserve_split = "yes"; - }; - - general = { - layout = "dwindle"; - gaps_in = 4; - gaps_out = 3; - border_size = 2; - }; - - decoration = { - rounding = 7; - active_opacity = 1.0; - inactive_opacity = 1.0; - fullscreen_opacity = 1.0; - - blur.enabled = false; - shadow.enabled = false; - }; - - animations = { - enabled = true; - - bezier = [ - "myBezier, 0.05, 0.9, 0.1, 1.05" - ]; - - animation = [ - "windows, 1, 7, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 6, default" - ]; - }; - - binds = { - movefocus_cycles_fullscreen = true; - }; - - bind = [ - # keybindings - "SUPER, Return, exec, foot" - "SUPER, B, exec, zen" - "SUPER, Q, killactive," - "SUPER, F, fullscreen, 0" - "SUPER SHIFT, F, fullscreen, 1" - "SUPER, W, togglefloating" - "SUPER, A, exec, fuzzel" - "SUPER, P, pseudo," - "SUPER, E, exec, foot yazi" - "SUPER, C, exec, floating-calculator" - "SUPER, code:23, swapsplit" - "SUPER, code:66, togglesplit" - "Alt, F4, exec, hyprctl kill" - "SUPER, S, exec, hyprlock" - - # switch focus - "SUPER, left, movefocus, l" - "SUPER, right, movefocus, r" - "SUPER, up, movefocus, u" - "SUPER, down, movefocus, d" - "SUPER, h, movefocus, l" - "SUPER, j, movefocus, d" - "SUPER, k, movefocus, u" - "SUPER, l, movefocus, r" - - "SUPER, left, alterzorder, top" - "SUPER, right, alterzorder, top" - "SUPER, up, alterzorder, top" - "SUPER, down, alterzorder, top" - "SUPER, h, alterzorder, top" - "SUPER, j, alterzorder, top" - "SUPER, k, alterzorder, top" - "SUPER, l, alterzorder, top" - - # switch workspace - "SUPER, code:10, workspace, 1" - "SUPER, code:11, workspace, 2" - "SUPER, code:12, workspace, 3" - "SUPER, code:13, workspace, 4" - "SUPER, code:14, workspace, 5" - "SUPER, code:15, workspace, 6" - "SUPER, code:16, workspace, 7" - "SUPER, code:17, workspace, 8" - "SUPER, code:18, workspace, 9" - "SUPER, code:19, workspace, 10" - - # same as above, but switch to the workspace - "SUPER SHIFT, code:10, movetoworkspace, 1" - "SUPER SHIFT, code:11, movetoworkspace, 2" - "SUPER SHIFT, code:12, movetoworkspace, 3" - "SUPER SHIFT, code:13, movetoworkspace, 4" - "SUPER SHIFT, code:14, movetoworkspace, 5" - "SUPER SHIFT, code:15, movetoworkspace, 6" - "SUPER SHIFT, code:16, movetoworkspace, 7" - "SUPER SHIFT, code:17, movetoworkspace, 8" - "SUPER SHIFT, code:18, movetoworkspace, 9" - "SUPER SHIFT, code:19, movetoworkspace, 10" - - "SUPER ALT, code:10, movetoworkspacesilent, 1" - "SUPER ALT, code:11, movetoworkspacesilent, 2" - "SUPER ALT, code:12, movetoworkspacesilent, 3" - "SUPER ALT, code:13, movetoworkspacesilent, 4" - "SUPER ALT, code:14, movetoworkspacesilent, 5" - "SUPER ALT, code:15, movetoworkspacesilent, 6" - "SUPER ALT, code:16, movetoworkspacesilent, 7" - "SUPER ALT, code:17, movetoworkspacesilent, 8" - "SUPER ALT, code:18, movetoworkspacesilent, 9" - "SUPER ALT, code:19, movetoworkspacesilent, 10" - - # switch worspace - "SUPER CTRL, code:10, workspace, 11" - "SUPER CTRL, code:11, workspace, 12" - "SUPER CTRL, code:12, workspace, 13" - "SUPER CTRL, code:13, workspace, 14" - "SUPER CTRL, code:14, workspace, 15" - "SUPER CTRL, code:15, workspace, 16" - "SUPER CTRL, code:16, workspace, 17" - "SUPER CTRL, code:17, workspace, 18" - "SUPER CTRL, code:18, workspace, 19" - "SUPER CTRL, code:19, workspace, 20" - - # same as above, but switch to the workspace - "SUPER CTRL SHIFT, code:10, movetoworkspace, 11" - "SUPER CTRL SHIFT, code:11, movetoworkspace, 12" - "SUPER CTRL SHIFT, code:12, movetoworkspace, 13" - "SUPER CTRL SHIFT, code:13, movetoworkspace, 14" - "SUPER CTRL SHIFT, code:14, movetoworkspace, 15" - "SUPER CTRL SHIFT, code:15, movetoworkspace, 16" - "SUPER CTRL SHIFT, code:16, movetoworkspace, 17" - "SUPER CTRL SHIFT, code:17, movetoworkspace, 18" - "SUPER CTRL SHIFT, code:18, movetoworkspace, 19" - "SUPER CTRL SHIFT, code:19, movetoworkspace, 20" - "SUPER CTRL ALT, code:10, movetoworkspacesilent, 11" - "SUPER CTRL ALT, code:11, movetoworkspacesilent, 12" - "SUPER CTRL ALT, code:12, movetoworkspacesilent, 13" - "SUPER CTRL ALT, code:13, movetoworkspacesilent, 14" - "SUPER CTRL ALT, code:14, movetoworkspacesilent, 15" - "SUPER CTRL ALT, code:15, movetoworkspacesilent, 16" - "SUPER CTRL ALT, code:16, movetoworkspacesilent, 17" - "SUPER CTRL ALT, code:17, movetoworkspacesilent, 18" - "SUPER CTRL ALT, code:18, movetoworkspacesilent, 19" - "SUPER CTRL ALT, code:19, movetoworkspacesilent, 20" - - # window control - "SUPER SHIFT, left, movewindow, l" - "SUPER SHIFT, right, movewindow, r" - "SUPER SHIFT, up, movewindow, u" - "SUPER SHIFT, down, movewindow, d" - "SUPER SHIFT, h, movewindow, l" - "SUPER SHIFT, j, movewindow, d" - "SUPER SHIFT, k, movewindow, u" - "SUPER SHIFT, l, movewindow, r" - - "SUPER CTRL, left, resizeactive, -80 0" - "SUPER CTRL, right, resizeactive, 80 0" - "SUPER CTRL, up, resizeactive, 0 -80" - "SUPER CTRL, down, resizeactive, 0 80" - "SUPER CTRL, h, resizeactive, -80 0" - "SUPER CTRL, j, resizeactive, 0 80" - "SUPER CTRL, k, resizeactive, 0 -80" - "SUPER CTRL, l, resizeactive, 80 0" - - # media and volume controls - # ",XF86AudioMute,exec, pamixer -t" - ",XF86AudioPlay,exec, playerctl play-pause" - ",XF86AudioNext,exec, playerctl next" - ",XF86AudioPrev,exec, playerctl previous" - ",XF86AudioStop,exec, playerctl stop" - ]; - - # mouse binding - bindm = [ - "SUPER, mouse:272, movewindow" - "SUPER, mouse:273, resizewindow" - ]; - - windowrule = [ - # "float,class:^(mpv)$" - ]; - }; - }; - - programs.hyprlock = { - enable = true; - - settings = { - general.hide_cursor = true; - - background = { - blur_size = 3; - blur_passes = 2; - }; - }; - }; - - programs.hyprpanel = { - enable = true; - systemd.enable = true; - settings = { - bar = { - launcher.autoDetectIcon = true; - - clock.format = "%d %b %H:%M"; - - workspaces.show_icons = true; - workspaces.workspaces = 20; - }; - - menus.clock = { - time = { - military = true; - hideSeconds = false; - }; - weather.enabled = false; - }; - - menus.dashboard.directories.enabled = false; - menus.dashboard.shortcuts.enabled = true; - menus.dashboard.stats.enabled = false; - menus.dashboard.controls.enabled = false; - - menus.workspaces.show_icons = true; - - theme.bar.transparent = true; - theme.bar.buttons.dashboard.icon = "#88B1F7"; - - theme.bar.buttons.workspaces = { - hover = "#FFFFFF"; - active = "#FFFFFF"; - occupied = "#88B1F7"; - available = "#88B1F7"; - numbered_active_underline_color = "#FFFFFF"; - }; - - theme.bar.buttons.clock.text = "#88B1F7"; - theme.bar.buttons.clock.icon = "#88B1F7"; - theme.bar.menus.menu.clock.time.time = "#88B1F7"; - theme.bar.menus.menu.clock.calendar.weekdays = "#88B1F7"; - theme.bar.menus.menu.clock.calendar.paginator = "#88B1F7"; - theme.bar.menus.menu.clock.calendar.currentday = "#88B1F7"; - theme.bar.buttons.notifications.icon = "#88B1F7"; - theme.bar.battery.icon = "#88B1F7"; - - theme.bar.buttons.battery.text = "#88B1F7"; - theme.bar.buttons.battery.icon = "#88B1F7"; - theme.bar.menus.menu.battery.label.color = "#88B1F7"; - theme.bar.menus.menu.battery.slider.primary = "#88B1F7"; - theme.bar.menus.menu.battery.listitems.active = "#88B1F7"; - theme.bar.menus.menu.battery.icons.active = "#88B1F7"; - - theme.bar.menus.menu.volume = { - label.color = "#88B1F7"; - listitems.active = "#88B1F7"; - iconbutton.active = "#88B1F7"; - audio_slider.primary = "#88B1F7"; - input_slider.primary = "#88B1F7"; - }; - - theme.bar.buttons.volume = { - text = "#88b1f7"; - icon = "#88b1f7"; - }; - - theme.font = { - size = "12px"; - }; - }; - }; - - home.packages = with pkgs; [ - hyprpanel - hyprpicker - wl-clip-persist - cliphist - wf-recorder - slurp - grim - wl-clipboard - playerctl - ]; -} diff --git a/home/modules/multimedia.nix b/home/modules/multimedia.nix deleted file mode 100644 index 9c72c08..0000000 --- a/home/modules/multimedia.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - pkgs, - inputs, - ... -}: { - home = { - packages = with pkgs; [ - libreoffice - xarchiver - - trilium-desktop - - xournalpp - obs-studio - - pixieditor - qimgv - - wineWow64Packages.staging - winetricks - - thunderbird - obs-studio - - inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default - yazi - kdePackages.kdenlive - ]; - - file = { - ".config/kdeglobals".text = '' - [General] - TerminalApplication=foot - ''; - }; - }; - - programs.yazi = { - enable = true; - enableNushellIntegration = true; - }; -} diff --git a/home/modules/niri.nix b/home/modules/niri.nix new file mode 100644 index 0000000..4a8305c --- /dev/null +++ b/home/modules/niri.nix @@ -0,0 +1,158 @@ +{ + pkgs, + inputs, + ... +}: { + imports = [inputs.niri-flake.homeModules.niri]; + + home.packages = with pkgs; [ + swaybg + wl-clipboard + ]; + + programs = { + alacritty.enable = true; + fuzzel.enable = true; + swaylock.enable = true; + waybar.enable = true; + mako.enable = true; + swayidle.enable = true; + polkit-gnome.enable = true; + }; + + programs.niri = { + enable = true; + + settings = { + spawn-at-startup = [ + {command = ["waybar"];} + ]; + + input = { + keyboard = { + xkb = { + layout = "cz"; + options = "caps:escape"; + }; + }; + }; + + outputs = { + "DP-1".mode = { + width = 2560; + height = 1440; + }; + + "DP-2".mode = { + width = 1920; + height = 1080; + }; + }; + + environment = { + NIXOS_OZONE_WL = "1"; + TERMINAL = "foot"; + SDL_VIDEODRIVER = "wayland"; + CLUTTER_BACKEND = "wayland"; + }; + + gestures = { + hot-corners.enable = false; + }; + + layout = { + gaps = 8; + + default-column-width = {proportion = 1;}; + + preset-column-widths = [ + {proportion = 0.33333;} + {proportion = 0.5;} + {proportion = 0.66667;} + {proportion = 1.0;} + ]; + + preset-window-heights = [ + {proportion = 0.33333;} + {proportion = 0.5;} + {proportion = 0.66667;} + {proportion = 1.0;} + ]; + }; + + prefer-no-csd = true; + cursor.size = 14; + screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; + hotkey-overlay.skip-at-startup = true; + + window-rules = [ + { + clip-to-geometry = true; + } + ]; + + input = { + keyboard.numlock = true; + warp-mouse-to-focus.enable = true; + + focus-follows-mouse = { + enable = true; + max-scroll-amount = "0%"; + }; + }; + + binds = { + "Mod+Q".action.close-window = []; + "Mod+Return".action.spawn = ["foot"]; + "Mod+A".action.spawn = ["fuzzel"]; + "Mod+B".action.spawn = ["zen"]; + + "Mod+O".action.toggle-overview = []; + + # Change monitor focus + "Mod+Alt+H".action.focus-monitor-left = []; + "Mod+Alt+L".action.focus-monitor-right = []; + "Mod+Alt+Left".action.focus-monitor-left = []; + "Mod+Alt+Right".action.focus-monitor-right = []; + + # Vim motions + "Mod+H".action.focus-column-left = []; + "Mod+L".action.focus-column-right = []; + "Mod+J".action.focus-window-down = []; + "Mod+K".action.focus-window-up = []; + "Mod+Left".action.focus-column-left = []; + "Mod+Right".action.focus-column-right = []; + "Mod+Down".action.focus-window-down = []; + "Mod+Up".action.focus-window-up = []; + + "Mod+WheelScrollDown".action.focus-column-right = []; + "Mod+WheelScrollUp".action.focus-column-left = []; + + "Mod+Y".action.consume-or-expel-window-left = []; + "Mod+X".action.consume-or-expel-window-right = []; + + "Mod+R".action.switch-preset-column-width = []; + "Mod+Shift+R".action.switch-preset-window-height = []; + "Mod+F".action.maximize-column = []; + "Mod+Shift+F".action.fullscreen-window = []; + "Mod+W".action.toggle-window-floating = []; + + "Mod+Minus".action.set-column-width = ["-10%"]; + "Mod+Plus".action.set-column-width = ["+10%"]; + + "Print".action.screenshot = []; + "Ctrl+Print".action.screenshot-screen = []; + "Alt+Print".action.screenshot-window = []; + + "XF86AudioPlay".action.spawn = ["playerctl" "play-pause"]; + "XF86AudioNext".action.spawn = ["playerctl" "next"]; + "XF86AudioPrev".action.spawn = ["playerctl" "previous"]; + "XF86AudioStop".action.spawn = ["playerctl" "stop"]; + + "XF86AudioRaiseVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"]; + "XF86AudioLowerVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"]; + "xF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"]; + }; + }; + }; +} diff --git a/home/modules/nvf.nix b/home/modules/nvf.nix index bd96f03..f89d757 100644 --- a/home/modules/nvf.nix +++ b/home/modules/nvf.nix @@ -1,191 +1,222 @@ -{ - pkgs, - inputs, - ... -}: { - imports = [ - inputs.nvf.homeManagerModules.default - ]; - - programs.nvf = { +{pkgs, ...}: { + programs.helix = { enable = true; - enableManpages = true; - settings.vim = { - extraPackages = [pkgs.netcoredbg]; + settings = { + theme = "catppuccin_mocha"; - luaConfigRC.netcoredbg = '' - local dap = require("dap") - dap.adapters.coreclr = { - type = "executable", - command = "${pkgs.netcoredbg}/bin/netcoredbg", - args = {"--interpreter=vscode"} - } - dap.configurations.cs = { - { - type = "coreclr", - name = "Launch", - request = "launch", - program = function() - return vim.fn.input("Path to dll: ", vim.fn.getcwd() .. "/bin/Debug/", "file") - end, - }, - } - ''; + editor = { + # options + indent-guides.render = true; + cursorline = true; + color-modes = true; - theme = { - enable = true; - transparent = true; - - name = "catppuccin"; - style = "mocha"; - }; - - lsp = { - enable = true; - null-ls.enable = false; - - inlayHints.enable = true; - formatOnSave = true; - lspkind.enable = true; - lspsaga.enable = true; - trouble.enable = true; - lightbulb.enable = false; - }; - - debugger = { - nvim-dap = { - enable = true; - ui.enable = true; - }; - }; - - options = { - tabstop = 2; - expandtab = false; - autoindent = true; - shiftwidth = 2; - }; - - clipboard = { - enable = true; - registers = "unnamedplus"; - providers = { - wl-copy = { - enable = true; - package = pkgs.wl-clipboard; - }; - }; - }; - - languages = { - enableFormat = true; - enableTreesitter = true; - enableExtraDiagnostics = true; - - nix.enable = true; - markdown.enable = true; - toml.enable = true; - - nu.enable = true; - bash.enable = true; - typst.enable = true; - - css.enable = true; - html = { - enable = true; - format.enable = true; - lsp.servers = [ - "emmet-ls" - "superhtml" - ]; + indent = { + tab-width = 2; + unit = "\t"; }; - python.enable = true; - - sql.enable = false; - ts.enable = true; - zig.enable = true; - - csharp = { - enable = true; - lsp.servers = ["omnisharp"]; + lsp = { + display-inlay-hints = true; + display-messages = true; }; - clang.enable = true; - rust = { - enable = true; - extensions.crates-nvim.enable = true; + cursor-shape = { + insert = "bar"; + normal = "block"; + select = "underline"; }; - }; - visuals = { - nvim-web-devicons.enable = true; - nvim-cursorline.enable = true; - cinnamon-nvim.enable = true; - fidget-nvim.enable = true; + clipboard-provider = "wayland"; - highlight-undo.enable = true; - indent-blankline.enable = true; - }; - - statusline = { - lualine = { - enable = true; + statusline = { + left = ["mode" "spinner" "file-name" "file-modification-indicator"]; + right = ["diagnostics" "selections" "position" "file-encoding" "file-type"]; + center = ["workspace-diagnostics"]; }; - }; - autopairs.nvim-autopairs.enable = true; + auto-pairs = true; - autocomplete = { - nvim-cmp.enable = true; - blink-cmp.enable = false; - }; - - snippets.luasnip.enable = true; - - telescope.enable = true; - - git = { - enable = true; - }; - - dashboard.alpha.enable = true; - - notify.nvim-notify.enable = true; - - projects.project-nvim.enable = true; - - utility = { - ccc.enable = true; - diffview-nvim.enable = true; - icon-picker.enable = true; - surround.enable = true; - - motion = { - hop.enable = true; - leap.enable = true; - }; - }; - - comments.comment-nvim.enable = true; - - ui = { - noice.enable = true; - colorizer.enable = true; - illuminate.enable = true; - - fastaction.enable = true; + file-picker.hidden = false; }; }; - }; - xdg.desktopEntries.nvim-foot = { - name = "Neovim (foot)"; - comment = "Edit text files with Neovim in foot terminal"; - icon = "nvim"; - exec = "foot -e nvim %F"; - categories = ["Utility" "TextEditor" "Development"]; - mimeType = ["text/plain" "text/x-makefile" "application/x-shellscript"]; + languages = { + language-server = { + nil = { + command = "nil"; + config.nil.formatting.command = ["nixfmt"]; + }; + marksman = {command = "marksman";}; + taplo = { + command = "taplo"; + args = ["lsp" "stdio"]; + }; + bash-ls = { + command = "bash-language-server"; + args = ["start"]; + }; + tinymist = {command = "tinymist";}; # typst + vscode-css = { + command = "vscode-css-language-server"; + args = ["--stdio"]; + }; + vscode-html = { + command = "vscode-html-language-server"; + args = ["--stdio"]; + }; + emmet-ls = { + command = "emmet-ls"; + args = ["--stdio"]; + }; + pyright = { + command = "pyright-langserver"; + args = ["--stdio"]; + }; + ts-ls = { + command = "typescript-language-server"; + args = ["--stdio"]; + }; + zls = {command = "zls";}; + omnisharp = { + command = "OmniSharp"; + args = ["--languageserver"]; + }; + clangd = {command = "clangd";}; + rust-analyzer = { + command = "rust-analyzer"; + config.rust-analyzer = { + check.command = "clippy"; + cargo.allFeatures = true; + }; + }; + nu = { + command = "nu"; + args = ["--lsp"]; + }; + }; + + language = [ + { + name = "nix"; + auto-format = true; + language-servers = ["nil"]; + formatter.command = "nixfmt"; + } + { + name = "markdown"; + auto-format = true; + language-servers = ["marksman"]; + } + { + name = "toml"; + auto-format = true; + language-servers = ["taplo"]; + } + { + name = "nu"; + language-servers = ["nu"]; + } + { + name = "bash"; + auto-format = true; + language-servers = ["bash-ls"]; + } + { + name = "typst"; + auto-format = true; + language-servers = ["tinymist"]; + } + { + name = "css"; + auto-format = true; + language-servers = ["vscode-css"]; + } + { + name = "html"; + auto-format = true; + language-servers = ["vscode-html" "emmet-ls"]; + } + { + name = "python"; + auto-format = true; + language-servers = ["pyright"]; + } + { + name = "typescript"; + auto-format = true; + language-servers = ["ts-ls"]; + } + { + name = "tsx"; + auto-format = true; + language-servers = ["ts-ls"]; + } + { + name = "zig"; + auto-format = true; + language-servers = ["zls"]; + } + { + name = "c-sharp"; + auto-format = true; + language-servers = ["omnisharp"]; + debugger = { + name = "netcoredbg"; + transport = "tcp"; + command = "netcoredbg"; + port-arg = "--server={port}"; + templates = [ + { + name = "launch"; + request = "launch"; + completion = [ + { + name = "DLL path"; + completion = "filename"; + default = "bin/Debug/net8.0/App.dll"; + } + ]; + args = { + type = "coreclr"; + request = "launch"; + program = "{0}"; + }; + } + { + name = "attach"; + request = "attach"; + completion = [ + { + name = "PID"; + completion = "pid"; + } + ]; + args = { + type = "coreclr"; + request = "attach"; + processId = "{0}"; + }; + } + ]; + }; + } + { + name = "c"; + auto-format = true; + language-servers = ["clangd"]; + } + { + name = "cpp"; + auto-format = true; + language-servers = ["clangd"]; + } + { + name = "rust"; + auto-format = true; + language-servers = ["rust-analyzer"]; + } + ]; + }; }; } diff --git a/home/modules/passwords.nix b/home/modules/passwords.nix deleted file mode 100644 index 69cc723..0000000 --- a/home/modules/passwords.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - keepassxc - ]; -} diff --git a/home/modules/programming.nix b/home/modules/programming.nix deleted file mode 100644 index 1e31549..0000000 --- a/home/modules/programming.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - godot - lazygit - arduino-ide - ]; -} diff --git a/home/modules/rice.nix b/home/modules/rice.nix deleted file mode 100644 index cffa2d2..0000000 --- a/home/modules/rice.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - pkgs, - inputs, - ... -}: { - imports = [ - ./zellij.nix - ]; - - home.packages = with pkgs; [ - fuzzel - btop - fastfetch - oh-my-posh - man-pages - inputs.floatc.packages.${pkgs.stdenv.hostPlatform.system}.default - ]; - - gtk.enable = true; - qt.enable = true; - - programs = { - fuzzel.enable = true; - btop.enable = true; - - fastfetch = { - enable = true; - settings = { - logo = { - source = "~/.nix-config/assets/shadow-cli.txt"; - type = "file-raw"; - padding.right = 1; - }; - - modules = [ - { - type = "custom"; - key = "Favorite Anime"; - format = "The Eminence in Shadow"; - } - - "break" - - "os" - "kernel" - "cpu" - { - type = "gpu"; - key = "GPU"; - detectionMethod = "pci"; - hideType = "integrated"; - } - "memory" - "wm" - "terminal" - "shell" - "editor" - ]; - }; - }; - - foot = { - enable = true; - settings = { - main = { - term = "xterm-256color"; - }; - }; - }; - - git = { - enable = true; - package = pkgs.gitFull; - settings = { - user.name = "maxstrb"; - user.email = "max.stribrny@gmail.com"; - init.defaultBranch = "main"; - push.autoSetupRemote = true; - github.user = "maxstrb"; - credential.helper = "store"; - }; - }; - - oh-my-posh = { - enable = true; - - enableNushellIntegration = true; - enableBashIntegration = true; - - settings = builtins.fromTOML (builtins.readFile ../../assets/oh-my-posh-shadow.toml); - }; - }; -} diff --git a/home/modules/shell/config.nu b/home/modules/shell/config.nu new file mode 100644 index 0000000..6f25244 --- /dev/null +++ b/home/modules/shell/config.nu @@ -0,0 +1,46 @@ +if "ZELLIJ" in $env == false { + zellij + exit +} + +def rebuild [message?: string] { + cd /home/maxag/.nix-config + let commit_message = if $message != null {$message} else {"non important commit"} + try { + git pull + git add . + git commit -m $commit_message + git push + } + sudo nixos-rebuild switch --flake . +} + +def --env fzf-cd [] { + let dir = (fd -t d -L . | fzf --reverse --height 40% --border rounded --preview=("eza --color=always --group-directories-first --icons --long {}") --preview-window=border-left) + if $dir != null and $dir != "" { + cd $dir + } +} + +def --env fzf-nvim [] { + let file = (fd -t f -L . | fzf --reverse --height 40% --border rounded --preview=("bat -p -P --color always {}") --preview-window=border-left) + if $file != null and $file != "" { + nvim $file + } +} + +$env.config.keybindings = ($env.config.keybindings | append { + name: "fzf-cd" + modifier: "control" + keycode: "char_f" + mode: "emacs" + event: [{ send: "executehostcommand" cmd: 'fzf-cd' }] +}) + +$env.config.keybindings = ($env.config.keybindings | append { + name: "fzf-nvim" + modifier: "control" + keycode: "char_e" + mode: "emacs" + event: [{ send: "executehostcommand" cmd: 'fzf-nvim' }] +}) diff --git a/home/modules/shell/shell.nix b/home/modules/shell/shell.nix new file mode 100644 index 0000000..294f13f --- /dev/null +++ b/home/modules/shell/shell.nix @@ -0,0 +1,93 @@ +{ + pkgs, + device-name, + ... +}: { + home.packages = with pkgs; [ + bat + fzf + fd + eza + btop + man-pages + inputs.floatc.packages.${pkgs.stdenv.hostPlatform.system}.default + ]; + + home.sessionVariables = { + EDITOR = "nvim"; + PAGER = "bat -l man"; + MANPAGER = "bat -l man"; + }; + + programs = { + bash.enable = true; + fzf.enable = true; + eza.enable = true; + + direnv = { + enable = true; + silent = true; + nix-direnv .enable = true; + }; + + nushell = { + enable = true; + + extraConfig = builtins.readFile "config.nu"; + + settings = { + show_banner = false; + }; + + shellAliases = { + system = "nvim /home/maxag/.nix-config/flake.nix"; + home = "nvim /home/maxag/.nix-config/home/${device-name}/home.nix"; + cat = "bat -p -P"; + nix-shell = "nix-shell --run nu"; + garbage = " sudo nix-collect-garbage --delete-old"; + c = "clear"; + }; + }; + }; + + programs.zellij = { + enable = true; + enableBashIntegration = false; + settings = { + on_force_close = "quit"; + simplified_ui = true; + pane_frames = false; + default_layout = "compact"; + show_startup_tips = false; + }; + }; + + gtk.enable = true; + qt.enable = true; + + programs = { + btop.enable = true; + + foot = { + enable = true; + settings = { + main = { + term = "xterm-256color"; + }; + }; + }; + + git = { + enable = true; + package = pkgs.gitFull; + settings = { + user.name = "Jiří Maxmilián Stříbrný"; + user.email = "max.stribrny@gmail.com"; + init.defaultBranch = "main"; + push.autoSetupRemote = true; + github.user = "maxstrb"; + credential.helper = "store"; + }; + }; + }; +} diff --git a/home/modules/shells.nix b/home/modules/shells.nix deleted file mode 100644 index 6ac2090..0000000 --- a/home/modules/shells.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ - pkgs, - device-name, - ... -}: { - home.packages = with pkgs; [ - bat - fzf - fd - eza - most - ]; - - home.sessionVariables = { - EDITOR = "nvim"; - PAGER = "bat -l man"; - MANPAGER = "bat -l man"; - }; - - programs = { - bash.enable = true; - fzf.enable = true; - eza.enable = true; - - direnv = { - enable = true; - silent = true; - nix-direnv .enable = true; - }; - - nushell = { - enable = true; - - extraConfig = - /* - nu - */ - '' - if "ZELLIJ" in $env == false { - zellij - exit - } else { - if "IN_NIX_SHELL" in $env == false { - fastfetch - } - } - - def garbage [] { - sudo nix-collect-garbage --delete-old - sudo nixos-rebuild switch --flake /home/maxag/.nix-config - } - - def c [] { - clear - fastfetch - } - - def rebuild [message?: string] { - cd /home/maxag/.nix-config - let commit_message = if $message != null {$message} else {"non important commit"} - - try { - git pull - git add . - git commit -m $commit_message - git push - } - - sudo nixos-rebuild switch --flake . - } - - def --env fzf-cd [] { - let dir = (fd -t d -L . | fzf --reverse --height 40% --border rounded --preview=("eza --color=always --group-directories-first --icons --long {}") --preview-window=border-left) - if $dir != null and $dir != "" { - cd $dir - } - } - - def --env fzf-nvim [] { - let file = (fd -t f -L . | fzf --reverse --height 40% --border rounded --preview=("bat -p -P --color always {}") --preview-window=border-left) - if $file != null and $file != "" { - nvim $file - } - } - - $env.config.keybindings = ($env.config.keybindings | append { - name: "fzf-cd" - modifier: "control" - keycode: "char_f" - mode: "emacs" - event: [ - { - send: "executehostcommand" - cmd: 'fzf-cd' - } - ] - }) - - $env.config.keybindings = ($env.config.keybindings | append { - name: "fzf-nvim" - modifier: "control" - keycode: "char_e" - mode: "emacs" - event: [ - { - send: "executehostcommand" - cmd: 'fzf-nvim' - } - ] - }) - ''; - - settings = { - show_banner = false; - }; - - shellAliases = { - zel = "zellij"; - system = "nvim /home/maxag/.nix-config/flake.nix"; - home = "nvim /home/maxag/.nix-config/home/${device-name}/home.nix"; - config = "nvim /home/maxag/.nix-config/configuration/${device-name}/configuration.nix"; - cat = "bat -p -P"; - nix-shell = "nix-shell --run nu"; - }; - }; - }; -} diff --git a/home/modules/stylix.nix b/home/modules/stylix.nix deleted file mode 100644 index 8a76443..0000000 --- a/home/modules/stylix.nix +++ /dev/null @@ -1,93 +0,0 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - libsForQt5.qt5ct - ]; - - stylix = { - enable = true; - overlays.enable = false; - - targets = { - gtk.enable = true; - qt.enable = true; - }; - - #base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; - - base16Scheme = { - base00 = "1e1e2e"; # base - base01 = "181825"; # mantle - base02 = "313244"; # surface0 - base03 = "45475a"; # surface1 - base04 = "585b70"; # surface2 - base05 = "cdd6f4"; # text - base06 = "f5e0dc"; # rosewater - base07 = "b4befe"; # lavender - base08 = "f38ba8"; # red - base09 = "fab387"; # peach - base0A = "f9e2af"; # yellow - base0B = "A4E6FF"; # green - base0C = "94e2d5"; # teal - base0D = "89b4fa"; # blue - base0E = "cba6f7"; # mauve - base0F = "f2cdcd"; # flamingo - }; - - opacity.terminal = 0.75; - - targets = { - nvf.enable = false; - hyprpanel.enable = false; - kde.enable = true; - }; - - cursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - size = 14; - }; - - fonts = { - sizes = { - applications = 10; - desktop = 10; - terminal = 9; - popups = 8; - }; - - monospace = { - package = pkgs.nerd-fonts.jetbrains-mono; - name = "JetBrainsMono Nerd Font"; - }; - - sansSerif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Sans"; - }; - - serif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Serif"; - }; - }; - - polarity = "dark"; - - image = ../../assets/shadow_dark.png; - }; - - qt.enable = true; - - gtk = { - enable = true; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; - }; - gtk3.extraConfig = { - gtk-recent-files-enabled = 0; - gtk-recent-files-limit = 0; - gtk-recent-files-max-age = 0; - }; - }; -} diff --git a/home/modules/zellij.nix b/home/modules/zellij.nix deleted file mode 100644 index e7dbe7b..0000000 --- a/home/modules/zellij.nix +++ /dev/null @@ -1,17 +0,0 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - zellij - ]; - - programs.zellij = { - enable = true; - enableBashIntegration = false; - settings = { - on_force_close = "quit"; - simplified_ui = true; - pane_frames = false; - default_layout = "compact"; - show_startup_tips = false; - }; - }; -}