juspay/nixos-unified-template là dự án Nix với 391 sao. A multi-platform Nix configuration template optimized for development environment, based on nixos-unified.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This repository provides a ready-made Nix configuration to manage either your Home environment or whole NixOS systems. It is optimized specifically for development environment (with direnv, neovim with LSP1, etc.).
Under the hood, it uses nixos-unified. See ./modules to see what's available. We support home-manager (see ./modules/home), nix-darwin (see ./modules/darwin) and NixOS (see ./modules/nixos).
Platform
Supported By
macOS only
✅ home-manager and/or ✅ nix-darwin
NixOS only
✅ home-manager and ✅ NixOS
All platforms
✅ home-manager only
Getting Started
On NixOS
If you use, or intend to use, NixOS:
Install NixOS from Graphical ISO image and reboot.
Ensure that /etc/nixos/{configuration.nix, hardware-configuration.nix} are in place.
In a terminal, become root and initialize our template under /etc/nixos:
sudo su -
cd /etc/nixos
nix --extra-experimental-features "nix-command flakes" \
run nixpkgs#omnix -- \
init github:juspay/nixos-unified-template#nixos -o .
# Replace HOSTNAME with the hostname you entered above.
mv configuration.nix hardware-configuration.nix ./configurations/nixos/HOSTNAME/
nix --extra-experimental-features "nix-command flakes" run
At this point, you can move /etc/nixos to anywhere, and initialize a Git repository to track future changes.
On non-NixOS
If you are on macOS or running other Linux distros:
Open a new terminal; Initialize2 your Nix configuration using this repo as template:
nix run nixpkgs#omnix -- init github:juspay/nixos-unified-template -o ~/nixconfig
cd ~/nixconfig
It will prompt to you choose between home-manager only configuration and nix-darwin configuration (ignore the NixOS template). The latter includes home-manager as well.
Optionally, you may edit ./modules/{home,darwin}/*.nix to your liking.
Run nix run (or the appropriate command printed by the above command) to activate your configuration.
Does this fail to run? See the Troubleshooting section below.
Restart your terminal.
After steps 1-4, you should expect to see the starship prompt:
Whenever you modify your configuration in ./modules/*/*.nix, you should re-run nix run to activate the new configuration.
Details
The configuration repo has flake.nix file in the current directory and some ./modules/{home,darwin,nixos}/*.nix files containing the home-manager, nix-darwin and NixOS configurations respectively that you can review. It also has a justfile, which provides a set of recipes analogous to Make targets to interact with the nix flake.
Run nix run to activate this configuration in your system.
To browse the capabilities of home-manager (and to see what else can go in your ./modules/home/*.nix -- such as shell aliases), consult home-manager options reference. You can also run man home-configuration.nix in the terminal.
What's included
Here we describe just a handful of tools included in this template. See the ./modules directory for more. All of ./modules and ./configurations directories are organized by nixos-unified's autowiring structure.
neovim
Neovim configured using nixvim is included across all configurations. It is also exposed as a flake app, so you can launch it directly using nix run github:juspay/nixos-unified-template#neovim. See neovim/nixvim.nix.
starship
Prettify your shell prompt with starship. It is configured to show the current git branch, the current directory, Nix devshell status and the exit code of the last command.
direnv
direnv as well as nix-direnv is fully configured and available to use in your shell, with tight starship (see above) prompt integration. See direnv.nix
git configuration
Your ~/.config/git/config is managed entirely in Nix. See git.nix.
comma
Type , followed by the any binary name to run it directly from nixpkgs, using comma.
Garbage collection
Nix garbage collection runs periodically to keep disk space manageable. See gc.nix
By default, home-manager is configured to run garbage collection automatically every week. If your projects use nix-direnv, you don't have to worry about having to download the dependencies again while in a remote area with limited internet access (see prominent features of nix-direnv).
Troubleshooting
error: opening lock file ...
Problem: When using home-manager, nix run shows an error like: error: opening lock file '/nix/var/nix/profiles/per-user/utkarsh.pandey1/profile.lock': No such file or directory
Solution: This is an instance of https://github.com/nix-community/home-manager/issues/4611. Run sudo mkdir /nix/var/nix/profiles/per-user/$(id -un)/ && sudo chown $(id -un) /nix/var/nix/profiles/per-user/$(id -un) and try again.
error: unable to download ... Problem with the SSL CA cert (path? access rights?)
Problem: On macOS, you may see this error: error: unable to download ... Problem with the SSL CA cert (path? access rights?)
Solution: You may be able to resolve this by running:
See https://github.com/NixOS/nix/issues/2899#issuecomment-1669501326
Footnotes
Wanna try before you buy?
git clone https://github.com/srid/rust-nix-template
cd rust-nix-template
nix develop
nix run github:juspay/nixos-unified-template#neovim
# Type `SPC f f` to open a .rs file
# Wait for rust-analyzer to finish; go to a symbol and type K
Expect to see:
↩
We use omnix to initialize this repository template. ↩
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/juspay/nixos-unified-template là nguồn chính thức.
juspay/nixos-unified-template có bao nhiêu sao?
juspay/nixos-unified-template có 391 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/juspay/nixos-unified-template. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
juspay/nixos-unified-template có phải mã nguồn mở không?
Có — juspay/nixos-unified-template phát hành theo license AGPL-3.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/juspay/nixos-unified-template.
juspay/nixos-unified-template còn đang phát triển không?
Commit gần nhất trên juspay/nixos-unified-template là 15 ngày trước (theo timestamp GitHub). Repo có 64 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
juspay/nixos-unified-template là gì?
juspay/nixos-unified-template (juspay/nixos-unified-template) là dự án Nix trên GitHub. Theo mô tả gốc: A multi-platform Nix configuration template optimized for development environment, based on nixos-unified.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về nixos-unified-template?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về nixos-unified-template.