init
This commit is contained in:
commit
73b95242ee
8 changed files with 1197 additions and 0 deletions
186
configuration.nix
Normal file
186
configuration.nix
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# Kernel
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
boot.kernelParams = [ "kvm.enable_virt_at_load=0" ];
|
||||||
|
boot.kernelModules = [ "iptable_nat" ];
|
||||||
|
|
||||||
|
# System
|
||||||
|
networking.hostName = "lachrymal-abg"; # Define your hostname.
|
||||||
|
time.timeZone = "America/Toronto";
|
||||||
|
|
||||||
|
i18n.defaultLocale = "ja_JP.UTF-8";
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
xdg.portal.enable = true;
|
||||||
|
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
settings.General.DisplayServer = "wayland";
|
||||||
|
};
|
||||||
|
# services.xserver.desktopManager.lxqt.enable = true;
|
||||||
|
# environment.lxqt.excludePackages = with pkgs; [ lxqt.qterminal ];
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||||
|
elisa
|
||||||
|
kate
|
||||||
|
khelpcenter
|
||||||
|
gwenview
|
||||||
|
kate
|
||||||
|
konsole
|
||||||
|
];
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
fonts = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-cjk-serif
|
||||||
|
noto-fonts-emoji
|
||||||
|
liberation_ttf
|
||||||
|
victor-mono
|
||||||
|
lmodern
|
||||||
|
lmmath
|
||||||
|
wqy_zenhei
|
||||||
|
];
|
||||||
|
fontDir.enable = true;
|
||||||
|
fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound.
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
audio.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Steam
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
extraCompatPackages = with pkgs; [
|
||||||
|
proton-ge-bin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.lach = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "docker" ]; # Enable ‘sudo’ for the user.
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vesktop
|
||||||
|
|
||||||
|
wget
|
||||||
|
pciutils
|
||||||
|
gpustat
|
||||||
|
mg
|
||||||
|
micro-full
|
||||||
|
ventoy-full
|
||||||
|
git-credential-oauth
|
||||||
|
|
||||||
|
hugo
|
||||||
|
gnumake
|
||||||
|
bun
|
||||||
|
python314
|
||||||
|
nodejs
|
||||||
|
ruff
|
||||||
|
uv
|
||||||
|
gcc
|
||||||
|
pkg-config
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
rust-analyzer
|
||||||
|
|
||||||
|
kdePackages.oxygen
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import ./im-overlays.nix)
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.gitFull;
|
||||||
|
config.credential.helper = [ "libsecret" "oauth" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
# pinentryPackage = lib.mkForce pkgs.pinentry-qt;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Samba
|
||||||
|
services.samba = {
|
||||||
|
package = pkgs.samba4Full;
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
"security" = "user";
|
||||||
|
"guest account" = "nobody";
|
||||||
|
"map to guest" = "bad user";
|
||||||
|
"server smb encrypt" = "required";
|
||||||
|
"server min protocol" = "SMB3_00";
|
||||||
|
};
|
||||||
|
DL = {
|
||||||
|
path = "/run/media/lach/A0762DC8762DA050/Downloads";
|
||||||
|
browseable = "yes";
|
||||||
|
"read only" = "no";
|
||||||
|
"guest ok" = "no";
|
||||||
|
"create mask" = "0644";
|
||||||
|
"directory mask" = "0755";
|
||||||
|
"force user" = "lach";
|
||||||
|
};
|
||||||
|
Anime = {
|
||||||
|
path = "/run/media/lach/A0762DC8762DA050/Archive/Anime";
|
||||||
|
browseable = "yes";
|
||||||
|
"read only" = "no";
|
||||||
|
"guest ok" = "no";
|
||||||
|
"create mask" = "0644";
|
||||||
|
"directory mask" = "0755";
|
||||||
|
"force user" = "lach";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.avahi = {
|
||||||
|
publish.enable = true;
|
||||||
|
publish.userServices = true;
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
networking.firewall.enable = true;
|
||||||
|
networking.firewall.allowPing = true;
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 8888 ];
|
||||||
|
|
||||||
|
# virtualisation.docker = {
|
||||||
|
# enable = true;
|
||||||
|
# storageDriver = "btrfs";
|
||||||
|
# };
|
||||||
|
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
}
|
155
flake.lock
generated
Normal file
155
flake.lock
generated
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"revCount": 57,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710146030,
|
||||||
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744223888,
|
||||||
|
"narHash": "sha256-reYpe0J1J+wH34JFs7KKp0G5nP7+XSQ5z0ZLFJcfJr8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "79461936709b12e17adb9c91dd02d1c66d577f09",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744098102,
|
||||||
|
"narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"spicetify-nix": "spicetify-nix",
|
||||||
|
"winapps": "winapps"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spicetify-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744079955,
|
||||||
|
"narHash": "sha256-qIdHmNcq3qNCQA1cQTEfCZq7tqtgjhJqKKMFfZPTZPc=",
|
||||||
|
"owner": "Gerg-L",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"rev": "c0876c796c44a0a3ead0d36b5c100dbf47ea1dbd",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Gerg-L",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"winapps": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1743849404,
|
||||||
|
"narHash": "sha256-Yr6L33A9l6DW4IGBXKpPCUcA69XATxrYanwOBupSdPs=",
|
||||||
|
"owner": "winapps-org",
|
||||||
|
"repo": "winapps",
|
||||||
|
"rev": "f6d56fdf50f3b801d03f8dca2cca2246485cb793",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "winapps-org",
|
||||||
|
"repo": "winapps",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
60
flake.nix
Normal file
60
flake.nix
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
{
|
||||||
|
description = "lachrymal@NixOS";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
spicetify-nix = {
|
||||||
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
winapps = {
|
||||||
|
url = "github:winapps-org/winapps";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs@{
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
spicetify-nix,
|
||||||
|
winapps,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
nixosConfigurations.lachrymal-abg = nixpkgs.lib.nixosSystem rec {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs system; };
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useUserPackages = true;
|
||||||
|
users.lach = import ./home/lach.nix;
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
inherit spicetify-nix;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
(
|
||||||
|
{ pkgs, system, ... }:
|
||||||
|
{
|
||||||
|
nix.settings = {
|
||||||
|
substituters = [ "https://winapps.cachix.org" ];
|
||||||
|
trusted-public-keys = [ "winapps.cachix.org-1:HI82jWrXZsQRar/PChgIx1unmuEsiQMQq+zt05CD36g=" ];
|
||||||
|
};
|
||||||
|
environment.systemPackages = [
|
||||||
|
winapps.packages."${system}".winapps
|
||||||
|
winapps.packages."${system}".winapps-launcher
|
||||||
|
];
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
55
hardware-configuration.nix
Normal file
55
hardware-configuration.nix
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# 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" "usbhid" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/973e5c4e-7090-478d-af3c-ca0c68b6d7fb";
|
||||||
|
fsType = "btrfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/0542-9B6E";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-uuid/f22da6db-b016-436e-916f-b4d1a8aa3583";
|
||||||
|
fsType = "btrfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/3f11e789-560c-41ee-836e-0a435fcf73f1"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
hardware.nvidia = {
|
||||||
|
modesetting.enable = true;
|
||||||
|
powerManagement.enable = true;
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
open = false;
|
||||||
|
nvidiaSettings = true;
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.opentabletdriver.enable = true;
|
||||||
|
services.ratbagd.enable = true;
|
||||||
|
}
|
570
home/code.nix
Normal file
570
home/code.nix
Normal file
|
@ -0,0 +1,570 @@
|
||||||
|
{
|
||||||
|
"[typst]" = {
|
||||||
|
"editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
|
||||||
|
};
|
||||||
|
"[typst-code]" = {
|
||||||
|
"editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
|
||||||
|
};
|
||||||
|
"chat.commandCenter.enabled" = false;
|
||||||
|
"svelte.enable-ts-plugin" = true;
|
||||||
|
# "tinymist.exportPdf" = "onType";
|
||||||
|
"telemetry.enableTelemetry" = false;
|
||||||
|
"telemetry.telemetryLevel"= "off";
|
||||||
|
"editor.fontFamily"= "'Victor Mono', Consolas, 'Courier New', monospace";
|
||||||
|
"editor.fontSize"= 14;
|
||||||
|
"editor.fontLigatures"= true;
|
||||||
|
"window.titleBarStyle" = "custom";
|
||||||
|
"workbench.colorCustomizations"= {
|
||||||
|
"tab.activeBackground"= "#444444";
|
||||||
|
"tab.activeBorder"= "#ffffff";
|
||||||
|
"tab.activeBorderTop"="#ffffff";
|
||||||
|
"tab.border"= "#ffffff";
|
||||||
|
"titleBar.border"= "#ffffff";
|
||||||
|
"titleBar.activeBackground"= "#000000";
|
||||||
|
"activityBar.border"= "#ffffff";
|
||||||
|
"activityBar.background"= "#000000";
|
||||||
|
"editor.background"= "#000000";
|
||||||
|
"statusBar.border"= "#ffffff";
|
||||||
|
"statusBar.background"= "#333333";
|
||||||
|
"statusBarItem.remoteBackground"= "#000000";
|
||||||
|
"statusBar.noFolderBackground"= "#000000";
|
||||||
|
"sideBar.background"= "#000000";
|
||||||
|
"sideBar.border"= "#ffffff";
|
||||||
|
"menu.background"= "#000000";
|
||||||
|
"menu.border"= "#ffffff";
|
||||||
|
"editorGroupHeader.border"= "#ffffff";
|
||||||
|
"editorGroupHeader.tabsBackground"= "#000000";
|
||||||
|
"editorGroupHeader.tabsBorder"= "#ffffff";
|
||||||
|
"tab.inactiveBackground"= "#000000";
|
||||||
|
"notifications.background"= "#000000";
|
||||||
|
"notifications.border"= "#ffffff";
|
||||||
|
"notificationCenter.border"= "#ffffff";
|
||||||
|
"notificationToast.border"= "#ffffff";
|
||||||
|
};
|
||||||
|
"terminal.integrated.fontSize"= 14;
|
||||||
|
"security.workspace.trust.untrustedFiles"= "open";
|
||||||
|
"editor.tokenColorCustomizations"= {
|
||||||
|
"textMateRules"= [
|
||||||
|
{
|
||||||
|
"name"= "Comment";
|
||||||
|
"scope"= [
|
||||||
|
"comment"
|
||||||
|
"punctuation.definition.comment"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#A7ADBA";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "String";
|
||||||
|
"scope"= "string";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#99c794";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Punctuation";
|
||||||
|
"scope"= "punctuation.definition";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#5fb3b3";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Number";
|
||||||
|
"scope"= "constant.numeric";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f9ae58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Built-in constant";
|
||||||
|
"scope"= "constant.language";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "User-defined constant";
|
||||||
|
"scope"= [
|
||||||
|
"constant.character"
|
||||||
|
"constant.other"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#c594c5";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Member Variable";
|
||||||
|
"scope"= "variable.member";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Keyword";
|
||||||
|
"scope"= [
|
||||||
|
"keyword - keyword.operator"
|
||||||
|
"keyword.operator.word"
|
||||||
|
"keyword.control"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#c594c5";
|
||||||
|
# "fontStyle"= "italic"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Embedded Line Template Line JS";
|
||||||
|
"scope"= "string.template.js meta.template.expression.js meta.embedded.line.js";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#d8dee9";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Operators";
|
||||||
|
"scope"= "keyword.operator";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f97b58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= [
|
||||||
|
"keyword.operator.new"
|
||||||
|
"keyword.operator.expression"
|
||||||
|
"keyword.operator.cast"
|
||||||
|
"keyword.operator.sizeof"
|
||||||
|
"keyword.operator.logical.python"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Punctuation";
|
||||||
|
"scope"= [
|
||||||
|
"punctuation.separator"
|
||||||
|
"punctuation.terminator"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#A7ADBA";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Punctuation";
|
||||||
|
"scope"= "punctuation.section";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ffffff";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "String interpolation";
|
||||||
|
"scope"= [
|
||||||
|
"punctuation.definition.template-expression.begin"
|
||||||
|
"punctuation.definition.template-expression.end"
|
||||||
|
"punctuation.section.embedded"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
# "fontStyle"= "italic"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Accessor";
|
||||||
|
"scope"= "punctuation.accessor";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#A7ADBA";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Annotation Punctuation";
|
||||||
|
"scope"= "punctuation.definition.annotation";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#5fb3b3";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "JavaScript Dollar";
|
||||||
|
"scope"= [
|
||||||
|
"variable.other.dollar.only.js"
|
||||||
|
"variable.other.object.dollar.only.js"
|
||||||
|
"variable.type.dollar.only.js"
|
||||||
|
"support.class.dollar.only.js"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#5fb3b3";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "this.self";
|
||||||
|
"scope"= "variable.language";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
"foreground"= "#ff5874";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Storage";
|
||||||
|
"scope"= "storage";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Storage type";
|
||||||
|
"scope"= "storage.type";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#c594c5";
|
||||||
|
# "fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Storage type";
|
||||||
|
"scope"= "storage.type.function.arrow";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "storage.modifier";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Entity name";
|
||||||
|
"scope"= "entity.name.function";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#5fb3b3";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Object Property JS";
|
||||||
|
"scope"= "meta.object-literal.key.js";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#6699cc";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Entity name";
|
||||||
|
"scope"= "entity.name - (entity.name.section | entity.name.tag | entity.name.label)";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f9ae58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Inherited class";
|
||||||
|
"scope"= "entity.other.inherited-class";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic underline";
|
||||||
|
"foreground"= "#5fb3b3";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Function argument";
|
||||||
|
"scope"= "variable.parameter";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "";
|
||||||
|
"foreground"= "#f9ae58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Language variable";
|
||||||
|
"scope"= "variable.language";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Tag name";
|
||||||
|
"scope"= "entity.name.tag";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "";
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Tag attribute";
|
||||||
|
"scope"= "entity.other.attribute-name";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#c594c5";
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Tag attribute";
|
||||||
|
"scope"= "entity.other.attribute-name.id.css";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Tag attribute";
|
||||||
|
"scope"= "entity.other.attribute-name.class.css";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Function call";
|
||||||
|
"scope"= [
|
||||||
|
"variable.function"
|
||||||
|
"variable.annotation"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "";
|
||||||
|
"foreground"= "#6699cc";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Library function";
|
||||||
|
"scope"= [
|
||||||
|
"support.function"
|
||||||
|
"support.macro"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#6699cc";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Library constant";
|
||||||
|
"scope"= "support.constant";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#c594c5";
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Library class/type";
|
||||||
|
"scope"= [
|
||||||
|
"support.class"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#6699cc";
|
||||||
|
# "fontStyle"= "italic"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Invalid";
|
||||||
|
"scope"= "invalid";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f8f8f8";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "Invalid deprecated";
|
||||||
|
"scope"= "invalid.deprecated";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f8f8f8";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "YAML Key";
|
||||||
|
"scope"= "entity.name.tag.yaml";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#5fb3b3";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "YAML String";
|
||||||
|
"scope"= "source.yaml string.unquoted";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#D8DEE9";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup headings";
|
||||||
|
"scope"= "markup.heading";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "bold";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup headings";
|
||||||
|
"scope"= "markup.heading punctuation.definition.heading";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f97b58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup h1";
|
||||||
|
"scope"= "markup.heading.1 punctuation.definition.heading";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup links";
|
||||||
|
"scope"= [
|
||||||
|
"string.other.link"
|
||||||
|
"markup.underline.link"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#6699cc";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "markup.underline";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "underline";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup bold";
|
||||||
|
"scope"= "markup.bold";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "bold";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup italic";
|
||||||
|
"scope"= "markup.italic";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup bold/italic";
|
||||||
|
"scope"= "markup.italic markup.bold | markup.bold markup.italic";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "bold italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup hr";
|
||||||
|
"scope"= "punctuation.definition.thematic-break";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f9ae58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup numbered list bullet";
|
||||||
|
"scope"= "markup.list.numbered.bullet";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#99c794";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup blockquote";
|
||||||
|
"scope"= [
|
||||||
|
"markup.quote punctuation.definition.blockquote"
|
||||||
|
"markup.list punctuation.definition.list_item"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f9ae58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "markup punctuation";
|
||||||
|
"scope"= "(text punctuation.definition.italic | text punctuation.definition.bold)";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#c594c5";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "@Decorator";
|
||||||
|
"scope"= [
|
||||||
|
"meta.decorator punctuation.decorator"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= [
|
||||||
|
"punctuation.definition.comment"
|
||||||
|
"comment"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#8f97a8";
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "diff.header";
|
||||||
|
"scope"= [
|
||||||
|
"meta.diff"
|
||||||
|
"meta.diff.header"
|
||||||
|
];
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#c594c5";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "diff.deleted";
|
||||||
|
"scope"= "markup.deleted";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "diff.inserted";
|
||||||
|
"scope"= "markup.inserted";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#99c794";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "diff.changed";
|
||||||
|
"scope"= "markup.changed";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f9ae58";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name"= "CSS Properties";
|
||||||
|
"scope"= "support.type.property-name";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#D8DEE9";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "constant.numeric.line-number.match";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "message.error";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#ec5f67";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "token.info-token";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#6796e6";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "token.warn-token";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#cd9731";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "token.error-token";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#f44747";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "token.debug-token";
|
||||||
|
"settings"= {
|
||||||
|
"foreground"= "#b267e6";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "emphasis";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "italic";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"scope"= "strong";
|
||||||
|
"settings"= {
|
||||||
|
"fontStyle"= "bold";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
132
home/lach.nix
Normal file
132
home/lach.nix
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
{ config, pkgs, lib, spicetify-nix, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./spicetify
|
||||||
|
];
|
||||||
|
|
||||||
|
home.username = "lach";
|
||||||
|
home.homeDirectory = "/home/lach";
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import ../im-overlays.nix)
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
xmousepasteblock
|
||||||
|
imagemagick
|
||||||
|
fastfetch
|
||||||
|
ffmpeg-full
|
||||||
|
fsearch
|
||||||
|
gimp
|
||||||
|
inkscape-with-extensions
|
||||||
|
# jdk
|
||||||
|
krita
|
||||||
|
mpv
|
||||||
|
nomacs
|
||||||
|
vlc
|
||||||
|
obs-studio
|
||||||
|
onedrive
|
||||||
|
onedrivegui
|
||||||
|
p7zip
|
||||||
|
pandoc
|
||||||
|
piper
|
||||||
|
# prismlauncher
|
||||||
|
qq
|
||||||
|
smplayer
|
||||||
|
typst
|
||||||
|
ungoogled-chromium
|
||||||
|
yt-dlp
|
||||||
|
# davinci-resolve
|
||||||
|
reaper
|
||||||
|
|
||||||
|
texlive.combined.scheme-medium
|
||||||
|
|
||||||
|
osu-lazer-bin
|
||||||
|
|
||||||
|
# hydrapaper
|
||||||
|
# gnome-tweaks
|
||||||
|
# mission-center
|
||||||
|
# resources
|
||||||
|
qbittorrent
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.emacs30-pgtk;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscode.fhs;
|
||||||
|
enableUpdateCheck = false;
|
||||||
|
mutableExtensionsDir = false;
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
bbenoist.nix
|
||||||
|
myriad-dreamin.tinymist
|
||||||
|
ms-vscode.cpptools
|
||||||
|
ms-vscode.cpptools-extension-pack
|
||||||
|
ms-python.python
|
||||||
|
ms-vscode-remote.remote-ssh
|
||||||
|
ms-vscode-remote.remote-ssh-edit
|
||||||
|
james-yu.latex-workshop
|
||||||
|
# ms-vscode.cmake-tools
|
||||||
|
github.vscode-github-actions
|
||||||
|
charliermarsh.ruff
|
||||||
|
ziglang.vscode-zig
|
||||||
|
svelte.svelte-vscode
|
||||||
|
ms-python.debugpy
|
||||||
|
# vue.volar
|
||||||
|
bradlc.vscode-tailwindcss
|
||||||
|
rust-lang.rust-analyzer
|
||||||
|
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
|
{
|
||||||
|
name = "vs-code-extension";
|
||||||
|
publisher = "inlang";
|
||||||
|
version = "1.48.3";
|
||||||
|
sha256 = "sha256-4/Jday2YcP5yVq5OE4xZXY5Go8/oyTPhJphS423pEUA=";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
userSettings = import ./code.nix;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ghostty = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
settings = {
|
||||||
|
font-family = "Victor Mono";
|
||||||
|
background-opacity = .9;
|
||||||
|
background-blur = true;
|
||||||
|
theme = "Adwaita Dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enabled = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
kdePackages.fcitx5-configtool
|
||||||
|
fcitx5-mozc
|
||||||
|
fcitx5-gtk
|
||||||
|
kdePackages.fcitx5-qt
|
||||||
|
fcitx5-lua
|
||||||
|
fcitx5-rime
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
29
home/spicetify/default.nix
Normal file
29
home/spicetify/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ pkgs, config, lib, spicetify-nix, ... }:
|
||||||
|
let
|
||||||
|
spicePkgs = spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ spicetify-nix.homeManagerModules.default ];
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
|
playlistIcons
|
||||||
|
history
|
||||||
|
betterGenres
|
||||||
|
adblock
|
||||||
|
savePlaylists
|
||||||
|
volumePercentage
|
||||||
|
copyToClipboard
|
||||||
|
songStats
|
||||||
|
hidePodcasts
|
||||||
|
fullAppDisplay
|
||||||
|
groupSession
|
||||||
|
fullAlbumDate
|
||||||
|
];
|
||||||
|
enabledCustomApps = with spicePkgs.apps; [
|
||||||
|
historyInSidebar
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
10
im-overlays.nix
Normal file
10
im-overlays.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
final: prev: {
|
||||||
|
vesktop = prev.vesktop.overrideAttrs (oldAttrs: {
|
||||||
|
postFixup = builtins.replaceStrings [ "app.asar" ] [ "app.asar --set GTK_IM_MODULE fcitx" ] oldAttrs.postFixup; # this sucks
|
||||||
|
});
|
||||||
|
qq = prev.qq.overrideAttrs (oldAttrs: {
|
||||||
|
postInstall = (oldAttrs.postInstall or "") + ''
|
||||||
|
wrapProgram $out/bin/qq --set GTK_IM_MODULE fcitx
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue