Coder Social home page Coder Social logo

nixypanda / dotfiles Goto Github PK

View Code? Open in Web Editor NEW
170.0 4.0 11.0 47.77 MB

My dotfiles + system configuration for NixOS and mac

License: MIT License

Nix 36.87% Shell 2.99% Python 6.41% Haskell 7.05% Lua 19.18% CSS 3.91% SCSS 3.19% Nushell 19.90% Nu 0.49%

dotfiles's Introduction

dotfiles

Here lies the dotfiles crafted with much care

Configuration

A glance at what is present in this lair.

Name What I am using (NixOS) What I am using (Mac)
OS NixOS macOS
Terminal Emulator Kitty Kitty
Shell Nu Shell Nu Shell
Font Hack Nerd Font Mono Hack Nerd Font Mono
Editor Neovim Neovim
XMonad,
Taffybar,
picom,
Desktop Environment betterlockscreen Whatever comes with Mac
rofi,
deadd,
eww,
etc
Browser Firefox Firefox
User environment manager Home Manager Home Manager

Well these look different from normal dotfiles mate

Ok so I am one of those people who are all in on the "nix hype train". That is why this might look unfamiliar to someone who does not know what nix is.

Nix is a philosophy, a programming language, a package manager and an OS. All this culminates in a unique approach to package management and system configuration. The end result is reproducible, declarative and reliable systems.

Think of it like git but for your system, package management, etc. :mind_blown:

Color me interested! Where can I know more?

Now if you are still with me and want to know more about it. Here are a few helpful links that you can visit to know more about it.

  • Watch first 6 minutes of this video to get a gist of nix package management and how it's different from standard package management and then building on that what is NixOS)
  • If the previous video peeks your curiosity then I recommend looking at this to get a deeper understanding
  • Finally, if you decide that this is something you want for yourself. Then this brilliant playlist might just be the perfect place to start.

Note: This distro of Linux is quite different from others, so please do spend some time with it.

Setup

Here is a walkthrough of what are the steps one need to take to get this config or parts of it setup on any system.

User config setup

Requirements

  • nix with flake support is available

Steps

  • Get contents of this repo onto your system to ~/.dotfiles
  • cd into ~/.dotfiles
  • Execute: nix run home-manager --no-write-lock-file -- switch --flake "./#nixos"

Full Setup of NixOS (first time)

Requirements

  • Some way to install NixOS
  • Ability to connect to the internet
  • Boot drive with label NIXBOOT
  • Root drive where the OS will go NIXROOT
  • Swap partition NIXSWAP

Steps

  • Install NixOS
    • Make sure you have a way to get this repo. curl, git, etc.
    • Make sure you enable internet
  • Get contents of this repo onto your system to ~/.dotfiles
  • cd into ~/.dotfiles
  • Execute: sudo nixos-rebuild switch --flake './#nixos'
  • Execute: nix run home-manager --no-write-lock-file -- switch --flake "./#nixos"

Caveat

I make use of git-crypt on files in the .secrets folder. If you plan to use these dotfiles then you will either have to replace those files with what you need or remove references to these files from the codebase.

Code Structure

  • The top level folder is a flake
  • After that it's just a matter of following the code really. So just open that flake.nix file and start reading it from the top.

Here are a few screenshots to showcase this config in action

Tokyonight

System Info Widgets App-Launcher Ricing Locked

Click to see more screenshots from the past

Dracula

System Info Wall App-Launcher Ricing Locked

Onedark

System Info Wall App-Launcher Ricing Locked

dotfiles's People

Contributors

nixypanda 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dotfiles's Issues

error: attribute 'colorscheme' missing

Dear @sherubthakur ,
thank you for your wonderful work.

Recently I meet below error, could you please guide me how to fix it ?

alienzj@yoga ~/.dotfiles (nixos)> sudo nixos-rebuild switch --flake './#yoga' -p XFLAKE
warning: input 'nur' has an override for a non-existent input 'nixpkgs'
error: attribute 'colorscheme' missing

       at /nix/store/8x9s4zv7dzmwxmm8lhsxk3nf8lxlh52q-source/lib/modules.nix:503:28:

          502|         builtins.addErrorContext (context name)
          503|           (args.${name} or config._module.args.${name})
             |                            ^
          504|       ) (lib.functionArgs f);
(use '--show-trace' to show detailed location information)

Getting the HEAD of the Git tree failed

Hey Sharub,

I just tried running nix run home-manager --no-write-lock-file -- switch --flake "./#nixos" but it gives an error

error: getting the HEAD of the Git tree '/home/kavija/.dotfiles' failed with exit code 1:
error: executing 'git' : No such file or directory

I'm new to NixOS. Is there a way to fix this ?

Licensing

Please add a license to allow others to use, modify, contribute and distribute your work.

xmonad and xrdp

Dear @sherubthakur ,
may I know how to config xmonad and xrdp?
Follow the wiki here https://nixos.wiki/wiki/Remote_Desktop#RDP:
What I configured is like below:

  services.xrdp.enable = true;
  #services.xrdp.defaultWindowManager = "xmonad";
  services.xrdp.defaultWindowManager = "$HOME/.hm-xsession";
  networking.firewall.allowedTCPPorts = [ 3389 ];
  # Soon: services.xrdp.openFirewall = true;

  environment.systemPackages = with pkgs; [
    freerdp 
    remmina
  ];

But seems it doesn't works.

image

Could you please help me?

Thanks a lot!

Relative path issue?

Hi, first thanks for the awesome work.

When I run:
nix run home-manager --no-write-lock-file -- switch --flake "./#nixos"

on a fresh nixos vm i get the following error:

error: cannot fetch input 'path:./modules/nvim/plugins?lastModified=1&narHash=sha256-fNqrdC%2fB7x6C5zDxkhC32vr3W8wwzSKMeFltaRIMqbE=' because it uses a relative path
(use '--show-trace' to show detailed location information)

Would you have any advice on how i can fix this? I am still a beginner when it comes to nixos

Thanks in advance!

Xmonad windows overlapped with taffybar

scrot_2022-09-14-220918

Dear @sherubthakur ,

As the title says, I meet a problem that xmonad windows overlapped with taffybar,
could you please guide me on how to fix it?

Here is screen information:

❯ xrandr
Screen 0: minimum 320 x 200, current 2880 x 1800, maximum 16384 x 16384
eDP connected primary 2880x1800+0+0 (normal left inverted right x axis y axis) 302mm x 188mm
   2880x1800     90.00*+
   1920x1200     90.00  
   1920x1080     90.00  
   1600x1200     90.00  
   1680x1050     90.00  
   1280x1024     90.00  
   1440x900      90.00  
   1280x800      90.00  
   1280x720      90.00  
   1024x768      90.00  
   800x600       90.00  
   640x480       90.00  
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)

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.