cmc/cleberg.net
My personal web garden & blog.
clone: git clone https://gitbay.org/cmc/cleberg.net.git
main: content/blog/2022-06-24-fedora-i3.org · raw
1#+date: [2022-06-24 Fri 00:00:00]
2#+title: Fedora and i3: Back on Linux
3#+description: Moving back to Linux: installing Fedora and setting up i3.
4#+slug: fedora-i3
5#+filetags: :linux:
6
7* Leaving macOS
8
9As I noted in a recent post, I have been planning on migrating from macOS back
10to a Linux-based operating system (OS). I am happy to say that I have finally
11completed my migration and am now stuck in the wonderful world of Linux again.
12
13My decision to leave macOS really came down to just a few important
14things:
15
16- Apple Security (Gatekeeper) restricting me from running any software I want.
17 Even if you disable Gatekeeper and allow software to bypass the rest of the
18 device installation security, you still have to repeat that process every time
19 the allowed software is updated.
20- macOS sends out nearly constant connections, pings, telemetry, etc. to a
21 myriad of mysterious Apple services. I'm not even going to dive into how many
22 macOS apps have constant telemetry on, as well.
23- Lastly, I just /really/ missed the customization and freedom that comes with
24 Linux. Being able to switch to entirely new kernel, OS, or desktop within
25 minutes is a freedom I took for granted when I switched to macOS.
26
27Now that I've covered macOS, I'm going to move on to more exciting topics: my
28personal choice of OS, desktop environment (DE), and various customizations I'm
29using.
30
31* Fedora
32
33After trying a ton of distributions (I think I booted and tested around 20-25
34distributions), I finally landed on [[https://getfedora.org/][Fedora Linux]]. I have quite a bit of experience
35with Fedora and enjoy the =dnf= package manager. Fedora allows me to keep
36up-to-date with recent software (I'm looking at you, Debian), but still provides
37a level of stability you don't find in every distribution.
38
39In a very close second place was Arch Linux, as well as its spin-off: Garuda
40Linux (Garuda w/ sway is /beautiful/). Arch is great for compatibility and the
41massive community it has, but I have just never had the time to properly sit
42down and learn the methodology behind their packaging systems.
43
44Basically, everything else I tested was unacceptable in at least one way or
45another. Void (=glibc=) was great, but doesn't support all the software I need.
46Slackware worked well as a text-based user interface (TUI), but I wasn't skilled
47enough to get a tiling window manager (WM) working on it.
48
49** i3
50
51One of the reasons I settled on Fedora is that it comes with an official i3
52spin. Being able to use a tiling WM, such as i3 or sway, is one of the biggest
53things I wanted to do as soon as I adopted Linux again.
54
55I will probably set up a dotfile repository soon, so that I don't lose any of my
56configurations, but nothing big has been configured thus far.
57
58The two main things I have updated in i3wm are natural scrolling and binding my
59brightness keys to the =brightnessctl= program.
60
611. Natural Scrolling
62
63 You can enable natural scrolling by opening the following file:
64
65 #+begin_src sh
66 sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf
67 #+end_src
68
69 Within the =40-libinput.conf= file, find the following input sections and
70 enable the natural scrolling option.
71
72 This is the =pointer= section:
73
74 #+begin_src conf
75 Section "InputClass"
76 Identifier "libinput pointer catchall"
77 MatchIsPointer "on"
78 MatchDevicePath "/dev/input/event*"
79 Driver "libinput"
80 Option "NaturalScrolling" "True"
81 EndSection
82 #+end_src
83
84 This is the =touchpad= section:
85
86 #+begin_src conf
87 Section "InputClass"
88 Identifier "libinput touchpad catchall"
89 MatchIsTouchpad "on"
90 MatchDevicePath "/dev/input/event*"
91 Driver "libinput"
92 Option "NaturalScrolling" "True"
93 EndSection
94 #+end_src
95
962. Enabling Brightness Keys
97
98 Likewise, enabling brightness key functionality is as simple as binding the
99 keys to the =brightnessctl= program.
100
101 To do this, open up your i3 configuration file. Mine is located here:
102
103 #+begin_src sh
104 nano /home/<my-user>/.config/i3/config
105 #+end_src
106
107 #+begin_src conf
108 # Use brightnessctl to adjust brightness.
109 bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl --min-val=2 -q set 3%-
110 bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl -q set 3%+
111 #+end_src
112
1133. =polybar=
114
115 Instead of using the default =i3status= bar, I have opted to use =polybar=
116 instead (as you can also see in the screenshot above).
117
118 My configuration for this menu bar is basically just the default settings
119 with modified colors and an added battery block to quickly show me the
120 machine's battery info.
121
1224. =alacritty=
123
124 Not much to say on this part yet, as I haven't configured it much, but I
125 installed =alacritty= as my default terminal, and I am using =zsh= and the
126 shell.
127
128* Software Choices
129
130Again, I'm not going to say much that I haven't said yet in other blog posts, so
131I'll just do a quick rundown of the apps I installed immediately after I set up
132the environment.
133
134Flatpak Apps:
135
136- Cryptomator
137- pCloud
138- Signal
139
140Fedora Packages:
141
142- gomuks
143- neomutt
144- neofetch
145- Firefox
146 - uBlock Origin
147 - Bitwarden
148 - Stylus
149 - Privacy Redirect
150
151Other:
152
153- exiftool