From 013cbc1a0f5214ce9764799a0db6ec00fb0d19d2 Mon Sep 17 00:00:00 2001 From: randomuser Date: Fri, 7 Jul 2023 16:55:42 -0500 Subject: [PATCH] smorgasboard (tm) --- builds/utils.nix | 33 +++++ {utils => builds/utils}/Makefile | 0 {utils => builds/utils}/TODO | 0 {utils => builds/utils}/c/anaconda.c | 0 {utils => builds/utils}/c/boid.c | 0 {utils => builds/utils}/c/colors.c | 0 {utils => builds/utils}/c/scream.c | 0 {utils => builds/utils}/c/timer.c | 0 {utils => builds/utils}/c/tmessage.c | 0 {utils => builds/utils}/c/xgetnewwindow.c | 0 {utils => builds/utils}/config.mk | 0 .../utils}/etc/southwest_tracker.py | 0 {utils => builds/utils}/man/colors.1 | 0 {utils => builds/utils}/man/rndutils.1 | 0 {utils => builds/utils}/man/timer.1 | 0 {utils => builds/utils}/man/trss.1 | 0 {utils => builds/utils}/man/xgetnewwindow.1 | 0 {utils => builds/utils}/sh/brightness | 0 {utils => builds/utils}/sh/bspwm-toggle-gaps | 0 {utils => builds/utils}/sh/capture | 0 {utils => builds/utils}/sh/cfg | 0 {utils => builds/utils}/sh/connect | 0 {utils => builds/utils}/sh/discord | 0 {utils => builds/utils}/sh/disp | 0 {utils => builds/utils}/sh/fire | 0 {utils => builds/utils}/sh/firew | 0 .../utils}/sh/git-credential-gitpass | 0 {utils => builds/utils}/sh/git-survey | 0 {utils => builds/utils}/sh/keyboard | 0 {utils => builds/utils}/sh/machine | 0 {utils => builds/utils}/sh/net | 0 {utils => builds/utils}/sh/nws | 0 {utils => builds/utils}/sh/pash-dmenu | 0 {utils => builds/utils}/sh/pash-dmenu-backend | 0 {utils => builds/utils}/sh/paste | 0 {utils => builds/utils}/sh/pco | 0 {utils => builds/utils}/sh/sfeed_yt_add | 0 {utils => builds/utils}/sh/snapcad | 0 {utils => builds/utils}/sh/ss | 0 {utils => builds/utils}/sh/status | 0 {utils => builds/utils}/sh/statusbar | 0 {utils => builds/utils}/sh/tmenu | 0 {utils => builds/utils}/sh/tmenu-backend | 0 {utils => builds/utils}/sh/tmenu_run | 0 .../utils}/sh/toggle-contingency-mode | 0 {utils => builds/utils}/sh/vim-swap-handler | 0 {utils => builds/utils}/sh/vol | 0 {utils => builds/utils}/sh/wallpaper | 0 configuration.nix | 122 ++++++++++++++++++ environ | 11 -- hardware-configuration.nix | 38 ++++++ 51 files changed, 193 insertions(+), 11 deletions(-) create mode 100644 builds/utils.nix rename {utils => builds/utils}/Makefile (100%) rename {utils => builds/utils}/TODO (100%) rename {utils => builds/utils}/c/anaconda.c (100%) rename {utils => builds/utils}/c/boid.c (100%) rename {utils => builds/utils}/c/colors.c (100%) rename {utils => builds/utils}/c/scream.c (100%) rename {utils => builds/utils}/c/timer.c (100%) rename {utils => builds/utils}/c/tmessage.c (100%) rename {utils => builds/utils}/c/xgetnewwindow.c (100%) rename {utils => builds/utils}/config.mk (100%) rename {utils => builds/utils}/etc/southwest_tracker.py (100%) rename {utils => builds/utils}/man/colors.1 (100%) rename {utils => builds/utils}/man/rndutils.1 (100%) rename {utils => builds/utils}/man/timer.1 (100%) rename {utils => builds/utils}/man/trss.1 (100%) rename {utils => builds/utils}/man/xgetnewwindow.1 (100%) rename {utils => builds/utils}/sh/brightness (100%) rename {utils => builds/utils}/sh/bspwm-toggle-gaps (100%) rename {utils => builds/utils}/sh/capture (100%) rename {utils => builds/utils}/sh/cfg (100%) rename {utils => builds/utils}/sh/connect (100%) rename {utils => builds/utils}/sh/discord (100%) rename {utils => builds/utils}/sh/disp (100%) rename {utils => builds/utils}/sh/fire (100%) rename {utils => builds/utils}/sh/firew (100%) rename {utils => builds/utils}/sh/git-credential-gitpass (100%) rename {utils => builds/utils}/sh/git-survey (100%) rename {utils => builds/utils}/sh/keyboard (100%) rename {utils => builds/utils}/sh/machine (100%) rename {utils => builds/utils}/sh/net (100%) rename {utils => builds/utils}/sh/nws (100%) rename {utils => builds/utils}/sh/pash-dmenu (100%) rename {utils => builds/utils}/sh/pash-dmenu-backend (100%) rename {utils => builds/utils}/sh/paste (100%) rename {utils => builds/utils}/sh/pco (100%) rename {utils => builds/utils}/sh/sfeed_yt_add (100%) rename {utils => builds/utils}/sh/snapcad (100%) rename {utils => builds/utils}/sh/ss (100%) rename {utils => builds/utils}/sh/status (100%) rename {utils => builds/utils}/sh/statusbar (100%) rename {utils => builds/utils}/sh/tmenu (100%) rename {utils => builds/utils}/sh/tmenu-backend (100%) rename {utils => builds/utils}/sh/tmenu_run (100%) rename {utils => builds/utils}/sh/toggle-contingency-mode (100%) rename {utils => builds/utils}/sh/vim-swap-handler (100%) rename {utils => builds/utils}/sh/vol (100%) rename {utils => builds/utils}/sh/wallpaper (100%) create mode 100644 configuration.nix delete mode 100755 environ create mode 100644 hardware-configuration.nix 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"; +}