homies
homies | nix-fpga-tools | |
---|---|---|
3 | 2 | |
531 | 20 | |
- | - | |
7.0 | 2.6 | |
4 months ago | over 2 years ago | |
Lua | Nix | |
- | - |
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.
homies
-
Show HN: Fleek – Own Your $Home
This is awesome! I utilize `nix` on Linux and Mac but I haven't "drank the kool-aid" so I utilize `nix profile` and a makefile:
https://github.com/sontek/homies/blob/master/justfile
Fleek basically replaces my hacked together work flow with something that I'd actually utilize on a daily basis! Nix shouldn't be an all or nothing thing and this is one step closer to making it a generally available set of technology.
-
Dotfiles Management
I see a lot of people mentioning home-manager / nix in the comments. I tried drinking the nix kool-aid and home-manager and all that was a little too much more me and landed on a hybrid approach:
https://github.com/sontek/homies
1. I use a `justfile` that calls `nix profile install ...` to install my packages, rather than using a nix configuration file. This allows me to use a standard package manager workflow rather than going "all in".
https://github.com/sontek/homies/blob/master/justfile#L24-L2...
2. I then use GNU Stow to install my dotfile configuration:
https://github.com/sontek/homies/blob/master/justfile#L93-L9...
I think this is a great middle ground where I can utilize `nix` as my package manager across Linux and Mac and have consistency while not having to learn the whole configuration language or change my workflow.
The other tools I use heavily in my environment:
- https://asdf-vm.com/: I find this better than installing python/node/etc from nix.
- https://github.com/casey/just: I use this as my command runner (similar to make but cleaner in my opinion)
-
Nix: An idea whose time has come
Yeah, I think its things like this that make it hard to adopt nix. All I want is a way to say "I want jq, kubectl, and terraform installed" and have it available globally. Not for specific projects or anything like that.
Right now I maintain a makefile that installs everything for me using `nix profile`:
https://github.com/sontek/homies/blob/master/justfile#L14-L2...
Which almost exactly like I want. Only issue is sometimes a new hash is generated (which I don't understand.. maybe a config update in the repos?) and the makefile can't run anymore:
error: packages '/nix/store/y65pp5hipid0fzxl1z7xjxdk4h9jwfw7-exa-0.10.1/bin/exa' and '/nix/store/gy0bqcs9mcan8af47wakdylhal67dpy4-exa-0.10.1/bin/exa' have the same priority 5; use 'nix-env --set-flag priority NUMBER INSTALLED_PKGNAME' to change the priority of one of the conflicting packages (0 being the highest priority)
nix-fpga-tools
-
Nix: An idea whose time has come
I would be surprised if there are any binaries that are outright impossible to run under Nix. I spent a weekend getting Xilinx ISE to run in Nix [0], that is a binary behemoth. It uses bubblewrap (already used in Nixpkgs) to setup a bunch of bind mounts so that the binaries see a standard FHS Linux layout.
[0] - https://github.com/benpye/nix-fpga-tools
-
The Curse of NixOS
Yeah I agree here, I used to find Nix somewhat unintuitive but I have now managed a few non-trivial projects. One being to package Xilinx ISE as a flake [0], and another to build a non-volatile Linux image using busybox and runit [1]. For the latter I still haven't quite gotten where I want but that's because I realised I needed dbus for avahi and dbus is just so ridiculously complex.
[0] - https://github.com/benpye/nix-fpga-tools/
[1] - https://github.com/benpye/nix-embedded
What are some alternatives?
homer - The home directory management tool.
devshell - Per project developer environments
fleek - [deprecated] Own your $HOME
impermanence - Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
filetailor - Copy and modify plain text files between devices without templates
nix-helpers - Mirror of http://chriswarbo.net/git/nix-helpers.git
configs - Dot-files among other configs
nix-embedded - Nix embedded image generator.
dot-git - Managing your dotfiles the Git Way™
nvd
dotfiles - dotfiles + debian setup
nix-prisma-example - An example Prisma project using nix