Update dotfiles

This commit is contained in:
SeanOMik 2022-10-04 15:13:47 -04:00
parent 1035f4e7fe
commit 0e85519fc0
12 changed files with 357 additions and 12 deletions

4
.gitignore vendored
View File

@ -1 +1,3 @@
sensitives sensitives/*
configuration.nix
hardware-configuration.nix

View File

@ -1,11 +1,16 @@
{ pkgs, home-manager, unstable, ... }: { pkgs, home-manager, unstable, ... }:
{ {
system.stateVersion = "22.05"; system.stateVersion = "22.05";
time.timeZone = "America/New_York";
time = {
timeZone = "America/New_York";
hardwareClockInLocalTime = true;
};
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
nix.extraOptions = '' nix.extraOptions = ''
experimental-features = nix-command flakes experimental-features = nix-command flakes
''; '';
} }

View File

@ -29,36 +29,45 @@
../programs ../programs
../emulators.nix ../emulators.nix
../vscode.nix
]; ];
# Add open-in-vscode button to nemo # Add open-in-vscode button to nemo
home = { home = {
file.".local/share/nemo/actions/vscode.nemo_action".source = pkgs.fetchurl { file.".local/share/nemo/actions/vscodium.nemo_action".source = ../vscodium.nemo_action;
url = https://raw.githubusercontent.com/mhsattarian/nemo-open-in-vscode/master/vscode.nemo_action;
sha256 = "db3bd14ae08ae5e1a8774141ea16dae72c4ce50339443266702010c429d7fe36";
};
}; };
# home.programs.git = {
# enable = true;
# userName = "SeanOMik";
# userEmail = "seanomik@gmail.com";
# };
home.packages = with pkgs; [ home.packages = with pkgs; [
(callPackage ../../modules/applications/discord.nix { }) (callPackage ../../modules/applications/discord.nix { })
vlc vlc
lutris lutris
polymc unstable.polymc
minecraft
zoom-us zoom-us
mullvad-vpn mullvad-vpn
flameshot flameshot
obs-studio obs-studio
vscode #vscode
qbittorrent
okular okular
libreoffice-fresh-unwrapped libreoffice-fresh-unwrapped
betterdiscordctl betterdiscordctl
gimp gimp
blender
slack slack
google-chrome google-chrome
(callPackage ../../modules/pkgs/upwork.nix { inherit runCommandLocal; }) (callPackage ../../modules/pkgs/upwork.nix { inherit runCommandLocal; })
(callPackage ../../modules/pkgs/jellyfin-media-player.nix { inherit runCommandLocal; }) (callPackage ../../modules/pkgs/jellyfin-media-player.nix { inherit runCommandLocal; })
jetbrains.idea-community jetbrains.idea-community
renderdoc
]; ];
}; };
} }

196
home/vscode.nix Executable file
View File

@ -0,0 +1,196 @@
{ pkgs, ... }:
{
programs.vscode = {
enable = true;
package = pkgs.vscodium;
# userSettings = {
# "workbench.colorTheme" = "Material Theme Ocean High Contrast";
# "tabnine.experimentalAutoImports" = "true";
# };
extensions = with pkgs.vscode-extensions; [
llvm-vs-code-extensions.vscode-clangd
ms-dotnettools.csharp
xaver.clang-format
vadimcn.vscode-lldb
streetsidesoftware.code-spell-checker
serayuzgur.crates
bungcip.better-toml
ms-azuretools.vscode-docker
mikestead.dotenv
eamodio.gitlens
golang.go
james-yu.latex-workshop
ms-vsliveshare.vsliveshare
yzhang.markdown-all-in-one
pkief.material-icon-theme
zhuangtongfa.material-theme
bbenoist.nix
arrterian.nix-env-selector
christian-kohler.path-intellisense
ms-python.python
ms-python.vscode-pylance
matklad.rust-analyzer
gruntfuggly.todo-tree
tabnine.tabnine-vscode
github.github-vscode-theme
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "github-vscode-theme";
publisher = "GitHub";
version = "6.3.2";
sha256 = "sha256-CbFZsoRiiwSWL7zJdnBcfrxuhE7E9Au2AlQjqYXW+Nc=";
}
{
name = "vsc-material-theme";
publisher = "Equinusocio";
version = "33.5.0";
sha256 = "sha256-Lls979mJuKE0+oIPAuDyl60dRzJM3WsqlShKeHpFKd8=";
}
{
name = "clang-tidy";
publisher = "notskm";
version = "0.5.1";
sha256 = "sha256-neAvG8bk8yzpbuSzvVVi8Z3lCr29FBncXx3Sv/KChHw=";
}
{
name = "vscode-yaml";
publisher = "redhat";
version = "1.10.20220805";
sha256 = "sha256-BZHU9FrFqsO09fllMF3+vszrGnPrfQmhVgpcNQhPv/w=";
}
{
name = "vscode-xml";
publisher = "redhat";
version = "0.21.2022091304";
sha256 = "sha256-BwfCpxGHmbRCUz5Uj6MX/X+Rh/uRTBsMw93nItcrosw=";
}
{
name = "vscode-thunder-client";
publisher = "rangav";
version = "1.18.7";
sha256 = "sha256-rXYWBdabh0vm5VaE28OEsQWPzHCcS8r9X3eqQ7rHKtU=";
}
{
name = "shader";
publisher = "slevesque";
version = "1.1.5";
sha256 = "sha256-Pf37FeQMNlv74f7LMz9+CKscF6UjTZ7ZpcaZFKtX2ZM=";
}
{
name = "selectline-statusbar";
publisher = "tomoki1207";
version = "0.0.2";
sha256 = "sha256-R+E/OPpGNY55Z+tZ1tJDEvG30O2shT/xFlD3jafRVUk=";
}
{
name = "rust-playground";
publisher = "ConradLudgate";
version = "0.2.2";
sha256 = "sha256-xIM31ORU7FoXsaylm1awkkVTCQPkD9Uegmb9iZ2UHMA=";
}
{
name = "mesonbuild";
publisher = "mesonbuild";
version = "1.7.0";
sha256 = "sha256-pHHPHF+y5tu0IG6hbdM1LJLlDia0cnRLLWDBBP81TnU=";
}
{
name = "makefile-tools";
publisher = "ms-vscode";
version = "0.6.0";
sha256 = "sha256-Sd1bLdRBdLVK8y09wL/CJF+/kThPTH8MHw2mFQt+6h8=";
}
{
name = "vscode-typescript-next";
publisher = "ms-vscode";
version = "4.9.20220913";
sha256 = "sha256-P0YOhldaVSJK1qoblZMTK2cTzvjF7XjwEzlejPMH/5A=";
}
{
name = "java-generate-setters-getters";
publisher = "sohibe";
version = "7.4.0";
sha256 = "sha256-byNcC0wXazHnkQgXMAISjBExsvNblhb9y6abOLPXPt0=";
}
{
name = "vscodeintellicode";
publisher = "VisualStudioExptTeam";
version = "1.2.25";
sha256 = "sha256-MpOZQsenSGBgPpVTlRGvXFgZqfAGwuDzsys8tm7d/FE=";
}
{
name = "vscode-gradle-extension-pack";
publisher = "richardwillis";
version = "0.0.4";
sha256 = "sha256-52diU1bNdddXEMzEUhagbbzxkCosgZkK5Pe3DFVJA40=";
}
{
name = "glean";
publisher = "wix";
version = "5.2.2";
sha256 = "sha256-JkD5q2iSu4zPmRL3Hpv8VdI3snbNL7U0XttreGGrLH4=";
}
{
name = "gdb-debug";
publisher = "DamianKoper";
version = "1.0.7";
sha256 = "sha256-mwSn5OWKjLOU7zljKAlzuub6TuOtPyKWTCl+05ZhUTY=";
}
{
name = "fontsize-shortcuts";
publisher = "fosshaas";
version = "1.5.0";
sha256 = "sha256-E07foou2b1JZPyYB5Lh1Y/EbJh4Xix0rL50FELnKFTw=";
}
{
name = "vscode-java-pack";
publisher = "vscjava";
version = "0.25.1";
sha256 = "sha256-hUE6k7R57TzizYYMhygAfiW+s0jCNu8hdSjHrm1kPV0=";
}
{
name = "doxdocgen";
publisher = "cschlosser";
version = "1.4.0";
sha256 = "sha256-InEfF1X7AgtsV47h8WWq5DZh6k/wxYhl2r/pLZz9JbU=";
}
{
name = "cpptools-extension-pack";
publisher = "ms-vscode";
version = "1.3.0";
sha256 = "sha256-rHST7CYCVins3fqXC+FYiS5Xgcjmi7QW7M4yFrUR04U=";
}
{
name = "better-comments";
publisher = "aaron-bond";
version = "3.0.2";
sha256 = "sha256-hQmA8PWjf2Nd60v5EAuqqD8LIEu7slrNs8luc3ePgZc=";
}
{
name = "cargo";
publisher = "panicbit";
version = "0.2.3";
sha256 = "sha256-B0oLZE8wtygTaUX9/qOBg9lJAjUUg2i7B2rfSWJerEU=";
}
{
name = "cmake";
publisher = "twxs";
version = "0.0.17";
sha256 = "sha256-CFiva1AO/oHpszbpd7lLtDzbv1Yi55yQOQPP/kCTH4Y=";
}
{
name = "cmake-tools";
publisher = "ms-vscode";
version = "1.13.4";
sha256 = "sha256-zLXHre7VVS/yruo1iELTrnQf3A50OWK1gHP7eTc1rPw=";
}
{
name = "dart-code";
publisher = "dart-code";
version = "3.48.3";
sha256 = "sha256-V+5QEl0M7RdeGO9jkBi/li2ggIZDu2hO2732m4YafdI=";
}
];
};
}

12
home/vscodium.nemo_action Normal file
View File

@ -0,0 +1,12 @@
[Nemo Action]
Active=true
Name=Open in VSCodium
Comment=Opens current folder in VSCodium
Exec=codium %P
Icon-Name=vscodium
Selection=none
Extensions=any;
Quote=double
Dependencies=codium;

View File

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, config, ... }:
{ {
imports = [ imports = [
./firefox.nix ./firefox.nix
@ -7,10 +7,16 @@
./yubikey.nix ./yubikey.nix
./java.nix ./java.nix
./docker.nix ./docker.nix
./wine.nix
]; ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
openssl
cacert cacert
appimage-run appimage-run
]; ];
environment.sessionVariables = {
SSL_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt";
};
} }

View File

@ -1,8 +1,8 @@
{ pkgs, ... }: { pkgs, ... }:
((pkgs.discord.overrideAttrs (_: { ((pkgs.discord.overrideAttrs (_: {
src = builtins.fetchTarball { src = builtins.fetchTarball {
url = "https://dl.discordapp.net/apps/linux/0.0.19/discord-0.0.19.tar.gz"; url = "https://dl.discordapp.net/apps/linux/0.0.20/discord-0.0.20.tar.gz";
sha256 = "1kwqn1xr96kvrlbjd14m304g2finc5f5ljvnklg6fs5k4avrvmn4"; sha256 = "sha256:0qaczvp79b4gzzafgc5ynp6h4nd2ppvndmj6pcs1zys3c0hrabpv";
}; };
})).override { })).override {
nss = pkgs.nss_latest; nss = pkgs.nss_latest;

7
modules/applications/wine.nix Executable file
View File

@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
wineWowPackages.stable
winetricks
];
}

View File

@ -1,5 +1,13 @@
{pkgs, ... }: {pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [
gdb
lldb
clang-tools
(callPackage ../pkgs/lldb-mi.nix { })
];
imports = [ imports = [
./c-cpp.nix ./c-cpp.nix
./javascript.nix ./javascript.nix

44
modules/pkgs/clangd.nix Executable file
View File

@ -0,0 +1,44 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, lldb
, clang
, llvm
, pkgs
}:
let
stdenv = pkgs.clangStdenv;
# stdenv = pkgs.llvmPackages_5.stdenv;
in stdenv.mkDerivation rec {
version = "2388bd74133bc21eac59b2e2bf97f2a30770a315";
pname = "lldb-mi";
src = fetchFromGitHub {
owner = "lldb-tools";
repo = pname;
rev = version;
sha256 = "sha256-qBumOWNYZvoJNgqb1GMlxKZO0KKdq2cH/L7D8tpu56k=";
};
nativeBuildInputs = [ cmake pkgs.lldb_9 clang llvm ];
# stdenv = pkgs.clangStdenv;
installPhase = ''
runHook preInstall
cmake --build . --target install --config Release
runHook postInstall
'';
meta = with lib; {
description = "LLDB's machine interface driver.";
homepage = "https://github.com/lldb-tools/lldb-mi";
license = licenses.llvm-exception;
platforms = platforms.unix;
maintainers = with maintainers; [ seanomik ];
};
}

44
modules/pkgs/lldb-mi.nix Executable file
View File

@ -0,0 +1,44 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, lldb
, clang
, llvm
, pkgs
}:
let
stdenv = pkgs.clangStdenv;
# stdenv = pkgs.llvmPackages_5.stdenv;
in stdenv.mkDerivation rec {
version = "2388bd74133bc21eac59b2e2bf97f2a30770a315";
pname = "lldb-mi";
src = fetchFromGitHub {
owner = "lldb-tools";
repo = pname;
rev = version;
sha256 = "sha256-qBumOWNYZvoJNgqb1GMlxKZO0KKdq2cH/L7D8tpu56k=";
};
nativeBuildInputs = [ cmake pkgs.lldb_9 clang llvm ];
# stdenv = pkgs.clangStdenv;
installPhase = ''
runHook preInstall
cmake --build . --target install --config Release
runHook postInstall
'';
meta = with lib; {
description = "LLDB's machine interface driver.";
homepage = "https://github.com/lldb-tools/lldb-mi";
license = licenses.llvm-exception;
platforms = platforms.unix;
maintainers = with maintainers; [ seanomik ];
};
}

12
vscodium.nemo_action Normal file
View File

@ -0,0 +1,12 @@
[Nemo Action]
Active=true
Name=Open in VSCodium
Comment=Opens current folder in VSCodium
Exec=codium %P
Icon-Name=vscodium
Selection=none
Extensions=any;
Quote=double
Dependencies=codium;