Wpis z mikrobloga

#linux #sysadmin
Polecam #nixos na desktopa przyjemne distro choć jest trochę z nim zabawy aby go zrozumieć bo zakłada ono deklaratywne podejscie do zarządzaniem linuxem.

https://nixos.org/

Czym sie on wyróżnia:
- Normalnie większość osób ustawia desktop za pomocą jakiego skrypty albo ansiblem aby doprowadzić go do porządanego stanu, w przypadku nixos wystarczy ustawić konfig z paczkami, ustawieniami jakie mają być ustawione i przebudowujemy całego linuxa pod podany przez nas stan w danym momencie (można instalować paczki i ustawienia nie deklaratywnie ale nie jest to rekomendowane)
- Podczas przebudowywania konfigu od razu wyłapuję błędy dot. nazwy paczek, opcji itp i nie pozwala nam przebudować go
- Każde przebudowanie tworzy w grubie nowy wpis co pozwala na szybki rollback
- Kanał unstable jest bardzo stabilny i spokojnie można go używać
- Łatwo zgłosić bug oraz request o nowe paczki bądź ich update co daje ten plus że w przypadku Fedory czy innych distro zgłosić im problem bywa problematyczne.... https://github.com/NixOS/nixpkgs/issues
- Łatwy kontakt z ludzmi na discordzie oraz matrixie
- Nixos (nix) ma odizolowaną każdą paczke co zapobiega problemami z zależnościami...

W nixos wyróżniamy dwa configu którymi możemy się bawić:

/etc/nixos/configuration.nix - główny jeżeli nie interesują nas bardzo dokładnie ustawienia
home-manager np: /etc/nixos/configuration.nix

~/.config/home-manager/home.nix - Trzeba go aktywować pozwala nam na dość dokładne dopasowanie opcji pod szczególnego usera np. chcemy mieć firefoxa z gnome theme + wylaczone poszczególne opcje

home.file."firefox-gnome-theme" = {
target = ".mozilla/firefox/default/chrome/firefox-gnome-theme";
source = (fetchTarball "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/master.tar.gz");
};

programs.firefox = {
enable = true;
profiles.default = {
name = "Default";
settings = {
"extensions.webextensions.ExtensionStorageIDB.migrated.uBlock0@raymondhill.net" = true;
"DisableFirefoxStudies" = true;
"DisableTelemetry" = true;
"DisableFirefoxAccounts" = true;
"dom.security.httpsonlymode" = true;
"dom.security.httpsonlymodeeverenabled" = true;
"browser.tabs.firefox-view" = false;
"startup.homepageoverrideurl" = "https://www.qwant.com";
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "qwant.com";
"privacy.clearOnShutdown.cookies" = true;
"privacy.clearOnShutdown.history" = true;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.startup.homepage" = "https://www.qwant.com";
"extensions.pocket.showHome" = false;
"extensions.pocket.enabled" = false;
"DisablePocket" = true;
"browser.toolbars.bookmarks.visibility" = "always";
"extensions.activeThemeID" = "default-theme@mozilla.org";
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.tabs.drawInTitlebar" = true;
"svg.context-properties.content.enabled" = true;
};
userChrome = ''
@import "firefox-gnome-theme/userChrome.css";
@import "firefox-gnome-theme/theme/colors/light.css";
'';
};
};

po aktywowaniu home-managera i przebudowaniu (home-manager build) go nasz firefox w ciagu paru sekund zmienia się w to

https://i.imgur.com/SxKsULU.png
  • 4
@open-alpha: czy to oznacza, że można śledzić absolutnie wszystkie zmiany w systemie git'em? Czy są jakieś wyjątki kiedy nie można? Są jakieś oficjalne, stabilne i gotowe configi na desktop, z prekonfigurowanym UI, sterownikami itd. ? Czy każdy musi sobie skleić swój własny config od zera?
że można śledzić absolutnie wszystkie zmiany w systemie git'em?


@638F3D: jak najbardziej upload do jakiego githuba czy gdzieś i w ciagu paru chwil przebudowanie do stanu jakiego chcesz najczesciej jedną komendą.

Są jakieś oficjalne, stabilne i gotowe configi na desktop, z prekonfigurowanym UI, sterownikami itd. ? Czy każdy musi sobie skleić swój własny config od zera?


Ogólnie są dwie wersje Gnome i KDE z juz zainstalowanym softem który będziesz na starcie
@open-alpha: jak potrzebuje te rzeczy mieć poinstalowane to po prostu wpisuje je deklaratywnie w configuration.nix i robię rebuild tak? Widzę, że mam już systemd i ncurses(są defaultowo zainstalowane), a skąd mam wiedzieć czy mam do nich dev tools i ncurses compatibility libraries?

Może głupie pytanie aLe jestem bambikiem Jesli chodzi o Linux i nixos. Z góry dziękuję za pomoc :)
KondominiumKatoSocjalistyczne - @open-alpha: jak potrzebuje te rzeczy mieć poinstalow...

źródło: Screenshot_20230616-045418

Pobierz