Comments (7)
hello, yes I'm working on it. although it's a bit complicated to detect the current setup and decide which changes are destructive and which are not. The solution I'm working towards will have a _check for each type which could output if the system differs from the configured setup. We then need to find out which changes the _create step does are non-destructive and execute those.
All in all this is a feature which is coming, although I have no definite timeline on it. But I haven't decided on an interface yet. probably there will be a kind of mode selection (with modes like: non-destructive, force, force-non-critical, etc)
from disko.
I'm interested in the use case of being able to declaratively define zfs datasets, not for the first install case, but for creating new datasets long after install.
Example: A NAS or server system where you want to be able to create a new dataset to store the data from some service you enable with a nixos module.
Is this currently possible? If so are there any relevant examples?
from disko.
I would personally like non-destructive options for disko to use.
I am working on NixOS Asahi which requires installing alongside the MacOS partitions (Which are essential to keep around) and throwing a new SSD in is not an option.
The installer prompts you to resize the existing MacOS partition so there is free space to install on and manage but it should never touch the existing partitions.
DANGER: Damage to the GPT partition table, first partition (iBootSystemContainer), or the last partition (RecoveryOSContainer) could result in the loss of all data and render the Mac unbootable and unrecoverable without assistance from another computer! Do not use your distro's automated partitioner or partitioning instructions!
from disko.
ah, I have a WIP commit which adds this for some types: #435 although I'm not very happy with the implementation. it's a lot of duplicated code and it would be nicer to include this more into the create step
from disko.
Great to hear you were already on it, thanks <3
from disko.
@Lassulus Thank you for your amazing work!
Any updates on this? Do you have any draft or anything done?
from disko.
alrighty, we now have #568 which "should" make the createScript non destructive, be careful to use the createScript and not the diskoScript (that one wipes the disks first). Also this code is not yet tested on a real setup, so take care to not lose your date! :)
from disko.
Related Issues (20)
- is there a reason to use `type.str` instead `type.line` in `mkHook` HOT 2
- LVM 100%FREE HOT 1
- continuous spaces no longer possible in the newest version HOT 2
- Incremental formatting will wipe a pool if the zpool pool is not imported
- [regression?] disko generates unbootable fstab after nixos-rebuild HOT 3
- /boot partition required? Can I give it different names for all disks in a ZFS raidz3 HOT 3
- [nixosTest] Luks causes: `KDSKBMODE: Inappropriate ioctl for device` HOT 11
- Unable to open keyfile when trying to encrypt using disko examples. HOT 1
- sgdisk behaves confusingly when specifying `partitions.${name}.start = "0M"`
- ZFS: inherited `mountpoint=legacy` is not considered for `zfs_fs`
- NILFS2 support? HOT 4
- `mdadm` array not symlinked correctly after creation HOT 8
- control inode amount
- Option to enroll luks device for unlock methods (e.g. TPM2)
- nixos-install is not in PATH
- luks + btrfs + mode=format then error: /dev/mapper/crypted: No such file or directory HOT 3
- Impermanence with /nix bind mount and disko-install
- feat: prompt before formatting HOT 3
- Read current disk and output to disk-config.nix HOT 8
- [Feature request] Changing disk without reevaluation HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from disko.