diff --git a/builds/utils.nix b/builds/utils.nix new file mode 100644 index 0000000..c82333e --- /dev/null +++ b/builds/utils.nix @@ -0,0 +1,33 @@ +{ stdenv +, lib +, bash +, feh +, jq +, curl +, xrandr +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "utils"; + version = "1.00"; + + src = ./utils; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ bash feh xrandr jq curl ]; + + buildPhase = ""; + + installPhase = '' + mkdir -p $out/bin + + for i in $(ls $src/sh); do + cp $src/sh/$i $out/bin + wrapProgram $out/bin/$i --prefix PATH : ${lib.makeBinPath [ bash feh xrandr jq curl ]} + done + ''; + + phases = [ "buildPhase" "installPhase" ]; +} + diff --git a/utils/Makefile b/builds/utils/Makefile similarity index 100% rename from utils/Makefile rename to builds/utils/Makefile diff --git a/utils/TODO b/builds/utils/TODO similarity index 100% rename from utils/TODO rename to builds/utils/TODO diff --git a/utils/c/anaconda.c b/builds/utils/c/anaconda.c similarity index 100% rename from utils/c/anaconda.c rename to builds/utils/c/anaconda.c diff --git a/utils/c/boid.c b/builds/utils/c/boid.c similarity index 100% rename from utils/c/boid.c rename to builds/utils/c/boid.c diff --git a/utils/c/colors.c b/builds/utils/c/colors.c similarity index 100% rename from utils/c/colors.c rename to builds/utils/c/colors.c diff --git a/utils/c/scream.c b/builds/utils/c/scream.c similarity index 100% rename from utils/c/scream.c rename to builds/utils/c/scream.c diff --git a/utils/c/timer.c b/builds/utils/c/timer.c similarity index 100% rename from utils/c/timer.c rename to builds/utils/c/timer.c diff --git a/utils/c/tmessage.c b/builds/utils/c/tmessage.c similarity index 100% rename from utils/c/tmessage.c rename to builds/utils/c/tmessage.c diff --git a/utils/c/xgetnewwindow.c b/builds/utils/c/xgetnewwindow.c similarity index 100% rename from utils/c/xgetnewwindow.c rename to builds/utils/c/xgetnewwindow.c diff --git a/utils/config.mk b/builds/utils/config.mk similarity index 100% rename from utils/config.mk rename to builds/utils/config.mk diff --git a/utils/etc/southwest_tracker.py b/builds/utils/etc/southwest_tracker.py similarity index 100% rename from utils/etc/southwest_tracker.py rename to builds/utils/etc/southwest_tracker.py diff --git a/utils/man/colors.1 b/builds/utils/man/colors.1 similarity index 100% rename from utils/man/colors.1 rename to builds/utils/man/colors.1 diff --git a/utils/man/rndutils.1 b/builds/utils/man/rndutils.1 similarity index 100% rename from utils/man/rndutils.1 rename to builds/utils/man/rndutils.1 diff --git a/utils/man/timer.1 b/builds/utils/man/timer.1 similarity index 100% rename from utils/man/timer.1 rename to builds/utils/man/timer.1 diff --git a/utils/man/trss.1 b/builds/utils/man/trss.1 similarity index 100% rename from utils/man/trss.1 rename to builds/utils/man/trss.1 diff --git a/utils/man/xgetnewwindow.1 b/builds/utils/man/xgetnewwindow.1 similarity index 100% rename from utils/man/xgetnewwindow.1 rename to builds/utils/man/xgetnewwindow.1 diff --git a/utils/sh/brightness b/builds/utils/sh/brightness similarity index 100% rename from utils/sh/brightness rename to builds/utils/sh/brightness diff --git a/utils/sh/bspwm-toggle-gaps b/builds/utils/sh/bspwm-toggle-gaps similarity index 100% rename from utils/sh/bspwm-toggle-gaps rename to builds/utils/sh/bspwm-toggle-gaps diff --git a/utils/sh/capture b/builds/utils/sh/capture similarity index 100% rename from utils/sh/capture rename to builds/utils/sh/capture diff --git a/utils/sh/cfg b/builds/utils/sh/cfg similarity index 100% rename from utils/sh/cfg rename to builds/utils/sh/cfg diff --git a/utils/sh/connect b/builds/utils/sh/connect similarity index 100% rename from utils/sh/connect rename to builds/utils/sh/connect diff --git a/utils/sh/discord b/builds/utils/sh/discord similarity index 100% rename from utils/sh/discord rename to builds/utils/sh/discord diff --git a/utils/sh/disp b/builds/utils/sh/disp similarity index 100% rename from utils/sh/disp rename to builds/utils/sh/disp diff --git a/utils/sh/fire b/builds/utils/sh/fire similarity index 100% rename from utils/sh/fire rename to builds/utils/sh/fire diff --git a/utils/sh/firew b/builds/utils/sh/firew similarity index 100% rename from utils/sh/firew rename to builds/utils/sh/firew diff --git a/utils/sh/git-credential-gitpass b/builds/utils/sh/git-credential-gitpass similarity index 100% rename from utils/sh/git-credential-gitpass rename to builds/utils/sh/git-credential-gitpass diff --git a/utils/sh/git-survey b/builds/utils/sh/git-survey similarity index 100% rename from utils/sh/git-survey rename to builds/utils/sh/git-survey diff --git a/utils/sh/keyboard b/builds/utils/sh/keyboard similarity index 100% rename from utils/sh/keyboard rename to builds/utils/sh/keyboard diff --git a/utils/sh/machine b/builds/utils/sh/machine similarity index 100% rename from utils/sh/machine rename to builds/utils/sh/machine diff --git a/utils/sh/net b/builds/utils/sh/net similarity index 100% rename from utils/sh/net rename to builds/utils/sh/net diff --git a/utils/sh/nws b/builds/utils/sh/nws similarity index 100% rename from utils/sh/nws rename to builds/utils/sh/nws diff --git a/utils/sh/pash-dmenu b/builds/utils/sh/pash-dmenu similarity index 100% rename from utils/sh/pash-dmenu rename to builds/utils/sh/pash-dmenu diff --git a/utils/sh/pash-dmenu-backend b/builds/utils/sh/pash-dmenu-backend similarity index 100% rename from utils/sh/pash-dmenu-backend rename to builds/utils/sh/pash-dmenu-backend diff --git a/utils/sh/paste b/builds/utils/sh/paste similarity index 100% rename from utils/sh/paste rename to builds/utils/sh/paste diff --git a/utils/sh/pco b/builds/utils/sh/pco similarity index 100% rename from utils/sh/pco rename to builds/utils/sh/pco diff --git a/utils/sh/sfeed_yt_add b/builds/utils/sh/sfeed_yt_add similarity index 100% rename from utils/sh/sfeed_yt_add rename to builds/utils/sh/sfeed_yt_add diff --git a/utils/sh/snapcad b/builds/utils/sh/snapcad similarity index 100% rename from utils/sh/snapcad rename to builds/utils/sh/snapcad diff --git a/utils/sh/ss b/builds/utils/sh/ss similarity index 100% rename from utils/sh/ss rename to builds/utils/sh/ss diff --git a/utils/sh/status b/builds/utils/sh/status similarity index 100% rename from utils/sh/status rename to builds/utils/sh/status diff --git a/utils/sh/statusbar b/builds/utils/sh/statusbar similarity index 100% rename from utils/sh/statusbar rename to builds/utils/sh/statusbar diff --git a/utils/sh/tmenu b/builds/utils/sh/tmenu similarity index 100% rename from utils/sh/tmenu rename to builds/utils/sh/tmenu diff --git a/utils/sh/tmenu-backend b/builds/utils/sh/tmenu-backend similarity index 100% rename from utils/sh/tmenu-backend rename to builds/utils/sh/tmenu-backend diff --git a/utils/sh/tmenu_run b/builds/utils/sh/tmenu_run similarity index 100% rename from utils/sh/tmenu_run rename to builds/utils/sh/tmenu_run diff --git a/utils/sh/toggle-contingency-mode b/builds/utils/sh/toggle-contingency-mode similarity index 100% rename from utils/sh/toggle-contingency-mode rename to builds/utils/sh/toggle-contingency-mode diff --git a/utils/sh/vim-swap-handler b/builds/utils/sh/vim-swap-handler similarity index 100% rename from utils/sh/vim-swap-handler rename to builds/utils/sh/vim-swap-handler diff --git a/utils/sh/vol b/builds/utils/sh/vol similarity index 100% rename from utils/sh/vol rename to builds/utils/sh/vol diff --git a/utils/sh/wallpaper b/builds/utils/sh/wallpaper similarity index 100% rename from utils/sh/wallpaper rename to builds/utils/sh/wallpaper diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..4728705 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,122 @@ +{ config, pkgs, ... }: + +let + home-manager = builtins.fetchTarball { + url = "https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz"; + sha256 = "0dfshsgj93ikfkcihf4c5z876h4dwjds998kvgv7sqbfv0z6a4bc"; + }; +in +{ + imports = + [ + ./hardware-configuration.nix + (import "${home-manager}/nixos") + ]; + + boot.loader.grub.enable = true; + boot.loader.grub.device = "/dev/vda"; + + networking.hostName = "virtbox"; # Define your hostname. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + time.timeZone = "America/Chicago"; + + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; + + services.xserver = { + enable = true; + libinput.enable = true; + layout = "us"; + + # we're going to be pulling a sneaky + # we don't actually use startx, it just gets lightdm out of the way + displayManager.startx.enable = true; + }; + + sound.enable = true; + hardware.pulseaudio.enable = true; + + environment.systemPackages = with pkgs; [ + neovim + curl + htop + git + sx + + (pkgs.callPackage ./builds/utils/utils.nix {}) + ]; + + users.users.usr = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + packages = with pkgs; [ + firefox + tree + bspwm + sxhkd + ]; + }; + + system.activationScripts.test-script.text = '' + #!${pkgs.bash}/bin/bash + + if [ "$(${pkgs.coreutils}/bin/whoami)" = "usr"]; then + ${pkgs.coreutils}/bin/mkdir -p /home/usr/git + ${pkgs.git}/bin/git https://git.beepboop.systems/rndusr/dot /home/usr/git/dot + fi + ''; + + home-manager.users.usr.home = { + stateVersion = "23.05"; + + file = { + ".config/bash" = { + source = ./config/bash; + recursive = true; + }; + ".config/bspwm" = { + source = ./config/bspwm; + recursive = true; + }; + ".config/git" = { + source = ./config/git; + recursive = true; + }; + ".config/htop" = { + source = ./config/htop; + recursive = true; + }; + ".config/nvim" = { + source = ./config/nvim; + recursive = true; + }; + ".config/python" = { + source = ./config/python; + recursive = true; + }; + ".config/sx" = { + source = ./config/sx; + recursive = true; + }; + ".config/sxhkd" = { + source = ./config/sxhkd; + recursive = true; + }; + ".config/tridactyl" = { + source = ./config/tridactyl; + recursive = true; + }; + ".config/zathura" = { + source = ./config/zathura; + recursive = true; + }; + }; + }; + + system.copySystemConfiguration = true; + system.stateVersion = "23.05"; # don't change this, lol +} diff --git a/environ b/environ deleted file mode 100755 index e651637..0000000 --- a/environ +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -x - -[ -f .environment ] && exit 2 -[ -w /etc/bash.bashrc ] || exit 1 -[ -w /etc/profile ] || exit 1 - -printf '[ -f $HOME/.config/bash/bashrc ] && . $HOME/.config/bash/bashrc\n' >> /etc/bash.bashrc -printf '[ -f $HOME/.config/bash/profile ] && . $HOME/.config/bash/profile\n' >> /etc/profile -touch .environment diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..a0704e5 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/348bd40a-08e7-48e4-aad7-d4fe002e9dc0"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/f161dbd9-52f3-4d04-b327-dbcf74cc44fd"; + fsType = "ext4"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/9349bfd4-d7f0-4e0d-b485-5e897d2d1e7b"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +}