dotfiles
nixos
DISCONTINUED
Our great sponsors
dotfiles | nixos | |
---|---|---|
436 | 7 | |
1,411 | 102 | |
- | - | |
0.0 | 8.6 | |
over 1 year ago | 2 months ago | |
Nix | Nix | |
MIT License | MIT License |
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
-
You have to listen to one song on repeat for 24 hours straight to win 1 million dollars. What song are you choosing?
Loop this shit for 24 hours. Go for it XD https://youtu.be/ZZ5LpwO-An4
- Diving straight into flakes with no channels?
-
New user switching to NixOS
You should check flakes. I think best way to learn how it works (considering you know Nix language) is to check other people's configuration for best practices and structure. You can check repositories on GitHub sorted by star. I personally like hlissner's configuration. I also think Misterio77's configuration is well documented for starters even though I don't like its structure that much.
-
He is on fire
But the version being sung here is actually from a He-Man redux, shown here (the “and he prays…” bit is a twist being done by Skeletor).
Here you go! https://youtu.be/ZZ5LpwO-An4
-
HEYAYAYAYA
He MIGHT be lip synching because it sounds identical to this
here’s the reference
-
You get 1 song to prove you have good music taste, what are you playing?
The only song worthy of the internet
nixos
-
What’s New in Emacs 28.1?
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
- `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!
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
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
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?
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.