Added NixOS configs
This commit is contained in:
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "Packages/scripts"]
|
||||
path = Packages/scripts
|
||||
url = https://github.com/idcretard/custom-scripts
|
30
Hardware/boot.nix
Normal file
30
Hardware/boot.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot = {
|
||||
initrd={
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
extraModulePackages = [ ];
|
||||
loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot/efi";
|
||||
};
|
||||
grub = {
|
||||
enable = true;
|
||||
useOSProber = true;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
splashImage = "/etc/cirno.png"; #hehe
|
||||
splashMode = "stretch";
|
||||
configurationName = "nixbruh";
|
||||
};
|
||||
};
|
||||
kernelParams = [ "nvidia-drm.modeset=1" "intel_pstate=active"];
|
||||
};
|
||||
}
|
30
Hardware/graphicshit.nix
Normal file
30
Hardware/graphicshit.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
let
|
||||
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
|
||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
||||
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
|
||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||
export __VK_LAYER_NV_optimus=NVIDIA_only
|
||||
exec -a "$0" "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvidia-offload
|
||||
];
|
||||
hardware = {
|
||||
opengl = {
|
||||
driSupport32Bit = true;
|
||||
#package = pkgs.mesa_drivers;
|
||||
enable = true;
|
||||
};
|
||||
nvidia = {
|
||||
prime = {
|
||||
offload = { enable = true; };
|
||||
intelBusId = "PCI:0:2:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
modesetting = { enable = true; };
|
||||
};
|
||||
};
|
||||
}
|
7
Hardware/power.nix
Normal file
7
Hardware/power.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
powerManagement = {
|
||||
cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
};
|
||||
}
|
26
Hardware/xorg.nix
Normal file
26
Hardware/xorg.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
libinput= {
|
||||
enable = true;
|
||||
mouse = {
|
||||
accelSpeed = "0";
|
||||
};
|
||||
touchpad = {
|
||||
middleEmulation = false;
|
||||
clickMethod = "buttonareas";
|
||||
tapping = true;
|
||||
naturalScrolling =true;
|
||||
};
|
||||
};
|
||||
displayManager = {startx = {enable = true; }; };
|
||||
videoDrivers = [ "nvidia" ];
|
||||
layout = "us";
|
||||
xkbVariant = "colemak";
|
||||
};
|
||||
};
|
||||
}
|
1462
Packages/colemak-dh.map
Normal file
1462
Packages/colemak-dh.map
Normal file
File diff suppressed because it is too large
Load Diff
17
Packages/customscripts.nix
Normal file
17
Packages/customscripts.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{lib,stdenv,fetchFromGitHub}:
|
||||
stdenv.mkDerivation rec{
|
||||
name = "customscripts";
|
||||
src = ./scripts;
|
||||
unpackPhase = ":";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -r $src/* $out/bin
|
||||
for x in $out/bin/*;do chmod +x "$x";done
|
||||
'';
|
||||
# src = fetchFromGitHub {
|
||||
# owner = "idcretard";
|
||||
# repo = "custom-scripts";
|
||||
# rev = "86eaba74a01c8bafd8c81885eddbe9cd6f381e64";
|
||||
# sha256 = "1g1z3mlp7h2ig1rmgabsbhcdnpgy65yki0dj3pr100jw202i6jqq";
|
||||
# };
|
||||
}
|
30
Packages/dmenu/config.def.h
Normal file
30
Packages/dmenu/config.def.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/* See LICENSE file for copyright and license details. */
|
||||
/* Default settings; can be overriden by command line. */
|
||||
|
||||
static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */
|
||||
static int centered = 1; /* -c option; centers dmenu on screen */
|
||||
static int min_width = 500; /* minimum width when centered */
|
||||
/* -fn option overrides fonts[0]; default X11 font or font set */
|
||||
static const char *fonts[] = {
|
||||
"Consolas:pixelsize=15"
|
||||
};
|
||||
static const char *prompt = NULL; /* -p option; prompt to the left of input field */
|
||||
static const char *colors[SchemeLast][2] = {
|
||||
/* fg bg */
|
||||
[SchemeNorm] = { "#bbbbbb", "#1d2021" },
|
||||
[SchemeSel] = { "#1d2021", "#ebdbb2" },
|
||||
// [SchemeSelHighlight] = { "#000080", "#ebdbb2" },
|
||||
// [SchemeNormHighlight] = { "#ffc978", "#1d2021" },
|
||||
[SchemeOut] = { "#000000", "#00ffff" },
|
||||
// Settings[SchemeOutHighlight] = { "#ffc978", "#00ffff" },
|
||||
};
|
||||
/* -l option; if nonzero, dmenu uses vertical list with given number of lines */
|
||||
static unsigned int lines = 0;
|
||||
|
||||
/*
|
||||
* Characters not considered part of a word while deleting words
|
||||
* for example: " /?\"&[]"
|
||||
*/
|
||||
static const char worddelimiters[] = " ";
|
||||
/* Size of the window border */
|
||||
static const unsigned int border_width = 4;
|
26
Packages/mpd_discord_richpresence.nix
Normal file
26
Packages/mpd_discord_richpresence.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{lib, stdenv, fetchFromGitHub, discord-rpc, cmake, libmpdclient}:
|
||||
with lib;
|
||||
stdenv.mkDerivation rec{
|
||||
name = "mpd_discord_richpresence";
|
||||
src = fetchFromGitHub {
|
||||
owner = "justas-d";
|
||||
repo = "mpd-rich-presence-discord";
|
||||
rev = "ced628d3eaf3f18c5eff286b0955c605616348ee";
|
||||
sha256 = "0vl31sdgxalbnc4d4fggzqs2vsssibn53pjm6wj596cfkfpdf4y3";
|
||||
};
|
||||
buildInputs = [
|
||||
libmpdclient
|
||||
cmake
|
||||
discord-rpc
|
||||
];
|
||||
configurePhase = ''
|
||||
cmake .
|
||||
'';
|
||||
buildPhase = ''
|
||||
make
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp mpd_discord_richpresence $out/bin/
|
||||
'';
|
||||
}
|
37
Packages/override.nix
Normal file
37
Packages/override.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
(callPackage ./customscripts.nix {})
|
||||
(callPackage ./mpd_discord_richpresence.nix {})
|
||||
(dwm.overrideAttrs (oldAttrs: rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "idcretard";
|
||||
repo = "dwm";
|
||||
rev = "363951cb05142f4c423af561a05658e74be7c768";
|
||||
sha256 ="003sl6w5dkycw8wcymvhi843xjngsys6qsl3fc5b9vpyd1l7i0sr";
|
||||
};
|
||||
}))
|
||||
(st.overrideAttrs (oldAttrs: rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "idcretard";
|
||||
repo = "st";
|
||||
rev = "0cd1e394e6d07c5f605ae23070c40de9690bafb1";
|
||||
sha256 = "0riqg63aghx71v3rrpic3mxhcxqhry20312bicwbf3ks7ndl13hi";
|
||||
};
|
||||
}))
|
||||
(dmenu.overrideAttrs (oldAttrs: rec {
|
||||
configFile = writeText "config.def.h" (builtins.readFile ./dmenu/config.def.h);
|
||||
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
|
||||
}))
|
||||
(kbd.overrideAttrs (oldAttrs: rec{
|
||||
buildInputs = oldAttrs.buildInputs ++ [ gzip ];
|
||||
colemak-dh = writeText "colemak-dh.map" (builtins.readFile ./colemak-dh.map);
|
||||
postInstall = "${oldAttrs.postInstall}\n cp ${colemak-dh} $out/share/keymaps/i386/colemak/colemak-dh.map\n gzip $out/share/keymaps/i386/colemak/colemak-dh.map";
|
||||
}))
|
||||
(ncmpcpp.overrideAttrs (_ :{
|
||||
visualizerSupport = true;
|
||||
clockSupport = true;
|
||||
}))
|
||||
];
|
||||
}
|
1
Packages/scripts
Submodule
1
Packages/scripts
Submodule
Submodule Packages/scripts added at 51197513c5
6
README.md
Normal file
6
README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Personal Dotfiles
|
||||
|
||||
## TODO
|
||||
1. Add user specific traditional dotfiles.
|
||||
2. Try home-manager for nix
|
||||
3. Try nix flakes
|
10
Stuff/fonts.nix
Normal file
10
Stuff/fonts.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts.fonts = with pkgs; [
|
||||
fira-mono
|
||||
font-awesome-ttf
|
||||
powerline-fonts
|
||||
vistafonts
|
||||
];
|
||||
}
|
22
Stuff/services.nix
Normal file
22
Stuff/services.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
systemd.services.nbfc = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Notebook Fancontrol";
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${pkgs.mono}/bin/mono-service -l:/run/nbfc.pid -m:NbfcService /opt/nbfc/NbfcService.exe";
|
||||
ExecStop = "kill -SIGTERM $(cat /run/nbfc.pid)";
|
||||
PIDFile = "/run/nbfc.pid";
|
||||
};
|
||||
};
|
||||
services.picom = {
|
||||
enable = true;
|
||||
fade = true;
|
||||
shadow = true;
|
||||
activeOpacity = 0.96;
|
||||
inactiveOpacity = 0.86;
|
||||
};
|
||||
}
|
28
Stuff/sound.nix
Normal file
28
Stuff/sound.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
#services.pipewire = {
|
||||
# enable = true;
|
||||
# pulse.enable = true;
|
||||
# config.pipewire = {
|
||||
# context.properties = {
|
||||
# default.clock.min-quantum = 8;
|
||||
# };
|
||||
#};
|
||||
# config.pipewire-pulse = {
|
||||
# context.modules = {
|
||||
# pulse.min.req = "4/48000"; # 0.08ms
|
||||
# pulse.min.quantum = "4/48000"; # 0.08ms
|
||||
#};
|
||||
#stream.properties = {
|
||||
# node.latency = "4/48000";
|
||||
# };
|
||||
#};
|
||||
#};
|
||||
sound.enable = true;
|
||||
hardware = {
|
||||
pulseaudio.enable = true;
|
||||
pulseaudio.support32Bit = true;
|
||||
};
|
||||
}
|
10
Stuff/users.nix
Normal file
10
Stuff/users.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
users.users.otaku619 = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.fish;
|
||||
home = "/home/otaku619";
|
||||
extraGroups = [ "wheel" "video" "audio" ];
|
||||
};
|
||||
}
|
12
configuration.nix
Normal file
12
configuration.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./hardware.nix
|
||||
./stuff.nix
|
||||
./pkgs.nix
|
||||
./networking.nix
|
||||
];
|
||||
system.stateVersion = "20.09";
|
||||
}
|
50
hardware.nix
Normal file
50
hardware.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
./Hardware/boot.nix
|
||||
./Hardware/power.nix
|
||||
./Hardware/xorg.nix
|
||||
./Hardware/graphicshit.nix
|
||||
];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" =
|
||||
{ device = "/dev/disk/by-uuid/58B1-4631";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/nvme0n1p6";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Stuff" =
|
||||
{ device = "/dev/sda2";
|
||||
fsType = "ntfs";
|
||||
options = ["uid=otaku619" "gid=users" "umask=0022" "rw"];
|
||||
};
|
||||
fileSystems."/mnt/Games" =
|
||||
{ device = "/dev/sda4";
|
||||
fsType = "ntfs";
|
||||
options = ["uid=otaku619" "gid=users" "umask=0022" "rw"];
|
||||
};
|
||||
fileSystems."/mnt/Extra" =
|
||||
{ device = "/dev/sda3";
|
||||
fsType = "ntfs";
|
||||
options = ["uid=otaku619" "gid=users" "umask=0022" "rw"];
|
||||
};
|
||||
fileSystems."/mnt/LinuxGames" =
|
||||
{ device = "/dev/sda5";
|
||||
fsType = "btrfs";
|
||||
options = ["rw"];
|
||||
};
|
||||
|
||||
swapDevices = [ {device = "/dev/nvme0n1p7";} ];
|
||||
}
|
13
networking.nix
Normal file
13
networking.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
hostName = "nixchod";
|
||||
wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
useDHCP = false;
|
||||
interfaces = {
|
||||
enp7s0.useDHCP = true;
|
||||
wlp0s20f3.useDHCP = true;
|
||||
};
|
||||
};
|
||||
}
|
47
pkgs.nix
Normal file
47
pkgs.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./Packages/override.nix
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
xclip
|
||||
dunst
|
||||
glibc
|
||||
proxychains
|
||||
#qt5.qmake
|
||||
xorg.xmodmap
|
||||
ffmpeg
|
||||
p7zip
|
||||
git
|
||||
glxinfo
|
||||
sox
|
||||
libmpdclient
|
||||
lxappearance
|
||||
jq
|
||||
mono
|
||||
vim
|
||||
mpd
|
||||
wineWowPackages.stable
|
||||
neofetch
|
||||
tor-browser-bundle-bin
|
||||
w3m
|
||||
gnumake
|
||||
pciutils
|
||||
jdk
|
||||
gcc
|
||||
ntfs3g
|
||||
python38
|
||||
luajit
|
||||
neovim
|
||||
htop
|
||||
nodejs
|
||||
wget
|
||||
ripgrep
|
||||
patchelf
|
||||
doas
|
||||
feh
|
||||
sxiv
|
||||
mpv
|
||||
];
|
||||
}
|
35
stuff.nix
Normal file
35
stuff.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./Stuff/sound.nix
|
||||
./Stuff/fonts.nix
|
||||
./Stuff/users.nix
|
||||
./Stuff/services.nix
|
||||
];
|
||||
time.timeZone = "Asia/Kolkata";
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
QT_QPA_PLATFORMTHEME = "gtk3";
|
||||
QT_X11_NO_MITSHM="1";
|
||||
};
|
||||
};
|
||||
security={
|
||||
sudo.enable = false;
|
||||
doas = {
|
||||
enable = true;
|
||||
extraRules = [
|
||||
{
|
||||
users = [ "otaku619" ];
|
||||
keepEnv = true;
|
||||
persist = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "20:15";
|
||||
};
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
programs.fish.enable = true;
|
||||
}
|
Reference in New Issue
Block a user