Code Monkey home page Code Monkey logo

home-manager-config's Introduction

Personal Home Manager Config

⚠️ Archive Notice ⚠️

This repo is obsolete, all home-manager configurations are now part of my nixos-config flake.

Usage as NixOS Module

inputs.home-manager-config = {
  url = "github:lwndhrst/home-manager-config";
  inputs.nixpkgs.follows = "nixpkgs";
};
# ...

lib.nixosSystem {
  inherit lib pkgs system;

  specialArgs = {
    inherit user;
  };

  modules = [
    ./configuration.nix

    # Home config from home-manager-config flake
    home-manager-config.nixosModules.desktop;
  ];
};

# ...

Setup for non-NixOS Systems

  1. Install nix via the Determinate Nix Installer.

    curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install linux --init none

    Note: you may need to install a few extra packages, such as curl or git.

  2. Initial setup of Home Manager with Flakes.

    git clone https://github.com/lwndhrst/home-manager-config ~/.config/home-manager
    nix run home-manager/master -- switch
  3. Update as follows:

    nix flake update && home-manager switch

Get OpenGL and Vulkan to work on non-NixOS Systems with nixGL

Invoke OpenGL/Vulkan programs by prefixing the appropriate wrapper:

  • nixGLIntel <program> <args>
  • nixGLMesa <program> <args>
  • nixGLNvidia <program> <args>
  • nixVulkanIntel <program> <args>
  • nixVulkanMesa <program> <args>
  • nixVulkanNvidia <program> <args>
# devShell config for nix develop
{
  inputs = {
    nixpkgs = {
      url = "github:nixos/nixpkgs/nixos-unstable";
    };

    nixgl = {
      url = "github:guibou/nixGL";
    };
  };

  outputs = { self, nixpkgs, nixgl }:
    let
      system = "x86_64-linux";
      pkgs = import nixpkgs {
        inherit system;
        overlays = [
          nixgl.overlays.default
        ];
      };

    in {
      devShell.${system} = pkgs.mkShell {
        packages = with pkgs; [
          mesa-demos
          pkgs.nixgl.nixGLMesa
        ];

        LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [
          xorg.libX11
        ];
      };
    };
}

Misc

  • For removing Windows PATH and disabling execution of Windows binaries on WSL add the following to /etc/wsl.conf:

    [interop]
    enabled = false
    appendWindowsPath = false
    

    Note: requires restart of WSL: wsl --shutdown.

  • Set zsh as default shell by first adding its absolute path to /etc/shells and then running chsh

    /home/<user>/.nix-profile/bin/zsh
    
    chsh -s /home/<user>/.nix-profile/bin/zsh

home-manager-config's People

Contributors

lwndhrst 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.