diff --git a/README.md b/README.md index 72de036..ddc34b9 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ | `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | Да | | `Super + N` | Note taking app (obsidian) | Да | | `Super + E` | Explorer. Thunar file manager | Да | -| `Super + I` | IDE, text editor, NeoVim | Да | +| `Super + I` | IDE, text editor | Да | | `Super + M` | Monitor of resources (btop) | Да | | `Super + G` | Goals. Todo manager. Task tracker | Да | | `Super + Shift + C` | Color picker. Получить hex в буфер обмена | Да | diff --git a/flake.lock b/flake.lock index 9057408..4b65c3b 100644 --- a/flake.lock +++ b/flake.lock @@ -34,30 +34,14 @@ "type": "github" } }, - "base16-foot": { - "flake": false, - "locked": { - "lastModified": 1696725948, - "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", - "owner": "tinted-theming", - "repo": "base16-foot", - "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-foot", - "type": "github" - } - }, "base16-helix": { "flake": false, "locked": { - "lastModified": 1720809814, - "narHash": "sha256-numb3xigRGnr/deF7wdjBwVg7fpbTH7reFDkJ75AJkY=", + "lastModified": 1725860795, + "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "34f41987bec14c0f3f6b2155c19787b1f6489625", + "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9", "type": "github" }, "original": { @@ -66,38 +50,6 @@ "type": "github" } }, - "base16-kitty": { - "flake": false, - "locked": { - "lastModified": 1665001328, - "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", - "owner": "kdrag0n", - "repo": "base16-kitty", - "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", - "type": "github" - }, - "original": { - "owner": "kdrag0n", - "repo": "base16-kitty", - "type": "github" - } - }, - "base16-tmux": { - "flake": false, - "locked": { - "lastModified": 1696725902, - "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", - "owner": "tinted-theming", - "repo": "base16-tmux", - "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-tmux", - "type": "github" - } - }, "base16-vim": { "flake": false, "locked": { @@ -191,11 +143,11 @@ ] }, "locked": { - "lastModified": 1725831139, - "narHash": "sha256-9syY5nEehCswE8AMcjpUO4T0iX9nrNbzq69Kqcs92L0=", + "lastModified": 1731786860, + "narHash": "sha256-130gQ5k8kZlxjBEeLpE+SvWFgSOFgQFeZlqIik7KgtQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "8a175a89137fe798b33c476d4dae17dba5fb3fd3", + "rev": "1bd5616e33c0c54d7a5b37db94160635a9b27aeb", "type": "github" }, "original": { @@ -227,11 +179,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "lastModified": 1731676054, + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "type": "github" }, "original": { @@ -241,18 +193,18 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs-stable": { "locked": { - "lastModified": 1725194671, - "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=", - "owner": "NixOS", + "lastModified": 1731652201, + "narHash": "sha256-XUO0JKP1hlww0d7mm3kpmIr4hhtR4zicg5Wwes9cPMg=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c", + "rev": "c21b77913ea840f8bcf9adf4c41cecc2abffd38d", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -261,6 +213,7 @@ "inputs": { "home-manager": "home-manager", "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable", "stylix": "stylix" } }, @@ -268,24 +221,26 @@ "inputs": { "base16": "base16", "base16-fish": "base16-fish", - "base16-foot": "base16-foot", "base16-helix": "base16-helix", - "base16-kitty": "base16-kitty", - "base16-tmux": "base16-tmux", "base16-vim": "base16-vim", "flake-compat": "flake-compat", "flake-utils": "flake-utils", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_2", - "systems": "systems" + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1725290973, - "narHash": "sha256-+jwXF9KI0HfvDgpsoJGvOdfOGGSKOrID1wQB79zjUbo=", + "lastModified": 1731657386, + "narHash": "sha256-Mm/JL8tFUS1SOmmZDPcswExUxzw0VpHcEyZI1h58CGA=", "owner": "danth", "repo": "stylix", - "rev": "ef81ad9e85e60420cc83d4642619c14b57139d33", + "rev": "5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f", "type": "github" }, "original": { @@ -308,6 +263,56 @@ "repo": "default", "type": "github" } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1716423189, + "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1696725902, + "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 624fd87..26394fd 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - # nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; home-manager = { url = "github:nix-community/home-manager"; @@ -12,7 +12,7 @@ stylix = { url = "github:danth/stylix"; - # inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs"; }; # nix-gaming = { # Удобно ставить некоторые игры @@ -25,21 +25,26 @@ let system = "x86_64-linux"; # Не понимаю зачем, если это в hardware.nix указывается # pkgs = nixpkgs.legacyPackages.${system}; + config = { + allowUnfree = true; + permittedInsecurePackages = [ + "python-2.7.18.8" + "electron-25.9.0" + ]; + }; pkgs = import nixpkgs { inherit system; - config = { - allowUnfree = true; - permittedInsecurePackages = [ - "python-2.7.18.8" - "electron-25.9.0" - ]; - }; + inherit config; + }; + spkgs = import inputs.nixpkgs-stable { + inherit system; + inherit config; }; in { nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; + specialArgs = { inherit spkgs; inherit inputs; }; inherit pkgs; inherit system; modules = [ @@ -48,7 +53,6 @@ inputs.stylix.nixosModules.stylix ]; }; - }; }; } diff --git a/modules/home-manager/ranger/ranger.nix b/modules/home-manager/ranger/ranger.nix index fe2bdde..d35ca32 100644 --- a/modules/home-manager/ranger/ranger.nix +++ b/modules/home-manager/ranger/ranger.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: { +{ pkgs, spkgs, ... }: { programs.ranger = { # Файловый менеджер в терминале enable = true; @@ -14,7 +14,7 @@ lynx # Preview html pages poppler # Preview PDF djvulibre # Preview djvu - calibre # Preview ebooks (or epub-thumbnailer) + spkgs.calibre # Preview ebooks (or epub-thumbnailer) catdoc # Preview XLS as csv conversion exiftool # Information about media files odt2txt # For OpenDocument text files diff --git a/modules/home-manager/terminal/zsh.nix b/modules/home-manager/terminal/zsh.nix index b5b5884..9f001e8 100644 --- a/modules/home-manager/terminal/zsh.nix +++ b/modules/home-manager/terminal/zsh.nix @@ -70,10 +70,9 @@ "fzf" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fzf # "gitignore" # Use https://gitignore.io from the command line # "gpg-agent" # Enables GPG's gpg-agent if it is not running. Хз что это значит, мб пригодится - "httpie" # Completion for HTTPie, a command line HTTP client, a friendlier cURL replacement. + # "httpie" # Completion for HTTPie, a command line HTTP client, a friendlier cURL replacement. # "isodate" # Completion for the ISO 8601, as well as some aliases for common Date commands. # "mise" # dev tools, env vars, task runner https://github.com/jdx/mise - "pass" # Completion for the pass password manager (вдруг добавит нечёткий поиск?) "safe-paste" # Preventing any code from running while pasting, so you have a chance to review what was pasted "ssh-agent" # Автостарт ssh-agent. Хз надо ли настраивать и если да, то как "timer" # Показывает время выполнения команды diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 38e6898..6bf2e32 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, inputs, ... }: +{ pkgs, spkgs, inputs, ... }: let username = "buliway"; @@ -53,7 +53,8 @@ in { home-manager = { # also pass inputs to home-manager modules useGlobalPkgs = true; - extraSpecialArgs = { inherit inputs; }; + useUserPackages = true; + extraSpecialArgs = { inherit spkgs; inherit inputs; }; users.${username} = import ./home.nix; }; diff --git a/nixos/packages.nix b/nixos/packages.nix index f0c1c62..84300b2 100644 --- a/nixos/packages.nix +++ b/nixos/packages.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: { +{ pkgs, spkgs, ... }: { # https://nixos.wiki/wiki/Fonts fonts.packages = with pkgs; [ @@ -102,13 +102,37 @@ # Это рекомендуют ставить не на всю систему, # а только на nix shell внутри проекта, где нужны эти пакеты + # Но я хочу на всю систему - go # Go programming language - rustup # Управление версиями языка Rust - nil # Nix language server hugo # Для моего блога + + # Python python3 # Питухон ласт версии + # C + gcc # Компилятор C + rocmPackages.llvm.clang # Компилятор C + gnumake # Компилятор? + + # Rust + rustup # Управление версиями языка Rust + # rust-analyzer # Rust lsp + + # Golang + go # Go programming language + gopls # Golang lsp + + # Nix + nixd # Nix lsp + nil # Nix lsp + alejandra # Nix formatter. Usage: alejandra file.nix + + # Markdown + marksman # Markdown lsp + + # Shell + shellcheck # Проверка shell скриптов на ошибки + ############ ## Архивы ## ############ @@ -146,7 +170,7 @@ tokei # Количество строк кода на разных языках в каталоге pass # Менеджер паролей в терминале btop # Монитор ресурсов в терминале - # rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает) + rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает) # rocmPackages_5.rocm-smi # Старая версия пакета выше. Хз какой надо yt-dlp # Скачивать и смотреть медиа с разных сайтов tasktimer # TUI task timer. Можно несколько таймеров с описанием запустить. В терминал tt @@ -159,6 +183,9 @@ libnotify # Вызов оповещений через "notify-send" gallery-dl # Качать много картинок с кучи разных сайтов shellcheck # Проверка shell скриптов на ошибки + pwgen # Генератор паролей + lm_sensors # Сенсоры + httpie # interacting with APIs & HTTP servers alacritty # Минималистичный терминал. Основной у меня kitty # Самый быстрый протокол отображения медиа, но ssh через жопу работает @@ -199,7 +226,7 @@ hunspell # Проверка орфографии для libreoffice hunspellDicts.ru_RU # Словарь для проверки орфографии hunspellDicts.en_US # Словарь для проверки орфографии - calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере + spkgs.calibre # Работа с ebook. Иногда даёт thumbnail в файловом менеджере drawio # Desktop application for creating diagrams. Вроде даёт thumbnail в ranger xournalpp # Xournal++ is a handwriting Notetaking software with PDF annotation support @@ -306,7 +333,7 @@ ## IDE ## ######### - neovim # Мб не надо писать, он у меня необычный, через nixvim flake + neovim # vscode # Надо в home.packages писать, чтоб расширения ставились без рута # jetbrains-toolbox # Надо в home.packages писать. https://nixos.wiki/wiki/Jetbrains_Tools helix # A Kakoune / Neovim inspired editor, written in Rust.