Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/anthonyaxenov/my-env

My Ubuntu environment. Mirror repo from my own gitea. Issues are only accepted there.
https://github.com/anthonyaxenov/my-env

automation debian install installation-script installation-scripts make makefile shell shell-scripts ubuntu ubuntu2004 ubuntu2204 ubuntu2204lts

Last synced: 5 days ago
JSON representation

My Ubuntu environment. Mirror repo from my own gitea. Issues are only accepted there.

Awesome Lists containing this project

README

        

# My Ubuntu environment

`make`-ready bunch of scripts for easily installation of different software.

## Requirements

* Ubuntu >= 20.04 (not tested with version < 20)
* `bash`, `zsh` or other `sh`-compatible shell
* `make` (optional but recommended)
* `wget` (necessary for some scripts)
* `git` (necessary for some scripts)

If some dependecies are missed for some of these scripts it is enougth to run `./install/apt` in most cases.

## Usage

### Clone this repo (recommended)

```shell
# if git is installed
git clone [email protected]:anthony/my-env.git --depth=1

# if git is not installed
wget -qO - https://git.axenov.dev/anthony/my-env/archive/master.tar.gz | tar -zxf -

# switch to repo dir
cd my-env

# generate fresh ./Makefile and get full list of `make` goals
./gen-makefile

# get full list of `make` goals
make
```

### Selective straightforward installation

```shell
# from remote file (you can meet interaction bugs this way!)
wget -qO - https://git.axenov.dev/anthony/my-env/raw/branch/master/install/apt | bash

# from locally cloned repo (except scripts from ./packs)
./install/apt
```

## How to add my script?

1. Create a new shell script in `./install`, `./upgrade` or `./uninstall` directory.
At the beggining of a file you must write these two lines:
```shell
#!/bin/bash
##makedesc: Your description for Makefile
```
2. Make this script executable, e.g.:
```shell
sudo chmod a+x ./install/myscript
```
3. Test your script
4. Run `make self` to generate new `./Makefile`

## How to create a pack?

You can create new file inside `./packs` dir.

Syntax is same as classic makefile.
It is important to add a comment with short description:

```makefile
##mypack1: Pack description
mypack1: goal1 goal2 goalX ...
...

##mypackX: Pack description
mypackX: goalA goalB
@cp file1 file2
...
...
```

where:
* `mypack*` is the pack name
* `goal*` are script names in `./install`

## TODO

* build: [flameshot](https://github.com/flameshot-org/flameshot#compilation)
* build: [rustdesk](https://github.com/rustdesk/rustdesk#build)
* [JB mono](https://www.jetbrains.com/ru-ru/lp/mono/#how-to-install) ([2](https://fonts.google.com/specimen/JetBrains+Mono))
* update scripts (when possible)
* uninstall scripts (when possible)

## License

[WTFPLv2](LICENSE)