https://github.com/ben-ph/nixos-rsbuild
A slightly opinionated RIIR of the nixos-rebuild cli tool.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.9%) to scientific vocabulary
Repository
A slightly opinionated RIIR of the nixos-rebuild cli tool.
Basic Info
- Host: GitHub
- Owner: Ben-PH
- License: unlicense
- Language: Rust
- Default Branch: main
- Size: 130 KB
Statistics
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
nixos-rsbuild is a (slightly opinionated) rewrite of the nixos-rebuild cli utility. The goals are as follows
- minimal barrier-of-entry to read/write the codebase in a meaningful way
- provide a pleasant documentation/help UX
- showcase Rust as an implementation tool in the nix/nixos ecosystem
- (Initially): Stand-in replacement for most of my build/switch/etc. needs
- (Stretch): Cover all supported use-cases of
nixos-rebuild
#### Opinions
- (TODO) Will fail if cannot find a
flake.nixunless--no-flakeis used - Makes more args/flags mutually exclusive.
--upgrade-allimplios--upgrade, so providing both will be an error. - Aims to be relatively platform agnostic.
- no
sudo: can only run as non-root user. in future, will add--sudo | -sflag to relevant subcommands in place of--use-remote-sudo
Usage:
cargo run -- <args>
cargo run -- -hshow top level helpcargo run -- --helpshow top level help in long-formcargo run -- <builders | utils> -hshow information on the two classes of taskscargo run -- <subcommand> <task> --helpshow task help in long-form
For the "Rust Curious/Skeptic"
If you are reading this, you are probably a Nix/NixOS nerd. If you are curious and/or skeptical about Rust, particularly in the Nix/NixOS ecosystem, I strongly encourage you to ask questions, express your skepticism, and other wise promote lively discussion we can all enjoy.
Roadmap
NOTE: <flakeref> => /path/to/dir#flake.attr
- [x]
nixos-rsbuild list-generations [--json] - [x]
nixos-rsbuild build - [x]
nixos-rsbuild build --flake /path/to#machine_name - [x]
nixos-rebuild boot --flake <flakeref>->nixos-rs boot <flakeref> - [x]
nixos-rebuild boot->nixos-rsbuild boot --config - [x]
nixos-rebuild test ...->nixos-rsbuild test ... - [x]
nixos-rebuild switch ...->nixos-rsbuild switch ... - [x]
nixos-rebuild switch | boot | test ... --use-remote-sudo->nixos-rsbuild <switch | boot | test> -s ...
TODOs
- [x] split out things into a library to leverage
cargo doc - [ ] add
no_opfeature so as to only emulate changes in the output - [ ] black-box testing
- [x] white-box testing
- [ ] system-level testing
- [ ] non-local target-aware
- [ ] non-local builde-aware
Owner
- Name: Ben
- Login: Ben-PH
- Kind: user
- Location: Cornus, France
- Repositories: 2
- Profile: https://github.com/Ben-PH
A budding developer coming into early middle ages, a career change and new passions is what drives me.
GitHub Events
Total
- Watch event: 1
- Member event: 1
- Issue comment event: 3
- Push event: 19
- Pull request review event: 5
- Pull request review comment event: 5
- Pull request event: 14
- Fork event: 1
- Create event: 8
Last Year
- Watch event: 1
- Member event: 1
- Issue comment event: 3
- Push event: 19
- Pull request review event: 5
- Pull request review comment event: 5
- Pull request event: 14
- Fork event: 1
- Create event: 8
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: about 5 hours
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.38
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: about 5 hours
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.38
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- Ben-PH (10)
- con-f-use (6)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions-rust-lang/rustfmt v1 composite
- actions-rust-lang/setup-rust-toolchain v1 composite
- actions/checkout v4 composite
- aho-corasick 1.1.3
- android-tzdata 0.1.1
- android_system_properties 0.1.5
- anstream 0.6.15
- anstyle 1.0.8
- anstyle-parse 0.2.5
- anstyle-query 1.1.1
- anstyle-wincon 3.0.4
- autocfg 1.4.0
- bitflags 2.6.0
- bumpalo 3.16.0
- camino 1.1.9
- cc 1.1.31
- cfg-if 1.0.0
- cfg_aliases 0.2.1
- chrono 0.4.38
- clap 4.5.20
- clap_builder 4.5.20
- clap_derive 4.5.18
- clap_lex 0.7.2
- colorchoice 1.0.2
- core-foundation-sys 0.8.7
- env_filter 0.1.2
- env_logger 0.11.5
- errno 0.3.9
- fastrand 2.1.1
- heck 0.5.0
- hostname 0.4.0
- humantime 2.1.0
- iana-time-zone 0.1.61
- iana-time-zone-haiku 0.1.2
- is_terminal_polyfill 1.70.1
- itoa 1.0.11
- js-sys 0.3.72
- libc 0.2.159
- linux-raw-sys 0.4.14
- log 0.4.22
- memchr 2.7.4
- nix 0.29.0
- num-traits 0.2.19
- once_cell 1.20.2
- proc-macro2 1.0.87
- quote 1.0.37
- regex 1.11.0
- regex-automata 0.4.8
- regex-syntax 0.8.5
- rustix 0.38.37
- ryu 1.0.18
- semver 1.0.23
- serde 1.0.210
- serde_derive 1.0.210
- serde_json 1.0.132
- shlex 1.3.0
- strsim 0.11.1
- syn 2.0.79
- tempfile 3.13.0
- unicode-ident 1.0.13
- utf8parse 0.2.2
- wasm-bindgen 0.2.95
- wasm-bindgen-backend 0.2.95
- wasm-bindgen-macro 0.2.95
- wasm-bindgen-macro-support 0.2.95
- wasm-bindgen-shared 0.2.95
- windows 0.52.0
- windows-core 0.52.0
- windows-sys 0.52.0
- windows-sys 0.59.0
- windows-targets 0.52.6
- windows_aarch64_gnullvm 0.52.6
- windows_aarch64_msvc 0.52.6
- windows_i686_gnu 0.52.6
- windows_i686_gnullvm 0.52.6
- windows_i686_msvc 0.52.6
- windows_x86_64_gnu 0.52.6
- windows_x86_64_gnullvm 0.52.6
- windows_x86_64_msvc 0.52.6