Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

some ideas and bugs (?) in install.sh #35

Open
7 of 8 tasks
amtoine opened this issue Nov 26, 2022 · 5 comments
Open
7 of 8 tasks

some ideas and bugs (?) in install.sh #35

amtoine opened this issue Nov 26, 2022 · 5 comments
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed

Comments

@amtoine
Copy link
Owner

amtoine commented Nov 26, 2022

Related to #33.

when using the install.sh script to reinstall the goatfiles on my fresh ArchLinux system, i've notices some issues and ideas to improve the script and make the installation hopefully closer to perfection 😌

please tell me if you've encountered some of them or not 😉
also we should try them all in VMs before applying changes 👍

the ideas and bugs

  • clone the dotfiles after the installation is complete: i think it would be better to clone the full dotfiles AFTER the installation of the goatfiles has been successfully completed.
    when running the install.sh script, the dotfiles have already been pulled and the config was active in the background.
    as bash is broken on the main branch, i got annoying and strange messages coming from the bash shell 😅
    you know, foo is not a command and what not...
    we could simply:
    • curl -fLo /tmp/pkgs.toml https://raw.githubusercontent.com/goatfiles/dotfiles/main/pkgs.toml
    • curl -fLo /tmp/dmenu/patches.h https://raw.githubusercontent.com/goatfiles/dotfiles/main/.config/dmenu-flexipatch/patches.h
      use these files in install.sh#L35 and install.sh#L42 respectively and finally
    • git clone --bare https://github.com/goatfiles/dotfiles
  • download the package databases of pacman: i had trouble finding and installing packages and solved the issue with pacman -Fy
    i think we should do that directly in the script
  • fetch the branches of the dotfiles: after running install.sh#L15, in order for the remote branches to appear in the bare repo, a cfg fetch is required.
    i think we should also run that in the script 👌
  • move the dotfiles to a proper location: i do not know for you in your personal branches but i do not have my dotfiles in my $HOME 🤔
    i manage all my git projects thanks to ghq which places all the repositories inside ~/.local/share/ghq/ as i set GHQ_ROOT to that location.
    i can brief you about that piece of software and how i jump from one repo to another, very handy 😏
    in the end, i propose moving the dotfiles bare repo to some "better" location.
    of course that is subject to discussion and maybe even another issue 🤔
  • the pkgbuilds installation does not behave as expected: i ran into a peculiar problem when installing the PKGBUILDs... 😕

it sort of accumulates the packages 😅
and thus it took ages to install the wallpapers over and over again 😆
i think what's happening comes from install.sh#L26...
if we do not ./clean.sh in between each ./install.sh, we will reinstall all the previous packages as find will find them all 👀

  • finish the "system" installation: a crucial directory of the dotfiles is .system/
    it contains system-wide configuration files that should be deployed to / using either manual commands or something like amtoine-syssync which will read amtoine-syssync/confit.txt by default and deploy these files from .system/ to / 👍
    this is mandatory for sddm to load its config and cron to have jobs working (super important for battery notifications 😬)
  • make the commands being run easier to spot on: when the script runs, i think it's hard to see, from stdout, what the current command is...
    i think we should add colors and maybe reduce the amount of output (see below)
  • generate a log file: in order to reduce the amount of output, we could use a log file to redirect the output of the script to the disk and thus allow the script to print far less things in the terminal 👍

again, these points will have to be confirmed with your experience and further tests in VMs 😋

@amtoine amtoine added enhancement New feature or request help wanted Extra attention is needed labels Nov 26, 2022
@amtoine
Copy link
Owner Author

amtoine commented Nov 26, 2022

i can't remember any extra step i had to follow to fix my system, apart from other issues i've created today 😋

@amtoine
Copy link
Owner Author

amtoine commented Nov 26, 2022

and do not forget to systemctl start and more importanlty systemctl enable the cronie service to have cron notifications 👌
that is

systemctl start cronie  # for immediate use
systemctl enable cronie  # for later use

@amtoine
Copy link
Owner Author

amtoine commented Nov 26, 2022

and activate the bluetooth with

systemctl start bluetooth  # for immediate use
systemctl enable bluetooth  # for later use

@amtoine
Copy link
Owner Author

amtoine commented Nov 26, 2022

and also (finally?) install the cargo packages as we go? 😋

nushell> cargo install (
  open pkgs.toml
  | get pkgs.rust.cargo.package
  | find -v "helix-term"
)

helix-term has to be installed from source and thus cannot be cargo installed 👍

@amtoine amtoine added the bug Something isn't working label Dec 2, 2022
@amtoine
Copy link
Owner Author

amtoine commented Dec 2, 2022

i would also advocate the following:

  • remove ~/Desktop/, ~/Documents/, ~/Downloads/, ~/Music/, ~/Pictures/, ~/Public/, ~/Templates/ and ~/Videos/ which appear to be there by default with the archinstall installation, at least make sure they are not there on disk after the script has run
  • create ~/documents/, ~/downloads/, ~/media/music/ and ~/media/images/ as GOAT replacements

amtoine added a commit that referenced this issue Jan 23, 2023
This PR should address most of the points in #35.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant