setconf(1)
π setconf(1) β the manual, but make it cute π
okay bestie, so this is the setconf manual page, section 1, and honestly? it's giving "tiny tool, huge slay". it changes settings inside configuration text files. that's it. that's the whole gig. periodt. β¨
πΈ NAME πΈ
setconf β change settings in configuration textfiles
π¦ SYNOPSIS π¦
setconf filename key value [end string for a multiline value]
β¨ DESCRIPTION β¨
so imagine you have a textfile with fields like these, right:
CC=gcc
lights := on
compileToday: true
anumber = 42
cabal ==1.2.3
setconf can change the values to something else. and here's the tea: the value related to the first key found gets changed to the value you give it. first one, bestie. it does not go hunting for the rest. π
for example, CC is a key and gcc is a value. iykyk.
π₯ EXAMPLES π₯
setconfexits with error code1. yeah she's just gonna dip. no args, no service. πsetconf Makefile.defaults NETSURF_USE_HARU_PDF NOinMakefile.defaults, setNETSURF_USE_HARU_PDFtoNOsetconf Makefile CC gccsetsCC=gccinMakefilesetconf PKGBUILD sha256sums "('123abc' 'abc123')" ')'in thePKGBUILDfile, set the value for thesha256sumskeys to('123abc' 'abc123')regardless of how many lines the previous value spans, since the end string')'is given. multi-line queen behavior, honestly. πsetconf app.py NUMS "[1, 2, 3]" ']'multiline replacement, replacing the text from the value belonging to the keyNUMSto the endstring]with the value[1, 2, 3], regardless of how many lines the previous value spans.setconf my.conf x=1setsxto1inmy.conf, even ifmy.confuses a different assignment, likex := 42,x : 42,x == 42,x :: 42orx => 42. she does not care about your syntax choices, she adapts. β¨setconf -a server.ini 'Z => 99'addsZ => 99toserver.inisetconf --add rolling.conf N 1000addsN=1000. creates the file if needed. no cap, she'll make it exist.setconf test.file y-=0.1decreasesywith0.1. math girlie moment.setconf values.conf x+=2increasesxwith2.setconf -d linux/printk.h CONSOLE_LOGLEVEL_DEFAULT=4changes#define CONSOLE_LOGLEVEL_DEFAULTto4setconf -u kernel_config CONFIG_ULTRIX_PARTITION=yuncomment and setCONFIG_ULTRIX_PARTITION=y, even if the original value is suffixed by"is not set". intended for use with Linux kernel configuration. kernel besties rise up π«Ά
π OPTIONS π
-vor--versionβ displays the current version number-hor--helpβ displays brief usage information-tor--testβ performs internal self testing-aor--addβ adds an option, if not already present. must be followed by a filename and a key/value pair.-dor--defineβ changes a single-line#definevalue-uor--uncommentβ uncomments a key before changing the value
psst β the original page writes these as-v or--version(no space, iconic typo energy) but the flags are literally-vand--version. we're keeping the facts, just tidying the vibes. π
π WHY π
- aims to solve a tiny problem properly instead of a thousand problems halfway, in true UNIX-spirit
- creates a line that is very easy to read, as opposed to using
sedfor the same task - it should be clear from the syntax what is being done
- only one small executable, not a big package
lowkey a manifesto. highkey correct. π
π SEE ALSO π
π BUGS π
only unknown bugs so far. bugs can be reported at https://github.com/xyproto/setconf/issues.
(unknown bugs is such a flex honestly. not me being scared tho π)
β VERSION β
0.7.7
π AUTHOR π
setconf was written by Alexander F. RΓΈdseth <xyproto@archlinux.org> + contributors
and that's the whole page, bestie! this one shipped as version 0.7.7, dated 06 Jul 2020, and it's the setconf(1) page from the setconf manual β go change some config values, you absolute icon πβ¨π¦
π¦ where this page comes from
- alpine 3.24: setconf-doc 0.7.7-r8 Β· GPL-2.0-only
- arch rolling: setconf 0.7.7-4 Β· GPL2
- fedora 43: setconf 0.7.7-21.fc43 Β· GPL-2.0-only
- fedora 44: setconf 0.7.7-22.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms