diff --git a/flake.lock b/flake.lock index 4b65c3b..543c2df 100644 --- a/flake.lock +++ b/flake.lock @@ -195,16 +195,32 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1731652201, - "narHash": "sha256-XUO0JKP1hlww0d7mm3kpmIr4hhtR4zicg5Wwes9cPMg=", + "lastModified": 1732981179, + "narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c21b77913ea840f8bcf9adf4c41cecc2abffd38d", + "rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.05", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs2": { + "locked": { + "lastModified": 1732837521, + "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -214,6 +230,7 @@ "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs2": "nixpkgs2", "stylix": "stylix" } }, diff --git a/flake.nix b/flake.nix index 26394fd..151636b 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,11 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; + # Вторая unstable ветка, которую я буду обновлять отдельно + # Нужна если я не хочу обновлять систему, но хочу обновить конкретный софт + # Просто задам этому софту репу pkgs2 и обновлю только её + nixpkgs2.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; home-manager = { url = "github:nix-community/home-manager"; @@ -36,6 +40,10 @@ inherit system; inherit config; }; + pkgs2 = import inputs.nixpkgs2 { + inherit system; + inherit config; + }; spkgs = import inputs.nixpkgs-stable { inherit system; inherit config; @@ -44,7 +52,7 @@ { nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { - specialArgs = { inherit spkgs; inherit inputs; }; + specialArgs = { inherit spkgs; inherit pkgs2; inherit inputs; }; inherit pkgs; inherit system; modules = [ diff --git a/modules/home-manager/gui/vscode.nix b/modules/home-manager/gui/vscode.nix index 92be83e..c953f06 100644 --- a/modules/home-manager/gui/vscode.nix +++ b/modules/home-manager/gui/vscode.nix @@ -21,6 +21,10 @@ tamasfe.even-better-toml # Fully-featured TOML support ms-python.python # Python language support golang.go # Rich Go language support + mechatroner.rainbow-csv # Rainbow syntax higlighting for CSV and TSV files + redhat.vscode-xml # XML Language Support by Red Hat + dotjoshjohnson.xml # XML Tools + bradlc.vscode-tailwindcss # Tailwind CSS tooling ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ # Руками с гита ставить { # https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode name = "language-hugo-vscode"; @@ -28,12 +32,30 @@ version = "1.3.1"; sha256 = "f5da7cfe02c06fc3899e6b0b55b380280619e7085abcf5b6024f9684ba846c99"; } - { # https://marketplace.visualstudio.com/items?itemName=Codeium.codeium - name = "codeium"; - publisher = "Codeium"; - version = "1.11.9"; - sha256 = "0e07e78e487418d0c5289eeb2c530dd7dd18f82612e46c8b177f2a1f95acb730"; + { # https://marketplace.visualstudio.com/items?itemName=dlasagno.rasi + name = "rasi"; + publisher = "dlasagno"; + version = "1.0.0"; + sha256 = "b3ad1a95e8f770d01b489c6c4652111364216baa00b2670e05b5a8aa9fb0e9f9"; } + { # https://marketplace.visualstudio.com/items?itemName=a-h.templ + name = "templ"; + publisher = "a-h"; + version = "0.0.29"; + sha256 = "459fbec312f63aa061de188b030288c3940b8d4fe29ac2bb8ab4141db27fb6a3"; + } + { # https://marketplace.visualstudio.com/items?itemName=CraigRBroughton.htmx-attributes + name = "htmx-attributes"; + publisher = "CraigRBroughton"; + version = "0.8.0"; + sha256 = "4ec7a63d992ad99d77fef6a145a3fbcf6d3a0496826754d1e8e56fe9a783bf29"; + } + # { # https://marketplace.visualstudio.com/items?itemName=Codeium.codeium + # name = "codeium"; + # publisher = "Codeium"; + # version = "1.29.2"; + # sha256 = "86e075c4fd0d60f7fa7b32e497260a86a94ec812d95e3d9f058ce45e77648f89"; + # } ]; # userSettings = { @@ -41,11 +63,12 @@ # "update.showReleaseNotes" = false; # "workbench.colorTheme" = "Gruvbox Dark Medium"; # "editor.fontFamily" = "JetBrainsMono Nerd Font"; + # "editor.lineNumbers" = "relative"; # }; - globalSnippets = {}; + # globalSnippets = {}; - languageSnippets = {}; + # languageSnippets = {}; # keybindings = [ # { @@ -55,4 +78,4 @@ # } # ]; }; -} \ No newline at end of file +} diff --git a/modules/home-manager/terminal/zsh.nix b/modules/home-manager/terminal/zsh.nix index 9f001e8..2a1ef03 100644 --- a/modules/home-manager/terminal/zsh.nix +++ b/modules/home-manager/terminal/zsh.nix @@ -32,6 +32,7 @@ t = "timer"; r = "ranger"; + g = "gitui"; ff = "fastfetch"; yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube qb = "cd /mnt/backups/Media/Music/Qobuz/qdl"; # Бекапить музыку с Qobuz diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 6bf2e32..1840c5e 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -2,7 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ pkgs, spkgs, inputs, ... }: +{ pkgs, pkgs2, spkgs, inputs, ... }: let username = "buliway"; @@ -54,7 +54,7 @@ in { # also pass inputs to home-manager modules useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { inherit spkgs; inherit inputs; }; + extraSpecialArgs = { inherit spkgs; inherit pkgs2; inherit inputs; }; users.${username} = import ./home.nix; }; diff --git a/nixos/home.nix b/nixos/home.nix index 8b9108b..43a60a2 100644 --- a/nixos/home.nix +++ b/nixos/home.nix @@ -51,8 +51,7 @@ ############################################## ## Ниже включаю проги для Stylix ## - ## Ебаные дауны могут редачить grub, ## - ## но не могут редачить ебаный обычный софт ## + ## Потому что не все из них вкл в стоке ## ############################################## # programs = { diff --git a/nixos/packages.nix b/nixos/packages.nix index 1d5b693..5a216a7 100644 --- a/nixos/packages.nix +++ b/nixos/packages.nix @@ -1,4 +1,4 @@ -{ pkgs, spkgs, ... }: { +{ pkgs, pkgs2, spkgs, ... }: { # https://nixos.wiki/wiki/Fonts fonts.packages = with pkgs; [ @@ -104,33 +104,55 @@ # а только на nix shell внутри проекта, где нужны эти пакеты # Но я хочу на всю систему - hugo # Для моего блога - # Python python3 # Питухон ласт версии + pylyzer # Fast static code analyzer & language server for Python + ruff # Extremely fast Python linter # C gcc # Компилятор C rocmPackages.llvm.clang # Компилятор C gnumake # Компилятор? + ccls # C lsp # Rust rustup # Управление версиями языка Rust - # rust-analyzer # Rust lsp + rust-analyzer # Rust lsp # Golang go # Go programming language gopls # Golang lsp + templ # HTML SSR + + # Frontend + vscode-langservers-extracted # HTML/CSS/JSON/ESLint lsp + typescript-language-server # JS/TS lsp + htmx-lsp # HTMX lsp + tailwindcss-language-server # Tailwind CSS lsp + # Мб emmet добавить потом. Но все lsp для него нонейм # Nix nixd # Nix lsp alejandra # Nix formatter. Usage: alejandra file.nix - # Markdown - marksman # Markdown lsp - # Shell shellcheck # Проверка shell скриптов на ошибки + bash-language-server # Bash lsp + + # Database + sqls # SQL lsp + postgres-lsp # Postgres lsp + + # Other + hugo # Для моего блога + lua-language-server # Lua lsp + marksman # Markdown lsp + taplo # TOML lsp + vim-language-server # VimScript lsp + yaml-language-server # YAML lsp + # dockerfile-language-server-nodejs # Dockerfiles + # zls # Zig lsp + # lemminx # XML lsp (юзает java) ############ ## Архивы ## @@ -154,6 +176,7 @@ xclip # Буфера обмена ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость imagemagick # Обработка изображений. Мб тоже нужен всегда + vips # В 4 раза быстрее imagemagick? tree # Структура файлов в терминале gnugrep # Поиск в терминале gawk # Обработка и анализ текста в терминале @@ -185,6 +208,9 @@ pwgen # Генератор паролей lm_sensors # Сенсоры httpie # interacting with APIs & HTTP servers + # mkvtoolnix-cli # Cross-platform tools for Matroska + # jq # Cli JSON processor + # htmlq # Как jq, но для html. Извлекать конкретные элементы из html alacritty # Минималистичный терминал. Основной у меня kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает @@ -204,7 +230,7 @@ # pwvucontrol # Pipewire Volume Control (Не знаю может ли полностью заменить pavucontrol) networkmanagerapplet # Tray for network manager brightnessctl # Brightness control for laptop - gucharmap # Проверка шрифтов. Какой шрифт какие символы отображает + # gucharmap # Проверка шрифтов. Какой шрифт какие символы отображает ############## ## Browsers ## @@ -284,8 +310,8 @@ ## Social ## ############ - (discord.override { # Discord - withOpenASAR = true; # Оптимизатор дискрода + (pkgs2.discord.override { # Discord + # withOpenASAR = true; # Оптимизатор дискрода withVencord = true; # Имба плагины # TODO: Настройки надо сделать декларативными }) telegram-desktop @@ -320,7 +346,7 @@ blender-hip # 3д графика и рендер видео gcolor3 # GUI color picker xcolor # CLI color picker https://github.com/Soft/xcolor - inkscape # Vector graphic editor + # inkscape # Vector graphic editor ################## ## Productivity ## @@ -333,10 +359,13 @@ ## IDE ## ######### - neovim - # vscode # Надо в home.packages писать, чтоб расширения ставились без рута - # jetbrains-toolbox # Добавил в home.nix - helix # A Kakoune / Neovim inspired editor, written in Rust + neovim # Мб не надо писать, он у меня необычный, через nixvim flake + helix # A Kakoune/Neovim inspired editor, written in Rust. + + # Закинул в home.nix + # vscode + # jetbrains-toolbox + # zed-editor ########### ## Icons ##