HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
brandonhilkert
fucking_shell_scripts
Ruby2014–2021
brandonhilkert / fucking_shell_scripts

fucking_shell_scripts

The easiest, most common sense configuration management tool... because you just use fucking shell scripts.

6Distinct people
7Mentions
1Explicit recommenders
1.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The easiest, most common sense configuration management tool... because you just use fucking shell scripts.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

This reminds me of fucking_shell_scripts[1] but this looks a lot simpler and less angry. I love the idea of truly having no dependencies, since I thought f_s_s was actually…

linguafranca used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year7 dated mentions

Observed mentions: 2014-09-20 14:23:19 UTC to 2021-11-10 04:00:37 UTC.

01232014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC303
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202

What Hacker News says

7 sources
Oh there’s this great thing called files. You put your config in there and then you can copy them anywhere, even between AWS accounts. They’re even cloud agnostic so when you move to GCP they still work. Files work great with fucking shell scripts, entirely compatible, it’s rumored that shell scripts beneath the hood are also files. https://github.com/brandonhilkert/fucking_shell_scripts You can use FSS on docker, kubernetes, bare metal (otherwise known as computers), Windows, Mac, Amiga, VMS etc. Plan9 which was made by the creators of Go works exceptionally well with files. Some people even say that AWS converts your LB config object to a config file for nginx when it’s provisioned. If you want to get really crazy you can put all your files in one dir like /etc and then you can use this program grep to search all your configs at once. Y
Read the rest
ou can even use things like perl -pi to provide a programmatic interface to editing all your configs at once.
In We saved millions in SSD costs by upgrading our filesystem
Ah yes. The perennial problem of managing system state with anything other than shell scripts. Many variations have been tried. Most end up being some kind of yaml based format or a custom DSL with inscrutable error messages. I don't think the answer is yet another variation on the same theme. The design space for such tools is pretty well trodden and they are all lacking in one way or another. This blog post does not say what exactly about ansible needs to be fixed and what their plan of attack is. It just sounds like the author would like a more responsive set of developers which is a social problem more than a technical one and writing yet another configuration management tool is not the right solution to that problem. Some interesting variations on that theme are http://babushka.me/, http://larsyencken.github.io/marelle/, https://gith
Read the rest
ub.com/brandonhilkert/fucking_shell_scripts, and http://palletops.com/. I also have a variation in mind but every time I sit down to write something I remember that there are already way too many of these and instead just write another shell script.
In Stonic Is Not an Ansible Fork
I found Waffles (https://github.com/wffls/waffles) after an extensive search & comparison of Software Configuration Management for my Raspberry Pi projects and CHiP/PocketCHiP commuters. Waffles adheres to what I call "Stupid Simple" as K.I.S.S. implies a complexity challenge. It's so perfectly sized, it would work nearly any embedded Linux system that can run Bash or even an Enterprise size environment. And, don't forget, because it's truly Shell Scripts, you can run it on any architecture Bash is compiled on. Need to distribute your waffle across hosts? Easy, your choices are: git (or ilk), rsync, scp, nfs export, and more - what works on your network to transfer files. The author's blog post walks the reader through their process of simplifying their waffles solution as SCMs like Puppet, Chef, SaltStack, Ansible and others are simply T
Read the rest
oo Much and Too Big - when you should being small, simple and pretty much universal. Most of the have things like agents, separate databases, or even 0MQ. Even FSS ( https://github.com/brandonhilkert/fucking_shell_scripts https://news.ycombinator.com/item?id=7401803) is written in Ruby. Wha? So shouldn't it be call FSSwR cause it's not exclusively & completely Shell Scripts ? If you have found or used any other amazingly simple Shell-based only FOSS solutions for Server Administration, please share. Even though other scripting languages are available on the smaller systems, sometimes they take up precious space (well, except maybe Lua.) Cheers, M.
In SCM at just the right size for Raspberry Pi or PocketCHiP
Which design flaws are you referring to? As a recent Salt convert (and Puppet expert), I was perplexed as to why such a nice tool would have a man page 40x longer than bash. Turns out it includes extensive documentation for all states supported by Salt, generated from the online documentation. Compare this to the Puppet manual: $ man puppet PUPPET(8) Puppet manual PUPPET(8) NAME puppet See ´puppet help´ for help on available puppet subcommands Obviously no-one will be using everything that Salt supports, so it would be nice if it was broken into sub-sections. But I much prefer having all documentation available in a manual to looping through every module and run "rdoc" as in the Puppet case. Any sufficiently popular configuration management tool will have equally long doc
Read the rest
In Ansible 2.1 Released, with Network Automation, Containers
linguafranca·Sep 20, 2014Recommendation phrase
This reminds me of fucking_shell_scripts[1] but this looks a lot simpler and less angry. I love the idea of truly having no dependencies, since I thought f_s_s was actually written in Bash but turns out to be written in Ruby. BashBooster on the other hand just relies on Bash (no gems, no Ruby) and looks easy to set up. I will definitely be trying it out. [1]: https://github.com/brandonhilkert/fucking_shell_scripts EDIT: BashBooster says it's developed to be used with Vagrant, whereas f_s_s is stand-alone. So it doesn't quite require nothing.
In BashBooster – simple provisioning, bash only, requires nothing

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.