73 Commits

Author SHA1 Message Date
Roey Darwish Dror
460752adfa Large boot partition (fix #50) 2020-06-18 05:48:31 +00:00
Roey Darwish Dror
b92219af41 Clear the root password 2020-06-18 05:47:01 +00:00
Roey Darwish Dror
b3449b6b3d Make clippy happy 2020-06-17 19:39:58 +00:00
James McMurray
c04b5f5559
Add amd-ucode to default packages (#52) 2020-05-31 08:39:13 +03:00
James McMurray
7152901820
Migrate ALMA to anyhow (#54) 2020-05-31 08:38:20 +03:00
James McMurray
c8b151fe5f
Add support for installing AUR packages (#48) 2020-05-10 19:31:40 +03:00
James McMurray
bc9969a0db
Add shared_directories preset parameter (#35) 2020-03-26 20:57:46 +02:00
James McMurray
14347710ce
Add linux package to defaults (#36)
Should fix mkinitcpio issues due to missing "linux" preset now it's no
longer included in "base".

Note this issue only affected newer Arch Linux installs (since the
change).
2020-03-21 20:38:25 +02:00
James McMurray
1f5b28c065
Recursively import presets from provided directory (#33)
Allow a directory to be passed as a preset, in which case all files
inside the directory (recursively) are treated as presets, loaded in
lexicographical order.

This allows one to compose a system by mixing in different presets, and
easily change their order of execution.
2020-03-21 07:16:15 +02:00
James McMurray
490ab30f4c Refactor main.rs and fix clippy lints
Status: WIP

Completed:
* Fixed flagged clippy lints
* Moved qemu(), main.rs::mount() and chroot() to the tools module.
* Moved constants in main.rs to constants.rs (including base packages
  array)
* Renamed Presets struct to PresetsCollection to avoid confusion with
  Preset struct
* Moved main() to the top of main.rs to highlight general logic path
* Added comments and docstrings to some functions
* Removed some uses of `use foo::*` to make the source of imported functions
  and structs clearer

TODO:
* Move remaining code in main.rs to modules (except main())
* Break up create() function in to separate steps
* Log every command run (with arguments) to debug! when verbose flag is used
* Add docstrings for remaining functions and document constants (e.g.
  why noatime is used)
* Remove remaining uses of `use foo::*`
* Consider renaming/moving tools module to address tool:: vs. Tool::
  confusion
2020-03-06 23:11:56 +01:00
Roey Darwish Dror
7c88f4527d Dependencies bump and compilation fixes 2020-03-01 21:25:26 +02:00
Roey Darwish Dror
750653c222 Add a flag for non-removable devices (fix #24) 2019-08-13 21:43:55 +03:00
Roey Darwish Dror
34020614e1 Enable KVM only if available 2019-08-11 15:46:19 +03:00
Roey Darwish Dror
a98e22e674 Bump dependencies 2019-08-01 15:10:23 +03:00
Roey Darwish Dror
156c4d35e6 Ask the user to exit with exit 2019-08-01 13:45:52 +03:00
Roey Darwish Dror
bf7d882de0 Use dialoguer for device selection 2019-08-01 13:27:33 +03:00
Roey Darwish Dror
7007706b67 Add the overwrite flag 2019-08-01 13:19:31 +03:00
Roey Darwish Dror
2c11c9b251 More debug logs 2019-08-01 11:28:20 +03:00
Roey Darwish Dror
4ea5807a5a Make Clippy happy 2019-08-01 11:03:54 +03:00
Roey Darwish Dror
f1c30e36ea Simple log 2019-07-03 13:32:02 +03:00
Roey Darwish Dror
e339b722df Don't set the crypt hook when unnecessary (fix #20) 2019-06-20 22:20:36 +03:00
Roey Darwish Dror
4b7547a57e Interactive device selection 2019-06-20 20:51:08 +03:00
Roey Darwish Dror
4f7b834ce3 Implement auto detection of encrypted root devices (fix #21) 2019-06-18 22:53:57 +03:00
Roey Darwish Dror
8551a815c4 Display the entire error chain 2019-06-18 22:23:26 +03:00
Roey Darwish Dror
92f5bdfeab Support chroot images 2019-06-17 20:56:26 +03:00
Roey Darwish Dror
d4cdd187a0 Loop device support 2019-06-17 20:34:34 +03:00
Roey Darwish Dror
7dcff2a019 Add the "environment" key to presets 2019-06-06 13:28:15 +03:00
Roey Darwish Dror
ffbd34e14f Add presets support 2019-06-05 10:05:59 +03:00
Roey Darwish Dror
91215703bf Add qemu command 2019-06-02 14:31:19 +03:00
Roey Darwish Dror
7f6a0c0a0f Fix broken encryption 2019-05-29 15:03:35 +03:00
Roey Darwish Dror
10faad551b Move the command line arguments to a module 2019-05-29 14:39:29 +03:00
Roey Darwish Dror
ec1f74b05d Use constants for partition indexes 2019-05-29 14:05:17 +03:00
Roey Darwish Dror
bb7567e72b Uber refactoring 2019-05-29 13:59:49 +03:00
Roey Darwish Dror
1182c96a08 Fix MacBook booting 2019-05-29 09:54:18 +03:00
Roey Darwish Dror
0492847d51 Generate locale (fix #19) 2019-05-27 14:15:40 +03:00
Roey Darwish Dror
7b235aa9bc Optionally run a command for chroot 2018-12-30 14:18:55 +02:00
Roey Darwish Dror
808fba9a80 Formatting 2018-12-30 13:51:18 +02:00
Roey Darwish Dror
fbd8d0227c Rust 2018 2018-12-09 10:35:06 +02:00
Roey Darwish Dror
f32a90e896 Fix clippy warnings 2018-12-04 13:56:51 +02:00
Roey Darwish Dror
5f30a38b4a Add debug log 2018-12-02 16:51:08 +02:00
Roey Darwish Dror
35ffccc352 Use Ext4 instead of btrfs 2018-12-02 16:50:13 +02:00
Roey Darwish Dror
8c41b390a3 Encryption (fix #3) 2018-12-02 16:44:26 +02:00
Roey Darwish Dror
db9fdb29c6 Consume the mount stack on umount 2018-12-02 14:43:22 +02:00
Roey Darwish Dror
d672cf5663 Avoid needless consumption 2018-11-26 13:46:57 +02:00
Roey Darwish Dror
7b81e6b3cf Filter out local swap files from fstab (fix #17) 2018-11-26 11:56:57 +02:00
Roey Darwish Dror
c65004d570 Move the mount to its own module 2018-11-22 21:37:12 +02:00
Roey Darwish Dror
112be5157e Use smaller EFI partition 2018-11-22 21:16:05 +02:00
Roey Darwish Dror
4e0940cc1f Allow working on loop devices 2018-11-22 14:53:38 +02:00
Roey Darwish Dror
7c8109934c Fail if failed to ummount the filesystems 2018-11-22 11:47:20 +02:00
Roey Darwish Dror
4efa7668c8 Fix typo 2018-11-22 11:18:13 +02:00