massive lsp evaluated rewrite
This commit is contained in:
parent
6ec6eb239a
commit
fd340effd9
6
base.nix
6
base.nix
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, inputs, outputs, ... }: {
|
||||
{ lib, pkgs, inputs, outputs, ... }: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
./modules/apps.nix
|
||||
@ -8,13 +8,13 @@
|
||||
./modules/scripts.nix
|
||||
./jawz.nix
|
||||
];
|
||||
system.stateVersion = "24.05";
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = { inherit inputs outputs; };
|
||||
users.jawz = import ./home-manager.nix;
|
||||
};
|
||||
system.stateVersion = "24.05";
|
||||
time = {
|
||||
timeZone = "America/Mexico_City";
|
||||
hardwareClockInLocalTime = true;
|
||||
@ -68,7 +68,7 @@
|
||||
];
|
||||
};
|
||||
};
|
||||
documentation = { enable = false; };
|
||||
documentation.enable = false;
|
||||
users.groups.piracy.gid = 985;
|
||||
environment = {
|
||||
systemPackages = with pkgs; [ wget ];
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
{
|
||||
description = "A very basic flake";
|
||||
|
||||
description = "JawZ NixOS flake setup";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
@ -87,6 +86,8 @@
|
||||
discord = super.discord.override { withOpenASAR = true; };
|
||||
ripgrep = super.ripgrep.override { withPCRE2 = true; };
|
||||
blender = super.blender.override { cudaSupport = true; };
|
||||
papirus-icon-theme =
|
||||
super.papirus-icon-theme.override { color = "adwaita"; };
|
||||
})
|
||||
];
|
||||
})
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services = {
|
||||
@ -37,12 +37,11 @@
|
||||
enable = true;
|
||||
style = "adwaita";
|
||||
};
|
||||
users.users.jawz.packages = with pkgs;
|
||||
([
|
||||
users.users.jawz.packages = (with pkgs; [
|
||||
# ffmpegthumbnailer # generate thumbnails
|
||||
adw-gtk3 # theme legacy applications
|
||||
gnome.gnome-tweaks # tweaks for the gnome desktop environment
|
||||
(papirus-icon-theme.override { color = "adwaita"; })
|
||||
papirus-icon-theme # icon theme
|
||||
# gradience # theme customizer, allows you to modify adw-gtk3 themes
|
||||
# lm_sensors # for extension, displays cpu temp
|
||||
libgda # for pano shell extension
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, inputs, outputs, ... }: {
|
||||
{ config, ... }: {
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
programs.bash = {
|
||||
@ -51,7 +51,7 @@
|
||||
templates = "${config.xdg.dataHome}/Templates";
|
||||
videos = "${config.home.homeDirectory}/Videos";
|
||||
};
|
||||
configFile = { "wgetrc".source = ../dotfiles/wget/wgetrc; };
|
||||
configFile = { "wgetrc".source = ./dotfiles/wget/wgetrc; };
|
||||
};
|
||||
programs = {
|
||||
helix.enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
# <agenix/modules/age.nix>
|
||||
./hardware-configuration.nix
|
||||
@ -46,7 +46,6 @@
|
||||
ffmpeg4discord.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "workstation";
|
||||
firewall = let
|
||||
@ -64,7 +63,6 @@
|
||||
allowedUDPPortRanges = openPortRanges;
|
||||
};
|
||||
};
|
||||
|
||||
nix = let
|
||||
featuresList = [
|
||||
"nixos-test"
|
||||
@ -83,12 +81,10 @@
|
||||
system-features = featuresList;
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [ ];
|
||||
};
|
||||
|
||||
users = {
|
||||
groups.nixremote.gid = 555;
|
||||
users = {
|
||||
@ -109,7 +105,6 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.etc = {
|
||||
"wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
|
||||
bluez_monitor.properties = {
|
||||
@ -120,7 +115,6 @@
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
programs = {
|
||||
kdeconnect = {
|
||||
enable = true;
|
||||
@ -131,7 +125,6 @@
|
||||
enableVirtualCamera = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.resilio = {
|
||||
deviceName = "chichis";
|
||||
enable = true;
|
||||
|
||||
@ -48,13 +48,9 @@
|
||||
device = "/dev/disk/by-uuid/e9618e85-a631-4374-b2a4-22c376d6e41b";
|
||||
preLVM = true;
|
||||
};
|
||||
initrd = {
|
||||
availableKernelModules =
|
||||
initrd.availableKernelModules =
|
||||
[ "xhci_pci" "ahci" "usbhid" "nvme" "usb_storage" "sd_mod" ];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems = let
|
||||
nfsMount = (server: nfsDisk: {
|
||||
device = "${server}:/${nfsDisk}";
|
||||
|
||||
10
jawz.nix
10
jawz.nix
@ -1,8 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
{ ... }: {
|
||||
users.users.jawz = {
|
||||
isNormalUser = true;
|
||||
initialPassword = "password";
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
@ -15,14 +14,11 @@
|
||||
"libvirt"
|
||||
"rslsync"
|
||||
];
|
||||
initialPassword = "password";
|
||||
openssh = {
|
||||
authorizedKeys.keys = [
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB5GaQM4N+yGAByibOFQOBVMV/6TjOfaGIP+NunMiK76 gpodeacerocdreyes@100CDREYES"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMkpeIV9G26W2/e9PsjBx3sNwPGoicJ807ExRGh4KjhW jawz@server"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGjnNIggZweJ+GJKKvFEPhpLcs+t64xXjBmeuERsLFLL jawz@miniserver"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBEblxSDhWPEo33crSjooeUg4W02ruENxHLmmBqCuIo jawz@galaxy"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ lib, ... }: {
|
||||
imports = [
|
||||
./apps/art.nix
|
||||
./apps/dictionaries.nix
|
||||
|
||||
@ -4,8 +4,7 @@
|
||||
dev.gameDev.enable = lib.mkEnableOption "enable";
|
||||
};
|
||||
config = lib.mkIf config.my.apps.art.enable {
|
||||
users.users.jawz.packages = with pkgs;
|
||||
[
|
||||
users.users.jawz.packages = (with pkgs; [
|
||||
gimp # the coolest bestest art program to never exist
|
||||
krita # art to your heart desire!
|
||||
mypaint # not the best art program
|
||||
@ -14,10 +13,12 @@
|
||||
pureref # create inspiration/reference boards
|
||||
blender # cgi animation and sculpting
|
||||
# drawpile # arty party with friends!!
|
||||
] ++ (if config.my.dev.gameDev.enable then [
|
||||
]) ++ (if config.my.dev.gameDev.enable then
|
||||
with pkgs; [
|
||||
godot_4 # game development
|
||||
gdtoolkit # gdscript language server
|
||||
] else
|
||||
]
|
||||
else
|
||||
[ ]);
|
||||
};
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ in {
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
};
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
users.users.jawz.packages = (with pkgs; [
|
||||
mangohud # fps & stats overlay
|
||||
lutris # games launcher & emulator hub
|
||||
cartridges # games launcher
|
||||
@ -20,7 +20,6 @@ in {
|
||||
heroic # install epic games
|
||||
protonup-qt # update proton-ge
|
||||
#minecraft # minecraft official launcher
|
||||
polymc # minecraft launcher with mod support
|
||||
ns-usbloader # load games into my switch
|
||||
# grapejuice # roblox manager
|
||||
|
||||
@ -32,6 +31,8 @@ in {
|
||||
#citra-nightly # 3Ds emulator
|
||||
snes9x-gtk # snes emulator
|
||||
ryujinx # switch emulator
|
||||
]) ++ [
|
||||
polymc # minecraft launcher with mod support
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -11,8 +11,7 @@ in {
|
||||
};
|
||||
};
|
||||
services.psd.enable = true;
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
vdhcoapp # video download helper assistant
|
||||
users.users.jawz.packages = (with pkgs; [
|
||||
nextcloud-client # self-hosted google-drive alternative
|
||||
fragments # beautiful torrent client
|
||||
protonmail-bridge # bridge for protonmail
|
||||
@ -23,6 +22,8 @@ in {
|
||||
vesktop # screen share with audio discord
|
||||
discord # :3
|
||||
# hugo # website engine
|
||||
]) ++ [
|
||||
vdhcoapp # video download helper assistant
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.apps.office.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.apps.office.enable {
|
||||
environment.variables.CALIBRE_USE_SYSTEM_THEME = "1";
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
libreoffice # office, but based
|
||||
calibre # ugly af eBook library manager
|
||||
@ -11,6 +12,5 @@
|
||||
# wike # gtk wikipedia wow!
|
||||
# denaro # manage your finances
|
||||
];
|
||||
environment.variables = { CALIBRE_USE_SYSTEM_THEME = "1"; };
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ lib, ... }: {
|
||||
imports = [
|
||||
./dev/sh.nix
|
||||
./dev/nix.nix
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.dev.docker.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.dev.docker.enable {
|
||||
users.users.jawz.packages = (with pkgs; [ dockfmt ])
|
||||
++ (with pkgs.nodePackages; [ dockerfile-language-server-nodejs ]);
|
||||
environment.variables.DOCKER_CONFIG = "\${XDG_CONFIG_HOME}/docker";
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
dockfmt
|
||||
nodePackages.dockerfile-language-server-nodejs
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.dev.haskell.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.dev.haskell.enable {
|
||||
users.users.jawz.packages = with pkgs; ([
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
ghc # compiler
|
||||
haskell-language-server # lsp
|
||||
]);
|
||||
];
|
||||
environment.variables = {
|
||||
CABAL_DIR = "\${XDG_CACHE_HOME}/cabal";
|
||||
STACK_ROOT = "\${XDG_DATA_HOME}/stack";
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.dev.javascript.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.dev.javascript.enable {
|
||||
home-manager.users.jawz.programs.xdg.configFile = {
|
||||
"npm/npmrc".source = ../dotfiles/npm/npmrc;
|
||||
home-manager.users.jawz.xdg.configFile = {
|
||||
"npm/npmrc".source = ../../dotfiles/npm/npmrc;
|
||||
"configstore/update-notifier-npm-check.json".source =
|
||||
../dotfiles/npm/update-notifier-npm-check.json;
|
||||
../../dotfiles/npm/update-notifier-npm-check.json;
|
||||
};
|
||||
users.users.jawz.packages = (with pkgs; [ nodejs ])
|
||||
++ (with pkgs.nodePackages; [ pnpm ]);
|
||||
users.users.jawz.packages = with pkgs; [ nodejs nodePackages.pnpm ];
|
||||
environment.variables = {
|
||||
NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc";
|
||||
PNPM_HOME = "\${XDG_DATA_HOME}/pnpm";
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.dev.nix.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.dev.nix.enable {
|
||||
users.users.jawz.packages = with pkgs; ([
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
expect # keep color when nom'ing
|
||||
nix-output-monitor # autistic nix builds
|
||||
nixfmt-classic # linting
|
||||
nixfmt-rfc-style # linting
|
||||
cachix # why spend time compiling?
|
||||
nixd # language server
|
||||
]);
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.dev.python.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.dev.python.enable {
|
||||
home-manager.users.jawz.programs.xdg.configFile = {
|
||||
"python/pythonrc".source = ../dotfiles/pythonrc;
|
||||
home-manager.users.jawz.xdg.configFile = {
|
||||
"python/pythonrc".source = ../../dotfiles/pythonrc;
|
||||
};
|
||||
users.users.jawz.packages = (with pkgs; ([
|
||||
environment.variables.PYTHONSTARTUP = "\${XDG_CONFIG_HOME}/python/pythonrc";
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
pipenv # python development workflow for humans
|
||||
nodePackages.pyright # LSP
|
||||
(python3.withPackages (ps:
|
||||
with ps; [
|
||||
black # Python code formatter
|
||||
@ -19,10 +21,6 @@
|
||||
# poetry # dependency management made easy
|
||||
# pytest # framework for writing tests
|
||||
]))
|
||||
])) ++ (with pkgs.nodePackages;
|
||||
[
|
||||
pyright # LSP
|
||||
]);
|
||||
environment.variables.PYTHONSTARTUP = "\${XDG_CONFIG_HOME}/python/pythonrc";
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.dev.sh.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.dev.sh.enable {
|
||||
users.users.jawz.packages = (with pkgs; [
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
bashdb # autocomplete
|
||||
shellcheck # linting
|
||||
shfmt # a shell parser and formatter
|
||||
]) ++ (with pkgs.nodePackages; [ bash-language-server ]);
|
||||
nodePackages.bash-language-server # LSP
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -2,13 +2,23 @@
|
||||
options.my.emacs.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.emacs.enable {
|
||||
home-manager.users.jawz = {
|
||||
programs.bash.shellAliases = {
|
||||
services.lorri.enable = true;
|
||||
programs.bash = {
|
||||
initExtra = ''
|
||||
emacs-sqlite-fix () {
|
||||
nix-shell -p cmake sqlite --command "doom sync &&
|
||||
sc restart emacs &&
|
||||
emacsclient -e '(org-roam-db-sync)'" &&
|
||||
doom sync
|
||||
}
|
||||
'';
|
||||
shellAliases = {
|
||||
edit = "emacsclient -t";
|
||||
e = "edit";
|
||||
};
|
||||
services.lorri.enable = true;
|
||||
};
|
||||
users.users.jawz.packages = (with pkgs; ([
|
||||
};
|
||||
users.users.jawz.packages = (with pkgs; [
|
||||
fd # modern find, faster searches
|
||||
fzf # fuzzy finder! super cool and useful
|
||||
ripgrep # modern grep
|
||||
@ -25,7 +35,7 @@
|
||||
# lsps
|
||||
yaml-language-server
|
||||
markdownlint-cli
|
||||
])) ++ (with pkgs.nodePackages; [
|
||||
]) ++ (with pkgs.nodePackages; [
|
||||
vscode-json-languageserver
|
||||
# linters
|
||||
prettier
|
||||
@ -34,16 +44,8 @@
|
||||
enable = true;
|
||||
package = with pkgs;
|
||||
((emacsPackagesFor emacs-gtk).emacsWithPackages
|
||||
(epkgs: with epkgs; ([ vterm ])));
|
||||
(epkgs: with epkgs; [ vterm ]));
|
||||
defaultEditor = true;
|
||||
};
|
||||
home-manager.users.jawz.programs.bash.initExtra = ''
|
||||
emacs-sqlite-fix () {
|
||||
nix-shell -p cmake sqlite --command "doom sync &&
|
||||
sc restart emacs &&
|
||||
emacsclient -e '(org-roam-db-sync)'" &&
|
||||
doom sync
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,20 +1,29 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ lib, ... }: {
|
||||
imports = [
|
||||
./scripts/run.nix
|
||||
./scripts/tasks.nix
|
||||
./scripts/split-dir.nix
|
||||
./scripts/pika-list.nix
|
||||
./scripts/download.nix
|
||||
./scripts/ffmpreg.nix
|
||||
./scripts/ffmpeg4discord.nix
|
||||
./scripts/ffmpreg.nix
|
||||
./scripts/find-dup-episode.nix
|
||||
./scripts/manage-library.nix
|
||||
./scripts/nextcloud-cronjob.nix
|
||||
./scripts/pika-list.nix
|
||||
./scripts/run.nix
|
||||
./scripts/split-dir.nix
|
||||
./scripts/sub-sync.nix
|
||||
./scripts/tasks.nix
|
||||
./scripts/update-dns.nix
|
||||
];
|
||||
my.scripts = {
|
||||
run.enable = lib.mkDefault false;
|
||||
tasks.enable = lib.mkDefault false;
|
||||
split-dir.enable = lib.mkDefault false;
|
||||
pika-list.enable = lib.mkDefault false;
|
||||
download.enable = lib.mkDefault false;
|
||||
ffmpreg.enable = lib.mkDefault false;
|
||||
ffmpeg4discord.enable = lib.mkDefault false;
|
||||
ffmpreg.enable = lib.mkDefault false;
|
||||
find-dup-episodes.enable = lib.mkDefault false;
|
||||
manage-library.enable = lib.mkDefault false;
|
||||
pika-list.enable = lib.mkDefault false;
|
||||
run.enable = lib.mkDefault false;
|
||||
split-dir.enable = lib.mkDefault false;
|
||||
sub-sync.enable = lib.mkDefault false;
|
||||
tasks.enable = lib.mkDefault false;
|
||||
update-dns.enable = lib.mkDefault false;
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.scripts = lib.mkOption {
|
||||
type = lib.types.attrsOf (lib.types.submodule ({
|
||||
type = lib.types.attrsOf (lib.types.submodule {
|
||||
options = {
|
||||
enable = lib.mkEnableOption "Whether to enable this script";
|
||||
install = lib.mkEnableOption "Whether to install the script package";
|
||||
@ -23,7 +23,7 @@
|
||||
description = "Package containing the executable script.";
|
||||
};
|
||||
};
|
||||
}));
|
||||
});
|
||||
default = { };
|
||||
description = "Configuration for multiple scripts.";
|
||||
};
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config = {
|
||||
home-manager.users.jawz = {
|
||||
xdg.configFile."gallery-dl/config.json".source =
|
||||
../../dotfiles/gallery-dl/config.json;
|
||||
services.lorri.enable = true;
|
||||
programs = {
|
||||
xdg.configFile = {
|
||||
"gallery-dl/config.json".source = ../dotfiles/gallery-dl/config.json;
|
||||
};
|
||||
bash = {
|
||||
shellAliases = {
|
||||
comic =
|
||||
@ -15,27 +15,25 @@
|
||||
dl = "download -u jawz -i";
|
||||
};
|
||||
initExtra = ''
|
||||
list_root="${config.xdg.configHome}"/jawz/lists/jawz
|
||||
list_root=$XDG_CONFIG_HOME/jawz/lists/jawz
|
||||
export LW=$list_root/watch.txt
|
||||
export LI=$list_root/instant.txt
|
||||
export LC=$list_root/comic.txt
|
||||
'';
|
||||
};
|
||||
};
|
||||
services.lorri.enable = true;
|
||||
};
|
||||
users.users.jawz.packages = (with pkgs; [ gallery-dl ]);
|
||||
users.users.jawz.packages = [ pkgs.gallery-dl ];
|
||||
my.scripts.download = {
|
||||
enable = true;
|
||||
install = true;
|
||||
service = false;
|
||||
name = "download";
|
||||
package = with pkgs.python3Packages;
|
||||
(buildPythonApplication rec {
|
||||
(buildPythonApplication {
|
||||
pname = "download";
|
||||
version = "2.5";
|
||||
src = ../../scripts/download/.;
|
||||
doCheck = false;
|
||||
buildInputs = [ setuptools ];
|
||||
propagatedBuildInputs = [ pyyaml types-pyyaml yt-dlp ];
|
||||
});
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.ffmpeg4discord = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.ffmpreg = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.find-dup-episodes = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.manage-library = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.nextcloud-cronjob = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.pika-list = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.run = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.split-dir = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.sub-sync = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.tasks = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./base.nix ];
|
||||
config.my.scripts.update-dns = {
|
||||
enable = true;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ lib, ... }: {
|
||||
imports = [
|
||||
./services/network.nix
|
||||
./services/nvidia.nix
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ config, lib, ... }: {
|
||||
options.my.services.network.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.services.network.enable {
|
||||
networking = {
|
||||
|
||||
@ -3,6 +3,7 @@ let printingDrivers = [ pkgs.hplip pkgs.hplipWithPlugin ];
|
||||
in {
|
||||
options.my.services.printing.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.services.printing.enable {
|
||||
users.users.jawz.packages = [ pkgs.gnome.simple-scan ];
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = printingDrivers;
|
||||
@ -11,6 +12,5 @@ in {
|
||||
enable = true;
|
||||
extraBackends = printingDrivers;
|
||||
};
|
||||
users.users.jawz.packages = [ pkgs.gnome.simple-scan ];
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ config, lib, ... }: {
|
||||
imports = [
|
||||
# nixGaming.nixosModules.pipewireLowLatency
|
||||
];
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
{ lib, ... }: {
|
||||
imports = [ ./shell/exercism.nix ./shell/multimedia.nix ./shell/tools.nix ];
|
||||
my.shell = {
|
||||
exercism.enable = lib.mkDefault false;
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.shell.exercism.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.shell.exercism.enable {
|
||||
users.users.jawz.packages = with pkgs; ([
|
||||
users.users.jawz.packages = with pkgs; [
|
||||
exercism # learn to code
|
||||
bats # testing system, required by Exercism
|
||||
]);
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,25 +1,23 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.shell.multimedia.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.shell.multimedia.enable {
|
||||
users.users.jawz.packages = with pkgs;
|
||||
[
|
||||
users.users.jawz.packages = (with pkgs; [
|
||||
gallery-dl # similar to yt-dlp but for most image gallery websites
|
||||
yt-dlp # downloads videos from most video websites
|
||||
ffmpeg # not ffmpreg, the coolest video conversion tool!
|
||||
imagemagick # photoshop what??
|
||||
] ++ (with pkgs.python3Packages;
|
||||
[
|
||||
(buildPythonApplication rec {
|
||||
]) ++ [
|
||||
(pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "ffpb";
|
||||
version = "0.4.1";
|
||||
src = fetchPypi {
|
||||
src = pkgs.python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-7eVqbLpMHS1sBw2vYS4cTtyVdnnknGtEI8190VlXflk=";
|
||||
};
|
||||
doCheck = false;
|
||||
buildInputs = [ setuptools ];
|
||||
propagatedBuildInputs = [ tqdm ];
|
||||
buildInputs = [ pkgs.python3Packages.setuptools ];
|
||||
propagatedBuildInputs = [ pkgs.python3Packages.tqdm ];
|
||||
})
|
||||
]);
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,7 +1,18 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
options.my.shell.tools.enable = lib.mkEnableOption "enable";
|
||||
config = lib.mkIf config.my.shell.tools.enable {
|
||||
home-manager.users.jawz.programs = {
|
||||
home-manager.users.jawz = {
|
||||
xdg.configFile."htop/htoprc".source = ../../dotfiles/htop/htoprc;
|
||||
programs = {
|
||||
hstr.enable = true;
|
||||
htop = {
|
||||
enable = true;
|
||||
package = pkgs.htop-vim;
|
||||
};
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
bash = {
|
||||
initExtra = ''
|
||||
if command -v fzf-share >/dev/null; then
|
||||
@ -22,16 +33,6 @@
|
||||
uniq --count | sort -rn'';
|
||||
};
|
||||
};
|
||||
xdg.configFile = { "htop/htoprc".source = ../dotfiles/htop/htoprc; };
|
||||
hstr.enable = true;
|
||||
htop = {
|
||||
enable = true;
|
||||
package = pkgs.htop-vim;
|
||||
};
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
@ -48,6 +49,7 @@
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
starship.enable = true;
|
||||
tmux.enable = true;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, alsa-lib, ffmpeg, kdePackages
|
||||
, kdsingleapplication, openssl, pipewire, taglib, zlib }:
|
||||
, kdsingleapplication, pipewire, taglib }:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fooyin";
|
||||
@ -28,8 +28,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_TESTING" (finalAttrs.doCheck or false))
|
||||
# we need INSTALL_FHS to be true as the various artifacts are otherwise just dumped in the root
|
||||
# of $out and the fixupPhase cleans things up anyway
|
||||
(lib.cmakeBool "INSTALL_FHS" true)
|
||||
];
|
||||
|
||||
|
||||
@ -1,21 +1,16 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.programs.obs-studio;
|
||||
in {
|
||||
options.programs.obs-studio = {
|
||||
enable = mkEnableOption "OBS Studio program";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
enable = lib.mkEnableOption "OBS Studio program";
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.obs-studio;
|
||||
defaultText = "pkgs.obs-studio";
|
||||
description = "Set obs-studio package to use.";
|
||||
};
|
||||
|
||||
enableVirtualCamera = mkOption {
|
||||
type = types.bool;
|
||||
enableVirtualCamera = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Installs and sets up the v4l2loopback kernel module, necesary for OBS
|
||||
@ -23,20 +18,15 @@ in {
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
boot = mkIf cfg.enableVirtualCamera {
|
||||
boot = lib.mkIf cfg.enableVirtualCamera {
|
||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||
|
||||
extraModprobeConfig = ''
|
||||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
||||
'';
|
||||
};
|
||||
|
||||
security.polkit.enable = mkIf cfg.enableVirtualCamera true;
|
||||
security.polkit.enable = lib.mkIf cfg.enableVirtualCamera true;
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ CaptainJawZ ];
|
||||
meta.maintainers = [ lib.maintainers.CaptainJawZ ];
|
||||
}
|
||||
|
||||
@ -6,10 +6,10 @@
|
||||
|
||||
let
|
||||
polymc = let
|
||||
binpath = lib.makeBinPath ([ xorg.xrandr glxinfo pciutils ]);
|
||||
binpath = lib.makeBinPath [ xorg.xrandr glxinfo pciutils ];
|
||||
|
||||
libpath = with xorg;
|
||||
lib.makeLibraryPath ([
|
||||
lib.makeLibraryPath [
|
||||
libX11
|
||||
libXext
|
||||
libXcursor
|
||||
@ -23,7 +23,7 @@ let
|
||||
udev
|
||||
flite
|
||||
stdenv.cc.cc.lib
|
||||
]);
|
||||
];
|
||||
|
||||
gameLibraryPath = libpath + ":${addOpenGLRunpath.driverLink}/lib";
|
||||
|
||||
@ -107,7 +107,7 @@ let
|
||||
ln -s $src/share $out/share
|
||||
'';
|
||||
|
||||
postFixup = let javaPaths = lib.makeSearchPath "bin/java" (extraJDKs);
|
||||
postFixup = let javaPaths = lib.makeSearchPath "bin/java" extraJDKs;
|
||||
in ''
|
||||
wrapProgram $out/bin/polymc \
|
||||
--suffix LD_LIBRARY_PATH : "${libsPath}" \
|
||||
|
||||
@ -12,11 +12,11 @@ appimageTools.wrapType1 rec {
|
||||
curl "https://www.pureref.com/files/build.php?build=LINUX64.Appimage&version=${version}&downloadKey=$key" --output $out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Reference Image Viewer";
|
||||
homepage = "https://www.pureref.com";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ elnudev ];
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = [ lib.maintainers.elnudev ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user