Я предпочитаю максимизировать контроль над моей системой, когда это возможно. Основные приоритеты для моего рабочего стола Linux включают доступность, простоту использования, воспроизводимость и стабильность.
И, говоря о контроле, я понял, что должен начать документировать свои процессы. Я имею в виду, кто знает, моя мудрость может просто подняться со мной в шесть футов, и у меня есть куча ноу-хау, спрятанных в моем мозгу. Кроме того, вы знаете, что они говорят о активном экстернализме - это все о том, чтобы ваши знания не закончились вам.
Я экспериментировал с различными инструментами с течением времени, от сценариев оболочки, Makefiles, Ansible/Puppet/Chef (ознакомьтесь с тегами GIT), чтобы обеспечить и синхронизировать конфигурацию. Но по мере развития системы все, как правило, ухудшается, и все становится гигантским беспорядком.
NIX, по -видимому, решает эти проблемы, хотя и крайне - менее удобно и разумно, но довольно эффективно - приоритет правильности по поводу гибкости. Самое главное, что он воспроизводимость Гваранти, а это значит, что я могу расслабиться и расслабиться; Если что -то сработало, это будет продолжать работать, если не изменится.
Прежде чем угодно, вы можете просмотреть мою конфигурацию по адресу:
Кроме того, я подробно описал NIX в своих заметках здесь.
Это корневое репозиторий для моей конфигурации системы Linux, управляемой Nix Flake.
В основном я использовал домашнего менеджера с снегопадом Lib для установки и конфигурации большинства пакетов. Для нативных вещей (отображение драйверов / виртуализации, которые требуют интеграции ядра DKMS / управления услугами), я использовал Puppet Ral.
Таким образом, в большинстве случаев эта конфигурация должна быть применима к широкому разнообразию дистрибутив, включая различных менеджеров по обслуживанию (SystemD/Runit/OpenRC/и т. Д.).
У Justfile есть следующие рецепты.
just --list --unsorted Доступные рецепты:
строить
сухой
выключатель
Списки-поколения
Treeview arg = '.' # Показывает дерево данной папки (также используется в генерации Readme)
nvfetcher # Обновить все зависимости в nvfetcher.toml
Bundix # Обновить все драгоценные камни в пакетах/**
Главная команда, которую вы должны помнить, это
just switch && stow -t $HOME stow/ TODO: Document stow папка
Автогенерируется управлением Cc Cv b в EMACS. Обязательно загрузите модуль оболочки, если у вас нет.
дома
└ описано x86_64-linux
Animesh@Framework
Default.nix
Моя основная конфигурация-по адресу homes/x86_64-linux/animesh@framework/default.nix.
модули
Home
Apps
│ └ └мобив храбрый
│ └ └мобил по умолчанию
Cli
│ ├ack
│ │ └ack
│ ├ack. Рыба
│ │ ├ack
│ │ └ack.
│ ├ack git
│ │ └ack
│ ├ack inxi
│ │ └ack
│ ├ack просто
│ │ └ack
│ ├ack Котенок
│ │ └ack
│ ├ack nix
│ │ ├ack
│ │ ├ack
│ │ └ack
│ ├ack ranger
│ │ └ack
│ └ackship
│ └ └мобил по умолчанию
├ack Desktop
Eww
│ │ └ack
│ ├ ├-- -шрифты
│ │ └ack
│ ├ack gtk
│ │ └ack
│ ├ack herbstluftwm
│ │ └ack
│ └ └мобил
│ └ └мобил по умолчанию
├D Редакторы
│ ├acks Emacs
│ │ └ack
│ └ack nvim
│ └ └мобил по умолчанию
├acry -языки
Android
│ │ └ack
│ ├ack
│ │ └ack
│ └ack ruby
│ └ └мобил по умолчанию
Modules
│ └ack Puppet
│ ├ ├мобил по умолчанию
│ └ └новить и т. Д.
System
Acpi-Handler
│ └ └мобил по умолчанию
Auto-Cpufreq
│ └ └мобил по умолчанию
Fstrim
│ └ └мобил по умолчанию
Sysctl
Default.nix
пакеты
Emacs-chdir
│ └ └мобил по умолчанию
Emacs-Pcre
│ └ └мобил по умолчанию
├---фосфор-иконы
│ └ └мобил по умолчанию
└ack Puppet
Default.nix
└ack Gemset.nix
наложения
└-- -nvfetcher
Default.nix
Очистить старшие поколения:
pushd ~ /.local/state/nix/profiles && ls | awk " !/ $( readlink home-manager ) / && /home-manager-/ " | xargs rm && popd
nix-collect-garbage --delete-old
nix store gc --debugИногда файлы MMAP предотвращают GC, перезагрузка + то же самое может прояснить еще больше!
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
For more information, please refer to < http://unlicense.org/ >Особая благодарность им, поскольку моя конфигурация была чрезвычайно вдохновлена ими,