-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.yml
138 lines (130 loc) · 6.18 KB
/
setup.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
---
- name: "Set up a local Debian environment"
hosts: localhost
connection: local
roles:
- { role: "bootstrap", tags: ["bootstrap"] }
- { role: "banner", tags: ["banner"] }
- role: "sysctl"
vars:
sysctl__additional_variables:
fs.inotify.max_user_watches:
description: "For IDEs like IntelliJ IDEA, see https://intellij-support.jetbrains.com/hc/en-us/articles/15268113529362-Inotify-Watches-Limit-Linux"
value: "1048576"
tags: ["sysctl"]
- role: "limits"
vars:
limits__additional:
- { domain: "{{ ansible_user_id }}", type: "-", item: "nproc", value: "2048" }
- { domain: "{{ ansible_user_id }}", type: "-", item: "nofile", value: "4096" }
tags: ["limits"]
- { role: "journald", tags: ["journald"] }
- { role: "root", tags: ["root"] }
- { role: "sudo", tags: ["sudo"] }
- role: "apt"
tags: ["apt"]
vars:
apt__extra_repositories:
- name: "docker"
key_url: "https://download.docker.com/linux/debian/gpg"
key_format: "asc"
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
state: "present"
- { role: "openssh_client", tags: ["ssh"] }
# - { role: "openssh_server", tags: ["ssh"] }
- { role: "git", tags: ["git"] }
- { role: "etckeeper", tags: ["etc"] }
- { role: "vim", tags: ["vim"] }
- role: "packages"
tags: ["packages"]
vars:
packages__blacklist:
- "telnet" # use netcat instead
- "containerd" # see https://docs.docker.com/engine/install/debian/
- "docker.io" # see https://docs.docker.com/engine/install/debian/
- "docker-compose" # see https://docs.docker.com/engine/install/debian/
- "docker-doc" # see https://docs.docker.com/engine/install/debian/
- "podman-docker" # see https://docs.docker.com/engine/install/debian/
- "runc" # see https://docs.docker.com/engine/install/debian/
packages__list: # See https://pkgs.org/
# Clients
- "curl" # command line tool for transferring data with URL syntax
- "httpie" # cURL-like tool for humans
- "rsync" # fast, versatile, remote (and local) file-copying tool
# Compression
- "bzip2" # high-quality block-sorting file compressor
- "pigz" # parallel implementation of gzip
- "unzip" # de-archiver for .zip files
- "zip" # archiver for .zip files
- "zstd" # fast lossless compression algorithm -- CLI tool
# Desktop
- "chromium" # The open-source version of Chrome
- "fonts-recommended" # set of recommended fonts
- "gthumb" # image viewer and browser
- "meld" # graphical tool to diff and merge files
# Development
- "build-essential" # Required by asdf, Node.js
- "git" # fast, scalable, distributed revision control system
- "gitg" # git repository viewer
- "hexedit" # viewer and editor in hexadecimal or ASCII for files or devices
- "libssl-dev" # needed while installing ruby using asdf
# Editors
- "geany" # fast and lightweight IDE
- "geany-plugins" # set of plugins for Geany
- "geany-plugin-extrasel" # extra selection plugin for Geany
# System
- "htop" # Interactive process viewer
- "lsb-release" # linux Standard Base version reporting utility
- "ncdu" # ncurses disk usage viewer
- "netcat-openbsd" # TCP/IP swiss army knife
- "util-linux" # miscellaneous system utilities
- "uptimed" # daemon to track uptimes, especially the high ones
# Misc
- "dos2unix" # convert text file line endings between CRLF and LF
- "gnupg" # GNU privacy guard - a free PGP replacement
- "jc" # JSON CLI output utility
- "jq" # lightweight and flexible command-line JSON processor
- "pass" # lightweight directory-based password manager
- "uuid" # Universally Unique Identifier Command-Line Tool
- "renrot" # rename and rotate files according to EXIF tags
# Docker external repository, see https://docs.docker.com/engine/install/debian/
- "cgroupfs-mount"
- "containerd.io"
- "docker-buildx-plugin" # from docker
- "docker-ce"
- "docker-ce-cli"
- "docker-ce-rootless-extras"
- "docker-compose-plugin" # from docker
- "slirp4netns"
- role: "gnome"
tags: ["gnome"]
vars:
gnome__dconf:
- { key: "/org/gnome/desktop/wm/keybindings/switch-windows", value: "['<Alt>Tab']" }
- { key: "/org/gnome/desktop/wm/keybindings/switch-windows-backward", value: "['<Shift><Alt>Tab', '<Alt>Above_Tab']" }
- { key: "/org/gnome/desktop/wm/keybindings/switch-applications", value: "[]" }
- { key: "/org/gnome/desktop/wm/keybindings/switch-applications-backward", value: "[]" }
- { key: "/org/gnome/mutter/dynamic-workspaces", value: "false" }
- { key: "/org/gnome/desktop/wm/preferences/num-workspaces", value: "4" }
- { key: "/org/gnome/shell/window-switcher/current-workspace-only", value: "true" }
- role: "user"
tags: ["user"]
vars:
user__shell: "/bin/bash"
user__groups: "sudo,docker"
user__dotfiles_dir: "{{ playbook_dir }}/dotfiles"
user__dotfiles_deprecated:
- ".bashrc.d/8ansible-completion.bashrc"
- ".bashrc.d/8ansible-doc-completion.bashrc"
- ".bashrc.d/8ansible-galaxy-completion.bashrc"
- ".bashrc.d/8ansible-playbook-completion.bashrc"
- ".bashrc.d/8ansible-pull-completion.bashrc"
- ".bashrc.d/8ansible-vault-completion.bashrc"
- ".bashrc.d/8gradle-completion.bashrc"
- ".bashrc.d/8maven-completion.bashrc"
- ".bashrc.d/8quarkus-completion.bashrc"
- ".bashrc.d/9asdf.bashrc"
- ".bashrc.d/9gpg.bashrc"
- ".bashrc.d/9npm.bashrc"
- ".bashrc.d/9ruby.bashrc"
- ".bashrc.d/9sdkman.bashrc"