My NixOS Dotfiles Explained

In this post, we will just go over the basics of how we can configure our setup using a git repo, nix flakes and home-manager. I will go over how I structured my nix config. Not an in-depth tutorial Note this will not be an in-depth guide into NixOS/Home Manager itself. That could well be a series on its own. We will just go over the main ways I configure NixOS/Nix and why I do it the way I do. ...

Part 1: NixOS as part of your Development Workflow

Introduction Dev Machine My main machine for development at the moment is a 12th Generation Intel Framework Laptop. This series has been inspired by Dev Workflow Intro by Josh Medeski. In this series of posts, I will go over how I have set up my developer workflow and explain why I have made certain decisions and why I use certain tools. This series aim to make it less daunting for you to start your journey on improving your developer workflow. ...

My Dotfiles III

My latest iteration of my dotfiles, where I am now using a Laptop as my main development machine (Framework). I’m also using Hyprland as my window manager. Most importantly using NixOS and home-manager to declaratively define the state of my machine i.e. what packages to install, dotfiles. CURRENTLY A WIP 🏠 My dotfiles repo, setup using nixos/home-manager Install 🔥 I wouldn’t recommend just blinding using my dotfiles. They are setup for my specific use-case. ...

Setting Up Tmux With Nix Home Manager

Introduction In this post I will show you how you can setup tmux (plugins) using the nix package manager, specifically using home-manager. I will also show you how you can avoid an issue I encountered where tmux resurrect wasn’t working properly due to plugin ordering. Typically we use the tmux plugin manager to manage our tmux plugins. However, when I moved to NixOS, I wanted to move away from having lots of different ways of managing what is on my system. ...

My Dotfiles II

I know I recently made a post about my dotfiles but I’ve made a few changes since then, so here are my updated dotfiles. out of date These dotfiles are out of date check out my updated ones here System Overview OS: Arch Linux DE: Gnome Shell: Fish Prompt: Starship Terminal: Alacritty Editor: Neovim (using LazyVim config) Colorscheme: Catppuccin for EVERYTHING!!! Fonts: Mono Lisa Extensions I use the following Gnome extension. ...

My Development Workflow With Alacritty Fish Tmux Nvim

Workflows Change This post is accurate as of date of publish. But likely will go stale, if I update my workflows I will likely publish another post. In this blog post, I will go over my current development workflow using the above tools namely, fish shell tmux and neovim. I’ll be using the dotfiles found here. I aim to move away from using my mouse as much as possible as it just slows me down when my hands are away from my keyboard. ...

My Dotfiles

This post is a quick introduction to dotfiles, accurate as of 25th of April 2023. out of date These dotfiles are out of date check out my updated ones here Dotfiles 🏠 My dotfiles setup using Dotbot. Install 🔥 I wouldn’t recommend just blinding using my dotfiles. They are setup for my specific use-case. I think you’re better picking and choosing what you like 😄. git clone git@github.com:hmajid2301/dotfiles.git cd dotfiles make install profile=arch System Overview OS: Arch Linux DE: Gnome Shell: Fish Prompt: Starship Terminal: Alacritty Editor: Neovim (using astronvim config) Colorscheme: Dracula Icons: Tela-circle-dracula-dark Fonts: Mono Lisa Extensions I use the following Gnome extension. ...

How to use DotBot to personalise your VSCode Devcontainers

Devcontainers This article assumes you are already familiar with dev containers. You can read more about devcontainers here. In this article, we will go over how you can personalise your dev containers. Devcontainers allow us to create consistent development environments. One of the main advantages of dev containers is we can provide a “one button” setup for new developers. We do this by using a container (Docker), and we end up developing inside a container. ...

Using Dotbot with plugins

Previous article This article assumes you are familiar with dotfiles and Dobot. If you want to know more about Dotbot click here In this article I will show you how you can use Dotbot plugins. We can use Dotbot plugins to run new directives such as apt. So we can use the apt package manager, so install packages. Tip One useful use case is when we setup on a new system we may want to make we have some packages installed like vim or make. ...

How to Manage your Dotfiles with DotBot across Devices

Previous article This article assumes you are familiar with dotfiles and Dobot. If you want to know more about Dotbot click here If you are like me you have devices, such as personal desktop and a work laptop. These devices share some dotfiles but also have specific program and applications. For example: Personal Desktop: Linux Work Laptop: Windows (WSL) On Linux I use alacritty and in Windows I use Windows terminal I could copy all my dotfiles over and not worry about which programs exist on which systems. ...

How to Manage Your Dotfiles With Dotbot

If you’re like me you find yourself moving between multiple systems. Whether that be between my personal desktop and my work laptop or distro hopping on Linux. See relevant meme below: What are dotfiles? Many tools/program store their configuration files as files on your machine. On Linux you will often find these in ~/.config directory. Some common examples of dotfiles: - .vimrc - .bashrc - .gitconfig I wanted to find an easy way to manage my dotfiles and share them between mutiple systems. ...