nvim added

This commit is contained in:
sadanslargehole 2024-05-03 18:49:17 -04:00
parent f915112ce5
commit c3c790052f
No known key found for this signature in database
GPG key ID: B2E2F4A5161A7800
9 changed files with 210 additions and 150 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "dotfiles/nvim"]
path = dotfiles/nvim
url = git@github.com:sadanslargehole/nvim.git

View file

@ -7,7 +7,8 @@
{
imports =
[ # Include the results of the hardware scan.
[
# Include the results of the hardware scan.
./hardware-configuration.nix
];
@ -16,16 +17,16 @@
boot.loader.grub.efiSupport = true;
boot.loader.grub.useOSProber = true;
boot.loader.grub.efiInstallAsRemovable = true;
boot.kernelModules = ["i2c_dev"];
hardware.bluetooth.enable = true;
boot.kernelModules = [ "i2c_dev" ];
hardware.bluetooth.enable = true;
networking.hostName = "nix-desktop-evo4b5"; # Define your hostname.
networking.hostName = "nix-desktop-evo4b5"; # Define your hostname.
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
# Set your time zone.
time.timeZone = "America/New_York";
time.timeZone = "America/New_York";
# Select internationalisation properties.
# i18n.defaultLocale = "en_US.UTF-8";
@ -34,16 +35,16 @@ hardware.bluetooth.enable = true;
# keyMap = "us";
# useXkbConfig = true; # use xkb.options in tty.
# };
services.xserver = {
enable = true;
displayManager.sddm = {
enable = true;
};
desktopManager.plasma6.enable = true;
};
services.xserver = {
enable = true;
displayManager.sddm = {
enable = true;
};
desktopManager.plasma6.enable = true;
};
# Enable the X11 windowing system.
# servives.desktopManager.plasma6.enable = true;
# services.desktopManager.plasma6.enable = true;
# services.desktopManager.plasma6.enable = true;
@ -53,14 +54,14 @@ services.xserver = {
# Enable CUPS to print documents.
services.printing.enable = true;
nix.settings.experimental-features = ["nix-command" "flakes"];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Enable sound.
sound.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# hardware.pulseaudio.enable = true;
@ -71,38 +72,41 @@ services.xserver = {
users.users.meyer = {
isNormalUser = true;
extraGroups = [
"wheel" # Enable sudo for the user.
"audio" "sound" "video"
"networkmanager"
"input" "tty"
"wheel" # Enable sudo for the user.
"audio"
"sound"
"video"
"networkmanager"
"input"
"tty"
];
shell = pkgs.zsh;
shell = pkgs.zsh;
};
programs.zsh.enable = true;
programs.steam.enable = true;
programs.steam.extraCompatPackages = with pkgs; [
programs.zsh.enable = true;
programs.steam.enable = true;
programs.steam.extraCompatPackages = with pkgs; [
proton-ge-bin
];
nixpkgs.config.allowUnfree = true;
];
nixpkgs.config.allowUnfree = true;
home-manager = {
extraSpecialArgs = {inherit inputs;};
extraSpecialArgs = { inherit inputs; };
users = {
"meyer" = import ./home.nix;
"meyer" = import ./home.nix;
};
};
# networking.nameservers = ["10.0.0.97" "1.1.1.1"];
networking.nameservers = ["10.0.0.97"];
# networking.nameservers = ["10.0.0.97" "1.1.1.1"];
networking.nameservers = [ "10.0.0.97" ];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
ddcutil
i2c-tools
ddcutil
i2c-tools
# python311
# python311Packages.evdev
# python311Packages.xlib
@ -120,18 +124,18 @@ networking.nameservers = ["10.0.0.97"];
libnotify
file
];
#LD fix
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
pkgs.curlWithGnuTls
];
programs.ssh.startAgent = true;
programs.ssh.askPassword = pkgs.lib.mkForce "${pkgs.ksshaskpass.out}/bin/ksshaskpass";
#LD fix
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
pkgs.curlWithGnuTls
];
programs.ssh.startAgent = true;
programs.ssh.askPassword = pkgs.lib.mkForce "${pkgs.ksshaskpass.out}/bin/ksshaskpass";
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-gnome3;
};
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-gnome3;
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;

View file

