Compare commits

...

8 commits

9 changed files with 539 additions and 422 deletions

19
config/vinegar.toml Normal file
View file

@ -0,0 +1,19 @@
# This file is automatically generated from the `/etc/nixos/config/vinegar.toml` file. Direct edits will be overwritten on system rebuild.
# See how to configure Vinegar on the documentation website:
# https://vinegarhq.org/Configuration
[studio]
launcher = "gamemoderun"
[studio.env]
MANGOHUD = "0"
[splash]
enabled = false # https://github.com/vinegarhq/vinegar/issues/233
style = "compact"
background = 0x1e1e2e # Catppuccin Mocha Base
foreground = 0xcdd6f4 # Catppuccin Mocha Text
cancel = 0xf38ba8 # Catppuccin Mocha Red
accent = 0xa6e3a1 # Catppuccin Mocha Green
track = 0x45475a # Catppuccin Mocha Surface 1
info = 0x6c7086 # Catppuccin Mocha Overlay 0

View file

@ -10,13 +10,19 @@
home.file = { home.file = {
".face.icon".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/assets/img/clownfish.png"; ".face.icon".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/assets/img/clownfish.png";
".config/fastfetch/config.jsonc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/fastfetch.jsonc"; ".config/fastfetch/config.jsonc".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/fastfetch.jsonc";
".psqlrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/.psqlrc"; ".psqlrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/.psqlrc";
".config/btop/btop.conf".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/btop.conf"; ".config/btop/btop.conf".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/btop.conf";
".config/btop/themes/catppuccin_mocha.theme".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/btop.theme"; ".config/btop/themes/catppuccin_mocha.theme".source =
".config/gauntlet/simple-theme.json".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/gauntlet.json"; config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/btop.theme";
".config/gauntlet/simple-theme.json".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/gauntlet.json";
".config/glow/glow.yml".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/glow.yml"; ".config/glow/glow.yml".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/glow.yml";
".config/glow/theme.json".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json"; ".config/glow/theme.json".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json";
".config/vinegar/config.toml".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/vinegar.toml";
}; };
# link the configuration file in current directory to the specified location in home directory # link the configuration file in current directory to the specified location in home directory
@ -49,6 +55,10 @@
userName = user; userName = user;
userEmail = "seaswimmerthefsh@gmail.com"; userEmail = "seaswimmerthefsh@gmail.com";
extraConfig = { extraConfig = {
credential.helper = "${pkgs.git.override { withLibsecret = true; }}/bin/git-credential-libsecret";
push = {
autoSetupRemote = true;
};
core = { core = {
editor = "code -w"; editor = "code -w";
}; };
@ -79,6 +89,12 @@
"github:" "github:"
]; ];
}; };
"https://git.galaxy.casa/" = {
insteadOf = [
"galaxy:"
"git@git.galaxy.casa:"
];
};
}; };
hub.protocol = "ssh"; hub.protocol = "ssh";
}; };

View file

