All Projects → ralish → dotfiles

ralish / dotfiles

Licence: Unlicense license
A dotfiles collection with a SysAdmin & DevOps focus

Programming Languages

powershell
5483 projects
shell
77523 projects
perl
6916 projects
Vim Script
2826 projects
Roff
2310 projects
C#
18002 projects

Projects that are alternatives of or similar to dotfiles

Sshremotekeys
Managing SSH keys remotely to control access to hosts
Stars: ✭ 70 (+37.25%)
Mutual labels:  sysadmin
Netsec Ps Scripts
Collection of PowerShell network security scripts for system administrators.
Stars: ✭ 139 (+172.55%)
Mutual labels:  sysadmin
Htconvert
Convert .htaccess redirects to nginx.conf redirects
Stars: ✭ 171 (+235.29%)
Mutual labels:  sysadmin
Lpic 1 Anki Flashcards
Deck of Anki flashcards for the LPIC-1 (Linux System Administrator) exams 101 and 102 of the Linux Professional Institute (LPI).
Stars: ✭ 90 (+76.47%)
Mutual labels:  sysadmin
Adams
UNIX system administration in Common Lisp
Stars: ✭ 135 (+164.71%)
Mutual labels:  sysadmin
Sshmon
Manage and monitor SSH connections.
Stars: ✭ 152 (+198.04%)
Mutual labels:  sysadmin
Syslog2irc
Receive syslog messages via UDP and show them on IRC.
Stars: ✭ 15 (-70.59%)
Mutual labels:  sysadmin
Bb
simple process viewer in rust https://crates.io/crates/bb
Stars: ✭ 212 (+315.69%)
Mutual labels:  sysadmin
Ebs Automatic Nvme Mapping
Automatic mapping of EBS volumes via NVMe block devices to standard block device paths
Stars: ✭ 136 (+166.67%)
Mutual labels:  sysadmin
Kitten
Tiny multi-server automation tool
Stars: ✭ 171 (+235.29%)
Mutual labels:  sysadmin
Sysbox
sysadmin/scripting utilities, distributed as a single binary
Stars: ✭ 101 (+98.04%)
Mutual labels:  sysadmin
Maturity models
Maturity models for IT, Agile, DevOps, TOGAF, Six Sigma, P3M3, etc.
Stars: ✭ 115 (+125.49%)
Mutual labels:  sysadmin
Hardentheworld
Harden the world is a community driven project to develop hardening guidelines and checklists for common software and devices.
Stars: ✭ 158 (+209.8%)
Mutual labels:  sysadmin
Gomplate
A flexible commandline tool for template rendering. Supports lots of local and remote datasources.
Stars: ✭ 1,270 (+2390.2%)
Mutual labels:  sysadmin
Txeh
Go library and CLI utilty for /etc/hosts management.
Stars: ✭ 181 (+254.9%)
Mutual labels:  sysadmin
Cmd Command Cheat Sheet
CMD - Command Cheat Sheat ✅
Stars: ✭ 50 (-1.96%)
Mutual labels:  sysadmin
Kubetop
A top(1)-like tool for Kubernetes.
Stars: ✭ 142 (+178.43%)
Mutual labels:  sysadmin
Sysadmin Reading List
A reading/viewing list for larval stage sysadmins and SREs
Stars: ✭ 240 (+370.59%)
Mutual labels:  sysadmin
Platypus
Large-scale server monitoring application written in Golang
Stars: ✭ 190 (+272.55%)
Mutual labels:  sysadmin
Joincap
Merge multiple pcap files together, gracefully.
Stars: ✭ 159 (+211.76%)
Mutual labels:  sysadmin

dotfiles

license

Here lies my own collection of dotfiles. In contrast to many other dotfiles collections mine are setup with slightly different objectives which reflect my occupation as a SysAdmin & DevOps engineer versus a pure developer.

Usage

Unix-like

On Unix-like systems the included dot-update and dot-manage scripts handle everything for you.

# Clone the repository
git clone https://github.com/ralish/dotfiles.git

# Run dot-update with all operations to:
# - Initialise & update submodules
# - Stow all detected components (i.e. dot-manage)
# - Download various binaries (e.g. shellcheck)
# - Download Vim plug-ins
dotfiles/dot-update -a

Windows

On Windows systems the PSDotFiles PowerShell module is used, which provides similar functionality to Stow.

# Clone the repository
git clone https://github.com/ralish/dotfiles.git

# Install PSDotFiles
Install-Module -Name PSDotFiles -Scope CurrentUser

# View detected components
Get-DotFiles -Path dotfiles -Autodetect

# Install detected components
Install-DotFiles -Path dotfiles -Autodetect

Objectives

My primary occupation is that of a SysAdmin and so I often find myself working on many different systems. This introduces some key objectives I've tried to ensure my dotfiles meet:

  • Ease of access
    GitHub makes this easy by providing access to ZIP files of each branch in a repository. While a Git clone is strongly preferable, if this is too much effort or otherwise problematic, simply downloading and unpacking the ZIP archive is a helpful fallback.
  • Ease of setup
    A long or manual installation or removal process is painful and time-consuming. An automated approach is essential so that installation is quick and easy, with removal similarly straightforward if this is desirable (e.g. on a shared access account).
  • Portability
    It's all too easy for platform assumptions to seep into configurations. I've tried my best to avoid such assumptions so that all configurations work on platforms where the underlying application or library is supported, or at least degrade gracefully.

Management

I've settled on using Stow to manage my dotfiles due to the following attributes:

  • Compatible
    Most Unix-like systems have Perl installed by default and Stow itself has no peculiar dependencies.
  • Portable
    Stow can be included in the repository and subsequently stow itself into a location in the user's PATH for a quick bootstrap!
  • Organised
    Stow makes keeping the repository organised simple, with each directory containing the configuration for a specific program or library.
  • Granular
    Stow operates on chosen directories allowing for only a desired subset of applications or library configurations to be installed.
  • Revertible
    Stow can undo the changes it makes, ensuring that leaving the system in the same state as it was originally is trivial to do.
  • Stateless
    Stow doesn't need to maintain any state between executions which helps keep the system simple, and consequently less likely to break.
  • Lightweight
    Stow is fast, unintrusive, and at the time of writing the script comes in at a mere ~120KB!

Tested environments

The following environments are expected to work:

Thanks

The numerous people whose dotfiles served as inspiration or templates for my own.

I keep a record of resources I've found particularly useful here.

License

All content is licensed under the terms of The Unlicense License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].