commit
14aca7026b
44 changed files with 2024 additions and 447 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -4,6 +4,8 @@ backup/
|
|||
|
||||
result
|
||||
|
||||
.env
|
||||
|
||||
*.nix.bak
|
||||
*.nix~
|
||||
/nix/store/
|
||||
|
|
|
|||
148
flake.lock
generated
148
flake.lock
generated
|
|
@ -18,45 +18,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -64,11 +25,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741955947,
|
||||
"narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
|
||||
"lastModified": 1742670145,
|
||||
"narHash": "sha256-xQ2F9f+ICAGBp/nNv3ddD2U4ZvzuLOci0u/5lyMXPvk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
|
||||
"rev": "63e77d09a133ac641a0c204e7cfb0c97e133706d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -77,45 +38,17 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729958008,
|
||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.6",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-gaming": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742089599,
|
||||
"narHash": "sha256-1yBAFE5yEGEjSWZ8BuPt9Yknq+cFwzW6Q86gs5rMkGI=",
|
||||
"lastModified": 1742607855,
|
||||
"narHash": "sha256-lUF/tpSON29qNIqhECX/Ue4qVmI3FOvMaW4iUnK49C4=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "bbf6f68ec16cead3c29d5ba33d5c52956dfaefdf",
|
||||
"rev": "9818734e2117dac703767585d48b805fad3e7a5e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -157,11 +90,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1741862977,
|
||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
||||
"lastModified": 1742512142,
|
||||
"narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
||||
"rev": "7105ae3957700a9646cc4b766f5815b23ed0c682",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -171,72 +104,11 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741814789,
|
||||
"narHash": "sha256-NbHsnnNwiYUcUaS4z8XK2tYpo3G8NXEKxaKkzMgMiLk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "33097dcf776d1fad0ff3842096c4e3546312f251",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738508923,
|
||||
"narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "86e2038290859006e05ca7201425ea5b5de4aecb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixvim": "nixvim"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
26
flake.nix
26
flake.nix
|
|
@ -7,35 +7,37 @@
|
|||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-gaming = {
|
||||
url = "github:fufexan/nix-gaming";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, nixvim, nix-gaming, ... }@inputs:
|
||||
let
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nix-gaming,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
customPkgsOverlay = final: prev: import ./pkgs {
|
||||
customPkgsOverlay = final: prev:
|
||||
import ./pkgs {
|
||||
pkgs = prev;
|
||||
lib = prev.lib;
|
||||
};
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
overlays = [ customPkgsOverlay ];
|
||||
overlays = [customPkgsOverlay];
|
||||
};
|
||||
lib = nixpkgs.lib;
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
nixos = lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs; };
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
{ nixpkgs.overlays = [ customPkgsOverlay ]; }
|
||||
{nixpkgs.overlays = [customPkgsOverlay];}
|
||||
./hosts/configuration.nix
|
||||
];
|
||||
};
|
||||
|
|
@ -44,8 +46,8 @@
|
|||
homeConfigurations = {
|
||||
"cobray" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = [ ./home-manager/cobray.nix ];
|
||||
extraSpecialArgs = {inherit inputs;};
|
||||
modules = [./home-manager/cobray.nix];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./modules/cava.nix
|
||||
./modules/dunst.nix
|
||||
./modules/fish.nix
|
||||
./modules/ghostty.nix
|
||||
./modules/i3.nix
|
||||
./modules/lazygit.nix
|
||||
./modules/nvim.nix
|
||||
./modules/picom.nix
|
||||
|
|
@ -27,10 +28,10 @@
|
|||
gnused
|
||||
gnugrep
|
||||
findutils
|
||||
yazi
|
||||
htop
|
||||
btop
|
||||
nvtopPackages.full
|
||||
arandr
|
||||
nitrogen
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
cava
|
||||
];
|
||||
}
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
dunst
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
fish-rust
|
||||
starship
|
||||
|
|
@ -10,5 +13,4 @@
|
|||
fd
|
||||
ripgrep
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
ghostty
|
||||
fastfetch
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
dmenu
|
||||
i3status
|
||||
i3lock
|
||||
i3blocks
|
||||
feh
|
||||
yazi
|
||||
udiskie
|
||||
];
|
||||
}
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
lazygit
|
||||
];
|
||||
|
|
|
|||
|
|
@ -2,18 +2,47 @@
|
|||
{
|
||||
home.packages = with pkgs; [
|
||||
neovim
|
||||
ripgrep
|
||||
gnugrep
|
||||
fd
|
||||
fzf
|
||||
nodejs
|
||||
gcc
|
||||
git
|
||||
luajit
|
||||
luaPackages.luarocks
|
||||
nil
|
||||
lua-language-server
|
||||
curl
|
||||
unzip
|
||||
alejandra
|
||||
];
|
||||
|
||||
xdg.configFile."nvim" = {
|
||||
source = builtins.fetchGit {
|
||||
url = "https://github.com/alsaiduq-lab/dotfiles.git";
|
||||
ref = "dev";
|
||||
rev = "99e2cab828459373bc7524690668fdd209b3f517";
|
||||
home.sessionVariables = {
|
||||
LUA_PATH = "${pkgs.luajit}/share/lua/5.1/?.lua;${pkgs.luajit}/share/lua/5.1/?/init.lua;;";
|
||||
LUA_CPATH = "${pkgs.luajit}/lib/lua/5.1/?.so;;";
|
||||
};
|
||||
|
||||
home.sessionPath = [
|
||||
"$HOME/.local/share/nvim/mason/bin"
|
||||
];
|
||||
|
||||
xdg.configFile."nvim" = let
|
||||
nvimConfigPath = "${config.home.homeDirectory}/.config/nvim";
|
||||
# nvimDotfiles = builtins.fetchGit {
|
||||
# url = "https://github.com/alsaiduq-lab/nvim-dotfiles.git";
|
||||
# ref = "master";
|
||||
# rev = "71155b4a4b63d9974f1bc3b66303d6f7e5e06871";
|
||||
# };
|
||||
in {
|
||||
source = pkgs.emptyDirectory;
|
||||
recursive = true;
|
||||
enable = !builtins.pathExists nvimConfigPath;
|
||||
onChange = ''
|
||||
echo "Neovim config at ${nvimConfigPath} was ${
|
||||
if builtins.pathExists nvimConfigPath
|
||||
then "skipped (already exists)"
|
||||
else "installed"
|
||||
}"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
picom
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
polybar
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
rofi
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
starship
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
zellij
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running 'nixos-help').
|
||||
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/07f76e3c-2dcf-4cda-99bf-657f1dc5885f";
|
||||
{ device = "/dev/disk/by-uuid/b7877a82-a67d-4362-ad36-ac513d7c0fc6";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,24 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
customPkgs = import ../pkgs { inherit pkgs lib; };
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [
|
||||
../modules/python.nix
|
||||
];
|
||||
python.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Applications
|
||||
brave
|
||||
ghostty
|
||||
(python311.withPackages (pyPkgs: with pyPkgs; [
|
||||
requests
|
||||
pip
|
||||
virtualenv
|
||||
ipython
|
||||
]))
|
||||
python3Packages.pip
|
||||
black
|
||||
ruff
|
||||
brave # TODO: make a module to save browser stuff
|
||||
vesktop
|
||||
neovim
|
||||
git
|
||||
fastfetch
|
||||
# Development tools
|
||||
nodejs
|
||||
wget
|
||||
curl
|
||||
|
|
@ -20,8 +26,13 @@ in
|
|||
gnumake
|
||||
gcc
|
||||
socat
|
||||
ffmpeg
|
||||
gnused
|
||||
gdb
|
||||
stdenv.cc.cc.lib
|
||||
nix-prefetch-git
|
||||
binutils
|
||||
hashcat
|
||||
cmake
|
||||
ninja
|
||||
pkg-config
|
||||
|
|
@ -31,40 +42,12 @@ in
|
|||
gawk
|
||||
obs-studio
|
||||
lazygit
|
||||
# Java ecosystem
|
||||
jdk17
|
||||
bun
|
||||
maven
|
||||
gradle
|
||||
visualvm
|
||||
jdt-language-server
|
||||
(python310.withPackages (ps: with ps; [
|
||||
virtualenv
|
||||
ipython
|
||||
i3ipc
|
||||
xlib
|
||||
six
|
||||
psutil
|
||||
pynvml
|
||||
pyqtgraph
|
||||
pyqt6
|
||||
numpy
|
||||
pandas
|
||||
matplotlib
|
||||
scipy
|
||||
requests
|
||||
click
|
||||
typer
|
||||
rich
|
||||
pyyaml
|
||||
pytz
|
||||
onnxruntime
|
||||
opencv4
|
||||
pillow
|
||||
] ++ [ customPkgs.python-rembg ]))
|
||||
uv
|
||||
ruff
|
||||
black
|
||||
mypy
|
||||
htop
|
||||
btop
|
||||
nvtopPackages.full
|
||||
|
|
@ -79,9 +62,7 @@ in
|
|||
deno
|
||||
redis
|
||||
cloudflared
|
||||
# Rust ecosystem
|
||||
rustup
|
||||
rust-analyzer
|
||||
cargo-edit
|
||||
cargo-watch
|
||||
cargo-outdated
|
||||
|
|
@ -91,19 +72,16 @@ in
|
|||
pkg-config
|
||||
libxml2
|
||||
zlib
|
||||
# Haskell ecosystem
|
||||
ghc
|
||||
cabal-install
|
||||
stack
|
||||
haskell-language-server
|
||||
# Database tools
|
||||
postgresql
|
||||
sqlite
|
||||
# Version control tools
|
||||
spotify
|
||||
git-lfs
|
||||
gitAndTools.gh
|
||||
gitAndTools.diff-so-fancy
|
||||
# misc
|
||||
ani-cli
|
||||
yt-dlp
|
||||
nmap
|
||||
|
|
@ -112,5 +90,14 @@ in
|
|||
unzip
|
||||
starship
|
||||
flameshot
|
||||
yarn
|
||||
mpv
|
||||
httpie
|
||||
wrk
|
||||
nodePackages.pnpm
|
||||
zlib.dev
|
||||
];
|
||||
environment.shellAliases = {
|
||||
python = "python3.11";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
# Bootloader
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./audio.nix
|
||||
./bluetooth.nix
|
||||
|
|
@ -16,7 +19,7 @@
|
|||
./steam.nix
|
||||
./timezone.nix
|
||||
./user.nix
|
||||
./man.nix
|
||||
./python.nix
|
||||
];
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
enableOnBoot = true;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.shellInit = ''
|
||||
if [ -d $HOME/.cargo/bin ]; then
|
||||
export PATH=$PATH:$HOME/.cargo/bin
|
||||
|
|
@ -11,7 +14,7 @@
|
|||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
TERM = "ghostty";
|
||||
GTK_THEME = "Adwaita:dark";
|
||||
GTK_THEME = lib.mkDefault "Adwaita:dark";
|
||||
CC = "${pkgs.gcc}/bin/gcc";
|
||||
PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [
|
||||
pkgs.openssl.dev
|
||||
|
|
|
|||
|
|
@ -1,16 +1,32 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
clear-sans = pkgs.stdenv.mkDerivation {
|
||||
name = "clear-sans";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/resir014/Clear-Sans-Webfont/97eec13/fonts/TTF/ClearSans-Regular.ttf";
|
||||
sha256 = "0vzhy3l056gj5vkcs1kglr4mr0546fq093v78i4ri8xni7w1m0dv";
|
||||
};
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
cp $src $out/share/fonts/truetype/ClearSans-Regular.ttf
|
||||
'';
|
||||
};
|
||||
in {
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-emoji
|
||||
(nerdfonts.override { fonts = [ "0xProto" "FiraCode" "JetBrainsMono" "Hack" "Noto" "NerdFontsSymbolsOnly" ]; })
|
||||
(nerdfonts.override {fonts = ["0xProto" "FiraCode" "JetBrainsMono" "Hack" "Noto" "NerdFontsSymbolsOnly"];})
|
||||
ipafont
|
||||
kochi-substitute
|
||||
# Custom BinaryClock font
|
||||
clear-sans
|
||||
(stdenv.mkDerivation {
|
||||
name = "binary-clock-font";
|
||||
src = fetchurl {
|
||||
|
|
@ -27,10 +43,10 @@
|
|||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
monospace = [ "JetBrains Mono" "Noto Sans Mono CJK JP" ];
|
||||
sansSerif = [ "Noto Sans" "Noto Sans CJK JP" ];
|
||||
serif = [ "Noto Serif" "Noto Serif CJK JP" ];
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
monospace = ["0xProto Nerd Font" "Noto Sans Mono CJK JP"];
|
||||
sansSerif = ["Clear Sans" "Noto Sans CJK JP"];
|
||||
serif = ["Noto Serif" "Noto Serif CJK JP"];
|
||||
emoji = ["Noto Color Emoji"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{ config, pkgs, lib, inputs, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
customPkgs = import ../pkgs {inherit pkgs lib;};
|
||||
in {
|
||||
services.xserver.enable = true;
|
||||
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
variant = "";
|
||||
|
|
@ -24,8 +28,14 @@
|
|||
i3-auto-layout
|
||||
];
|
||||
extraSessionCommands = ''
|
||||
# Set random wallpaper
|
||||
${pkgs.feh}/bin/feh --randomize --bg-fill ~/wallpapers/* || ${pkgs.feh}/bin/feh --bg-fill ${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nineish-dark-gray.png &
|
||||
${pkgs.feh}/bin/feh --randomize --bg-fill ~/wallpapers/* 2>/dev/null || ${pkgs.feh}/bin/feh --bg-fill ${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nineish-dark-gray.png &
|
||||
|
||||
export GSETTINGS_SCHEMA_DIR="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"
|
||||
export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:${pkgs.tokyonight-gtk-theme}/share:${customPkgs.vivid-icons}/share:$XDG_DATA_DIRS"
|
||||
|
||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface gtk-theme "Tokyonight-Dark" || echo "Failed to set GTK theme" > /tmp/theme-debug.log
|
||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "Vivid-Icons-Dark" || ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "Papirus-Dark" || echo "Failed to set icon theme" > /tmp/theme-debug.log
|
||||
${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface cursor-theme "capitaine-cursors" || echo "Failed to set cursor theme" > /tmp/theme-debug.log
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
@ -34,52 +44,115 @@
|
|||
noDesktop = true;
|
||||
enableXfwm = false;
|
||||
};
|
||||
|
||||
services.xserver.displayManager.lightdm = {
|
||||
enable = true;
|
||||
background = "#000000";
|
||||
background = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nixos-wallpaper.png";
|
||||
greeters.gtk = {
|
||||
enable = true;
|
||||
theme.name = "Adwaita-dark";
|
||||
iconTheme.name = "Papirus-Dark";
|
||||
theme = {
|
||||
package = pkgs.tokyonight-gtk-theme;
|
||||
name = "Tokyonight-Dark";
|
||||
};
|
||||
iconTheme = {
|
||||
package = customPkgs.vivid-icons;
|
||||
name = "Vivid-Icons-Dark";
|
||||
};
|
||||
cursorTheme = {
|
||||
package = pkgs.capitaine-cursors;
|
||||
name = "capitaine-cursors";
|
||||
};
|
||||
extraConfig = ''
|
||||
[greeter]
|
||||
font-name=Clear Sans 10
|
||||
cursor-theme-name=capitaine-cursors
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
services.displayManager.defaultSession = "xfce+i3";
|
||||
services.displayManager.autoLogin = {
|
||||
enable = true;
|
||||
user = "cobray";
|
||||
};
|
||||
environment.etc."xdg/autostart/i3-setup.desktop" = {
|
||||
text = ''
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=i3 Setup
|
||||
Exec=${pkgs.bash}/bin/bash -c "${pkgs.feh}/bin/feh --randomize --bg-fill ~/wallpapers/* || ${pkgs.feh}/bin/feh --bg-fill ${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nineish-dark-gray.png"
|
||||
Terminal=false
|
||||
X-GNOME-Autostart-enabled=true
|
||||
'';
|
||||
mode = "0644";
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk2";
|
||||
};
|
||||
|
||||
qt.enable = true;
|
||||
qt.platformTheme = "gnome";
|
||||
qt.style = "adwaita-dark";
|
||||
environment.etc."gtk-3.0/settings.ini".text = ''
|
||||
environment.etc = {
|
||||
"gtk-2.0/gtkrc".text = ''
|
||||
gtk-theme-name="Tokyonight-Dark"
|
||||
gtk-icon-theme-name="Vivid-Icons-Dark"
|
||||
gtk-font-name="Clear Sans 10"
|
||||
gtk-cursor-theme-name="capitaine-cursors"
|
||||
gtk-cursor-theme-size=24
|
||||
'';
|
||||
"gtk-3.0/settings.ini".text = ''
|
||||
[Settings]
|
||||
gtk-application-prefer-dark-theme=1
|
||||
gtk-theme-name=Adwaita-dark
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-font-name=Sans 10
|
||||
gtk-theme-name=Tokyonight-Dark
|
||||
gtk-icon-theme-name=Vivid-Icons-Dark
|
||||
gtk-font-name=Clear Sans 10
|
||||
gtk-cursor-theme-name=capitaine-cursors
|
||||
gtk-cursor-theme-size=24
|
||||
'';
|
||||
"gtk-4.0/settings.ini".text = ''
|
||||
[Settings]
|
||||
gtk-application-prefer-dark-theme=1
|
||||
gtk-theme-name=Tokyonight-Dark
|
||||
gtk-icon-theme-name=Vivid-Icons-Dark
|
||||
gtk-font-name=Clear Sans 10
|
||||
gtk-cursor-theme-name=capitaine-cursors
|
||||
gtk-cursor-theme-size=24
|
||||
'';
|
||||
};
|
||||
|
||||
environment.variables = {
|
||||
GTK_THEME = "Tokyonight-Dark";
|
||||
ICON_THEME = "Vivid-Icons-Dark";
|
||||
XCURSOR_THEME = "capitaine-cursors";
|
||||
XCURSOR_SIZE = "24";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
arandr
|
||||
nitrogen
|
||||
xclip
|
||||
lxappearance
|
||||
gnome-themes-extra
|
||||
gsettings-desktop-schemas
|
||||
adwaita-qt
|
||||
arc-theme
|
||||
arc-icon-theme
|
||||
papirus-icon-theme
|
||||
numix-icon-theme-circle
|
||||
candy-icons
|
||||
];
|
||||
capitaine-cursors
|
||||
tokyonight-gtk-theme
|
||||
nix-prefetch-git
|
||||
] ++ (with customPkgs; [
|
||||
vivid-icons
|
||||
]);
|
||||
|
||||
services.xserver.desktopManager.session = [{
|
||||
name = "xfce+i3";
|
||||
start = ''
|
||||
export XDG_DATA_DIRS="${pkgs.tokyonight-gtk-theme}/share:${customPkgs.vivid-icons}/share:$XDG_DATA_DIRS"
|
||||
${pkgs.xfce.xfce4-session}/bin/xfce4-session --with-ck-launch &
|
||||
${pkgs.i3-gaps}/bin/i3
|
||||
'';
|
||||
}];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
programs.dconf.profiles.user.databases = [{
|
||||
settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = "Vivid-Icons-Dark";
|
||||
gtk-theme = "Tokyonight-Dark";
|
||||
cursor-theme = "capitaine-cursors";
|
||||
};
|
||||
};
|
||||
}];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
documentation = {
|
||||
enable = true;
|
||||
dev.enable = true;
|
||||
doc.enable = true;
|
||||
info.enable = true;
|
||||
man = {
|
||||
enable = true;
|
||||
generateCaches = true;
|
||||
};
|
||||
nixos.enable = true;
|
||||
};
|
||||
|
||||
environment.pathsToLink = [ "/share/man" "/share/doc" ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
man-pages
|
||||
man-pages-posix
|
||||
stdmanpages
|
||||
docutils
|
||||
python311Packages.docutils
|
||||
python311Packages.docstr-coverage
|
||||
python310Packages.docutils
|
||||
python310Packages.docstr-coverage
|
||||
texlivePackages.documentation
|
||||
docbook5
|
||||
docbook-xsl-ns
|
||||
docbook-xsl-nons
|
||||
doctoc
|
||||
doctave
|
||||
documentation-highlighter
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
MANPATH = [
|
||||
"${config.system.path}/share/man"
|
||||
"${pkgs.man-pages}/share/man"
|
||||
"${pkgs.man-pages-posix}/share/man"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,16 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
networkmanager_dmenu
|
||||
];
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 57621 ];
|
||||
networking.firewall.allowedUDPPorts = [ 5353 ];
|
||||
|
||||
networking.wireless.enable = false; # Enables wireless support via wpa_supplicant.
|
||||
networking.hostName = "nixos";
|
||||
# Configure network proxy if necessary
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
programs.nix-index.enable = true;
|
||||
programs.command-not-found.enable = false;
|
||||
nix.settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
substituters = [
|
||||
"https://cache.nixos.org"
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
modesetting.enable = false;
|
||||
powerManagement.enable = false;
|
||||
# Set to true for RTX 4000 series and newer GPUs
|
||||
open = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
|
@ -13,6 +16,7 @@
|
|||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
#cudaPackages.cudatoolkit
|
||||
cudaPackages.cudatoolkit
|
||||
glxinfo
|
||||
];
|
||||
}
|
||||
|
|
|
|||
49
modules/python.nix
Normal file
49
modules/python.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
customPkgs = pkgs.callPackage ../pkgs { inherit pkgs lib; };
|
||||
in {
|
||||
options.python = {
|
||||
enable = lib.mkEnableOption "System Python Environment";
|
||||
};
|
||||
config = lib.mkIf config.python.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(python311.withPackages (pyPkgs: with pyPkgs; [
|
||||
numpy
|
||||
python-pymatting
|
||||
python-opencv-headless
|
||||
python-rembg
|
||||
i3ipc
|
||||
pandas
|
||||
matplotlib
|
||||
scipy
|
||||
requests
|
||||
pip
|
||||
virtualenv
|
||||
ipython
|
||||
six
|
||||
psutil
|
||||
pynvml
|
||||
pyqtgraph
|
||||
pyqt6
|
||||
click
|
||||
typer
|
||||
rich
|
||||
pyyaml
|
||||
pytz
|
||||
pillow
|
||||
]))
|
||||
python3Packages.pip
|
||||
black
|
||||
ruff
|
||||
uv
|
||||
];
|
||||
environment.variables = {
|
||||
PIP_PREFIX = "$HOME/.local";
|
||||
PYTHONPATH = "$HOME/.local/lib/python3.11/site-packages";
|
||||
};
|
||||
environment.shellAliases = {
|
||||
python = "python3.11";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,11 @@
|
|||
{ config, pkgs, lib, inputs, system, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
time.timeZone = "America/Edmonton";
|
||||
i18n.defaultLocale = "en_CA.UTF-8";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
fish-rust = pkgs.callPackage ../pkgs/fish-rust { };
|
||||
in
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
fish-rust = pkgs.callPackage ../pkgs/fish-rust {};
|
||||
in {
|
||||
# Define a user account. Don't forget to set a password with 'passwd'.
|
||||
users.users.cobray = {
|
||||
isNormalUser = true;
|
||||
description = "Mon Aie";
|
||||
extraGroups = [ "networkmanager" "wheel" "docker" "video" ];
|
||||
extraGroups = ["networkmanager" "wheel" "docker" "video"];
|
||||
shell = fish-rust;
|
||||
packages = with pkgs; [
|
||||
# User-specific packages can be defined here
|
||||
|
|
|
|||
|
|
@ -1,17 +1,44 @@
|
|||
{ pkgs ? import <nixpkgs> {}, lib ? pkgs.lib }:
|
||||
|
||||
let
|
||||
python-pymatting = pkgs.callPackage ./python-pymatting {
|
||||
inherit (pkgs) lib fetchPypi;
|
||||
python310Packages = pkgs.python310.pkgs;
|
||||
};
|
||||
in
|
||||
{
|
||||
pkgs ? import <nixpkgs> {},
|
||||
lib ? pkgs.lib,
|
||||
}: {
|
||||
fish-rust = pkgs.callPackage ./fish-rust {};
|
||||
python-pymatting = python-pymatting;
|
||||
python-pymatting = pkgs.callPackage ./python-pymatting {
|
||||
inherit lib;
|
||||
fetchPypi = pkgs.fetchPypi;
|
||||
python311Packages = pkgs.python311Packages;
|
||||
};
|
||||
python-opencv-headless = pkgs.callPackage ./python-opencv-headless {
|
||||
inherit lib;
|
||||
fetchPypi = pkgs.fetchPypi;
|
||||
cmake = pkgs.cmake;
|
||||
pkg-config = pkgs.pkg-config;
|
||||
stdenv = pkgs.stdenv;
|
||||
makeWrapper = pkgs.makeWrapper;
|
||||
python311Packages = pkgs.python311Packages;
|
||||
};
|
||||
python-rembg = pkgs.callPackage ./python-rembg {
|
||||
inherit (pkgs) lib fetchPypi;
|
||||
python310Packages = pkgs.python310.pkgs;
|
||||
inherit python-pymatting;
|
||||
inherit lib;
|
||||
fetchPypi = pkgs.fetchPypi;
|
||||
python-pymatting = pkgs.callPackage ./python-pymatting {
|
||||
inherit lib;
|
||||
fetchPypi = pkgs.fetchPypi;
|
||||
python311Packages = pkgs.python311Packages;
|
||||
};
|
||||
python-opencv-headless = pkgs.callPackage ./python-opencv-headless {
|
||||
inherit lib;
|
||||
fetchPypi = pkgs.fetchPypi;
|
||||
cmake = pkgs.cmake;
|
||||
pkg-config = pkgs.pkg-config;
|
||||
stdenv = pkgs.stdenv;
|
||||
makeWrapper = pkgs.makeWrapper;
|
||||
python311Packages = pkgs.python311Packages;
|
||||
};
|
||||
python311Packages = pkgs.python311Packages;
|
||||
};
|
||||
vivid-icons = pkgs.callPackage ./vivid-icons {
|
||||
inherit lib;
|
||||
stdenv = pkgs.stdenv;
|
||||
fetchFromGitHub = pkgs.fetchFromGitHub;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,14 @@
|
|||
{ lib, rustPlatform, fetchgit, ncurses, python3Packages, gettext }:
|
||||
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchgit,
|
||||
ncurses,
|
||||
python3Packages,
|
||||
gettext,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "fish";
|
||||
version = "4.1-2025-03-16-rust";
|
||||
version = "4.1-2025-03-16-rust-${builtins.substring 0 7 "642ec399ca17bbde973dc20461335396fe922e4c"}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/fish-shell/fish-shell.git";
|
||||
|
|
@ -19,12 +25,8 @@ rustPlatform.buildRustPackage rec {
|
|||
};
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses gettext ];
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
sphinx
|
||||
sphinx_rtd_theme
|
||||
gettext
|
||||
];
|
||||
buildInputs = [ncurses gettext];
|
||||
nativeBuildInputs = with python3Packages; [sphinx sphinx_rtd_theme];
|
||||
|
||||
preBuild = ''
|
||||
export FISH_BUILD_VERSION="${version}"
|
||||
|
|
@ -32,23 +34,11 @@ rustPlatform.buildRustPackage rec {
|
|||
'';
|
||||
|
||||
postInstall = ''
|
||||
export HOME=$(mktemp -d)
|
||||
mkdir -p $HOME/.local/share/fish/install
|
||||
|
||||
if [ ! -f $HOME/.config/fish/config.fish ]; then
|
||||
$out/bin/fish --install
|
||||
fi
|
||||
|
||||
mkdir -p $out/share/fish
|
||||
cp -r $HOME/.local/share/fish/install/* $out/share/fish/ 2>/dev/null || true
|
||||
|
||||
mkdir -p $out/share/fish/tools
|
||||
cp $src/share/tools/create_manpage_completions.py $out/share/fish/tools/
|
||||
cp $src/share/tools/deroff.py $out/share/fish/tools/
|
||||
chmod +x $out/share/fish/tools/create_manpage_completions.py
|
||||
chmod +x $out/share/fish/tools/deroff.py
|
||||
|
||||
rm -rf $HOME
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
|
@ -59,6 +49,7 @@ rustPlatform.buildRustPackage rec {
|
|||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "fish";
|
||||
maintainers = ["Cobray"];
|
||||
};
|
||||
|
||||
passthru.shellPath = "/bin/fish";
|
||||
|
|
|
|||
55
pkgs/python-opencv-headless/default.nix
Normal file
55
pkgs/python-opencv-headless/default.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{ lib
|
||||
, python311Packages
|
||||
, fetchPypi
|
||||
, stdenv
|
||||
, makeWrapper
|
||||
, cmake
|
||||
, pkg-config
|
||||
}:
|
||||
|
||||
python311Packages.buildPythonPackage rec {
|
||||
pname = "opencv-python-headless";
|
||||
version = "4.11.0.86";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "opencv-python-headless";
|
||||
inherit version;
|
||||
format = "setuptools";
|
||||
sha256 = "mW6ygspLQ+xqOXJBTeDiMx9dnNorQQkaSXOcGfuEN5g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python311Packages; [
|
||||
cmake
|
||||
pkg-config
|
||||
makeWrapper
|
||||
scikit-build
|
||||
];
|
||||
|
||||
buildInputs = with python311Packages; [
|
||||
scikit-build
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python311Packages; [
|
||||
numpy
|
||||
setuptools
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "cv2" ];
|
||||
|
||||
postFixup = ''
|
||||
wrapPythonProgramsIn "$out/lib/python3.11/site-packages" "${stdenv.cc.cc.lib}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wrapper package for OpenCV python bindings (headless)";
|
||||
homepage = "https://github.com/opencv/opencv-python";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ "Cobray" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,22 +1,33 @@
|
|||
{ lib, python310Packages, fetchPypi }:
|
||||
|
||||
python310Packages.buildPythonPackage rec {
|
||||
{
|
||||
lib,
|
||||
python311Packages,
|
||||
fetchPypi,
|
||||
}:
|
||||
python311Packages.buildPythonPackage rec {
|
||||
pname = "pymatting";
|
||||
version = "1.1.13";
|
||||
format = "setuptools";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-LNt8S++s3e9Netwt6ONKJy3mOdYIrlwKCGE9+kJTgQE="; # Updated hash
|
||||
hash = "sha256-LNt8S++s3e9Netwt6ONKJy3mOdYIrlwKCGE9+kJTgQE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python310Packages; [
|
||||
nativeBuildInputs = with python311Packages; [
|
||||
setuptools
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python311Packages; [
|
||||
numpy
|
||||
scipy
|
||||
pillow
|
||||
numba
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
|
|
@ -24,5 +35,6 @@ python310Packages.buildPythonPackage rec {
|
|||
homepage = "https://github.com/pymatting/pymatting";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ "Cobray" ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,40 +1,39 @@
|
|||
{ lib, python310Packages, fetchPypi, python-pymatting }:
|
||||
|
||||
python310Packages.buildPythonPackage rec {
|
||||
{ lib
|
||||
, python311Packages
|
||||
, fetchPypi
|
||||
, python-pymatting
|
||||
, python-opencv-headless
|
||||
}:
|
||||
python311Packages.buildPythonPackage rec {
|
||||
pname = "rembg";
|
||||
version = "2.0.50";
|
||||
format = "setuptools";
|
||||
|
||||
format = "pyproject";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0dgq291bj4w6jkcyz7lvp1vba2nczfnmxa2acl2sqib5p8cpzjvc";
|
||||
sha256 = "bMt/GbplRawFZUqoXq37zAq1dribnu/ZlIYTuUIS+DU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python310Packages; [
|
||||
setuptools
|
||||
nativeBuildInputs = with python311Packages; [
|
||||
poetry-core
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python310Packages; [
|
||||
propagatedBuildInputs = with python311Packages; [
|
||||
numpy
|
||||
pillow
|
||||
onnxruntime
|
||||
opencv4
|
||||
requests
|
||||
aiohttp
|
||||
asynctest
|
||||
click
|
||||
filetype
|
||||
pillow
|
||||
pooch
|
||||
pympler
|
||||
python-pymatting
|
||||
scikit-image
|
||||
scipy
|
||||
tqdm
|
||||
aiohttp
|
||||
pytorch-bin
|
||||
] ++ [
|
||||
python-opencv-headless
|
||||
python-pymatting
|
||||
];
|
||||
|
||||
pythonRemoveDeps = [ "opencv-python-headless" ];
|
||||
dontPrecompilePages = true;
|
||||
doInstallCheck = false;
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to remove image backgrounds";
|
||||
homepage = "https://github.com/danielgatis/rembg";
|
||||
|
|
|
|||
1350
pkgs/template.nix
Normal file
1350
pkgs/template.nix
Normal file
File diff suppressed because it is too large
Load diff
41
pkgs/tokyo-night/default.nix
Normal file
41
pkgs/tokyo-night/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
gtk-engine-murrine,
|
||||
gnome-themes-extra,
|
||||
bash,
|
||||
sassc,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "tokyo-night-gtk";
|
||||
version = "main";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Fausto-Korpsvart";
|
||||
repo = "Tokyonight-GTK-Theme";
|
||||
rev = "4dc45d60bf35f50ebd9ee41f16ab63783f80dd64";
|
||||
sha256 = "0c7sp9n2pc70yy9msmbmcyhqbr63v1ssnsxk6vg10zwwc3wl19h0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [bash sassc];
|
||||
buildInputs = [gtk-engine-murrine gnome-themes-extra];
|
||||
propagatedUserEnvPkgs = [gtk-engine-murrine];
|
||||
|
||||
buildPhase = ''
|
||||
bash ./install.sh --dest $out/share/themes -n Tokyonight
|
||||
bash ./install.sh --dest $out/share/themes -n Tokyonight --tweaks storm
|
||||
bash ./install.sh --dest $out/share/themes -n Tokyonight --tweaks storm black
|
||||
bash ./install.sh --dest $out/share/themes -n Tokyonight --tweaks storm black outline
|
||||
'';
|
||||
|
||||
installPhase = "";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tokyo Night GTK Theme";
|
||||
homepage = "https://github.com/Fausto-Korpsvart/Tokyonight-GTK-Theme";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = ["Cobray"];
|
||||
};
|
||||
}
|
||||
54
pkgs/vivid-icons/default.nix
Normal file
54
pkgs/vivid-icons/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
hicolor-icon-theme,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vivid-icons";
|
||||
version = "unstable-${builtins.substring 0 7 "fe8b8f1bdd3784dc838c125bb9e1b2d713f40e67"}";
|
||||
src = fetchFromGitHub {
|
||||
owner = "L4ki";
|
||||
repo = "Vivid-Plasma-Themes";
|
||||
rev = "fe8b8f1bdd3784dc838c125bb9e1b2d713f40e67";
|
||||
sha256 = "UlZkxeWb2n5TexaQymeyEqAjKwDfonTXO2OYjICHl+U=";
|
||||
};
|
||||
buildInputs = [hicolor-icon-theme];
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/icons
|
||||
for dir in Vivid-Icons-*; do
|
||||
if [ -d "$dir" ]; then
|
||||
theme_name=$(basename "$dir")
|
||||
dest_dir="$out/share/icons/$theme_name"
|
||||
cp -r "$dir" "$dest_dir"
|
||||
echo "[Icon Theme]" > "$dest_dir/index.theme"
|
||||
echo "Name=$theme_name" >> "$dest_dir/index.theme"
|
||||
echo "Comment=$theme_name icons" >> "$dest_dir/index.theme"
|
||||
echo "Inherits=hicolor" >> "$dest_dir/index.theme"
|
||||
directories=""
|
||||
for size_dir in "$dest_dir"/*; do
|
||||
if [ -d "$size_dir" ]; then
|
||||
size=$(basename "$size_dir")
|
||||
if [[ "$size" =~ ^[0-9]+x[0-9]+$ ]]; then
|
||||
directories="$directories''${directories:+,}$size"
|
||||
echo "[$size]" >> "$dest_dir/index.theme"
|
||||
echo "Size=''${size%%x*}" >> "$dest_dir/index.theme"
|
||||
echo "Context=Actions" >> "$dest_dir/index.theme"
|
||||
echo "Type=Fixed" >> "$dest_dir/index.theme"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
echo "Directories=$directories" >> "$dest_dir/index.theme"
|
||||
fi
|
||||
done
|
||||
echo "Installed themes:"
|
||||
ls -la $out/share/icons/
|
||||
'';
|
||||
meta = with lib; {
|
||||
description = "Vivid Icons Theme";
|
||||
homepage = "https://github.com/L4ki/Vivid-Plasma-Themes";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; ["Cobray"];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue