Restructuring
This commit is contained in:
		
							
								
								
									
										30
									
								
								Satori/Hardware/graphicshit.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Satori/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
									
								
								Satori/Hardware/power.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Satori/Hardware/power.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  powerManagement = {
 | 
			
		||||
    cpuFreqGovernor = lib.mkDefault "powersave";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								Satori/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Satori/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
Satori is my home laptop
 | 
			
		||||
							
								
								
									
										62
									
								
								Satori/Stuff/colemak-dh.xkb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								Satori/Stuff/colemak-dh.xkb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
			
		||||
xkb_keymap {
 | 
			
		||||
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
 | 
			
		||||
	xkb_types     { include "complete"	};
 | 
			
		||||
	xkb_compat    { include "complete"	};
 | 
			
		||||
	xkb_symbols   
 | 
			
		||||
  {
 | 
			
		||||
      include "pc+us(colemak)+inet(evdev)+terminate(ctrl_alt_bksp)"	
 | 
			
		||||
      key <TLDE> { [        grave,   asciitilde,      dead_tilde,       asciitilde ] };
 | 
			
		||||
    key <AE01> { [            1,       exclam,      exclamdown,      onesuperior ] };
 | 
			
		||||
    key <AE02> { [            2,           at,       masculine,      twosuperior ] };
 | 
			
		||||
    key <AE03> { [            3,   numbersign,     ordfeminine,    threesuperior ] };
 | 
			
		||||
    key <AE04> { [            4,       dollar,            cent,         sterling ] };
 | 
			
		||||
    key <AE05> { [            5,      percent,        EuroSign,              yen ] };
 | 
			
		||||
    key <AE06> { [            6,  asciicircum,         hstroke,          Hstroke ] };
 | 
			
		||||
    key <AE07> { [            7,    ampersand,             eth,              ETH ] };
 | 
			
		||||
    key <AE08> { [            8,     asterisk,           thorn,            THORN ] };
 | 
			
		||||
    key <AE09> { [            9,    parenleft,  leftsinglequotemark,  leftdoublequotemark ] };
 | 
			
		||||
    key <AE10> { [            0,   parenright, rightsinglequotemark,  rightdoublequotemark ] };
 | 
			
		||||
    key <AE11> { [        minus,   underscore,          endash,           emdash ] };
 | 
			
		||||
    key <AE12> { [        equal,         plus,        multiply,         division ] };
 | 
			
		||||
    key <AD01> { [            q,            Q,      adiaeresis,       Adiaeresis ] };
 | 
			
		||||
    key <AD02> { [            w,            W,           aring,            Aring ] };
 | 
			
		||||
    key <AD03> { [            f,            F,          atilde,           Atilde ] };
 | 
			
		||||
    key <AD04> { [            p,            P,          oslash,         Ooblique ] };
 | 
			
		||||
    key <AD05> { [            b,            B,      dead_breve,       asciitilde ] };
 | 
			
		||||
    key <AD06> { [            j,            J,         dstroke,          Dstroke ] };
 | 
			
		||||
    key <AD07> { [            l,            L,         lstroke,          Lstroke ] };
 | 
			
		||||
    key <AD08> { [            u,            U,          uacute,           Uacute ] };
 | 
			
		||||
    key <AD09> { [            y,            Y,      udiaeresis,       Udiaeresis ] };
 | 
			
		||||
    key <AD10> { [    semicolon,        colon,      odiaeresis,       Odiaeresis ] };
 | 
			
		||||
    key <AD11> { [  bracketleft,    braceleft,   guillemotleft,        0x1002039 ] };
 | 
			
		||||
    key <AD12> { [ bracketright,   braceright,  guillemotright,        0x100203a ] };
 | 
			
		||||
    key <BKSL> { [    backslash,          bar,      asciitilde,       asciitilde ] };
 | 
			
		||||
    key <AC01> { [            a,            A,          aacute,           Aacute ] };
 | 
			
		||||
    key <AC02> { [            r,            R,      dead_grave,       asciitilde ] };
 | 
			
		||||
    key <AC03> { [            s,            S,          ssharp,       asciitilde ] };
 | 
			
		||||
    key <AC04> { [            t,            T,      dead_acute, dead_doubleacute ] };
 | 
			
		||||
    key <AC05> { [            g,            G,     dead_ogonek,       asciitilde ] };
 | 
			
		||||
    key <AC06> { [            m,            M,     dead_macron,       asciitilde ] };
 | 
			
		||||
    key <AC07> { [            n,            N,          ntilde,           Ntilde ] };
 | 
			
		||||
    key <AC08> { [            e,            E,          eacute,           Eacute ] };
 | 
			
		||||
    key <AC09> { [            i,            I,          iacute,           Iacute ] };
 | 
			
		||||
    key <AC10> { [            o,            O,          oacute,           Oacute ] };
 | 
			
		||||
    key <AC11> { [   apostrophe,     quotedbl,          otilde,           Otilde ] };
 | 
			
		||||
    key <AB01> { [            z,            Z,              ae,               AE ] };
 | 
			
		||||
    key <AB02> { [            x,            X, dead_circumflex,       asciitilde ] };
 | 
			
		||||
    key <AB03> { [            c,            C,        ccedilla,         Ccedilla ] };
 | 
			
		||||
    key <AB04> { [            d,            D,  dead_diaeresis,       asciitilde ] };
 | 
			
		||||
    key <AB05> { [            v,            V,              oe,               OE ] };
 | 
			
		||||
    key <AB06> { [            k,            K,  dead_abovering,       asciitilde ] };
 | 
			
		||||
    key <AB07> { [            h,            H,      dead_caron,       asciitilde ] };
 | 
			
		||||
    key <AB08> { [        comma,         less,    dead_cedilla,       asciitilde ] };
 | 
			
		||||
    key <AB09> { [       period,      greater,   dead_abovedot,       asciitilde ] };
 | 
			
		||||
    key <AB10> { [        slash,     question,    questiondown,       asciitilde ] };
 | 
			
		||||
    key <CAPS> { [    Caps_Lock,    Caps_Lock,       Caps_Lock,        Caps_Lock ] };
 | 
			
		||||
    key <LSGT> { [        minus,   underscore,          endash,           emdash ] };
 | 
			
		||||
    key <SPCE> { [        space,        space,           space,     nobreakspace ] };
 | 
			
		||||
    include "level3(ralt_switch)"
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
	xkb_geometry  { include "pc(pc104)"	};
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										10
									
								
								Satori/Stuff/fonts.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Satori/Stuff/fonts.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  fonts.fonts = with pkgs; [
 | 
			
		||||
    fira-mono
 | 
			
		||||
    font-awesome-ttf
 | 
			
		||||
    powerline-fonts
 | 
			
		||||
    vistafonts
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								Satori/Stuff/services.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								Satori/Stuff/services.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
{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 = {
 | 
			
		||||
    tor.enable = true;
 | 
			
		||||
    logmein-hamachi.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 # services.picom = {
 | 
			
		||||
 #   enable = true;
 | 
			
		||||
 #   fade = true;
 | 
			
		||||
 #   shadow = true;
 | 
			
		||||
 #   activeOpacity = 0.96;
 | 
			
		||||
 #   inactiveOpacity = 0.86;
 | 
			
		||||
 # };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										33
									
								
								Satori/Stuff/sound.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Satori/Stuff/sound.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
{lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  services.pipewire = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    alsa = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      support32Bit = true;
 | 
			
		||||
    };
 | 
			
		||||
    pulse = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
    };
 | 
			
		||||
    config.pipewire = {
 | 
			
		||||
      context.properties = {
 | 
			
		||||
        default.clock.min-quantum = 8;
 | 
			
		||||
      };
 | 
			
		||||
    }; 
 | 
			
		||||
    config.pipewire-pulse = {
 | 
			
		||||
      context.modules = {
 | 
			
		||||
        pulse.min.req = "4/48000";           
 | 
			
		||||
        pulse.min.quantum = "4/24000";
 | 
			
		||||
      };
 | 
			
		||||
      stream.properties = {
 | 
			
		||||
        node.latency = "4/24000";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  sound.enable = true;
 | 
			
		||||
#  hardware = {
 | 
			
		||||
#    pulseaudio.enable = true;
 | 
			
		||||
#    pulseaudio.support32Bit = true;
 | 
			
		||||
#  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								Satori/Stuff/users.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Satori/Stuff/users.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  users.users.natto = {
 | 
			
		||||
    isNormalUser = true;
 | 
			
		||||
    shell = pkgs.fish;
 | 
			
		||||
    home = "/home/natto";
 | 
			
		||||
    extraGroups = [ "wheel" "video" "audio" ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										43
									
								
								Satori/Stuff/xorg.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								Satori/Stuff/xorg.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
 | 
			
		||||
#let
 | 
			
		||||
#  compiledLayout = pkgs.runCommand "keyboard-layout" {} ''
 | 
			
		||||
#    ${pkgs.xorg.xkbcomp}/bin/xkbcomp ${./colemak-dh.xkb} $out
 | 
			
		||||
#  '';
 | 
			
		||||
#in
 | 
			
		||||
{
 | 
			
		||||
  services = {
 | 
			
		||||
    xserver = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      libinput= {
 | 
			
		||||
        enable = true;
 | 
			
		||||
 #       mouse = {
 | 
			
		||||
 #         accelSpeed = "0";
 | 
			
		||||
 #       };
 | 
			
		||||
        touchpad = {
 | 
			
		||||
          middleEmulation = false;
 | 
			
		||||
          clickMethod = "buttonareas";
 | 
			
		||||
          tapping = true;
 | 
			
		||||
          naturalScrolling =true;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      displayManager = {
 | 
			
		||||
        startx = {
 | 
			
		||||
          enable = true; 
 | 
			
		||||
        }; 
 | 
			
		||||
#       sessionCommands = "${pkgs.xorg.xkbcomp}/bin/xkbcomp ${compiledLayout} $DISPLAY";
 | 
			
		||||
      };
 | 
			
		||||
#      extraLayouts = {
 | 
			
		||||
#        colemak-dh = {
 | 
			
		||||
#          description = "Colemak with MOD-dh";
 | 
			
		||||
#          languages = [ "eng" ];
 | 
			
		||||
#          symbolsFile = ./colemak-dh;
 | 
			
		||||
#        };
 | 
			
		||||
#      };
 | 
			
		||||
      videoDrivers = [ "nvidia" ];
 | 
			
		||||
      layout = "us";
 | 
			
		||||
      xkbVariant = "colemak";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										41
									
								
								Satori/boot.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								Satori/boot.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
 | 
			
		||||
 | 
			
		||||
  boot = {
 | 
			
		||||
    kernelPackages = pkgs.linuxPackages_zen;
 | 
			
		||||
    kernelPatches = [
 | 
			
		||||
      {
 | 
			
		||||
        name = "zenwithmuqqs";
 | 
			
		||||
        patch = null;
 | 
			
		||||
        structuredExtraConfig = with lib.kernel; {
 | 
			
		||||
          SCHED_MUQSS = yes;
 | 
			
		||||
          };
 | 
			
		||||
        ignoreConfigErrors = true;
 | 
			
		||||
      }
 | 
			
		||||
    ];
 | 
			
		||||
    initrd={
 | 
			
		||||
      availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod"];
 | 
			
		||||
      kernelModules = [ ];
 | 
			
		||||
    };
 | 
			
		||||
    kernelModules = [ "kvm-intel"];
 | 
			
		||||
    extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
 | 
			
		||||
    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"]; 
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										13
									
								
								Satori/configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								Satori/configuration.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
{lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [
 | 
			
		||||
      ./hardware.nix
 | 
			
		||||
      ./stuff.nix
 | 
			
		||||
      ./pkgs.nix
 | 
			
		||||
      ./networking.nix
 | 
			
		||||
      ./boot.nix
 | 
			
		||||
    ];
 | 
			
		||||
  system.stateVersion = "20.09";
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										48
									
								
								Satori/hardware.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								Satori/hardware.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [
 | 
			
		||||
      (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
      ./Hardware/power.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=natto" "gid=users" "umask=0022" "rw"];
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/mnt/Games" = 
 | 
			
		||||
  { device = "/dev/sda4";
 | 
			
		||||
    fsType = "ntfs";
 | 
			
		||||
    options = ["uid=natto" "gid=users" "umask=0022" "rw"];
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/mnt/Extra" = 
 | 
			
		||||
  { device = "/dev/sda3";
 | 
			
		||||
    fsType = "ntfs";
 | 
			
		||||
    options = ["uid=natto" "gid=users" "umask=0022" "rw"];
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/mnt/LinuxGames" = 
 | 
			
		||||
  { device = "/dev/sda5";
 | 
			
		||||
    fsType = "btrfs";
 | 
			
		||||
    options = ["rw"];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [ {device = "/dev/nvme0n1p7";} ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								Satori/networking.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								Satori/networking.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
{lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  networking = {
 | 
			
		||||
    hostName = "Satori";
 | 
			
		||||
    wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 | 
			
		||||
    interfaces = {
 | 
			
		||||
      enp7s0.useDHCP = true;
 | 
			
		||||
      wlp0s20f3 = {
 | 
			
		||||
        useDHCP = true;
 | 
			
		||||
        ipv4.addresses = [ {
 | 
			
		||||
          prefixLength = 24;
 | 
			
		||||
          address = "192.168.0.109";
 | 
			
		||||
        } ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    defaultGateway = "192.168.0.1";
 | 
			
		||||
    nameservers = [ "192.168.0.1" ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										60
									
								
								Satori/pkgs.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								Satori/pkgs.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
{lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    mpd_discord_richpresence
 | 
			
		||||
    customscripts
 | 
			
		||||
    xclip
 | 
			
		||||
    dunst
 | 
			
		||||
    xorg.xkbcomp
 | 
			
		||||
    glibc
 | 
			
		||||
    proxychains
 | 
			
		||||
    #qt5.qmake
 | 
			
		||||
    xorg.xmodmap
 | 
			
		||||
    ffmpeg
 | 
			
		||||
    p7zip
 | 
			
		||||
    git
 | 
			
		||||
    glxinfo
 | 
			
		||||
    sox
 | 
			
		||||
    libmpdclient
 | 
			
		||||
    lxappearance
 | 
			
		||||
    jq
 | 
			
		||||
    mono
 | 
			
		||||
    vim
 | 
			
		||||
    mpd
 | 
			
		||||
    wineWowPackages.staging
 | 
			
		||||
    neofetch
 | 
			
		||||
    tor-browser-bundle-bin
 | 
			
		||||
    w3m
 | 
			
		||||
    gnumake
 | 
			
		||||
    pciutils
 | 
			
		||||
    jdk
 | 
			
		||||
    gcc
 | 
			
		||||
    ntfs3g
 | 
			
		||||
    python38
 | 
			
		||||
    luajit
 | 
			
		||||
    neovim
 | 
			
		||||
    htop
 | 
			
		||||
    nodejs
 | 
			
		||||
    wget
 | 
			
		||||
    ripgrep
 | 
			
		||||
    patchelf
 | 
			
		||||
    doas
 | 
			
		||||
    feh
 | 
			
		||||
    sxiv
 | 
			
		||||
    mpv
 | 
			
		||||
    dwm
 | 
			
		||||
    dmenu
 | 
			
		||||
    st
 | 
			
		||||
    kbd
 | 
			
		||||
    picom
 | 
			
		||||
    ncmpcpp
 | 
			
		||||
  ];
 | 
			
		||||
  programs.steam.enable = true;
 | 
			
		||||
  nix = {
 | 
			
		||||
    package = pkgs.nixUnstable;
 | 
			
		||||
    extraOptions = ''
 | 
			
		||||
      experimental-features = nix-command flakes
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								Satori/stuff.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Satori/stuff.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
{lib, config, pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./Stuff/sound.nix
 | 
			
		||||
    ./Stuff/fonts.nix
 | 
			
		||||
    ./Stuff/users.nix
 | 
			
		||||
    ./Stuff/services.nix
 | 
			
		||||
    ./Stuff/xorg.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 = [ "natto" ];
 | 
			
		||||
          keepEnv = true;
 | 
			
		||||
          persist = true;
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  nix.gc = {
 | 
			
		||||
    automatic = false;
 | 
			
		||||
    dates = "20:15";
 | 
			
		||||
  };
 | 
			
		||||
  nixpkgs.config.allowUnfree = true;
 | 
			
		||||
  programs = { 
 | 
			
		||||
    fish.enable = true;
 | 
			
		||||
    dconf.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
  nixpkgs.config.allowBroken = true;
 | 
			
		||||
  nix.extraOptions = ''experimental-features = nix-command flakes ca-references'';
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -14,11 +14,6 @@
 | 
			
		||||
  };  
 | 
			
		||||
  services = {
 | 
			
		||||
    tor.enable = true;
 | 
			
		||||
    mysql = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      package = pkgs.mariadb;
 | 
			
		||||
    };
 | 
			
		||||
    openssh.enable = true;
 | 
			
		||||
    logmein-hamachi.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 # services.picom = {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										16
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -1,20 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "nodes": {
 | 
			
		||||
    "flake-utils": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1619345332,
 | 
			
		||||
        "narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=",
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "flake-utils",
 | 
			
		||||
        "rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "numtide",
 | 
			
		||||
        "repo": "flake-utils",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1619464443,
 | 
			
		||||
@@ -33,7 +18,6 @@
 | 
			
		||||
    },
 | 
			
		||||
    "root": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-utils": "flake-utils",
 | 
			
		||||
        "nixpkgs": "nixpkgs",
 | 
			
		||||
        "stable": "stable"
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -3,23 +3,24 @@
 | 
			
		||||
    stable.url = "github:nixos/nixpkgs/nixos-20.09";
 | 
			
		||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
			
		||||
  };
 | 
			
		||||
  outputs = inputs@{self, nixpkgs, stable, flake-utils,... }:
 | 
			
		||||
  outputs = inputs@{self, nixpkgs, stable,... }:
 | 
			
		||||
  let
 | 
			
		||||
    system = "x86_64-linux";
 | 
			
		||||
  in
 | 
			
		||||
  {
 | 
			
		||||
     overlays = {
 | 
			
		||||
        overridesandshit = import ./overlays/overridesandshit.nix;
 | 
			
		||||
        packages = import ./overlays/packages.nix;
 | 
			
		||||
      };
 | 
			
		||||
      pkgs = import nixpkgs {
 | 
			
		||||
        inherit system;
 | 
			
		||||
        config.allowUnfree = true;
 | 
			
		||||
        overlays = builtins.attrValues self.overlays;
 | 
			
		||||
      };
 | 
			
		||||
    nixosConfigurations.nixchod = nixpkgs.lib.nixosSystem {
 | 
			
		||||
    nixosConfigurations.Satori = nixpkgs.lib.nixosSystem {
 | 
			
		||||
      system = "${system}";
 | 
			
		||||
      modules = [ 
 | 
			
		||||
        ./configuration.nix 
 | 
			
		||||
        ./Satori/configuration.nix 
 | 
			
		||||
        { nixpkgs.pkgs = self.pkgs; }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								overlays/customscripts/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								overlays/customscripts/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
{lib,stdenv,fetchFromGitHub}:
 | 
			
		||||
stdenv.mkDerivation rec{
 | 
			
		||||
  name = "customscripts";
 | 
			
		||||
  src = fetchFromGitHub {
 | 
			
		||||
    owner = "idcretard";
 | 
			
		||||
    repo = "custom-scripts";
 | 
			
		||||
    rev = "a996a52831316cc2c282904352654bd20c82f7bd";
 | 
			
		||||
    sha256 = "sha256-nw21YmcmQMF8NADnuHOc7eF2Yaj/r/1mYBn77fYK7s8=";
 | 
			
		||||
  };
 | 
			
		||||
  unpackPhase = ":";
 | 
			
		||||
  installPhase = ''
 | 
			
		||||
    mkdir -p $out/bin
 | 
			
		||||
    cp -r $src/* $out/bin
 | 
			
		||||
    for x in $out/bin/*;do chmod +x "$x";done
 | 
			
		||||
'';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								overlays/mpd-rpc/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								overlays/mpd-rpc/default.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/
 | 
			
		||||
    '';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								overlays/packages.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								overlays/packages.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
final: prev: {
 | 
			
		||||
  mpd_discord_richpresence = prev.callPackage ./mpd-rpc {};
 | 
			
		||||
  customscripts = prev.callPackage ./customscripts {};
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user