My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
Go to file
Donovan Glover 75de75a6ca
meta: Change repository name from .files to dotfiles
It turns out that using a literal dot instead of the word dotfiles has a
negative impact on the discoverability of the repository. Since the
directory name can be changed to .files when running `git clone`, this
gives us the freedom to name the repository however we please.
2018-12-28 14:00:25 -05:00
.archlinux meta: Change repository name from .files to dotfiles 2018-12-28 14:00:25 -05:00
.fedora fedora: Update path to color scripts 2018-12-08 11:09:23 -05:00
bspwm bspwm: Run xeventbind in the background if found 2018-12-22 17:04:01 -05:00
code docs: Add Code screenshot 2018-12-15 20:04:05 -05:00
compton compton: Add custom shadow settings 2018-12-08 01:02:09 -05:00
dunst wal: Modularize done.sh 2018-11-19 20:12:22 -05:00
editorconfig docs: Update READMEs for code, editorconfig, and gpg 2018-11-19 22:50:09 -05:00
feh docs: Add READMEs for feh, httpie, and yay 2018-11-18 14:05:12 -05:00
fish meta: Add git tag information to fish prompt 2018-12-17 15:45:39 -05:00
git misc: Small fixes 2018-11-28 23:04:00 -05:00
gnome meta: Add GNOME package 2018-11-25 22:10:35 -05:00
gpg misc: Update wording 2018-11-27 19:02:23 -05:00
gtk gtk: Fix order of settings.ini 2018-12-09 15:39:54 -05:00
httpie httpie: Update version number 2018-12-17 15:37:41 -05:00
kdeglobals meta: Add kdeglobals package 2018-12-11 17:09:49 -05:00
kitty kitty: Decrease window margin width 2018-12-06 01:52:45 -05:00
mpd docs: Add READMEs for mpd, mpv, and sxhkd 2018-11-18 14:34:41 -05:00
mpv docs: Add READMEs for mpd, mpv, and sxhkd 2018-11-18 14:34:41 -05:00
ncmpcpp docs: Add READMEs for ncmpcpp, ranger, and rofi 2018-11-18 17:06:18 -05:00
neofetch neofetch: Remove image size 2018-11-30 18:51:28 -05:00
neovim stow: Split neovim into separate package 2018-11-23 01:47:39 -05:00
polybar polybar: Switch label-mode with label-state 2018-12-12 05:25:32 -05:00
ranger meta: Remove launch dependency 2018-12-01 18:18:44 -05:00
rofi rofi: Launch programs with DPI-based cursor size 2018-12-22 15:43:01 -05:00
rtv docs: Add READMEs for bspwm, polybar, and rtv 2018-11-18 15:20:14 -05:00
ssh-agent docs: Update READMEs for ssh-agent, vim, and xmodmap 2018-11-23 00:27:58 -05:00
sxhkd misc: Fix spacing 2018-12-17 23:07:29 -05:00
tig meta: Add tig package 2018-12-06 01:42:53 -05:00
tmux docs: Update READMEs for fish, git, and tmux 2018-11-19 22:00:35 -05:00
vim misc: Update docs 2018-12-04 15:11:41 -05:00
wal wal: Modularize done.sh 2018-11-19 20:12:22 -05:00
xcursor docs: Add READMEs for kitty, xcursor, and xinit 2018-11-18 20:57:03 -05:00
xeventbind xeventbind: Set a default Xft.dpi if none is found 2018-12-22 16:37:05 -05:00
xinit docs: Add READMEs for kitty, xcursor, and xinit 2018-11-18 20:57:03 -05:00
xmodmap docs: Update READMEs for ssh-agent, vim, and xmodmap 2018-11-23 00:27:58 -05:00
xresources xresources: Don't explicitly set DPI 2018-12-22 16:26:27 -05:00
yay docs: Add READMEs for feh, httpie, and yay 2018-11-18 14:05:12 -05:00
yt-dl docs: Add READMEs for gtk, wal, xresources, and yt-dl 2018-11-19 17:50:47 -05:00
zathura docs: Add READMEs for compton, dunst, and zathura 2018-11-18 13:27:37 -05:00
.editorconfig meta: Add symlink to .editorconfig 2018-12-07 19:25:12 -05:00
.gitattributes gitattributes: Update path to PKGBUILDs 2018-11-14 14:53:00 -05:00
.gitignore misc: Add aur build directory to .gitignore 2018-12-07 15:26:05 -05:00
CHANGELOG.md meta: Change repository name from .files to dotfiles 2018-12-28 14:00:25 -05:00
CONTRIBUTING.md misc: Small fixes 2018-12-07 18:47:38 -05:00
LICENSE Relicense under MIT 2018-08-16 17:21:15 -04:00
Makefile misc: Update wording 2018-11-27 19:02:23 -05:00
README.md docs: Add Code screenshot 2018-12-15 20:04:05 -05:00

~/.files

Screenshot of Tari, my Arch Linux setup.

Screenshot of Tari with Code and the wal color scheme.

What is an operating system?

An operating system is a collection of software. Every operating system builds off of the work of many other individuals and their respective creations (the "software"). This is how systems work, and is not unique to operating systems nor computing itself.

GNU/Linux is a collection of software that most modern free operating systems use. Note that a significant amount of non-GNU/Linux software, such as systemd, Xorg, and other software, is used to make a complete GNU/Linux distribution.

Usage

Replicate my Arch Linux setup

Note that if you already have an Arch Linux install and just want my look, you can simply install the necessary software and use my dotfiles with them.

On a fresh Arch Linux install, run the bootstrap script.

git clone https://github.com/GloverDonovan/.files --depth 1 && ./.files/.archlinux/bootstrap.sh

Note

: My install scripts may be of use to you, but remember to add what you need and change what you don't want as needed.

Replicate my Fedora setup

On a fresh Fedora install, run the bootstrap script.

git clone https://github.com/GloverDonovan/.files --depth 1 && ./.files/.fedora/bootstrap.sh

Note

: If you just want my Fedora look, run the make rice target instead.

Use only the dotfiles you want

Method 1. With stow

First, install stow with your package manager. Then, run the following:

make package=kitty

This will symlink my kitty config to your $XDG_CONFIG_HOME. If you want to install a different package, simply replace kitty with the name of the directory you wish to get dotfiles from.

Since stow will only change what it owns, you do not have to worry about any of your existing dotfiles being changed when you use this method.

To uninstall packages, simply use:

make uninstall package=kitty

This will remove the symlink to my kitty config. If you have other kitty files, stow will not remove them, since stow only changes what it owns.

Method 2. Manually

If you already have dotfiles and want to improve them, you can use this repository as a guide. If you find something that makes your dotfiles better, you're free to use it.

If you don't want to use stow, you can simply copy/paste the dotfiles you want to their relevant directories.

Making changes

To change the settings used by a certain program, simply edit the necessary dotfiles for that program.

Arch Linux

To change how the Arch Linux installation process works, simply edit the files in .archlinux before you run bootstrap.sh.

If you want to use Tari but don't want to use all the packages, simply remove the lines of packages that you don't need in the PKGBUILD before installing it.

Fedora

To change how the Fedora installation process works, simply edit the files in .fedora before you run bootstrap.sh.

Updating

To update your system with any changes I make, you must first verify that the changes I made are actually changes you want. Eventually I want to consider my dotfiles "stable" (i.e. 1.0.0, 2.0.0, etc.) in which only major version upgrades would significantly alter existing functionality, but right now this simply isn't the case.

Once you've verified that you indeed want my changes, update your local copy of the repository like so:

git pull

If you don't want changes straight from master, and instead want to update incrementally, checkout the version tag you want, like so:

git checkout 0.2.0

If you used the stow method, all of the dotfiles that you use from me will already be updated; you do not have to do anything else. If git tells you that there are conflicts, you probably want to rebase your changes on top of mine, or consider making your own version of those files instead.

Downgrading

If for some reason you updated by accident and want existing functionality back, you can simply checkout a previous version or commit.

For example, if your configuration was last known to work at commit a1b2c3d, you would use:

git checkout a1b2c3d