V3WQEWE7CRZIAFG7ATQRGM3XXBHCBDNYFTLQ5O676Z56BODXE5BAC {stylix = {targets.vscode.enable = false;};}
{base00 = "1f1926";base01 = "6a3740";base02 = "ab4d47";base03 = "e8834c";base04 = "eca6ac";base05 = "ebe0e4";base06 = "fcedec";base07 = "fbefef";base08 = "ffff00";base09 = "00ff00";base0A = "0000ff";base0B = "f85a59";base0C = "79B995";base0D = "b05000";base0E = "7c94f4";base0F = "7f007f";scheme = "Eclipse";author = "Caedesyth";slug = "caedesyth";}
{base00 = "1f1926";base01 = "6a3740";base02 = "ab4d47";base03 = "e8834c";base04 = "eca6ac";base05 = "ebe0e4";base06 = "fcedec";base07 = "fbefef";base08 = "f9585b";base09 = "e96953";base0A = "f35e62";base0B = "f85a59";base0C = "fb5752";base0D = "ec655c";base0E = "fe535b";base0F = "f35f53";scheme = "Stylix";author = "Stylix";slug = "stylix";}
{scheme = "EclipseGenerated2";author = "Evan:Flavours";base00 = "401e23";base01 = "64474b";base02 = "877073";base03 = "aa999a";base04 = "cdc2c2";base05 = "f0ebea";base06 = "f2eeed";base07 = "f4f1f0";base08 = "6c7c76";base09 = "7d795c";base0A = "856ea7";base0B = "5374ce";base0C = "7c94f4";base0D = "5874cb";base0E = "eb9fa6";base0F = "f8e5e2";}
{scheme = "Eclipse";author = "Evan:Flavours";base00 = "1f1926";base01 = "64474b";base02 = "ab4d47";base03 = "e8834c";base04 = "eca6ac";base05 = "f0ebea";base06 = "f2eeed";base07 = "f4f1f0";base08 = "6c7c76";base09 = "7d795c";base0A = "856ea7";base0B = "5374ce";base0C = "7c94f4";base0D = "5874cb";base0E = "eb9fa6";base0F = "f8e5e2";}
{pkgs, ...}: letmono-font = {package = pkgs.nerdfonts.override {fonts = ["ComicShannsMono"];};name = "ComicShannsMono Nerd Font";};in {# Enable Stylixstylix = {enable = true;image = ./bastien-griven-crystal.jpg;#base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml";base16Scheme = "${pkgs.base16-schemes}/share/themes/monokai.yaml";#base16Scheme = import ./eclipse-generated-2.nix;polarity = "dark";# Cursorscursor = {name = "Vimix-cursors";package = pkgs.vimix-cursors;};# Fontsfonts = {serif = mono-font;sansSerif = mono-font;monospace = mono-font;emoji = {package = pkgs.twitter-color-emoji;name = "Twitter Color Emoji";};};};}
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA9WIzX3nskhqhsxsX1jBlDWiKU7Ij/Iz5nTTGDYl22L typhon@typhon
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIByugDtrlIdwaBwKBWSWmBGyUrvYgB72jxqkfj321/nf muko@muko
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI0YnYRwWci57gO+ULfgbmqMiMy0wGiK4V2tK8W10CZ6QZxcbkIqhvGmD2a067TeozqccTHp4YMdo4+2aJVTUEoyel8nKeC9JvjnOCKwf8N4IUrS2Eq45tqOzdhaLyDYfyhHjJJax/zHW8gQ4guh5gFgeOyyHcw+M7EeeCoXnDaYseR7cylvdLATIDMV90fKW+c8BMccYWNM6Mj8VkSgos+qCdf2aBdfA0Vr8pEa0J+c7X0p8w89xVgSDPc5W0/RD+icE4lu0r0xiY2Y/J2yuq/VWr4slpPyt3/uO9yCWMjVPRmSbDCkInTI09Wxy0Ojpm/mh6UjIacnwfGvz+FVwf ssh-key-2023-08-27
{ lib, config, pkgs, ... }:{# My mixed modulescady = {};# Nix only settingsnix = {# IF isNixos - why store these in git, yknow? They should be static.# In that case - put it in the flake.imports = [ /etc/nixos/hardware-configuration.nix ];};# Home only settingshome = {};};
{description = "caedesyth system flake";inputs = {nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";home-manager.url = "github:nix-community/home-manager";home-manager.inputs.nixpkgs.follows = "nixpkgs";nixvim.url = "github:nix-community/nixvim";nixvim.inputs.nixpkgs.follows = "nixpkgs";nixvim.inputs.home-manager.follows = "home-manager";stylix.url = "github:danth/stylix";stylix.inputs.nixpkgs.follows = "nixpkgs";stylix.inputs.home-manager.follows = "home-manager";foundryvtt.url = "github:reckenrode/nix-foundryvtt";foundryvtt.inputs.nixpkgs.follows = "nixpkgs";};outputs ={self,nixpkgs,home-manager,stylix,...}@inputs:letinherit (self) outputs;system = "x86_64-linux";flakeroot = ./.;mkNixosConfiguration =profile:nixpkgs.lib.nixosSystem {specialArgs = {inheritinputsoutputsprofilerootPath;};modules = ["./${profile.hostname}.nix"/etc/nixos/hardware-configuration.nix] ++ (profile.extraPkgs ? [ ]);};mkHomeConfiguration =profile:home-manager.lib.homeManagerConfiguration {pkgs = nixpkgs.legacyPackages.${system};extraSpecialArgs = {inheritinputsoutputsprofilerootPath;};modules = [import "./${profile.username}.nix"./home(./hosts + "/${profile.hostname}" + /home.nix)stylix.homeManagerModules.stylix./stylix./stylix/home.nix] ++ (profile.extraHomePkgs ? [ ]);};muko = mkProfile {hostname = "muko";username = "muko";isNixos = true;extraPkgs = [./nix/nvidia.nix./nix/plasma.nix];extraHomePkgs = [ ];};typhon = mkProfile {hostname = "typhon";username = "typhon";isNixos = true;extraPkgs = [inputs.foundryvtt.nixosModules.foundryvtt];extraHomePkgs = [ ];};in{nixosConfigurations = {muko = mkNixosConfiguration muko;typhon = mkNixosConfiguration typhon;};homeConfigurations = {muko = mkHomeConfiguration muko;typhon = mkHomeConfiguration typhon;};formatter.${system} = nixpkgs.legacyPackages.${system}.nixfmt-rfc-style;}
{config,pkgs,inputs,...}:{home.username = "vimjoyer";home.homeDirectory = "/home/vimjoyer";home.stateVersion = "22.11"; # Please read the comment before changing.nixpkgs = {overlays = [(final: prev: {vimPlugins = prev.vimPlugins // {own-onedark-nvim = prev.vimUtils.buildVimPlugin {name = "onedark";src = inputs.plugin-onedark;};};})];};programs.neovim =lettoLua = str: "lua << EOF\n${str}\nEOF\n";toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";in{enable = true;viAlias = true;vimAlias = true;vimdiffAlias = true;extraPackages = with pkgs; [lua-language-serverrnix-lspxclipwl-clipboard];plugins = with pkgs.vimPlugins; [{plugin = nvim-lspconfig;config = toLuaFile ./nvim/plugin/lsp.lua;}{plugin = comment-nvim;config = toLua "require(\"Comment\").setup()";}{plugin = gruvbox-nvim;config = "colorscheme gruvbox";}neodev-nvimnvim-cmp{plugin = nvim-cmp;config = toLuaFile ./nvim/plugin/cmp.lua;}{plugin = telescope-nvim;config = toLuaFile ./nvim/plugin/telescope.lua;}telescope-fzf-native-nvimcmp_luasnipcmp-nvim-lspluasnipfriendly-snippetslualine-nvimnvim-web-devicons{plugin = (nvim-treesitter.withPlugins (p: [p.tree-sitter-nixp.tree-sitter-vimp.tree-sitter-bashp.tree-sitter-luap.tree-sitter-pythonp.tree-sitter-json]));config = toLuaFile ./nvim/plugin/treesitter.lua;}vim-nix# {# plugin = vimPlugins.own-onedark-nvim;# config = "colorscheme onedark";# }];extraLuaConfig = ''${builtins.readFile ./nvim/options.lua}'';# extraLuaConfig = ''# ${builtins.readFile ./nvim/options.lua}# ${builtins.readFile ./nvim/plugin/lsp.lua}# ${builtins.readFile ./nvim/plugin/cmp.lua}# ${builtins.readFile ./nvim/plugin/telescope.lua}# ${builtins.readFile ./nvim/plugin/treesitter.lua}# ${builtins.readFile ./nvim/plugin/other.lua}# '';};programs.home-manager.enable = true;}
{description = "My flake";inputs = {nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";home-manager = {url = "github:nix-community/home-manager";inputs.nixpkgs.follows = "nixpkgs";};plugin-onedark.url = "github:navarasu/onedark.nvim";plugin-onedark.flake = false;};outputs ={ self, nixpkgs, ... }@inputs:letsystem = "x86_64-linux";pkgs = import nixpkgs {inherit system;};in{homeConfigurations."vimjoyer" = inputs.home-manager.lib.homeManagerConfiguration {inherit pkgs;modules = [ ./nixos/home.nix ];extraSpecialArgs = {inherit inputs;};};};}
{config,lib,pkgs,profile,...}: {options.cady.emulator = {enable = lib.mkEnableOption "Enables QEMU+KVM+virt-manager Emulator";};config = lib.mkMerge [(lib.mkIf config.cady.emulator.enable {# QEMU+KVM. We'll see how it goes from here. There are also dconf settings written to home.nix.virtualisation.libvirtd = {enable = true;onBoot = "start";qemu.vhostUserPackages = with pkgs; [virtiofsd];};programs.virt-manager.enable = true;users.users.${profile.username}.extraGroups = ["libvirtd"];})];}
{pkgs,lib,config,...}:{options.cady = {ports = {enable = lib.mkEnableOption "Cady's funny port stuff (firewall config module.)";both = lib.mkOption {default =[];example = [2556525566];type = lib.types.listOf lib.types.int;description = "Additional ports to open for both TCP and UDP";};tcp = lib.mkOption {default = [ ];example = [80];type = lib.types.listOf lib.types.int;description = "Additional ports to open for TCP";};udp = lib.mkOption {default = [ ];example = [6969];type = lib.types.listOf lib.types.int;description = "Additional ports to open for UDP";};};ssh.enable = lib.mkEnableOption "Enable SSH service";nextdns = {enable = lib.mkEnableOption "The NextDNS nameserver overrides.";servers = lib.mkOption {default = ["45.90.28.0#fbd51c.dns.nextdns.io""2a07:a8c0::#fbd51c.dns.nextdns.io""45.90.30.0#fbd51c.dns.nextdns.io""2a07:a8c1::#fbd51c.dns.nextdns.io"];example = ["idk some ip addresses""maybe some more"];type = lib.types.listOf lib.types.str;description = "A list of fallback domains preconfigured to align with NextDNS.";};};};config = lib.mkMerge [(lib.mkIf config.cady.nextdns.enable {# NextDNS setupnetworking.nameservers = config.cady.nextdns.servers;services.resolved = {enable = true;dnssec = "true";domains = [ "~." ];fallbackDns = config.cady.nextdns.servers;dnsovertls = "true";};})(lib.mkIf (config.cady.ports.enable) (letboth = config.cady.ports.both;tcp = config.cady.ports.tcp ++ lib.optionals config.cady.ssh.enable [ 9125 ];udp = config.cady.ports.udp;in{networking.firewall.enable = true;networking.firewall.allowedTCPPorts = both ++ tcp;networking.firewall.allowedUDPPorts = both ++ udp;}))(lib.mkIf (config.cady.ssh.enable) ({# Enable the OpenSSH daemon.services.openssh = {enable = true;settings = {PermitRootLogin = "no";PasswordAuthentication = false;};ports = [ 9125 ];};}))];}
{config,lib,pkgs,...}:{options.cady.nvidia.enable = lib.mkEnableOption "Nvidia Graphics Settings";config = lib.mkIf config.cady.nvidia.enable {# Enable OpenGLhardware.graphics = {enable = true;# driSupport = true;# driSupport32Bit = true;};# Load Nvidia driver for Xorg and Waylandservices.xserver.videoDrivers = [ "nvidia" ];# Seems like a good idea.hardware.enableAllFirmware = true;hardware.nvidia = {# Modesetting is requiredmodesetting.enable = true;nvidiaPersistenced = true;# These options are all experimental and buggy.# See https://nixos.wiki/wiki/Nvidia for more infopowerManagement = {enable = true;};open = false;# Enable the Nvidia settings menu through nvidia-settingsnvidiaSettings = true;# May need to switch to appropriate driverpackage = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.stable;};# Taken from https://github.com/tolgaerok/nixos-kde/blob/0a3541eb07c183a8c1979e024abe3bebcbfd8fe2/core%2Fgpu%2Fnvidia%2Fnvidia-stable-opengl%2Fdefault.nixboot.extraModprobeConfig ="options nvidia "+ lib.concatStringsSep " " [# nvidia assume that by default your CPU does not support PAT,# but this is effectively never the case in 2023"NVreg_UsePageAttributeTable=1"# This may be a noop, but it's somewhat uncertain"NVreg_EnablePCIeGen3=1"# This is sometimes needed for ddc/ci support, see# https://www.ddcutil.com/nvidia/## Current monitor does not support it, but this is useful for# the future"NVreg_RegistryDwords=RMUseSwI2c=0x01;RMI2cSpeed=100"# When (if!) I get another nvidia GPU, check for resizeable bar# settings];# Set environment variables related to NVIDIA graphicsenvironment.variables = {# Required to run the correct GBM backend for nvidia GPUs on waylandGBM_BACKEND = "nvidia-drm";# Apparently, without this nouveau may attempt to be used instead# (despite it being blacklisted)__GLX_VENDOR_LIBRARY_NAME = "nvidia";# Hardware cursors are currently broken on nvidiaLIBVA_DRIVER_NAME = "nvidia";WLR_NO_HARDWARE_CURSORS = "1";NIXOS_OZONE_WL = "1";__GL_THREADED_OPTIMIZATION = "1";__GL_SHADER_CACHE = "1";# Hardware acceleration in firefoxNVD_BACKEND = "direct";MOZ_DISABLE_RDD_SANDBOX = "1";};# Packages related to NVIDIA graphicsenvironment.systemPackages = with pkgs; [clinfogwenvtopPackages.nvidiavirtualglLibvulkan-loadervulkan-tools];};}
{pkgs,lib,config,...}:{options.cady = {desktop = lib.mkOption {type = lib.types.enum ["Gnome""Plasma""Hyprland"];default = "Gnome";description = "Cady style preconfigured DE (Only Gnome or Plasma for now)";};remote.enable = lib.mkEnableOption "Enable XRDP";};config = lib.mkMerge [(lib.mkIf (config.cady.remote.enable) {# services.sunshine = {# enable = true;# openFirewall = true;# capSysAdmin = true;# };})(lib.mkIf (config.cady.desktop == "Gnome") {# Enable the X11 windowing system and disable xterm.services.xserver = {enable = true;excludePackages = with pkgs; [ xterm ];};# Enable the GNOME Desktop Environment.services.xserver.displayManager.gdm.enable = true;services.xserver.desktopManager.gnome.enable = true;# Exclude GNOME default applicationsenvironment.gnome.excludePackages = with pkgs; [gnome-disk-utilitygnome-backgroundsgnome-user-docsgnome-tour# gnome-text-editorgnome-calculatorgnome-calendargnome-contactsgnome-font-viewergnome-mapsgnome-musicgnome-weathergnome-connectionsgnome-softwareorcasimple-scan# snapshot# totemyelpepiphanygearyevince];# Workaround for GNOME autologin: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229systemd.services."getty@tty1".enable = false;systemd.services."autovt@tty1".enable = false;# Pop!_OS shell is really nice actually.environment.systemPackages =with pkgs;with pkgs.gnomeExtensions;[pop-shellblur-my-shellundecorategsnapgparted];})(lib.mkIf (config.cady.desktop == "Plasma") {# Enable the X11 windowing system and disable xterm.services.xserver = {enable = true;excludePackages = with pkgs; [ xterm ];};# Enable KDE Plasma# services.displayManager.sddm.enable = true;services.desktopManager.plasma6.enable = true;# Plasma Packagesenvironment.systemPackages =with pkgs;with kdePackages;[plasma-browser-integration];environment.plasma6.excludePackages = with pkgs.kdePackages; [elisakate];})];}
{profile,lib,config,inputs,...}: {imports = [./nvidia.nix./ports.nix./desktop.nix./virt.nix];options.cady = {defaults = lib.mkEnableOption "Cady Universal Defaults!!";autoUpdate = lib.mkEnableOption "Auto update my flake!";};config = lib.mkMerge [(lib.mkIf config.cady.autoUpdate {# Automatic updates?? Actually enabled?system.autoUpgrade = {enable = true;flake = inputs.self.outPath;flags = ["--update-input""nixpkgs""-L"];dates = "16:00";randomizedDelaySec = "45min";};})(lib.mkIf config.cady.defaults {# A user profile is nice to haveusers.users.${profile.username} = {isNormalUser = true;description = "Woah!! epic user account!!";extraGroups = ["networkmanager""wheel"];};# Host namenetworking.hostName = profile.hostname;# Enable automatic login for the userservices.displayManager.autoLogin.enable = true;services.displayManager.autoLogin.user = profile.username;# Sudoers change for wheelsecurity.sudo.wheelNeedsPassword = false;security.sudo.configFile = "${profile.username} ALL=(ALL) NOPASSWD:ALL";security.polkit.adminIdentities = [];# Allow unfree packagesnixpkgs.config.allowUnfree = true;# Always should have a browser.programs.firefox.enable = true;# Enable networkingnetworking.networkmanager.enable = true;# Set your time zone.time.timeZone = "Europe/London";# Select internationalisation properties.i18n.defaultLocale = "en_GB.UTF-8";i18n.extraLocaleSettings = {LC_ADDRESS = "en_GB.UTF-8";LC_IDENTIFICATION = "en_GB.UTF-8";LC_MEASUREMENT = "en_GB.UTF-8";LC_MONETARY = "en_GB.UTF-8";LC_NAME = "en_GB.UTF-8";LC_NUMERIC = "en_GB.UTF-8";LC_PAPER = "en_GB.UTF-8";LC_TELEPHONE = "en_GB.UTF-8";LC_TIME = "en_GB.UTF-8";};# Configure keymap in X11services.xserver.xkb = {layout = "gb";variant = "";};# Configure console keymapconsole.keyMap = "uk";# Enable CUPS to print documents.services.printing.enable = true;# Enable sound with pipewire.hardware.pulseaudio.enable = false;security.rtkit.enable = true;services.pipewire = {enable = true;alsa.enable = true;alsa.support32Bit = true;pulse.enable = true;wireplumber.extraConfig."51-disable-suspension.conf" = {session.suspend-timeout-seconds = 0;};};# Enable touchpad support (enabled default in most desktopManager).services.libinput.enable = true;# Enable ZSA keyboard supporthardware.keyboard.zsa.enable = true;# Tell more things to run on waylandenvironment.sessionVariables.NIXOS_OZONE_WL = "1";# Enable flakesnix.settings.experimental-features = ["nix-command""flakes"];})];}
{inputs,outputs,lib,pkgs,config,...}:{options.cady.home = {defaults = lib.mkEnableOption "Cady Universal Home Defaults!!";userDirsOverride = lib.mkEnableOption "apparently i hate uppercase now";};config = lib.mkMerge [(lib.mkIf config.cady.home.defaults {nixpkgs.config.allowUnfree = true;# QEMU + KVM autostart, see nix/common.nix for extra setup.dconf.settings = {"org/virt-manager/virt-manager/connections" = {autoconnect = [ "qemu:///system" ];uris = [ "qemu:///system" ];};};# Enable home-manager and gitprograms.home-manager.enable = true;programs.git = {enable = true;userEmail = lib.mkDefault "evanev7@gmail.com";userName = lib.mkDefault "caedesyth";};# Move .gtkrc-2.0 out of home and into .config, in line with gtk 3 and 4.gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";# Disable news messagenews.display = "silent";# Reload systemd units when reloading home-managersystemd.user.startServices = "sd-switch";})(lib.mkIf config.cady.home.userDirsOverride {xdg.userDirs =letfilesDir = "/mysc/files";in{enable = true;createDirectories = true;desktop = "${config.home.homeDirectory}/desktop";documents = "${config.home.homeDirectory}" + filesDir;download = "${config.home.homeDirectory}/downloads";music = "${config.home.homeDirectory}" + filesDir;pictures = "${config.home.homeDirectory}" + filesDir;publicShare = "${config.home.homeDirectory}/mysc/public";templates = "${config.home.homeDirectory}/mysc/templates";videos = "${config.home.homeDirectory}" + filesDir;extraConfig = {XDG_PROJECTS_DIR = "${config.home.homeDirectory}/projects";};};gtk.gtk3.bookmarks = builtins.map (file: "file://${config.home.homeDirectory}/${file}") ["desktop""downloads""nixos""projects"];})];}
{dconf = {enable = true;settings = {"org/gnome/desktop/wm/keybindings" = {switch-to-workspace-down = [ "disabled" ];switch-to-workspace-up = [ "disabled" ];};"org/gnome/shell" = {disable-user-extensions = false;enabled-extensions = with pkgs.gnomeExtensions; ["blur-my-shell@aunetx""pop-shell@system76.com"];};};};}
{ config, pkgs, lib, ... }:# Thanks sleepy@discourse.nixos.org!# Taken from https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265/5{# Might eventually include extensions. Probably not though.options.cady = {firefox = {enable = lib.mkEnableOption "Firefox defaults";userChromePath = lib.mkOption {type = lib.types.path;description = "Path to userChrome.css";};extraPrefs = lib.mkOption {description = "Additional options for Firefox preferences, loaded globally.";type = lib.types.attrs;default = {};};};};config = lib.mkMerge [(lib.mkIf (config.cady.firefox.enable) {# ---- sidebery is stored in firefox sync ----# My own code, no longer sleepy.# https://discourse.nixos.org/t/anyone-using-firefox-gnome-theme-successfully-with-nixos-home-manager/19248 massively helped!!home.file.".mozilla/firefox/default/chrome/userChrome.css".source = config.cady.firefox.userChromePath;programs.firefox = {enable = true;package = pkgs.wrapFirefox pkgs.firefox-unwrapped {extraPolicies = {DisableTelemetry = true;DisableFirefoxStudies = true;EnableTrackingProtection = {Value = true;Locked = true;Cryptomining = true;Fingerprinting = true;};DisablePocket = true;DisableFirefoxScreenshots = true;OverrideFirstRunPage = "";OverridePostUpdatePage = "";DontCheckDefaultBrowser = true;# add policies here...# ---- EXTENSIONS ----ExtensionSettings = {# "*".installation_mode = "blocked"; # blocks all addons except the ones specified below# # uBlock Origin:# "uBlock0@raymondhill.net" = {# install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";# installation_mode = "force_installed";# };# # add extensions here...};# ---- PREFERENCES ----# Set preferences shared by all profiles.Preferences = {"browser.contentblocking.category" = {Value = "strict";};"extensions.pocket.enabled" = false;"extensions.screenshots.disabled" = true;"browser.newtabpage.activity-stream.feeds.section.topstories" = false;"browser.newtabpage.activity-stream.feeds.snippets" = false;"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;"browser.newtabpage.activity-stream.showSponsored" = false;"browser.newtabpage.activity-stream.system.showSponsored" = false;"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;# add global preferences here..."layout.css.color-mix.enabled" = true;"layout.css.light-dark.enabled" = true;"layout.css.has-selector.enabled" = true;"toolkit.legacyUserProfileCustomizations.stylesheets" = true;"browser.tabs.allow_transparent_browser" = true;} // config.cady.firefox.extraPrefs;};};# ---- PROFILES ----# Switch profiles via about:profiles page.# For options that are available in Home-Manager see# https://nix-community.github.io/home-manager/options.html#opt-programs.firefox.profilesprofiles = {default = {# choose a profile name; directory is /home/<user>/.mozilla/firefox/profile_0id = 0; # 0 is the default profile; see also option "isDefault"name = "default"; # name as listed in about:profilesisDefault = true; # can be omitted; true if profile ID is 0settings = {# specify profile-specific preferences here; check about:config for options};};};};})];}
{imports = [./console.nix./firefox.nix./home.nix];}
{config,pkgs,lib,...}: {options.cady = {console = {defaults = lib.mkEnableOption "The Cady approved defaults for a snazzy console time";shellAliases = lib.mkOption {description = "Shell Aliases for Bash";type = lib.types.attrs;default = {"n" = "nvim";};};starship = {enable = lib.mkEnableOption "Enable starship console line";direnv = lib.mkEnableOption "Include direnv when in an active flake in Starship";};};};config = lib.mkMerge [(lib.mkIf config.cady.console.defaults {programs.bash = {enable = true;shellAliases = config.cady.console.shellAliases;bashrcExtra = ''if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; thenexec tmuxfi'';};programs.direnv = {enable = true;enableBashIntegration = true;nix-direnv.enable = true;};programs.kitty = {enable = true;settings = {background_opacity = lib.mkForce "0.8";background_blur = "1";dynamic_background_opacity = "yes";background_tint = "0";cursor_trail = "1";};};programs.tmux = {enable = true;mouse = true;plugins = with pkgs.tmuxPlugins; [gruvboxsensiblevim-tmux-navigatorbetter-mouse-modesidebar];extraConfig = ''set -g @resurrect-strategy-nvim 'session''';};})(lib.mkIf (config.cady.console.defaults && config.cady.console.starship.enable) {programs.starship = {enable = true;settings ={}// (if config.cady.console.starship.direnvthen {custom.direnv = {format = "[\\[direnv\\]]($style) ";style = "fg:yellow dimmed";when = "env | grep -E '^DIRENV_FILE='";};}else {});};})];}
{config,pkgs,inputs,rootPath,...}:{programs.neovim =lettoLua = str: "lua << EOF\n${str}\nEOF\n";toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";configPath = rootPath + /config/nvim;in{enable = true;viAlias = true;vimAlias = true;vimdiffAlias = true;extraPackages = with pkgs; [nilxclipwl-clipboard];plugins = with pkgs.vimPlugins; [{plugin = vim-tmux-navigator;}{plugin = nvim-lspconfig;config = toLuaFile (configPath + /plugin/lsp.lua);}{plugin = comment-nvim;config = toLua "require(\"Comment\").setup()";}{plugin = gruvbox-nvim;config = "colorscheme gruvbox";}neodev-nvimnvim-cmp{plugin = nvim-cmp;config = toLuaFile (configPath + /plugin/cmp.lua);}{plugin = telescope-nvim;config = toLuaFile (configPath + /plugin/telescope.lua);}telescope-fzf-native-nvimcmp_luasnipcmp-nvim-lspluasnipfriendly-snippetslualine-nvimnvim-web-devicons{plugin = (nvim-treesitter.withPlugins (p: [p.tree-sitter-nixp.tree-sitter-vimp.tree-sitter-bashp.tree-sitter-luap.tree-sitter-pythonp.tree-sitter-jsonp.tree-sitter-rust]));config = toLuaFile (configPath + /plugin/treesitter.lua);}vim-nix# {# plugin = vimPlugins.own-onedark-nvim;# config = "colorscheme onedark";# }];extraLuaConfig = ''${builtins.readFile (configPath + /options.lua)}'';# extraLuaConfig = ''# ${builtins.readFile ./nvim/options.lua}# ${builtins.readFile ./nvim/plugin/lsp.lua}# ${builtins.readFile ./nvim/plugin/cmp.lua}# ${builtins.readFile ./nvim/plugin/telescope.lua}# ${builtins.readFile ./nvim/plugin/treesitter.lua}# ${builtins.readFile ./nvim/plugin/other.lua}# '';};}
{lib,unstablePkgs,pkgs,rootPath,...}: {home.packages = with pkgs; [nixfmt-rfc-stylebetterdiscordctlvesktop(pkgs.makeDesktopItem {name = "discord";exec = "env -u NIXOS_OZONE_WL ${pkgs.discord}/bin/discord --use-gl=desktop";desktopName = "Discord";icon = "${pkgs.tela-circle-icon-theme}/share/icons/Tela-circle/scalable/apps/discord.svg";})google-chromegimpobsidianunstablePkgs.godot_4keymappthunderbirdvlc];cady = {firefox = {enable = true;userChromePath = rootPath + /config/firefox/userChrome.css;};console = {defaults = true;shellAliases = {"n" = "nvim";};starship = {enable = true;direnv = true;};};home = {defaults = true;userDirsOverride = true;};};imports = [];# Check here https://github.com/NotAShelf/nvf/blob/main/configuration.nixprograms.nvf = {enable = true;settings.vim = {# keymaps = [# Check https://github.com/NotAShelf/nvf/blob/main/modules/neovim/mappings/config.nix# for how this converts into LUA and what options are available.# {#key = "<leader>m";#mode = "n";#silent = true;#action = ":make<CR>";# }#];viAlias = true;vimAlias = true;lsp = {enable = true;formatOnSave = true;lspkind.enable = true;lightbulb.enable = true;};spellcheck.enable = true;theme = {enable = true;name = "rose-pine";style = "moon";transparent = true;};visuals = {nvim-scrollbar.enable = true;nvim-web-devicons.enable = true;nvim-cursorline.enable = true;fidget-nvim.enable = true;highlight-undo.enable = true;cellular-automaton.enable = true;};autocomplete.nvim-cmp = {enable = true;sourcePlugins = ["rustaceanvim""obsidian-nvim""nvim-web-devicons"];};autopairs.nvim-autopairs.enable = true;statusline.lualine.enable = true;telescope.enable = true;languages = {enableLSP = true;enableTreesitter = true;enableFormat = true;enableExtraDiagnostics = true;rust = {enable = true;crates.enable = true;};nix.enable = true;sql.enable = true;clang.enable = true;ts.enable = true;python.enable = true;zig.enable = true;markdown.enable = true;dart.enable = true;lua.enable = true;bash.enable = true;css.enable = true;kotlin.enable = true;haskell.enable = true;};};};programs.vscode = {enable = true;package = pkgs.vscodium.fhs;extensions = with pkgs.vscode-extensions; [];# userSettings = import ./config/codium/settings.nix;};# Disable VSCode targetstylix.targets.vscode.enable = false;xdg.configFile."VSCodium/User/settings.json".source = lib.mkForce (rootPath + /config/codium/settings.json);home = {username = "typhon";homeDirectory = "/home/typhon";stateVersion = "24.05";};}
# 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 + "/installer/scan/not-detected.nix")];boot.initrd.availableKernelModules = ["xhci_pci""ahci""nvme""usbhid""usb_storage""sd_mod"];boot.initrd.kernelModules = [ ];boot.kernelModules = [ "kvm-intel" ];boot.extraModulePackages = [ ];fileSystems."/" = {device = "/dev/disk/by-uuid/a5362508-f87e-48ed-8f6f-587331aa9d95";fsType = "ext4";};fileSystems."/boot" = {device = "/dev/disk/by-uuid/5AF2-DCE2";fsType = "vfat";options = ["fmask=0077""dmask=0077"];};swapDevices = [ ];# 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.<interface>.useDHCP`.networking.useDHCP = lib.mkDefault true;# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;}
{pkgs,profile,rootPath,inputs,...}: {cady = {defaults = true;# My modules!!nvidia.enable = true;# Firewall + port forwardingports.enable = true;ports.both = [6567341972556530000];ssh.enable = true;nextdns.enable = true;# Desktop Environmentdesktop = "Gnome";autoUpdate = true;};environment.systemPackages = with pkgs; [wgetgitpijulnix-plugin-pijulbashhome-managerlshwpciutilsinxignumakebottomripgrepfdlazygitbaconxdg-user-dirsjustvimix-cursorsgparted];services.foundryvtt = {enable = true;minifyStaticFiles = true;package = inputs.foundryvtt.packages.${pkgs.system}.foundryvtt_12;};# Enable steam and stuffprograms.steam = {enable = true;remotePlay.openFirewall = true;dedicatedServer.openFirewall = true;localNetworkGameTransfers.openFirewall = true;};services.tailscale = {enable = true;openFirewall = true;};users.users.${profile.username} = {openssh.authorizedKeys.keyFiles = [(rootPath + /ssh/gtnh.key.pub)(rootPath + /ssh/muko.pub)(rootPath + /ssh/typhon.pub)];};# Bootloader.boot.loader.systemd-boot.enable = true;boot.loader.efi.canTouchEfiVariables = true;# Don't change it!!system.stateVersion = "24.05";}
{lib,pkgs,rootPath,unstablePkgs,...}: {home.packages = with pkgs; [nixfmt-rfc-style(pkgs.makeDesktopItem {name = "discord";exec = "env -u NIXOS_OZONE_WL ${pkgs.discord}/bin/discord --use-gl=desktop";desktopName = "Discord";icon = "${pkgs.tela-circle-icon-theme}/share/icons/Tela-circle/scalable/apps/discord.svg";})android-studiogimpobsidianunstablePkgs.godotkeymapppijulnix-plugin-pijulparsec-binvlc];cady = {firefox = {enable = true;userChromePath = rootPath + /config/firefox/userChrome.css;};console = {defaults = true;# TODO: make a decisionshellAliases = {"n" = "nvim";};starship = {enable = true;direnv = true;};};home = {defaults = true;userDirsOverride = true;};};imports = [];# Check here https://github.com/NotAShelf/nvf/blob/main/configuration.nixprograms.nvf = {enable = true;settings.vim = {# keymaps = [# Check https://github.com/NotAShelf/nvf/blob/main/modules/neovim/mappings/config.nix# for how this converts into LUA and what options are available.# {#key = "<leader>m";#mode = "n";#silent = true;#action = ":make<CR>";# }#];viAlias = true;vimAlias = true;lsp = {enable = true;formatOnSave = true;lspkind.enable = true;lightbulb.enable = true;};spellcheck.enable = true;theme = {enable = true;name = "rose-pine";style = "moon";transparent = true;};visuals = {nvim-scrollbar.enable = true;nvim-web-devicons.enable = true;nvim-cursorline.enable = true;fidget-nvim.enable = true;highlight-undo.enable = true;cellular-automaton.enable = true;};autocomplete.nvim-cmp = {enable = true;sourcePlugins = ["rustaceanvim""obsidian-nvim""nvim-web-devicons"];};autopairs.nvim-autopairs.enable = true;statusline.lualine.enable = true;telescope.enable = true;languages = {enableLSP = true;enableTreesitter = true;enableFormat = true;enableExtraDiagnostics = true;rust = {enable = true;crates.enable = true;};nix.enable = true;sql.enable = true;clang.enable = true;ts.enable = true;python.enable = true;#zig.enable = true;markdown.enable = true;#dart.enable = true;lua.enable = true;bash.enable = true;css.enable = true;kotlin.enable = true;haskell.enable = true;};};};programs.vscode = {enable = true;package = pkgs.vscodium.fhs;extensions = with pkgs.vscode-extensions; [];# userSettings = import ./config/codium/settings.nix;};xdg.configFile."VSCodium/User/settings.json".source = lib.mkForce (rootPath + /config/codium/settings.json);home = {username = "muko";homeDirectory = "/home/muko";stateVersion = "24.05";};}
# 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 + "/installer/scan/not-detected.nix")];boot.initrd.availableKernelModules = ["xhci_pci""ahci""usb_storage""sd_mod"];boot.initrd.kernelModules = [ ];boot.kernelModules = [ "kvm-intel" ];boot.extraModulePackages = [ ];fileSystems."/" = {device = "/dev/disk/by-uuid/78f61f99-b742-41b7-9bd1-a424faf06aea";fsType = "ext4";};fileSystems."/boot" = {device = "/dev/disk/by-uuid/1A5B-E2D7";fsType = "vfat";options = ["fmask=0022""dmask=0022"];};swapDevices = [ ];# 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.<interface>.useDHCP`.networking.useDHCP = lib.mkDefault true;# networking.interfaces.enp2s0.useDHCP = lib.mkDefault true;# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;}
{pkgs,profile,rootPath,inputs,...}: {cady = {defaults = true;# My modules!!nvidia.enable = true;ssh.enable = true;nextdns.enable = true;# Desktop Environmentdesktop = "Plasma";autoUpdate = true;};environment.systemPackages = with pkgs; [wgetgitbashhome-managerbottomripgrepfdlazygitbaconxdg-user-dirsjustthunderbirdvimix-cursors];# Enable steam and stuffprograms.steam = {enable = true;remotePlay.openFirewall = true;dedicatedServer.openFirewall = true;localNetworkGameTransfers.openFirewall = true;};services.tailscale = {enable = true;openFirewall = true;};users.users.${profile.username} = {openssh.authorizedKeys.keyFiles = [(rootPath + /ssh/gtnh.key.pub)(rootPath + /ssh/muko.pub)(rootPath + /ssh/typhon.pub)];};# Bootloader.boot.loader.systemd-boot.enable = true;boot.loader.efi.canTouchEfiVariables = true;# Enable nvidia primehardware.nvidia.prime = {# Very system specific! See https://nixos.wiki/wiki/Nvidia for more infointelBusId = "PCI:0:2:0";nvidiaBusId = "PCI:1:0:0";};# Enable KWallet automaticallysecurity.pam.services.kwallet = {name = "kdewallet";enableKwallet = true;};# Don't change it!!system.stateVersion = "23.11";}
require('nvim-treesitter.configs').setup {ensure_installed = {},auto_install = false,highlight = { enable = true },indent = { enable = true },}
require('telescope').setup({extensions = {fzf = {fuzzy = true, -- false will only do exact matchingoverride_generic_sorter = true, -- override the generic sorteroverride_file_sorter = true, -- override the file sortercase_mode = "smart_case", -- or "ignore_case" or "respect_case"-- the default case_mode is "smart_case"}}})require('telescope').load_extension('fzf')
-- Lualinerequire("lualine").setup({icons_enabled = true,theme = 'onedark',})-- Colorschemevim.cmd("colorscheme gruvbox")-- Commentrequire("Comment").setup()
local on_attach = function(_, bufnr)local bufmap = function(keys, func)vim.keymap.set('n', keys, func, { buffer = bufnr })endbufmap('<leader>r', vim.lsp.buf.rename)bufmap('<leader>a', vim.lsp.buf.code_action)bufmap('gd', vim.lsp.buf.definition)bufmap('gD', vim.lsp.buf.declaration)bufmap('gI', vim.lsp.buf.implementation)bufmap('<leader>D', vim.lsp.buf.type_definition)bufmap('gr', require('telescope.builtin').lsp_references)bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)bufmap('K', vim.lsp.buf.hover)vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)vim.lsp.buf.format()end, {})endlocal capabilities = vim.lsp.protocol.make_client_capabilities()capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)require('neodev').setup()require('lspconfig').lua_ls.setup {on_attach = on_attach,capabilities = capabilities,root_dir = function()return vim.loop.cwd()end,cmd = { "lua-lsp" },settings = {Lua = {workspace = { checkThirdParty = false },telemetry = { enable = false },},}}
local cmp = require('cmp')local luasnip = require('luasnip')require('luasnip.loaders.from_vscode').lazy_load()luasnip.config.setup {}cmp.setup {snippet = {expand = function(args)luasnip.lsp_expand(args.body)end,},mapping = cmp.mapping.preset.insert {['<C-n>'] = cmp.mapping.select_next_item(),['<C-p>'] = cmp.mapping.select_prev_item(),['<C-d>'] = cmp.mapping.scroll_docs(-4),['<C-f>'] = cmp.mapping.scroll_docs(4),['<C-Space>'] = cmp.mapping.complete {},['<CR>'] = cmp.mapping.confirm {behavior = cmp.ConfirmBehavior.Replace,select = true,},['<Tab>'] = cmp.mapping(function(fallback)if cmp.visible() thencmp.select_next_item()elseif luasnip.expand_or_locally_jumpable() thenluasnip.expand_or_jump()elsefallback()endend, { 'i', 's' }),['<S-Tab>'] = cmp.mapping(function(fallback)if cmp.visible() thencmp.select_prev_item()elseif luasnip.locally_jumpable(-1) thenluasnip.jump(-1)elsefallback()endend, { 'i', 's' }),},sources = {{ name = 'nvim_lsp' },{ name = 'luasnip' },},}
vim.g.mapleader = ' 'vim.g.maplocalleader = ' 'vim.o.clipboard = 'unnamedplus'vim.o.number = true-- vim.o.relativenumber = truevim.o.signcolumn = 'yes'vim.o.tabstop = 4vim.o.shiftwidth = 4vim.o.updatetime = 300vim.o.termguicolors = truevim.o.mouse = 'a'
/* Sidebery */#main-window .tabbrowser-tab {visibility: collapse;}#main-window #tabs-newtab-button {visibility: collapse;}#main-window #alltabs-button {visibility: collapse;}/* will need fiddling if below is enabled*/#main-window .titlebar-button {height: 42px;}/* Looks good on windows, looks ASS on GNOME anyway#main-window[tabsintitlebar="true"] #nav-bar {margin-right: 137px;}*/#main-window #nav-bar {margin-top: -44px;}#sidebar-box[sidebarcommand="_3c078156-979c-498b-8990-85f7987dd929_-sidebar-action"] #sidebar-header {visibility: collapse;}/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0See the above repository for updates as well as full license text. *//* Show sidebar only when the cursor is over it *//* The border controlling sidebar width will be removed so you'll need to modify these values to change width */#sidebar-box[sidebarcommand="_3c078156-979c-498b-8990-85f7987dd929_-sidebar-action"]{--uc-sidebar-width: 50px;--uc-sidebar-hover-width: 250px;--uc-autohide-sidebar-delay: 100ms; /* Wait 0.6s before hiding sidebar */--uc-autohide-transition-duration: 300ms;--uc-autohide-transition-type: cubic-bezier(0.8, 0, 0.2, 1);--browser-area-z-index-sidebar: 3;position: relative;min-width: var(--uc-sidebar-width) !important;width: var(--uc-sidebar-width) !important;max-width: var(--uc-sidebar-width) !important;z-index: var(--browser-area-z-index-sidebar,3);}#sidebar-box[positionend]{ direction: rtl }#sidebar-box[positionend] > *{ direction: ltr }#sidebar-box[positionend]:-moz-locale-dir(rtl){ direction: ltr }#sidebar-box[positionend]:-moz-locale-dir(rtl) > *{ direction: rtl }#main-window[sizemode="fullscreen"] #sidebar-box{ --uc-sidebar-width: 1px; }#sidebar-splitter{ display: none }#sidebar-header{overflow: hidden;color: var(--chrome-color, inherit) !important;padding-inline: 0 !important;}#sidebar-header::before,#sidebar-header::after{content: "";display: flex;padding-left: 8px;}#sidebar-header,#sidebar{transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;min-width: var(--uc-sidebar-width) !important;will-change: min-width;}#sidebar-box:hover > #sidebar-header,#sidebar-box:hover > #sidebar{min-width: var(--uc-sidebar-hover-width) !important;transition-delay: 0ms !important;}.sidebar-panel{background-color: transparent !important;color: var(--newtab-text-primary-color) !important;}.sidebar-panel #search-box{-moz-appearance: none !important;background-color: rgba(249,249,250,0.1) !important;color: inherit !important;}/* Add sidebar divider and give it background *//*#sidebar,#sidebar-header{background-color: inherit !important;border-inline: 1px solid rgb(80,80,80);border-inline-width: 0px 1px;}#sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),#sidebar-box[positionend] > *{border-inline-width: 1px 0px;}*//* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel{inset-inline: auto 0px !important;}#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label{margin-inline: 0px !important;border-left-style: solid !important;}
{"redhat.telemetry.enabled" = "false";"git.openRepositoryInParentFolders" = "never";"workbench.colorTheme" = "Catppuccin Macchiato";"remote.SSH.remotePlatform" = {"192.168.1.73" = "linux";};"dart.debugExternalPackageLibraries" = "false";"dart.debugSdkLibraries" = "false";"jupyter.askForKernelRestart" = "false";"editor.formatOnSave" = "true";"editor.defaultFormatter" = "ms-python.black-formatter";"[rust]" = {"editor.defaultFormatter" = "rust-lang.rust-analyzer";};"supermaven.enableFixWithSupermaven" = "false";"files.readonlyInclude" = {"*/.cargo/registry/src/*/*.rs" = "true";"*/lib/rustlib/src/rust/library/*/*.rs" = "true";};"gruvboxMaterial.darkContrast" = "hard";"gruvboxMaterial.darkWorkbench" = "flat";"sync.gist" = "018a6296ccb3c3c4570c447035e76a38";"sync.autoUpload" = "true";"sync.autoDownload" = "true";"git.autofetch" = "true";"editor.inlayHints.enabled" = "offUnlessPressed";"workbench.activityBar.location" = "hidden";"workbench.iconTheme" = "catppuccin-macchiato";"editor.fontLigatures" = "true";}
{"redhat.telemetry.enabled": false,"git.openRepositoryInParentFolders": "never","dart.debugExternalPackageLibraries": false,"dart.debugSdkLibraries": false,"jupyter.askForKernelRestart": false,"editor.formatOnSave": true,"[python]": {"editor.defaultFormatter": "ms-python.black-formatter"},"[rust]": {"editor.defaultFormatter": "rust-lang.rust-analyzer"},"supermaven.enableFixWithSupermaven": false,"files.readonlyInclude": {"*/.cargo/registry/src/*/*.rs": true,"*/lib/rustlib/src/rust/library/*/*.rs": true},"git.autofetch": true,"editor.inlayHints.enabled": "offUnlessPressed","workbench.activityBar.location": "bottom","editor.fontLigatures": true,"window.titleBarStyle": "custom","chat.commandCenter.enabled": false,"workbench.preferredLightColorTheme": "Catppuccin Latte","workbench.preferredDarkColorTheme": "Catppuccin Frappé","workbench.iconTheme": "catppuccin-frappe","window.autoDetectColorScheme": true}