@ -5,7 +5,8 @@
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
@ -14,19 +15,20 @@
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/789aab6a-3f46-4023-9aab-0569bb06bcde";
{
device = "/dev/disk/by-uuid/789aab6a-3f46-4023-9aab-0569bb06bcde";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/FA5C-26B6";
{
device = "/dev/disk/by-uuid/FA5C-26B6";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/8d59260c-90c4-440e-8ac6-f0135e90451f"; }
];
[{ device = "/dev/disk/by-uuid/8d59260c-90c4-440e-8ac6-f0135e90451f"; }];
# 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

View file

@ -1,14 +1,14 @@
{ config, pkgs, inputs, ... }:
let
cpkg = import ../../customPackages {inherit pkgs;};
let
cpkg = import ../../customPackages { inherit pkgs; };
in
in
{
programs.zsh.enable = true;
programs.zsh.enable = true;
programs.zsh.oh-my-zsh.enable = true;
programs.zsh.initExtra = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme" + "\n" + "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" + "\n" + "[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh";
nixpkgs.config.allowUnfreePredicate = (pkg: true);
programs.zsh.initExtra = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme" + "\n" + "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" + "\n" + "[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh";
nixpkgs.config.allowUnfreePredicate = (pkg: true);
# Home Manager needs a bit of information about you and the paths it should
# nixpkg.config.allowUnfree = true;
# manage.
@ -25,7 +25,7 @@ programs.zsh.initExtra = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel1
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs;[
obs-studio
obs-studio
tokyo-night-gtk
linuxHeaders
#NODE
@ -37,15 +37,15 @@ programs.zsh.initExtra = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel1
zsh-syntax-highlighting
hello
gh
(prismlauncher.override {
jdks = [
jdk8
jdk17
jdk19
];
})
(prismlauncher.override {
jdks = [
jdk8
jdk17
jdk19
];
})
ksshaskpass
libsForQt5.kinit
libsForQt5.kinit
fzf
#C AND CXX START
glib
@ -53,9 +53,9 @@ jdk19
#C AND CXX END
#PYTHONSTART
(python39.withPackages(ps: with ps;[
evdev
xlib
(python39.withPackages (ps: with ps;[
evdev
xlib
]))
# python311Packages.evdev
# python311Packages.xlib
@ -90,38 +90,38 @@ jdk19
# echo "Hello, ${config.home.username}!"
# '')
(pkgs.writeShellScriptBin "installVencord" ''
set -e
set -x
out=$(mktemp)
# trap 'rm -f "$out"' EXIT
curl -sS https://github.com/Vendicated/VencordInstaller/releases/latest/download/VencordInstallerCli-Linux \
--output "$out" \
--location
set -e
set -x
out=$(mktemp)
# trap 'rm -f "$out"' EXIT
curl -sS https://github.com/Vendicated/VencordInstaller/releases/latest/download/VencordInstallerCli-Linux \
--output "$out" \
--location
chmod +x "$out"
chmod +x "$out"
sudo NIX_LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH NIX_LD=$NIX_LD $out -location "${pkgs.discord}/opt/Discord"
sudo NIX_LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH NIX_LD=$NIX_LD $out -location "${pkgs.discord}/opt/Discord"
'')
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
kitty = {
recursive = true;
source = ../../dotfiles/kitty;
target = "./.config/kitty";
};
gh = {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/dotfiles/gh";
target = "./.config/gh";
};
btop = {
recursive = true;
source = ../../dotfiles/btop;
target = "./.config/btop";
};
# "testconfigfile".source = ../../dotfiles/testconfigfile;
kitty = {
recursive = true;
source = ../../dotfiles/kitty;
target = "./.config/kitty";
};
gh = {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/dotfiles/gh";
target = "./.config/gh";
};
btop = {
recursive = true;
source = ../../dotfiles/btop;
target = "./.config/btop";
};
# "testconfigfile".source = ../../dotfiles/testconfigfile;
# ".gitconfig".source = ../../dotfiles/.gitconfig;
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
@ -151,20 +151,20 @@ jdk19
# /etc/profiles/per-user/meyer/etc/profile.d/hm-session-vars.sh
#
home.shellAliases = {
paste = "xsel -ob";
copt = "xsel -ib";
paste = "xsel -ob";
copt = "xsel -ib";
};
home.sessionPath = [
"$HOME/.local/bin"
];
home.sessionVariables = {
EDITOR = "nvim";
MANPAGER = "nvim +Man!";
MANWIDTH = "999";
SSH_ASKPASS_REQUIRE="prefer";
PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine";
PRISMA_SCHEMA_ENGINE_BINARY="${pkgs.prisma-engines}/bin/schema-engine";
PRISMA_QUERY_ENGINE_LIBRARY="${pkgs.prisma-engines}/lib/libquery_engine.node";
EDITOR = "nvim";
MANPAGER = "nvim +Man!";
MANWIDTH = "999";
SSH_ASKPASS_REQUIRE = "prefer";
PRISMA_QUERY_ENGINE_BINARY = "${pkgs.prisma-engines}/bin/query-engine";
PRISMA_SCHEMA_ENGINE_BINARY = "${pkgs.prisma-engines}/bin/schema-engine";
PRISMA_QUERY_ENGINE_LIBRARY = "${pkgs.prisma-engines}/lib/libquery_engine.node";
};
# Let Home Manager install and manage itself.

View file

@ -1,6 +1,6 @@
{pkgs}:rec{
# discord = nixpkgs.callPackage ./discord { };
discord = pkgs.callPackage ./discord/default.nix {};
vesktop = pkgs.callPackage ./vesktop/default.nix {inherit vencord;};
vencord = pkgs.callPackage ./vencord/default.nix {};
{ pkgs }: rec{
# discord = nixpkgs.callPackage ./discord { };
discord = pkgs.callPackage ./discord/default.nix { };
vesktop = pkgs.callPackage ./vesktop/default.nix { inherit vencord; };
vencord = pkgs.callPackage ./vencord/default.nix { };
}

View file

@ -103,4 +103,4 @@ let
}
);
in
packages.${branch}
packages.${branch}

View file

@ -1,17 +1,67 @@
{ pname, version, src, meta, binaryName, desktopName, autoPatchelfHook
, makeDesktopItem, lib, stdenv, wrapGAppsHook, makeShellWrapper, alsa-lib, at-spi2-atk
, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf
, glib, gtk3, libcxx, libdrm, libglvnd, libnotify, libpulseaudio, libuuid, libX11
, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss
, pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand
{ pname
, version
, src
, meta
, binaryName
, desktopName
, autoPatchelfHook
, makeDesktopItem
, lib
, stdenv
, wrapGAppsHook
, makeShellWrapper
, alsa-lib
, at-spi2-atk
, at-spi2-core
, atk
, cairo
, cups
, dbus
, expat
, fontconfig
, freetype
, gdk-pixbuf
, glib
, gtk3
, libcxx
, libdrm
, libglvnd
, libnotify
, libpulseaudio
, libuuid
, libX11
, libXScrnSaver
, libXcomposite
, libXcursor
, libXdamage
, libXext
, libXfixes
, libXi
, libXrandr
, libXrender
, libXtst
, libxcb
, libxshmfence
, mesa
, nspr
, nss
, pango
, systemd
, libappindicator-gtk3
, libdbusmenu
, writeScript
, python3
, runCommand
, libunity
, speechd
, wayland
, branch
, withOpenASAR ? false, openasar
, withVencord ? true, vencord
, withTTS ? true }:
, withOpenASAR ? false
, openasar
, withVencord ? true
, vencord
, withTTS ? true
}:
let
disableBreakingUpdates = runCommand "disable-breaking-updates.py"
@ -130,22 +180,22 @@ stdenv.mkDerivation rec {
patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
$out/opt/vencordInstaller
VENCORD_USER_DATA_DIR="/home/meyer/.config/Vencord/dist" $out/opt/vencordInstaller -location $out/opt/Discord -install
VENCORD_USER_DATA_DIR="/home/meyer/.config/Vencord/dist" $out/opt/vencordInstaller -location $out/opt/Discord -install
runHook postInstall
'';
postInstall =
''
# set -x
# set -e
#
# cp "${./installer}" $out/bin/vencordInstaller
#
# chmod +x $out/bin/vencordInstaller
# patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
# $out/bin/vencordInstaller
# $out/bin/vencordInstaller -location $out/opt/Discord -install
'';
''
# set -x
# set -e
#
# cp "${./installer}" $out/bin/vencordInstaller
#
# chmod +x $out/bin/vencordInstaller
# patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
# $out/bin/vencordInstaller
# $out/bin/vencordInstaller -location $out/opt/Discord -install
'';
desktopItem = makeDesktopItem {
name = pname;

1
dotfiles/nvim Submodule

@ -0,0 +1 @@
Subproject commit e8190de318225a7f00b45bcddf97db5fb8e135b3

View file

@ -9,31 +9,31 @@
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@inputs:
# let
outputs = { self, nixpkgs, ... }@inputs:
# let
# boxes = [
# "default"
# ];
# forAllSystems = nixpkgs.lib.genAttrs boxes;
# in
{
nixosConfigurations = {
default = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./boxes/desktop/configuration.nix
inputs.home-manager.nixosModules.default
];
nixosConfigurations = {
default = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./boxes/desktop/configuration.nix
inputs.home-manager.nixosModules.default
];
};
};
# nixosConfigurations.default = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit inputs;};
# modules = [
# ./boxes/desktop/configuration.nix
# inputs.home-manager.nixosModules.default
# ];
# };
# cpkg = forAllSystems(system: import ./customPackages);
};
};
# nixosConfigurations.default = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit inputs;};
# modules = [
# ./boxes/desktop/configuration.nix
# inputs.home-manager.nixosModules.default
# ];
# };
# cpkg = forAllSystems(system: import ./customPackages);
};
}