Comments (5)
I wonder if we should make some sort of releases so that people can actually read the upgraded guides before upgrading.
from disko.
I just got bit by it and it really scared me. The warning did not show up until I manually loaded the configuration in the nix repl and inspected all the disko options after finally figuring out that my nix store was missing from config.fileSystems
.
I'm not sure when/how you emit the warning but deploy-rs
happily deployed the config for me without showing any warnings. It may be deploy-rs
' fault for not propagating the warning but IMO such breaking changes should actually break the build and not silently fail.
I'd like something either akin to stateVersion
or just breaking changes actually failing and not emitting a warning.
from disko.
In this particular case, I would say that this might have been avoided by making auto-mount opt-out instead of opt-in (e.g.
subvolumes.foo.autoMount = false
) for the subvolumes that the user does not want to mount. Especially since I believe that users most likely want to mount their drives.
I was the one who originally added subvol mounts and made it happen by default, but it's different behavior from all of the other types and it's not explicit what is being mounted and what isn't. I've since regretted that decision and endorsed the breaking change (might as well rip the bandage off now rather than later when even more people use disko)
We definitely should do more to communicate to users when breaking changes occur, though (e.g. semver, warnings, etc)
from disko.
ah, it was hard to find out in which cases we should emit a warning, sorry for that. generally people are encouraged to check the upgrade-guide
from disko.
@GenericNerdyUsername , thanks for the bug report. I've just had the same issue today so it helped me find the solution quickly.
@Mic92 , I think it's a great idea. I've been using disko
on all my devices for a few months now and I was completely unaware of the upgrade guide.
On my side I have an upgrade.sh
script which just does a nix flake update
, so disko is automatically updated each time I update my system as well so I was in for a bit of a surprise.
If there are breaking changes, such as this one, it would be really nice to enforce the user to make a conscious choice if they want to update. Releases sounds like a good way to do it.
In this particular case, I would say that this might have been avoided by making auto-mount opt-out instead of opt-in (e.g. subvolumes.foo.autoMount = false
) for the subvolumes that the user does not want to mount. Especially since I believe that users most likely want to mount their drives.
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.