@ -28,15 +28,22 @@ rec {
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
stylua
rojo
(pkgs.callPackage ../packages/luau-lsp.nix { inherit pkgs; })
powershell powershell
ruff ruff
ruff-lsp ruff-lsp
]; ];
programs.vscode = let dotnettools = import inputs.dotnettoolsVscodeExtensions { programs.vscode =
let
dotnettools = import inputs.dotnettoolsVscodeExtensions {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; in { };
in
{
enable = true; enable = true;
enableUpdateCheck = false; enableUpdateCheck = false;
enableExtensionUpdateCheck = false; enableExtensionUpdateCheck = false;
@ -83,6 +90,7 @@ rec {
patcx.vscode-nuget-gallery patcx.vscode-nuget-gallery
corylulu.csharp-interpolated-string-converter corylulu.csharp-interpolated-string-converter
adrianwilczynski.asp-net-core-switcher adrianwilczynski.asp-net-core-switcher
kevin-chatham.aspnetcorerazor-html-css-class-completion
adrianwilczynski.blazor-snippet-pack adrianwilczynski.blazor-snippet-pack
adrianwilczynski.csharp-to-typescript adrianwilczynski.csharp-to-typescript
adrianwilczynski.namespace adrianwilczynski.namespace
@ -107,10 +115,8 @@ rec {
# Luau # Luau
evaera.vscode-rojo evaera.vscode-rojo
undermywheel.roblox-lua
johnnymorganz.stylua johnnymorganz.stylua
johnnymorganz.luau-lsp johnnymorganz.luau-lsp
nightrains.robloxlsp
# Go # Go
pkgs.vscode-extensions.golang.go pkgs.vscode-extensions.golang.go
@ -291,6 +297,7 @@ rec {
}; };
}; };
"ruff.path" = [ "${pkgs.ruff}/bin/ruff" ]; "ruff.path" = [ "${pkgs.ruff}/bin/ruff" ];
"luau-lsp.serverPath" = "${pkgs.callPackage ../packages/luau-lsp.nix { inherit pkgs; }}/bin/luau-lsp";
"python.terminal.activateEnvironment" = false; "python.terminal.activateEnvironment" = false;
"python.terminal.activateEnvInCurrentTerminal" = false; "python.terminal.activateEnvInCurrentTerminal" = false;
"[csharp]" = { "[csharp]" = {
@ -337,8 +344,12 @@ rec {
"vscord.status.image.small.idle.key" = "https://vscord.catppuccin.com/mocha/idle.webp"; "vscord.status.image.small.idle.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
"vscord.status.image.small.notInFile.key" = "https://vscord.catppuccin.com/mocha/idle.webp"; "vscord.status.image.small.notInFile.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
"vscord.status.image.small.viewing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp"; "vscord.status.image.small.viewing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp";
"stylua.styluaPath" = "${pkgs.stylua}/bin/stylua";
"git.enableSmartCommit" = true; "git.enableSmartCommit" = true;
"git.autofetch" = true; "git.autofetch" = true;
"luau-lsp.sourcemap.autogenerate" = true;
"luau-lsp.completion.autocompleteEnd" = true;
"luau-lsp.sourcemap.rojoPath" = "${pkgs.rojo}/bin/rojo";
"git.confirmSync" = false; "git.confirmSync" = false;
"security.workspace.trust.untrustedFiles" = "open"; "security.workspace.trust.untrustedFiles" = "open";
"files.insertFinalNewline" = true; "files.insertFinalNewline" = true;

View file

@ -29,6 +29,11 @@
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/var/lib/docker/overlay2/c2bebdf07c5448d2a8739f6ef5186806e77b482f0e40e0cf320fc2cea8ae3de2/merged" =
{ device = "overlay";
fsType = "overlay";
};
swapDevices = swapDevices =
[ { device = "/dev/disk/by-uuid/4eab8c8f-85c5-4a04-a03c-e111ada06ec0"; } [ { device = "/dev/disk/by-uuid/4eab8c8f-85c5-4a04-a03c-e111ada06ec0"; }
]; ];
@ -44,6 +49,7 @@
# networking.interfaces.docker0.useDHCP = lib.mkDefault true; # networking.interfaces.docker0.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true; # networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
# networking.interfaces.veth3563f93.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";

View file

@ -48,7 +48,7 @@
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Set your time zone. # Set your time zone.
time.timeZone = "America/New_York"; time.timeZone = "America/Chicago";
# Select internationalisation properties. # Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";

View file

@ -1,4 +1,9 @@
{ pkgs, stablePkgs, ... }: {
pkgs,
stablePkgs,
config,
...
}:
{ {
programs.steam = { programs.steam = {
enable = true; enable = true;
@ -52,6 +57,19 @@
dolphin-emu dolphin-emu
protonup-qt protonup-qt
winetricks winetricks
vinegar # Roblox Studio, use Sober in ./flatpak.nix for the Roblox Player
celeste64 celeste64
]; ];
services.udev.packages = with pkgs; [
dolphin-emu
];
boot.extraModulePackages = [
config.boot.kernelPackages.gcadapter-oc-kmod
];
boot.kernelModules = [
"gcadapter_oc"
];
} }

View file

@ -7,6 +7,7 @@ let
customfonts = pkgs.callPackage ../packages/customfonts.nix { inherit pkgs; }; customfonts = pkgs.callPackage ../packages/customfonts.nix { inherit pkgs; };
catppuccin-konsole = pkgs.callPackage ../packages/catppuccin-konsole.nix { inherit pkgs; }; catppuccin-konsole = pkgs.callPackage ../packages/catppuccin-konsole.nix { inherit pkgs; };
kdePackages = with pkgs.kdePackages; [ kdePackages = with pkgs.kdePackages; [
qtbase
catppuccin-konsole catppuccin-konsole
plasma-browser-integration plasma-browser-integration
]; ];

View file

@ -1,15 +1,20 @@
{ user, ...}:
{ {
services.tailscale = { services.tailscale = {
enable = true; enable = true;
# When using this configuration, make sure to create a file at /run/secrets/tailscale # When using this configuration, make sure to create a file at /run/secrets/tailscale
# with the contents of your Tailscale auth key. # with the contents of your Tailscale auth key.
# Make sure your permissions are set correctly, e.g. 0600. # Make sure your permissions are set correctly, e.g. 0600.
# The secret file will be automatically deleted on system reboot.
# You do not need to recreate it again unless you remove the system from your Tailscale account.
authKeyFile = "/run/secrets/tailscale"; authKeyFile = "/run/secrets/tailscale";
# change this to "server" if you are this device as an exit node
useRoutingFeatures = "client";
extraUpFlags = [ extraUpFlags = [
"--ssh" "--ssh"
"--accept-routes" "--accept-routes"
"--accept-dns" "--accept-dns"
"--operator=cswimr" "--operator=${user}"
]; ];
}; };
} }

41
packages/luau-lsp.nix Normal file
View file

@ -0,0 +1,41 @@
{ pkgs, lib, ...
}:
pkgs.stdenv.mkDerivation (finalAttrs: {
pname = "luau-lsp";
version = "1.38.0";
src = pkgs.fetchFromGitHub {
owner = "JohnnyMorganz";
repo = "luau-lsp";
rev = finalAttrs.version;
hash = "sha256-31EdtCQftxhpp2b7fpM5XqRh+r0rBE/k9SpYEPpGpV0=";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgs.cmake ]
++ lib.optional pkgs.stdenv.isLinux pkgs.gcc9;
buildPhase = ''
runHook preBuild
cmake ..
cmake --build . --target Luau.LanguageServer.CLI --config Release
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ./luau-lsp $out/bin/luau-lsp
runHook postInstall
'';
meta = {
description = "Language Server for Luau";
homepage = "https://github.com/JohnnyMorganz/luau-lsp";
downloadPage = "https://github.com/JohnnyMorganz/luau-lsp/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ cswimr ];
mainProgram = "luau-lsp";
};
})