From 95c2d0525fd3dded9dabded56e8fd8806f58ebe4 Mon Sep 17 00:00:00 2001 From: George Rawlinson Date: Tue, 24 Jul 2018 14:38:47 +1200 Subject: [PATCH] feat(ansible): migrate automate-able items to separate repository --- README.md | 16 +-- arch-linux/.config/yay/config.json | 34 ----- system/etc/makepkg.conf | 147 ---------------------- system/etc/pacman.conf | 104 --------------- system/etc/security/pam_env.conf | 4 - system/etc/systemd/system/mbsync@.service | 10 -- system/etc/systemd/system/mbsync@.timer | 10 -- system/etc/systemd/system/rfcomm.service | 13 -- 8 files changed, 5 insertions(+), 333 deletions(-) delete mode 100644 arch-linux/.config/yay/config.json delete mode 100644 system/etc/makepkg.conf delete mode 100644 system/etc/pacman.conf delete mode 100644 system/etc/security/pam_env.conf delete mode 100644 system/etc/systemd/system/mbsync@.service delete mode 100644 system/etc/systemd/system/mbsync@.timer delete mode 100644 system/etc/systemd/system/rfcomm.service diff --git a/README.md b/README.md index 39deff4..a77edd6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ -# dotfiles & system setup +# dotfiles ``` -arch-linux > arch specific dotfiles bin > helpful shell scripts git > global git config & aliases gnupg > utilise gpg-agent for pgp crypto @@ -14,7 +13,6 @@ npm > npm configuration (ha ha) nvim > neovim config & plugins ssh > safe-ish ssh config sway > minimal tiling wm for naughty computers -system > linux-specific system configuration termite > terminal colours & keyboard settings tmux > tmux config weechat > irc client ui/colour configuration @@ -23,19 +21,14 @@ zsh > shell, aliases and cool stuff `git clone https://github.com/grawlinson/dotfiles.git ~/.dotfiles` -Clone repository, then setup as desired using [GNU Stow][url-gnu-stow]. +Clone repository, then setup as desired using [GNU Stow][url-gnu-stow]. I prefer using the `--no-folding` flag with `stow`. ## Caveats These dotfiles assume the computer is set up in a specific way. I recommend using Ansible or other tools (Chef, Puppet, etc) to automatically provision -your computer the way you like it. - -The following should really be Ansible playbooks: - -- mail (setup systemd units) -- ssh (add ssh keys & server aliases) -- system (modify files out of `$HOME`) +your computer the way you like it. I've started migrating things that can +be automated to my [ansible-archlinux][url-gh-ansible-archlinux] repository. ## Further Reading @@ -51,3 +44,4 @@ The MIT License ([MIT](LICENSE.md)) [url-invergo-stow]: http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html [url-mozilla-ssh]: https://wiki.mozilla.org/Security/Guidelines/OpenSSH [url-secure-shell]: https://stribika.github.io/2015/01/04/secure-secure-shell.html +[url-gh-ansible-archlinux]: https://github.com/grawlinson/ansible-archlinux diff --git a/arch-linux/.config/yay/config.json b/arch-linux/.config/yay/config.json deleted file mode 100644 index 92f1fa4..0000000 --- a/arch-linux/.config/yay/config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "buildDir": "/home/george/.cache/yay", - "editor": "", - "editorflags": "", - "makepkgbin": "makepkg", - "pacmanbin": "pacman", - "pacmanconf": "/etc/pacman.conf", - "tarbin": "bsdtar", - "redownload": "no", - "rebuild": "no", - "answerclean": "All", - "answerdiff": "None", - "answeredit": "None", - "answerupgrade": "", - "gitbin": "git", - "gpgbin": "gpg", - "gpgflags": "", - "mflags": "", - "sortby": "votes", - "gitflags": "", - "requestsplitn": 150, - "sortmode": 0, - "sudoloop": false, - "timeupdate": false, - "devel": false, - "cleanAfter": false, - "gitclone": true, - "provides": true, - "pgpfetch": true, - "upgrademenu": true, - "cleanmenu": false, - "diffmenu": false, - "editmenu": false -} \ No newline at end of file diff --git a/system/etc/makepkg.conf b/system/etc/makepkg.conf deleted file mode 100644 index 01a7ab2..0000000 --- a/system/etc/makepkg.conf +++ /dev/null @@ -1,147 +0,0 @@ -# -# /etc/makepkg.conf -# - -######################################################################### -# SOURCE ACQUISITION -######################################################################### -# -#-- The download utilities that makepkg should use to acquire sources -# Format: 'protocol::agent' -DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' - 'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' - 'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' - 'rsync::/usr/bin/rsync --no-motd -z %u %o' - 'scp::/usr/bin/scp -C %u %o') - -# Other common tools: -# /usr/bin/snarf -# /usr/bin/lftpget -c -# /usr/bin/wget - -#-- The package required by makepkg to download VCS sources -# Format: 'protocol::package' -VCSCLIENTS=('bzr::bzr' - 'git::git' - 'hg::mercurial' - 'svn::subversion') - -######################################################################### -# ARCHITECTURE, COMPILE FLAGS -######################################################################### -# -CARCH="x86_64" -CHOST="x86_64-pc-linux-gnu" - -#-- Compiler and Linker Flags -# -march (or -mcpu) builds exclusively for an architecture -# -mtune optimizes for an architecture, but builds for whole processor family -CPPFLAGS="-D_FORTIFY_SOURCE=2" -CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt" -CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt" -LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" -#-- Make Flags: change this for DistCC/SMP systems -MAKEFLAGS="-j$(nproc)" -#-- Debugging flags -DEBUG_CFLAGS="-g -fvar-tracking-assignments" -DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" - -######################################################################### -# BUILD ENVIRONMENT -######################################################################### -# -# Defaults: BUILDENV=(!distcc color !ccache check !sign) -# A negated environment option will do the opposite of the comments below. -# -#-- distcc: Use the Distributed C/C++/ObjC compiler -#-- color: Colorize output messages -#-- ccache: Use ccache to cache compilation -#-- check: Run the check() function if present in the PKGBUILD -#-- sign: Generate PGP signature file -# -BUILDENV=(!distcc color !ccache check !sign) -# -#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, -#-- specify a space-delimited list of hosts running in the DistCC cluster. -#DISTCC_HOSTS="" -# -#-- Specify a directory for package building. -#BUILDDIR=/tmp/makepkg - -######################################################################### -# GLOBAL PACKAGE OPTIONS -# These are default values for the options=() settings -######################################################################### -# -# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug) -# A negated option will do the opposite of the comments below. -# -#-- strip: Strip symbols from binaries/libraries -#-- docs: Save doc directories specified by DOC_DIRS -#-- libtool: Leave libtool (.la) files in packages -#-- staticlibs: Leave static library (.a) files in packages -#-- emptydirs: Leave empty directories in packages -#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip -#-- purge: Remove files specified by PURGE_TARGETS -#-- upx: Compress binary executable files using UPX -#-- optipng: Optimize PNG images with optipng -#-- debug: Add debugging flags as specified in DEBUG_* variables -# -OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug) - -#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 -INTEGRITY_CHECK=(md5) -#-- Options to be used when stripping binaries. See `man strip' for details. -STRIP_BINARIES="--strip-all" -#-- Options to be used when stripping shared libraries. See `man strip' for details. -STRIP_SHARED="--strip-unneeded" -#-- Options to be used when stripping static libraries. See `man strip' for details. -STRIP_STATIC="--strip-debug" -#-- Manual (man and info) directories to compress (if zipman is specified) -MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) -#-- Doc directories to remove (if !docs is specified) -DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) -#-- Files to be removed from all packages (if purge is specified) -PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) - -######################################################################### -# PACKAGE OUTPUT -######################################################################### -# -# Default: put built package and cached source in build directory -# -#-- Destination: specify a fixed directory where all packages will be placed -#PKGDEST=/home/packages -#-- Source cache: specify a fixed directory where source files will be cached -#SRCDEST=/home/sources -#-- Source packages: specify a fixed directory where all src packages will be placed -#SRCPKGDEST=/home/srcpackages -#-- Log files: specify a fixed directory where all log files will be placed -#LOGDEST=/home/makepkglogs -#-- Packager: name/email of the person or organization building packages -#PACKAGER="John Doe " -#-- Specify a key to use for package signing -#GPGKEY="" - -######################################################################### -# COMPRESSION DEFAULTS -######################################################################### -# -COMPRESSGZ=(gzip -c -f -n) -COMPRESSBZ2=(bzip2 -c -f) -COMPRESSXZ=(xz -c -z - --threads=0) -COMPRESSLRZ=(lrzip -q) -COMPRESSLZO=(lzop -q) -COMPRESSZ=(compress -c -f) - -######################################################################### -# EXTENSION DEFAULTS -######################################################################### -# -# WARNING: Do NOT modify these variables unless you know what you are -# doing. -# -PKGEXT='.pkg.tar.xz' -SRCEXT='.src.tar.gz' - -# vim: set ft=sh ts=2 sw=2 et: diff --git a/system/etc/pacman.conf b/system/etc/pacman.conf deleted file mode 100644 index 9a49362..0000000 --- a/system/etc/pacman.conf +++ /dev/null @@ -1,104 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -#HookDir = /etc/pacman.d/hooks/ -HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -C - -f %u > %o -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -#UseDelta = 0.7 -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -Color -TotalDownload -CheckSpace -VerbosePkgLists - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -LocalFileSigLevel = Optional -#RemoteFileSigLevel = Required - -# NOTE: You must run `pacman-key --init` before first using pacman; the local -# keyring can then be populated with the keys of all official Arch Linux -# packagers with `pacman-key --populate archlinux`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -[testing] -Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -[community-testing] -Include = /etc/pacman.d/mirrorlist - -[community] -Include = /etc/pacman.d/mirrorlist - -# If you want to run 32 bit applications on your x86_64 system, -# enable the multilib repositories as required here. - -[multilib-testing] -Include = /etc/pacman.d/mirrorlist - -[multilib] -Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs - -[sublime-text] -Include = /etc/pacman.d/pacserve -Server = https://download.sublimetext.com/arch/stable/x86_64 diff --git a/system/etc/security/pam_env.conf b/system/etc/security/pam_env.conf deleted file mode 100644 index f0f6301..0000000 --- a/system/etc/security/pam_env.conf +++ /dev/null @@ -1,4 +0,0 @@ -# conform to XDG base directory specification -XDG_DATA_HOME DEFAULT=@{HOME}/.local/share -XDG_CONFIG_HOME DEFAULT=@{HOME}/.config -XDG_CACHE_HOME DEFAULT=@{HOME}/.cache diff --git a/system/etc/systemd/system/mbsync@.service b/system/etc/systemd/system/mbsync@.service deleted file mode 100644 index 4e6c9bb..0000000 --- a/system/etc/systemd/system/mbsync@.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Mailbox synchronization service for user %I - -[Service] -Type=oneshot -ExecStart=/usr/bin/mbsync -Va -ExecStartPost=/usr/bin/notmuch new -User=%i -StandardOutput=syslog -StandardError=syslog diff --git a/system/etc/systemd/system/mbsync@.timer b/system/etc/systemd/system/mbsync@.timer deleted file mode 100644 index 9f995f0..0000000 --- a/system/etc/systemd/system/mbsync@.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Mailbox synchronization timer - -[Timer] -OnBootSec=5min -OnUnitActiveSec=5min -Unit=mbsync@%i.service - -[Install] -WantedBy=timers.target diff --git a/system/etc/systemd/system/rfcomm.service b/system/etc/systemd/system/rfcomm.service deleted file mode 100644 index 6e316a5..0000000 --- a/system/etc/systemd/system/rfcomm.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=rfcomm service -After=bluetooth.service -Requires=bluetooth.service - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/bin/rfcomm bind 0 -ExecStop=/usr/bin/rfcomm release 0 - -[Install] -WantedBy=multi-user.target