GithubHelp home page GithubHelp logo

yeuxacucodon / dotfiles Goto Github PK

View Code? Open in Web Editor NEW
41.0 1.0 4.0 21.8 MB

❄️ NixOS configuration for developer.

License: MIT License

Shell 10.94% Makefile 0.59% Nix 88.47%
dotfiles linux linux-customization linux-dotfiles

dotfiles's Introduction

❄️ Dotfiles ❄️

A Flake-powered NixOS setup for Developers with Hyprland

Table of Contents

Introduction

Welcome to my haven of personalized NixOS bliss, featuring the sleek Hyprland window manager and meticulously configured CLI tools! This repository crafts a delightful system experience using the power of flakes and home-manager. With this configuration, you can easily replicate my personalized development environment on any NixOS machine.

What Awaits You?

  • Flake Repository: Leverage flakes for a future-proof, modular, and collaborative configuration.
  • Modular Design: Configuration is organized into modules for easier management and customization.
  • CLI Command Central: Enjoy a meticulously configured suite of command-line tools for a productive workflow.
  • Home-Manager Integration: Manage user-specific packages and configurations with ease.
  • Hyprland WM: Embrace the efficient and aesthetically pleasing Hyprland window manager.
  • Performance Optimization: Optimized resource utilization, finely tuned configurations, and streamlined workflows ensure that your NixOS environment delivers unparalleled performance, enabling you to accomplish more with less, without compromising on speed, responsiveness, or stability.

Getting Started

This guide outlines the steps to set up your personalized NixOS environment using this dotfiles repository.

Prerequisites:

  • Nix Installed: Ensure you have Nix installed on your system. Refer to the official documentation for installation instructions: https://nixos.org/download/
  • Git Installed: You'll need Git to clone the repository.
  • Flakes Enabled: NixOS uses flakes as an experimental feature, you should enable it manually.

Deployment steps:

  1. Taking ownership

Before cloning the repository, ensure your user has ownership of the /etc/nixos directory. Run the following command, replacing username with your actual username:

sudo chown username:users /etc/nixos
  1. Clone the repository

Get started by cloning this repository into the /etc/nixos directory. This command pulls down the configuration files:

git clone https://github.com/2giosangmitom/dotfiles.git /etc/nixos
  1. Unleash Your Customization Power!

This configuration lays a robust groundwork for your customized NixOS environment. Dive in and tailor it to suit your unique requirements! With an array of customization options at your disposal, you have the power to shape this configuration into a dynamic and personalized NixOS environment that aligns perfectly with your workflow and preferences. Embrace experimentation and unleash your creativity to make it truly your own!

Configuration Breakdown:

  • Home Manager:

    • User-specific packages and configurations reside within the ./home directory. This includes Hyprland, CLI tools configuration files for a seamless setup.
    • ./home/default.nix: This file acts as the entry point for your home manager configuration.
  • Modules:

    • Shared NixOS configurations that multiple configurations rely on are organized within the ./modules directory. This promotes reusability and reduces redundancy.
  • Multi-Machine Management:

    • Manage configurations across different hardware setups using the ./hosts directory.
    • To generate the hardware-configuration.nix file for a specific machine, simply run the following command in your terminal:
      nixos-generate-config
  1. Rebuild (Applying Changes)

After making customizations to your configuration, run the following command to rebuild your NixOS system and apply the changes:

sudo nixos-rebuild switch

Essential NixOS Commands

This table summarizes some helpful NixOS commands you can run from the root directory of your terminal:

Command Description
make up Updates the system by installing new packages.
make gc Collects Nix garbage, which removes unused Nix expressions and old generations of your NixOS system. This helps to free up disk space.
make history Displays a history of your NixOS generations, allowing you to view and potentially roll back to previous configurations.
make rebuild Rebuilds your entire NixOS system based on your current configuration. This is necessary after making changes to your configuration files.

Screenshots

Hyprland
Rofi

Community Resources

Contributing

Contributions are welcome! If you have any suggestions, improvements, or new features to add, feel free to open an issue or pull request.

Acknowledgements

Special thanks to the NixOS community for their excellent tools and resources, without which this configuration wouldn't be possible.


Happy hacking! 🚀

dotfiles's People

Contributors

2giosangmitom avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.