Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tboerger/desktop

My configuration used by my desktop machines
https://github.com/tboerger/desktop

ansible desktop provisioning

Last synced: 2 months ago
JSON representation

My configuration used by my desktop machines

Awesome Lists containing this project

README

        

# Desktop

This repository defines the configuration used by my desktop machines. Changes
to this repository are not automatically applied but basically linted on every
push to the `master` branch.

## Bootstrap

After following the steps of the installation below you got to copy SSH and
GnuPG keys from the private secrets stick on the machine with the following
snippets and finally execute the bootstrap script to clone this repository.
Generally the stick should be mounted automatically.

### Install

Select Language

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install01.png)

Keyboard Layout

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install02.png)

Language Support

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install03.png)

Select Location

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install04.png)

Select Disk

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install05.png)

Encryption Setup

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install06.png)

Select Network

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install07.png)

Enable Root

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install08.png)

User Details

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install09.png)

Create User

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install10.png)

Install Summary

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install11.png)

Reboot System

![](https://raw.githubusercontent.com/tboerger/desktop/master/screenshots/install12.png)

After the installation have been finished you should always pin the version to
have a proper point to rollback. Just execute `sudo ostree admin pin 0` to pin
the current installed version.

### SSH

```console
mkdir -p ${HOME}/.ssh/
cp /media/$(whoami)/secrets/ssh/id_* ${HOME}/.ssh/
chown -R $(id -u):$(id -g) ${HOME}/.ssh
chmod u=rw,g=,o= ${HOME}/.ssh/id_*
```

### Gnupg

```console
for FILE in /media/$(whoami)/secrets/gpg/*.asc; do
gpg --import ${FILE}
done
```

### Finish

```console
export MACHINE=example
export VAULTPWD=p455w0rd

wget -O- https://raw.githubusercontent.com/tboerger/desktop/master/bin/bootstrap | sudo bash -s -- $MACHINE
echo $VAULTPWD > /home/$(whoami)/.desktop/.vaultpasswd && chown $(id -u):$(id -g) /home/$(whoami)/.desktop/.vaultpasswd
```

## Usage

### Anubis

```console
anubis-selfupdate

anubis-layers -D
reboot

anubis-playbook -D
anubis-distrobox -D
anubis-dotfiles -D
```

### Chnum

```console
chnum-selfupdate

chnum-layers -D
reboot

chnum-playbook -D
chnum-distrobox -D
chnum-dotfiles -D
```

### Horus

```console
horus-selfupdate

horus-layers -D
reboot

horus-playbook -D
horus-distrobox -D
horus-dotfiles -D
```

### Imhotep

```console
imhotep-selfupdate

imhotep-layers -D
reboot

imhotep-playbook -D
imhotep-distrobox -D
imhotep-dotfiles -D
```

### Osiris

```console
osiris-selfupdate

osiris-layers -D
reboot

osiris-playbook -D
osiris-distrobox -D
osiris-dotfiles -D
```

## Security

If you find a security issue please contact
[[email protected]](mailto:[email protected]) first.

## Contributing

Fork -> Patch -> Push -> Pull Request

## Authors

- [Thomas Boerger](https://github.com/tboerger)

## License

Apache-2.0

## Copyright

```console
Copyright (c) 2023 Thomas Boerger
```