mirror of
https://github.com/eRgo35/nix-config.git
synced 2026-02-04 05:36:11 +01:00
3
pkgs/.gitignore
vendored
3
pkgs/.gitignore
vendored
@@ -1,3 +0,0 @@
|
||||
*.tar.gz
|
||||
*.tbz
|
||||
result
|
||||
@@ -1,7 +0,0 @@
|
||||
# Custom packages, that can be defined similarly to ones from nixpkgs
|
||||
# You can build them using 'nix build .#example'
|
||||
{pkgs ? import <nixpkgs> {}}: rec {
|
||||
# example = pkgs.callPackage ./example { };
|
||||
dwm-customized = pkgs.callPackage ./dwm-customized {};
|
||||
lmstudio = pkgs.callPackage ./lmstudio {};
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
pkgs,
|
||||
libX11,
|
||||
libXinerama,
|
||||
libXft,
|
||||
...
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "dwm-customized";
|
||||
version = "6.4.2";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "eRgo35";
|
||||
repo = "dwm";
|
||||
rev = "d4fed3cac603ea386d57b8c96f6bc49b3c2eec64";
|
||||
sha256 = "sha256-pQMoxKbvWJLznpzcl91yPuB4ugxXW1PnslDM/877ZqA=";
|
||||
};
|
||||
|
||||
# unpackPhase = ''tar -xf $src'';
|
||||
|
||||
buildInputs = [libX11 libXinerama libXft];
|
||||
|
||||
buildPhase = ''make'';
|
||||
|
||||
installPhase = ''make PREFIX=$out DESTDIR="" install'';
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
}: let
|
||||
pname = "lmstudio";
|
||||
version = "0.2.18";
|
||||
src = fetchurl {
|
||||
url = "https://releases.lmstudio.ai/linux/${version}/beta/LM_Studio-${version}.AppImage";
|
||||
hash = "sha256-cUa0fjV7xx6+2tnGVP7uLG0QQb44LhP2nYsn6Qn0al4=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {inherit pname version src;};
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [pkgs.ocl-icd];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share/applications
|
||||
mv $out/bin/lmstudio-${version} $out/bin/lmstudio
|
||||
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||
install -m 444 -D ${appimageContents}/lm-studio.desktop -t $out/share/applications
|
||||
substituteInPlace $out/share/applications/lm-studio.desktop \
|
||||
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=lmstudio'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs)";
|
||||
homepage = "https://lmstudio.ai/";
|
||||
license = lib.licenses.unfree;
|
||||
mainProgram = "lmstudio";
|
||||
maintainers = with lib.maintainers; [drupol];
|
||||
platforms = lib.platforms.linux;
|
||||
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
|
||||
};
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
--[[
|
||||
THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT
|
||||
`lvim` is the global options object
|
||||
]]
|
||||
|
||||
-- vim options
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
-- general
|
||||
lvim.log.level = "info"
|
||||
lvim.format_on_save = {
|
||||
enabled = true,
|
||||
pattern = "*.lua",
|
||||
timeout = 1000,
|
||||
}
|
||||
-- to disable icons and use a minimalist setup, uncomment the following
|
||||
-- lvim.use_icons = false
|
||||
|
||||
-- keymappings <https://www.lunarvim.org/docs/configuration/keybindings>
|
||||
lvim.leader = "space"
|
||||
-- add your own keymapping
|
||||
lvim.keys.normal_mode["<C-s>"] = ":w<cr>"
|
||||
|
||||
-- lvim.keys.normal_mode["<S-l>"] = ":BufferLineCycleNext<CR>"
|
||||
-- lvim.keys.normal_mode["<S-h>"] = ":BufferLineCyclePrev<CR>"
|
||||
|
||||
-- -- Use which-key to add extra bindings with the leader-key prefix
|
||||
-- lvim.builtin.which_key.mappings["W"] = { "<cmd>noautocmd w<cr>", "Save without formatting" }
|
||||
-- lvim.builtin.which_key.mappings["P"] = { "<cmd>Telescope projects<CR>", "Projects" }
|
||||
|
||||
-- -- Change theme settings
|
||||
lvim.colorscheme = "gruvbox-material"
|
||||
|
||||
lvim.builtin.alpha.active = true
|
||||
lvim.builtin.alpha.mode = "dashboard"
|
||||
lvim.builtin.terminal.active = true
|
||||
lvim.builtin.nvimtree.setup.view.side = "left"
|
||||
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
|
||||
|
||||
-- Automatically install missing parsers when entering buffer
|
||||
lvim.builtin.treesitter.auto_install = true
|
||||
|
||||
-- lvim.builtin.treesitter.ignore_install = { "haskell" }
|
||||
|
||||
-- -- always installed on startup, useful for parsers without a strict filetype
|
||||
-- lvim.builtin.treesitter.ensure_installed = { "comment", "markdown_inline", "regex" }
|
||||
|
||||
-- -- generic LSP settings <https://www.lunarvim.org/docs/languages#lsp-support>
|
||||
|
||||
-- --- disable automatic installation of servers
|
||||
-- lvim.lsp.installer.setup.automatic_installation = false
|
||||
|
||||
-- ---configure a server manually. IMPORTANT: Requires `:LvimCacheReset` to take effect
|
||||
-- ---see the full default list `:lua =lvim.lsp.automatic_configuration.skipped_servers`
|
||||
-- vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright" })
|
||||
-- local opts = {} -- check the lspconfig documentation for a list of all possible options
|
||||
-- require("lvim.lsp.manager").setup("pyright", opts)
|
||||
|
||||
-- ---remove a server from the skipped list, e.g. eslint, or emmet_ls. IMPORTANT: Requires `:LvimCacheReset` to take effect
|
||||
-- ---`:LvimInfo` lists which server(s) are skipped for the current filetype
|
||||
-- lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server)
|
||||
-- return server ~= "emmet_ls"
|
||||
-- end, lvim.lsp.automatic_configuration.skipped_servers)
|
||||
|
||||
-- -- you can set a custom on_attach function that will be used for all the language servers
|
||||
-- -- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion>
|
||||
-- lvim.lsp.on_attach_callback = function(client, bufnr)
|
||||
-- local function buf_set_option(...)
|
||||
-- vim.api.nvim_buf_set_option(bufnr, ...)
|
||||
-- end
|
||||
-- --Enable completion triggered by <c-x><c-o>
|
||||
-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
-- end
|
||||
|
||||
-- -- linters and formatters <https://www.lunarvim.org/docs/languages#lintingformatting>
|
||||
local formatters = require "lvim.lsp.null-ls.formatters"
|
||||
formatters.setup {
|
||||
{ command = "stylua" },
|
||||
{
|
||||
command = "prettier",
|
||||
extra_args = { "--print-width", "100" },
|
||||
filetypes = { "typescript", "typescriptreact" },
|
||||
},
|
||||
{ command = "clang-format" },
|
||||
}
|
||||
local linters = require "lvim.lsp.null-ls.linters"
|
||||
linters.setup {
|
||||
{ command = "flake8", filetypes = { "python" } },
|
||||
{
|
||||
command = "shellcheck",
|
||||
args = { "--severity", "warning" },
|
||||
},
|
||||
}
|
||||
|
||||
-- -- Additional Plugins <https://www.lunarvim.org/docs/plugins#user-plugins>
|
||||
lvim.plugins = {
|
||||
-- {
|
||||
-- "folke/trouble.nvim",
|
||||
-- cmd = "TroubleToggle",
|
||||
-- },
|
||||
--
|
||||
{
|
||||
"nanotee/zoxide.vim",
|
||||
lazy = false,
|
||||
},
|
||||
{
|
||||
"sainnhe/gruvbox-material"
|
||||
}
|
||||
}
|
||||
|
||||
-- -- Autocommands (`:help autocmd`) <https://neovim.io/doc/user/autocmd.html>
|
||||
-- vim.api.nvim_create_autocmd("FileType", {
|
||||
-- pattern = "zsh",
|
||||
-- callback = function()
|
||||
-- -- let treesitter use bash highlight for zsh files as well
|
||||
-- require("nvim-treesitter.highlight").attach(0, "bash")
|
||||
-- end,
|
||||
-- })
|
||||
@@ -1,2 +0,0 @@
|
||||
{pkgs ? import <nixpkgs> {}}:
|
||||
pkgs.callPackage ./papyrus.nix {}
|
||||
@@ -1,137 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
makeDesktopItem,
|
||||
makeWrapper,
|
||||
autoPatchelfHook,
|
||||
fontconfig,
|
||||
freetype,
|
||||
glib,
|
||||
gtk3,
|
||||
jdk17,
|
||||
lib,
|
||||
xorg,
|
||||
zlib,
|
||||
alsaLib,
|
||||
}: let
|
||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||
# source of the latter disappears much faster.
|
||||
version = "6.6.0";
|
||||
|
||||
# rpath = stdenv.lib.makeLibraryPath [
|
||||
# gcc-unwrapped
|
||||
# glibc
|
||||
# ];
|
||||
# What is it for?
|
||||
# + ":${stdenv.cc.cc.lib}/lib64";
|
||||
|
||||
src = ./papyrus-2023-12-6.6.0-linux64.tar.gz;
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "papyrus";
|
||||
exec = "papyrus";
|
||||
icon = "papyrus";
|
||||
desktopName = "Papyrus";
|
||||
comment = "SQL Integrated Development Environment";
|
||||
genericName = "SQL Integrated Development Environment";
|
||||
categories = ["Development"];
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "papyrus";
|
||||
version = "6.6.0";
|
||||
|
||||
system = "x86_64-linux";
|
||||
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
freetype
|
||||
glib
|
||||
gtk3
|
||||
jdk17
|
||||
xorg.libX11
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
zlib
|
||||
alsaLib
|
||||
];
|
||||
|
||||
# Extract and copy executable in $out/bin
|
||||
installPhase = ''
|
||||
# Remove the bundled Java Runtime Environment as we will use our own.
|
||||
rm -rf jre
|
||||
|
||||
# Create the directory where DBeaver will reside within the Nix store.
|
||||
mkdir -p $out/
|
||||
|
||||
# Copy all the files from the build directory to the Nix store.
|
||||
cp -r . $out/Papyrus
|
||||
|
||||
# The binaries will be automatically patched by autoPatchelfHook.
|
||||
# This adds necessary runtime dependencies to the ELF files.
|
||||
|
||||
# Create a wrapper script for launching DBeaver.
|
||||
# - Sets Java path
|
||||
# - Sets library path for GTK and X11
|
||||
# - Sets GSettings schema path
|
||||
makeWrapper $out/Papyrus/papyrus $out/bin/Papyrus \
|
||||
--prefix PATH : ${jdk17}/bin \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [glib gtk3 xorg.libXtst]} \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||
|
||||
# Create a directory for the desktop entry.
|
||||
mkdir -p $out/share/applications
|
||||
|
||||
# Copy the generated desktop entry to the appropriate location.
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||
|
||||
# Create a directory for storing the DBeaver icon.
|
||||
mkdir -p $out/share/pixmaps
|
||||
|
||||
# Symlink the DBeaver icon to the standard location.
|
||||
ln -s $out/Papyrus/icon.xpm $out/share/pixmaps/papyrus.xpm
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://eclipse.dev/papyrus/index.php";
|
||||
description = "Open source Model-Based Engineering tool";
|
||||
# longDescription = ''
|
||||
# Multi-platform database tool for developers, SQL programmers, database
|
||||
# administrators and analysts. Supports all popular databases: MySQL,
|
||||
# PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access,
|
||||
# Teradata, Firebird, Derby, etc.
|
||||
# '';
|
||||
license = licenses.free;
|
||||
platforms = ["x86_64-linux"];
|
||||
maintainers = [maintainers.eRgo35];
|
||||
};
|
||||
}
|
||||
# desktopItem = makeDesktopItem {
|
||||
# name = "dbeaver-ee";
|
||||
# exec = "dbeaver";
|
||||
# icon = "dbeaver";
|
||||
# desktopName = "dbeaver-ee";
|
||||
# comment = "SQL Integrated Development Environment";
|
||||
# genericName = "SQL Integrated Development Environment";
|
||||
# categories = ["Development"];
|
||||
# };
|
||||
#
|
||||
# # src = pkgs.fetchurl {
|
||||
# # url = "https://download.eclipse.org/modeling/mdt/papyrus/rcp/2023-12/6.6.0/papyrus-2023-12-6.6.0-linux64.tar.gz";
|
||||
# # sha512 = "ab1f1c0192fa7791550ef284c221a5445e02a699f4a82ec9b08f2c4b1f894b387751c37a6c5109f7709afea265126210682a266adb00fb26768057c0321ba802";
|
||||
# # };
|
||||
# # unpackPhase = "tar -xf $src -C $out/bin/papyrus --strip-components=1";
|
||||
#
|
||||
# installPhase = ''
|
||||
# mkdir -p $out/bin
|
||||
# tar -xf $src -C $out/bin --strip-components=1
|
||||
# '';
|
||||
#
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
{pkgs ? import <nixpkgs> {}}:
|
||||
pkgs.callPackage ./tikzuml.nix {}
|
||||
@@ -1,52 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
mkShell,
|
||||
}: let
|
||||
pkgs = import <nixpkgs> {};
|
||||
|
||||
version = "1.0";
|
||||
date = "2016-03-29";
|
||||
|
||||
# src = ./tikzuml-v1.0-2016-03-29.tbz;
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://perso.ensta-paristech.fr/~kielbasi/tikzuml/var/files/src/tikzuml-v${version}-${date}.tbz";
|
||||
sha256 = "0cbc4a20c8ed40162b3b9ab1400b174293ec1ad7508e640ca879e78c45a105d0";
|
||||
};
|
||||
|
||||
tikzuml = {pkgs = [pkgs.tikzuml];};
|
||||
|
||||
texpkgs = pkgs.texlive.combine {
|
||||
inherit (pkgs.texlive) scheme-full;
|
||||
inherit tikzuml;
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "tikz-uml";
|
||||
inherit version;
|
||||
|
||||
inherit src;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/texmf-nix/latex/tikz-uml
|
||||
mkdir -p $out/share/texmf-nix/doc/tikz-uml
|
||||
cp -prd doc/. $out/share/texmf-nix/doc/tikz-uml
|
||||
cp -prd tikz-uml.sty $out/share/texmf-nix/latex/tikz-uml/
|
||||
|
||||
# install -Dm644 "$src/tikzuml-v${version}-${date}/tikz-uml.sty" "$out/share/texmf-nix/tex/latex/tikz-uml/tikz-uml.sty"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://perso.ensta-paris.fr/~kielbasi/tikzuml/index.php";
|
||||
description = "A LaTeX package for drawing UML diagrams using pgf/tikz";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [eRgo35];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
})
|
||||
Reference in New Issue
Block a user