dotfiles VS nixos

Compare dotfiles vs nixos and see what are their differences.

dotfiles

And I say hey, what's going on? (by hlissner)

nixos

NixOS Configuration (by pimeys)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
dotfiles nixos
436 7
1,411 102
- -
0.0 8.6
over 1 year ago 2 months ago
Nix Nix
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

dotfiles

Posts with mentions or reviews of dotfiles. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-09.

nixos

Posts with mentions or reviews of nixos. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-04-06.
  • What’s New in Emacs 28.1?
    23 projects | news.ycombinator.com | 6 Apr 2022
    Wayland support didn't make it... Oh well it is in version 29.

    I've been using the wayland version with libgccjit many months now from their git repo and it is extremely snappy and stable editor.

    My strategy to keep all of this together is a nix derivation that compiles the latest master branch with all the plugin. Oh and my config is an org file with clear comments...

    https://github.com/pimeys/nixos/tree/main/desktop/emacs

    All reproducible...

    Btw. I recommend SystemCrafters video series Emacs from scratch. It teaches how to make a vanilla emacs to work like doom emacs does. It was helpful for me to understand the magic behind doom...

    https://m.youtube.com/playlist?list=PLEoMzSkcN8oPH1au7H6B7bB...

  • XMonad – The Automated Tiling WM
    19 projects | news.ycombinator.com | 7 Oct 2021
    - `flake.lock` is like your normal `Cargo.lock` that sets the exact commits of all inputs, frozing the versions of all software in your system.

    This means I can mix things really nicely in my system. I can use the master branch of Sway, the pgtk version of Emacs with Wayland support from the emacs version control (not even master branch) and mix and match things from different NixOS versions. I can even fork the NixOS monorepo, do some changes and add them to all of my systems before the my PR gets merged.

    The `flake.lock`, which I commit to my repository, forces every single computer I have to use exactly these versions of the software with the configuration I give. It will always lead to the exact same result when I `nixos-rebuild switch`. When I want to update my packages, I go to the repo and say `nix flake update`, then switch to the new versions and only if everything worked with the new packages, I commit the `flake.lock` and it works everywhere else the same.

    The other nice thing I learned, is while at first the nixpkgs feels like a crazy mess and hard to grasp, it is actually one of the best package repositories I've used. Being a package maintainer is easy and a PR that follows good coding standards gets merged to the main repository no matter how experienced Nix developer you are. See my first package I started to maintain:

    https://github.com/NixOS/nixpkgs/blob/master/pkgs/developmen...

    These 23 lines of nix will fetch the package with the given tag from GitHub, check the file download SHA256 sum matches the given, check the vendored libraries SHA256 sum matches the given and then will just use the system `buildGoModule` function to compile the package and put it to your system. When their CI catches changes here, it will build a binary cache for the derivation, so most users won't even need to compile anything, but get a binary derivation with exactly the same result as compiling it by themselves.

    And it's easy to see what gets added to your system. You can see the repo and read the code. You can use your editor, go on top of `buildGoModule` call and jump to definition, and you can read the definition what the function does. Now some users are running bots that just go through many packages in the nix repo, change the versions and SHA sums if they have updates and automatically generate pull requests, saving the maintainers the work to do it manually.

    I understand this is not for everyone. But I hope I also could make you understand why there is no way of going back to systems like Arch Linux, Ubuntu, Windows or macOS after getting some proper taste how to do things with NixOS.

    Here's my config so far:

    https://github.com/pimeys/nixos

    I'd like to see other configs from nix users here too if you're still here!

    19 projects | news.ycombinator.com | 7 Oct 2021
    I kind of have a thing for ThinkPads, and I have three laptops with NixOS:

    - ThinkPad X1 Carbon 2018 model. Even the fingerprint reader works with this one. And fractional scaling for the 4k monitor! Config: https://github.com/pimeys/nixos/blob/main/hosts/purrpurr.nix

    - ThinkPad T25. Everything except the fingerprint reader works. https://github.com/pimeys/nixos/blob/main/hosts/muspus.nix

    - ThinkPad X230: Everything works here. The classic workhorse. https://github.com/pimeys/nixos/blob/main/hosts/meowmeow.nix

    I never tried anything else except ThinkPads just because I'd miss the TrackPoint a lot...

  • Bye Cups: Printing with Netcat
    5 projects | news.ycombinator.com | 3 Aug 2021
    I used to dread setting up printers on any operating system. I've done it countless of times with Linux, Windows and macOS, and it's been quite common to have some kind of fight with the printer until I get my paper out.

    Only recently, by buying a Brother laser printer at home, and setting all my machines to use NixOS, I haven't been needing to think about printer problems anymore. All I need is this piece of config, and the printer will Just Work with the new computer:

    https://github.com/pimeys/nixos/blob/main/modules/home-servi...

  • Nix is the ultimate DevOps toolkit
    21 projects | news.ycombinator.com | 9 Apr 2021
    I did a month, diving directly into the deep end with flakes and all. I don't know, it really is hard in the beginning. Like, really hard. But eventually I got myself a setup I could use in my two laptops and workstation. A setup, that sets my home directory, all my programs and my custom desktop just the way I want. Everything is in the github repo, and installing with the flake will give me the exact experience I have in my other machines.

    I tend to use lots of custom tools and commands, that are really painful to install and setup for a new machine. With NixOS all of it is just one command away.

    But, I agree, it is REALLY HARD in the beginning to grasp things.

    Here's my configs if you want to see how I approached my own setup: https://github.com/pimeys/nixos

What are some alternatives?

When comparing dotfiles and nixos you can also consider the following projects:

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

river - [mirror] A dynamic tiling Wayland compositor

i3-alternating-layout - Scripts to open new windows in i3wm using alternating layouts (splith/splitv) for each new window

cups - OpenPrinting CUPS Sources

nixos - My NixOS Configurations

nixpkgs - Nix Packages collection & NixOS

dotfiles - There is no place like ~/

linuxdeploy-cli - Linux Deploy CLI

dotfiles - My dotfiles for Neovim, Kitty terminal, Zsh, and a few other things.

wlroots - A modular Wayland compositor library

CUPS - Apple CUPS Sources

Amethyst - Automatic tiling window manager for macOS à la xmonad.