86 lines
3.6 KiB
Markdown
86 lines
3.6 KiB
Markdown
INK_OS
|
|
|
|
## Inkletblots Xmonad install scripts
|
|
|
|
### Version
|
|
|
|
> 2.0.0 - WIP
|
|
|
|
This project is an effort to create a easy to use system to install a fresh version of my desktop environment. The idea is that this system can be used on a fresh install of Arch and will get everything that I currently use setup and ready in a safe manner.
|
|
|
|
NOTE! This is a very basic set of scripts, it has been tested to work but I have no guarantees that it'll work for you so use with caution please.
|
|
|
|
NOTE2! I use getnf (by ronnidroid) to install nerd font glyphs and nerd font fira code. This works a charm and I'm updating everything I use to respect it.
|
|
|
|
|
|
# Usage
|
|
|
|
Usage is:
|
|
setup \<option> -- to start system setup from option
|
|
setup \<option> only -- to only setup the specified option
|
|
Options (in order of execution):
|
|
yay : Install yay AUR helper
|
|
deps : Install the dependencies for my scripts and window manager
|
|
defaults : Install my chosen default programs
|
|
misc : Install my collection of misc - nice to have - programs
|
|
scripts : Install my scirpts
|
|
dmenu : Install my customised version of dmenu
|
|
dwm : Install my customised version of dwm
|
|
st : Install my customised version of st
|
|
dwmblocks : Install my customised version of dwmblocks
|
|
dotfiles : Install my dotfiles to the system
|
|
|
|
Note: it is expected that the initial run of this script lets each stage complete successfully.
|
|
|
|
# Steps
|
|
|
|
1. install minimal arch with no extra programs (use archinstall script that comes with ISO)
|
|
2. access tty manually install git and clone https://gitlab.inkletblot.com/inkletblot/ink-os.git
|
|
3. cd into ink-os
|
|
4. run setup.sh
|
|
|
|
setup.sh then...
|
|
|
|
1. does a general system check
|
|
1. makes sure that there is an internet connection (user may have installed git in chroot and not setup network yet)
|
|
2. makes sure sudo is installed and user is part of sudo or wheel group
|
|
3. makes sure the user is not root
|
|
2. update and upgrade system fully
|
|
3. install yay specifically
|
|
4. install all required dependencies/programs
|
|
1. install system dependencies and all required dependencies for my xmonad config and my scripts (NOT INCLUDING: myStartupHook, myManagedHook or bitwarden)
|
|
2. ask user if they want to install my default programs (browser, shell, term, etc)
|
|
1. warn user that they will need to install their own if they don't
|
|
3. ask user if they want to install my misc programs (all the rest of my defaults that I like having)
|
|
5. install my scripts
|
|
1. copy inks-scrips to /usr/local/bin as it should be in path by default
|
|
6. install my dmenu
|
|
6. install my dwm
|
|
6. install my st
|
|
6. install my dwmblocks
|
|
7. install my config
|
|
8. attempt to configure the main system programs so after a reboot the sysetm is usable
|
|
1. set shell to fish
|
|
2. configure lightdm and greeter
|
|
3. enable bluetooth
|
|
4. enable NetworkManager
|
|
5. warn user that if they didn't install default programs, they'll need to edit xmonad.hs
|
|
6. warn user about multilib and steam
|
|
7. ... more.
|
|
|
|
|
|
# MISC
|
|
|
|
To list all installed programs for updating `default-programs` use `yay -Qe | awk '{print $1}' > all-packages`.
|
|
|
|
I am using playerctl to add media key control, to get this working with jellyfinmeadiaplayer you will need to install `mpv-mpris-git` and link the `mpris.so` to the jellyfin scripts folder. The following was my command:
|
|
|
|
```
|
|
ln -s /usr/share/mpv/scripts/mpris.so /home/solomon/.local/share/jellyfinmediaplayer/scripts
|
|
```
|
|
|
|
# TODO
|
|
Need to work out gnome-keyring setup with pam, related to this is getting nextcloud to login without a login manager, I think it's a pam thing, I have got it working in the past.
|
|
|
|
installing zsh breaks the script, I have noted that it's not suggested but need something better.
|