Skip to content

channel-42/gentoo

Repository files navigation

Gentoo Dotfiles

desktop screenshot These are the dotfiles, config-files and scripts of my gentoo box.

Contents

  1. Goal
  2. General setup
  3. nvim
  4. Browser
  5. Theme and colors
  6. Scripts

Goal

The main goal of this setup is to have a minimal, distraction-free, but still pleasant-looking working environment for daily computer usage (coding and scripting, web-browsing, chatting, etc.).

Why gentoo?

In short, there are two reasons why I'm using gentoo for this setup:

  1. It somewhat forces me not to install non-minimal programmes and/or a lot of packages in general, since it would take a long time to compile
  2. I wanted to try out gentoo

General setup

Here's an overview an overview of the software I use:

Category Name
wm dwm
bar dwm / slstatus
terminal alacritty
shell zsh w/ oh-my-zsh
compositor picom
text Editor nvim
file browser ranger
browser librewolf
music player ncmpcpp
pdf-viewer zathura
launcher dmenu

nvim

vim example

After using vim for quite some time, I recently switched to nvim and ported (and also de-cluttered) my config. The config is still a WIP and some features, like LaTeX support, are still missing.

My nvim config includes the following:

  • lsp-completion
  • lsp-syntax checking
  • enhanced lsp-syntax highlighting (treesitter)
  • snippets
  • easier nav-bindings for jumping buffers
  • some visual enhancements

If you want to learn more about my nvim setup, check out my blog post.

Browser

Librewolf offers good privacy defaults and uses firefox as it's base, so it was easy to port my existing config.

I use these plugins:

  • ublock (included by default), webRTC-leak-blocker enabled!
  • user-agent spoofer
  • https-everywhere (technically not needed)
  • darkreader
  • keepassxc extension

Kernel

kernel pic The kernel-config included in this repo is tailored to my hardware, so I wouldn't recommend using it without some tweaking. In general this kernel includes the following:

  • amd cpu (ryzen) support w/ microcode
  • nvidia drm drivers (not nouveau)
  • nvme-ssd support
  • audio over usb
  • lz4 kernel compression

And some other hardware specific modules found by running lspci -k | grep use. The initramfs is generated with genkernel.

Theme and colors

Dracula

The system's theme is dracula with some modified colors (mainly the background) to bring out the purple shades of the palette. Purple colorschemes fit gentoo systems well in my opinion. Here's how it looks in nvim:

another screenshot

Librewolf

My librewolf is styled using a custom userChrome.css, which is based on this great repo. I changed the colors to match the dracula system theme. As a startpage, I use a simple website that I wrote myself (see .config/startpage/).

librewolf screenshot

Scripts

Most scripts are used in nvim as bindings (e.g. to compile a file), but there are also other scripts used for "quality of life" improvements.

  • bra: "brightness adjust" through xrandr
  • wpp: wallpaper setter (different methods)
  • wled: control wled led strips -> will soon be deprecated for wlc
  • manmenu: search man pages with dmenu
  • emoji.sh: search emojis and copy them to the clipboard with dmenu
  • palette.sh: show a pretty color palette

nvim scripts

  • compiler.sh: autocompile files
  • opout.sh: open a compiled file
  • texclear.sh: clean LaTeX compile files
  • make.sh: find a makefile in higher dirs and make