website/content/post/linux-setup/index.md

104 lines
7.6 KiB
Markdown
Raw Normal View History

2024-02-14 19:25:43 +00:00
---
title: My linux userspace
description: A collection of tools i use in my workflow
2024-02-14 20:57:52 +00:00
image: linux.png
2024-02-14 19:25:43 +00:00
date: 2023-09-07 00:00:00+0000
categories:
- Linux
- Arch
tags:
- linux
- arch
---
2024-02-14 19:04:32 +00:00
This is a simple collection of all the main tools that i have installed on my system. I do not consider the setup complete yet, but i have already collected enough pieces of software that justify start keeping track of them.
I make heavy use of [Luke Smith](https://github.com/LukeSmithxyz)'s LARBS, a script that i recently forked and changed to better suit my needs.
You can find my version of LARBS [here](https://github.com/filippo-ferrari/LARBS). In an ideal future, there will be a changelog with all the changes that i did from the base(d) version.
2024-02-14 19:25:43 +00:00
## Why Arch Linux?
I don't have enough time to compile Gentoo.
## Distribution: artix
2024-02-14 19:04:32 +00:00
Artix is basically arch only without that piece of cringeware that is systemd.
When it comes to replacing it you have a number of choices that range from decent to very fucking good, i have only ever used runit but you're free to chose something else of course.
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/)"
2024-02-14 19:25:43 +00:00
## Disk encryption:
2024-02-14 19:04:32 +00:00
In all my devices i encrypt the root partition with a [LUKS](https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup)-formatted partition.
2024-02-14 19:25:43 +00:00
## Window manager: dwm
2024-02-14 19:04:32 +00:00
"[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 customization possible and patches that you can compile to modify the behaviour of the window manager, it's very lightweight and runs very well even on my 2008 T400, can't recommend it enough.
2024-02-14 19:25:43 +00:00
## Status bar: dwmblocks
2024-02-14 19:04:32 +00:00
[dwmblocks](https://github.com/torrinfail/dwmblocks) is a modular status bar for dwm written in C, if you run the LARBS script, dwm will arrive with a bunch of very well done scripts for all your general needs.
You can also find pre-made scripts all over the world wide web. It's super minimalistic, super customizable and super light, love it.
2024-02-14 19:25:43 +00:00
## Menu: dmenu
2024-02-14 19:04:32 +00:00
"[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."
I haven't dabbled particulary with dmenu since it comes with everything you need already outside of the box, it's cool and it supports a ton of stuff, like pass and other shit.
2024-02-14 19:25:43 +00:00
## File manager: lf
2024-02-14 19:04:32 +00:00
[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
2024-02-14 19:25:43 +00:00
## Email client: neomutt
2024-02-14 19:04:32 +00:00
[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 your email accounts. 10+
2024-02-14 19:25:43 +00:00
## Battery utility: battop
2024-02-14 19:04:32 +00:00
[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 graphs, its very lightweight and supports multiple batteries (if you have a thinkpad you know what im talking about)
2024-02-14 19:25:43 +00:00
## Battery optimization: TLP
2024-02-14 19:04:32 +00:00
[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.
TLPs default settings are already optimized for battery life and implement Powertops recommendations out of the box. So you may just install and forget it.
Nevertheless TLP is highly customizable to fulfill 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)
2024-02-14 19:25:43 +00:00
## Task manager: htop
2024-02-14 19:04:32 +00:00
Again, if you ever want to be taken into consideration 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, very light and super useful, written in the mighty C languange.
2024-02-14 19:25:43 +00:00
## Text editor: neovim
2024-02-14 19:04:32 +00:00
ok, big boys time, i use vim as my main text editor both to play around in linux and to write code
i use [AtroVim](https://astronvim.com/) setup, its a very IDE like setup and you can go much more minimalistic if you need to.
That being said i am constantly hopping among major neovim configs so this might very well change in the future.
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)
- macro changes
- lazygit
- other stuff I'm too lazy to remember
2024-02-14 19:25:43 +00:00
## Calendar: calcurse
2024-02-14 19:04:32 +00:00
[calcurse](https://calcurse.org/) is a calendar and scheduling application. Terminal based, uses vim bindings, thats it.
2024-02-14 19:25:43 +00:00
## RSS reader: newsboat
[newsboat](https://newsboat.org) is an RSS/Atom feed reader for the terminal. Super easy to setup and use, uses vim bindings.\
[Here](https://github.com/filippo-ferrari/voidrice/blob/master/.config/newsboat/urls) are the things i follow as of right now.
2024-02-14 19:04:32 +00:00
2024-02-14 19:25:43 +00:00
## Browser: Librewolf
2024-02-14 19:04:32 +00:00
[Librewolf](https://librewolf.net/) is a custom and independent version of Firefox, with the primary goals of privacy, security and user freedom.
2024-02-14 19:25:43 +00:00
## Audio: puslemixer
2024-02-14 19:04:32 +00:00
[Pulsemixer](https://pypi.org/project/pulsemixer/) is a self-sufficient single-file python app that doesn't require any extra libraries. A great CLI mixer.
2024-02-14 19:25:43 +00:00
## logseq
2024-02-14 19:04:32 +00:00
[logseq](https://logseq.com/) is an open-source note taking application that i enjoy using (mainly at work), it supports markdown, tasks management, whiteboards and PDFs annotations.
2024-02-14 19:25:43 +00:00
## Network Manager: nmtui
2024-02-14 19:04:32 +00:00
A text based network interface for NetworkManager, easy to use, configure and modify.
2024-02-14 19:25:43 +00:00
## SWAG: neofetch
2024-02-14 19:04:32 +00:00
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 (rightfully so)