content/blog/2022-06-24-fedora-i3.org

0b2895a90c7751ce06e4b26d4db41005ea2f40a9
cleberg.net/content/blog/2022-06-24-fedora-i3.org rendered · source · history · blame · raw

157 lines · 5352 bytes

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