+++ title = "my neat linux setup" date = "2023-09-07T23:20:19+02:00" author = "" authorTwitter = "" #do not include @ cover = "" tags = ["", ""] keywords = ["", ""] description = "" showFullContent = false readingTime = false hideComments = false color = "" #color from the theme settings draft = false +++ so, this a guide to replicate my linux setup, ideally in time there will be a script to replicate instantly all this cool stuff on any arch/artix based linux distribution i make heavy use of [Luke Smith](https://github.com/LukeSmithxyz)'s LARBS # distribution: artix is basically arch only without that piece of this cringeware that is systemd. When it comes to replace it you have a number of choices that range from decent to very fucking good, ive only ever used runit but youre free to have anyone you like Visit the [Artix](https://artixlinux.org/) website and check all the neat infos they have "Q. Do you hate systemd? A. No, we don't. In fact, we love systemd. But we would never use [such](https://thehackernews.com/2019/01/linux-systemd-exploit.html) a [sucky piece](https://suckless.org/sucks/systemd/) of [bloatware](https://chiefio.wordpress.com/2016/05/18/systemd-it-keeps-getting-worse/) near [anywhere](without-systemd.org/wiki/index.php/Arguments_against_systemd) we [cared](https://www.theregister.co.uk/2018/10/26/systemd_dhcpv6_rce/) [about](www.softpanorama.org/Commercial_linuxes/Startup_and_shutdown/systemd.shtml) [security](https://www.theregister.com/2019/01/31/systemd_exploit/)" # window manager: dwm "[dwm](https://dwm.suckless.org/) is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. All of the layouts can be applied dynamically, optimising the environment for the application in use and the task performed. In tiled layout windows are managed in a master and stacking area. The master area contains the window which currently needs most attention, whereas the stacking area contains all other windows. In monocle layout all windows are maximised to the screen size. In floating layout windows can be resized and moved freely. Dialog windows are always managed floating, regardless of the layout applied." there is a ton of customisation possible and patches that you can compile to modify the behaviour, vim bindings to navigate the entire system are a fucking blessing i swear, here are some very simple modification i did: - horizontal and vertical inner gap between windows is set to to 7 - horizontal and vertical outer gap between windows and screen edge is set to 7 - MODKEY + F11 launches the "touchpad" script that disables the touchpad - MODKEY + Shift + b launches the "bluetooth" script that toggles the bluetooth - border color is the to white # status bar: dwmblocks [dwmblocks](https://github.com/torrinfail/dwmblocks) is a modular status bar for dwm written in C, if you run Luke's LARBS script, dwm will arrive with a bunch of very well done scripts for all you general needs, i added some scripts of my own (example: bluetooth script to show the status) you can also find pre-made scripts all over the world wide web its super minimalistic, super customizable and super light, highly fucking recommended # menu: dmenu "[dmenu](https://wiki.archlinux.org/title/dmenu) is a fast and lightweight dynamic menu for X. It reads arbitrary text from stdin, and creates a menu with one item for each line. The user can then select an item, through the arrow keys or typing a part of the name, and the line is printed to stdout. dmenu_run is a wrapper that ships with the dmenu distribution that allows its use as an application launcher." its cool and you it supports a ton of stuff, like pass # file manager: lf [lf](https://github.com/gokcehan/lf) (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager. See faq for more information and tutorial for a gentle introduction with screencasts. super light, super easy to config, and, of course, supports vim bindings # email client: neomutt [neomutt](https://neomutt.org/) is a command line mail reader, has a ton of cool features, its super light and, of course, uses vim bindings you can use [mutt-wizard](https://github.com/LukeSmithxyz/mutt-wizard) to easily setup ports and everyhing # battery utility: battop [battop](https://github.com/svartalf/rust-battop) is an interactive battery viewer written in rust that works from the terminal, it gives you all the basic battery info you want to know using a series of graph, so you can grep stuff, still its very lightweight and supports multiple batteries (if you have a thinkpad you know what im talking about) # battery optimization: TLP [TLP](https://linrunner.de/tlp/index.html) is a feature-rich command line utility for Linux, saving laptop battery power without the need to delve deeper into technical details. TLP’s default settings are already optimized for battery life and implement Powertop’s recommendations out of the box. So you may just install and forget it. Nevertheless TLP is highly customizable to fulfil your specific requirements. P.S. i stil cant manage to make the TLP service work properly with runit, so if you want to create a highy customized config you might want to stick to [systemd](https://en.wikipedia.org/wiki/Trash) # swag: neofetch do i need to say more? you can have it start at login to flex on r/unixporn, normal users will be most likely disgusted # task manager: htop again, if you ever want to be considered by the cool guys and gals of the ricing sub-scene you have to have this process viewer all jokes aside [htop](https://htop.dev/) is a neat piece of software, super useful # text editor: vim ok, big boys time, i use vim as my main text editor both to play around in linux and to write code i use [NvChad](https://nvchad.com/) setup, its a very IDE like setup and you can go much more minimalistic if you need to. it uses SPACE as the default leader key and has a neat cheatsheet with "LEADER + ch" i didnt customize the setup very much just: - relative lines set to true - catcapuccin as my theme - path_display not truncated - telescope search with hidden files enabled - random nerdfont installed using this [guide](https://www.behova.net/install-nerd-font-on-arch-linux/) (i will probably copy it just in case this site cease to exists) # calendar: calcurse [calcurse](https://calcurse.org/) is a calendar and scheduling application. Terminal based, uses vim bindings, thats it # RSS reader: newsboat [newsboat](https://newsboat.org) is an RSS/Atom feed reader for the text console. Super easy to setup and use, uses vim bindings # browser: librewolf TODO # pipewire TODO # logseq [logseq](https://logseq.com/) an open-source note taking application that i enjoy using (mainly at work), it supports markdown, tasks management, whiteboards and PDFs annotations. # puslemixer TODO # Network Manager: nmtui TODO # static site builder: hugo This site was built using this tool, it enables you to quickly and easily setup a static site, you can create contents from the terminal