Compare commits

...

16 Commits

25 changed files with 300 additions and 328 deletions

105
flake.lock generated
View File

@@ -21,14 +21,15 @@
"emacs": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1681550392,
"narHash": "sha256-2ZC8ZDGZ4SCgN0jXStY6ScwcgR9KjN3DFJImVdTLhI8=",
"lastModified": 1693879203,
"narHash": "sha256-0CGMa3MxeG3YsVetUtxg6eZumQIe8FJ+WHVfR2ko9zM=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "0dfa16169942b7e524a353b07f8643d57524a6e6",
"rev": "3adaef3b1bebdc244a03ee19f705f5a3190a33d9",
"type": "github"
},
"original": {
@@ -59,12 +60,15 @@
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"lastModified": 1692799911,
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
"type": "github"
},
"original": {
@@ -75,14 +79,14 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"lastModified": 1692799911,
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
"type": "github"
},
"original": {
@@ -171,11 +175,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1681468923,
"narHash": "sha256-+X2oO4juRVhQRs002mn8km6PODccIRiz09c2K1xtSpY=",
"lastModified": 1693859358,
"narHash": "sha256-r3Pak/ao3p8weTzR+Ry3qQrfRsmSOwWW5sAe73mrYKs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "17198cf5ae27af5b647c7dac58d935a7d0dbd189",
"rev": "886ea1d213efd1082f419d066e89ef37635dc970",
"type": "github"
},
"original": {
@@ -383,11 +387,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1680876084,
"narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=",
"lastModified": 1693718952,
"narHash": "sha256-+nGdJlgTk0MPN7NygopipmyylVuAVi7OItIwTlwtGnw=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2",
"rev": "793de77d9f83418b428e8ba70d1e42c6507d0d35",
"type": "github"
},
"original": {
@@ -415,11 +419,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1673540789,
"narHash": "sha256-xqnxBOK3qctIeUVxecydrEDbEXjsvHCPGPbvsl63M/U=",
"lastModified": 1693663421,
"narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0f213d0fee84280d8c3a97f7469b988d6fe5fcdf",
"rev": "e56990880811a451abd32515698c712788be5720",
"type": "github"
},
"original": {
@@ -429,6 +433,22 @@
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1693771906,
"narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1649408932,
@@ -447,15 +467,15 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1680487167,
"narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=",
"owner": "nixos",
"lastModified": 1693565476,
"narHash": "sha256-ya00zHt7YbPo3ve/wNZ/6nts61xt7wK/APa6aZAfey0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "53dad94e874c9586e71decf82d972dfb640ef044",
"rev": "aa8aa7e2ea35ce655297e8322dc82bf77a31d04b",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -463,11 +483,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1681465517,
"narHash": "sha256-EasJh15/jcJNAHtq2SGbiADRXteURAnQbj1NqBoKkzU=",
"lastModified": 1693663421,
"narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "abe7316dd51a313ce528972b104f4f04f56eefc4",
"rev": "e56990880811a451abd32515698c712788be5720",
"type": "github"
},
"original": {
@@ -569,11 +589,11 @@
},
"nur": {
"locked": {
"lastModified": 1681541221,
"narHash": "sha256-lt+iea1TlHzWGfbShveXj6FOE8FXC5nHnBOjz8ftfHM=",
"lastModified": 1693907142,
"narHash": "sha256-U3yzshaxSUAC6Hy5xGmlX1TySHoWjH++Y2cC9ujEmZc=",
"owner": "nix-community",
"repo": "nur",
"rev": "425b65fc5dca82de0d628b43638ee93599660f57",
"rev": "283964d2452632c9b0ccc8eff08d242a073b022f",
"type": "github"
},
"original": {
@@ -624,11 +644,11 @@
"rnix-lsp": "rnix-lsp_2"
},
"locked": {
"lastModified": 1680620959,
"narHash": "sha256-P0tG2Js4xq0UIVaso7HeTZugQ7bn8ZDNE+zXtSWSvWI=",
"lastModified": 1683784900,
"narHash": "sha256-h+n0rS4nBFBqlMd1ktn+8UypNP3gQ91e+i/e1zHhbTg=",
"ref": "refs/heads/master",
"rev": "319f35d1900fef34581e0380178beb7fa86be700",
"revCount": 123,
"rev": "3a0f186fca0a88e0a2fd002eabedb418cf9a6f6a",
"revCount": 124,
"type": "git",
"url": "https://destiny.ostylk.de/gitea/NixDistro/Home.git"
},
@@ -775,6 +795,21 @@
"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"
}
},
"tablet-mode": {
"inputs": {
"flake-utils": "flake-utils_4",

View File

@@ -53,10 +53,12 @@
overlays = [
self.overlay
(import ./overlays/sandbox.nix)
];
};
in {
inherit (pkgs) wayqt dfl-ipc dfl-applications dfl-utils qtgreet xwaylandvideobridge obs-cli rgb_keyboard;
inherit (pkgs) wayqt dfl-ipc dfl-applications dfl-utils qtgreet xwaylandvideobridge obs-cli rgb_keyboard prismlauncher-wrapped anime4k;
};
});
}

View File

@@ -34,23 +34,11 @@
piper trackma # Custom package
anime-dl # Custom package
thunderbird
#nwg-launchers
gnome-podcasts
cantata
newsflash
sublime-music
anki
gnome-podcasts
gimp
xwaylandvideobridge
#psst
evolution
# Proprietary stuff (yikes)
discord-wrapped discord-app-wrapped
spotify-wrapped
zoom-vm
#lapce
];
@@ -63,33 +51,35 @@
};
sway.enable = false;
alacritty.enable = true;
emacs.enable = true;
#emacs.enable = true;
firefox.enable = true;
git.enable = true;
gnome-terminal.enable = true;
#gnome-terminal.enable = true;
tmux.enable = true;
waybar = {
enable = true;
output = "DP-2";
};
neovim.enable = true;
#xournalpp.enable = true;
zsh.enable = true;
direnv.enable = true;
office.enable = true;
plasma = {
enable = true;
sddm = {
/*sddm = {
backgroundImage = pkgs.fetchurl {
url = "https://cdn.donmai.us/original/d3/1b/__manjuu_prinz_eugen_roon_bismarck_friedrich_der_grosse_and_3_more_azur_lane_drawn_by_zaphn__d31bf4ac564d60f8787818842c369e7f.jpg";
sha256 = "sha256-likoJuEaGzGH0RqjPsBE9o5ATwgnOo97PREh3oZBax8=";
};
};
};*/
};
gaming.enable = true;
obs.enable = true;
android.enable = true;
};
services = {
yubikey.enable = true;
gamemode.enable = true;
gnome.enable = false;
logiops.enable = true;
@@ -116,30 +106,34 @@
};
virtualisation = {
podman = {
docker = {
enable = true;
dockerCompat = true;
storageDriver = "btrfs";
};
# docker = {
# enable = true;
# storageDriver = "btrfs";
# };
};
boot = let
kernel = pkgs.linuxPackages_zen;
kernel = pkgs.linuxPackages_xanmod_latest;
in {
extraModprobeConfig = ''
options kvm_amd nested=1
options vfio-pci ids=1002:67df,1002:aaf0
'';
initrd = {
availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "amdgpu" "vendor-reset" ];
availableKernelModules = [
"xhci_pci"
"ahci"
"usbhid"
"sd_mod"
"amdgpu"
"vendor-reset"
"winesync"
];
kernelModules = [
"amdgpu" # GPU (duh)
"kvm-amd" /*"vfio_virqfd"*/ "vfio_pci" "vfio_iommu_type1" "vfio" # Virt
"uinput" # key-mapper
"vendor-reset"
"winesync"
];
};
kernelParams = [
@@ -157,11 +151,13 @@
"mitigations=off"
"rhgb"
# Enable ZSwap
"zswap.enabled=1"
#"zswap.enabled=1"
# Enable Apparmor
"lsm=landlock,lockdown,yama,integrity,apparmor,bpf"
# Prevent sequential probing
"libahci.ignore_sss=1"
# Make the system less ready to swap
"sysctl.vm.swappiness=0"
];
kernel.sysctl = {
# League of Legends under Linux
@@ -171,11 +167,12 @@
};
extraModulePackages = [ kernel.vendor-reset ];
# NOTE: A regression appears to have happend between 5.10 and 5.12
# which leads to the RX590 to have the fence fallback timer on
# sdma0 time out (whatever this means). Maybe bisect?
kernelPackages = kernel;
binfmt = {
emulatedSystems = [ "aarch64-linux" ];
registrations.aarch64-linux.fixBinary = true;
};
};
services = {
ratbagd.enable = true;
@@ -201,6 +198,11 @@
motherboard = "amd";
};
};
system76-scheduler = {
enable = false;
useStockConfig = true;
};
};
programs = {
cdemu = {

View File

@@ -36,12 +36,14 @@
extraModulePackages = [ ];
# NOTE: See https://github.com/NixOS/nixos-hardware/blob/master/lenovo/thinkpad/e495/default.nix#L12
kernelParams = [ "acpi_backlight=native" ];
binfmt.emulatedSystems = ["aarch64-linux"];
};
ptw = {
programs = {
alacritty.enable = true;
sway.enable = true;
sway.enable = false;
emacs.enable = true;
firefox.enable = true;
tmux.enable = true;
@@ -56,8 +58,9 @@
direnv.enable = true;
};
services = {
yubikey.enable = true;
cups.enable = true;
gnome.enable = true;
gnome.enable = false;
kanshi = let
horizontal = "Samsung Electric Company C27F398 H4ZR101145";
@@ -123,12 +126,30 @@
};
};
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
dockerSocket.enable = true;
};
};
environment.systemPackages = with pkgs; [
ansible
gnumake
wireguard-tools
(pkgs.callPackage ./wrapper.nix {
inherit (pkgs) retroarch;
cores = with pkgs.libretro; [
mgba mupen64plus melonds desmume dolphin
];
})
];
programs = {
gnupg.agent.pinentryFlavor = "qt";
gnupg.agent = {
pinentryFlavor = "qt";
};
};
}

37
hosts/wrapper.nix Normal file
View File

@@ -0,0 +1,37 @@
{ stdenv, lib, makeWrapper, retroarch, cores ? [ ] }:
stdenv.mkDerivation {
pname = "retroarch";
version = lib.getVersion retroarch;
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/lib
for coreDir in $cores
do
ln -s $coreDir/* $out/lib/.
done
ln -s -t $out ${retroarch}/share
if [ -d ${retroarch}/Applications ]; then
ln -s -t $out ${retroarch}/Applications
fi
makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
--suffix-each LD_LIBRARY_PATH ':' "$cores" \
--add-flags "-L $out/lib/" \
'';
cores = map (x: x + x.libretroCore) cores;
preferLocalBuild = true;
meta = with retroarch.meta; {
inherit changelog description homepage license maintainers platforms;
longDescription =
"RetroArch is the reference frontend for the libretro API. The following cores are included: "
+ lib.concatStringsSep ", " (map (x: "${x.name}") cores)
+ ".";
};
}

View File

@@ -33,7 +33,14 @@ in {
};
networking = {
useDHCP = false; # Done by the network manager
networkmanager.enable = true;
networkmanager = {
enable = true;
plugins = with pkgs; [
networkmanager-vpnc
networkmanager-openvpn
networkmanager-openconnect
];
};
#interfaces.*.useDHCP = false;
@@ -98,7 +105,7 @@ in {
# Coding fonts
source-code-pro
# Icon fonts
#nerdfonts
nerdfonts
];
# For home-manager
@@ -237,7 +244,10 @@ in {
};
# Don't wait for a network connection
systemd.services.NetworkManager-wait-online.enable = false;
systemd = {
services.NetworkManager-wait-online.enable = false;
coredump.enable = false;
};
security.sudo.extraConfig = ''
Defaults env_keep += "NIXOS_CONFIG"

View File

@@ -38,6 +38,8 @@ in inputs.nixpkgs.lib.nixosSystem {
# Overlays
(util.mkOverlayFromInput "stable" inputs.stable)
(util.mkOverlayFromInput "unstable" inputs.nixpkgs)
{
nixpkgs.overlays = [
nur.overlay

View File

@@ -13,6 +13,7 @@
./programs/sddm
./programs/gnome-terminal
./programs/mpv
./programs/neovim
./programs/git
./programs/sway
./programs/swaync
@@ -35,6 +36,7 @@
./services/greetd
./services/cups
./services/logiops
./services/yubikey
# User
#./users/default.nix

View File

@@ -14,7 +14,7 @@ in {
description = "Ignore NixOS 'recommendations' and use the Wayland session by default";
};
};
sddm = {
/*sddm = {
backgroundImage = lib.mkOption {
default = "${pkgs.sddm-sugar-dark}/usr/share/sddm/themes/sugar-dark/Background.jpg";
description = "The background image to use with sddm-sugar-dark";
@@ -27,7 +27,7 @@ in {
default = 1080;
description = "Width of the screen";
};
};
};*/
};
config = lib.mkIf cfg.enable {

View File

@@ -30,7 +30,7 @@ in {
dynamic_title = true;
decorations = "full";
startup_mode = "Windowed";
opacity = 0.7;
#opacity = 0.7;
};
scrolling = {
@@ -48,7 +48,6 @@ in {
x = 0;
y = 0;
};
use_thin_strokes = true;
};
debug = {
render_timer = false;
@@ -111,7 +110,6 @@ in {
live_config_reload = true;
enable_experimental_conpty_backend = false;
alt_send_esc = true;
key_bindings = [
{

View File

@@ -37,13 +37,16 @@ in {
# Gameplay clip editing
kdenlive
# Better experience
gamescope
# Performance
corectrl
];
programs.gamescope = {
enable = true;
capSysNice = true;
args = ["--rt"];
};
# security.wrappers.gamescope = {
# owner = "alexander";
# group = "alexander";

View File

@@ -12,6 +12,9 @@ in {
enable = true;
userEmail = "papatutuwawa@polynom.me";
userName = "Alexander \"PapaTutuWawa\"";
# The key on my Yubikey
signing.key = "B688F70D0EC87D5A8A9D3D7A56C749835F3CE824";
extraConfig = {
init = {
defaultBranch = "master";

View File

@@ -83,7 +83,7 @@ in {
xdg.portal = {
enable = true;
#extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
gtkUsePortal = true;
#gtkUsePortal = true;
};
qt5 = {

View File

@@ -1,10 +1,10 @@
{ config, lib, pkgs, ... }:
let
mkAnime4kShader = shader: "${pkgs.anime4k}/usr/share/shaders/${shader}";
#mkAnime4kShader = shader: "${pkgs.anime4k}/usr/share/shaders/${shader}";
mkDefaultShader = shader: "${pkgs.mpv-shader-pack}/usr/share/shaders/${shader}";
makeMpvProfile = { shader, gpuContext ? "waylandvk", additional ? {} }: {
glsl-shaders = shader;
makeMpvProfile = { shader ? null, gpuContext ? "waylandvk", additional ? {} }: {
glsl-shaders = lib.mkIf (shader != null) shader;
scale = "ewa_lanczossharp";
cscale = "ewa_lanczossharp";
gpu-context = gpuContext;
@@ -41,13 +41,13 @@ in {
defaultProfiles = [ "anime" ];
profiles = {
anime = (makeMpvProfile {
shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl";
#shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl";
additional = {
fullscreen = "";
};
});
anime-denoise = (makeMpvProfile {
shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl";
#shader = mkAnime4kShader "Anime4K_Upscale_Denoise_CNN_x2_VL.glsl";
});
non-anime = (makeMpvProfile {
shader = mkDefaultShader "FSRCNNX_x2_8-0-4-1.glsl";

View File

@@ -0,0 +1,28 @@
{ config, lib, pkgs, ... }:
let
cfg = config.ptw.programs.neovim;
in {
options.ptw.programs.neovim = {
enable = lib.mkEnableOption "Enable and configure neovim using HomeManager";
};
config = lib.mkIf cfg.enable {
home-manager.users."${config.ptw.system.singleUser}" = {
programs.neovim = {
enable = true;
extraPackages = with pkgs; [
# For telescope-nvim
fd
lazygit
fish
tree-sitter gcc
nodejs_20
# Clipboard
wl-clipboard
];
};
};
};
}

View File

@@ -15,6 +15,10 @@ in {
drivers = with pkgs; [ hplip ];
};
services.avahi = {
enable = lib.mkForce true;
nssmdns = true;
};
hardware.sane = {
enable = true;
extraBackends = with pkgs; [ sane-airscan hplip ];

View File

@@ -0,0 +1,31 @@
{ lib, config, pkgs, ...}:
let
cfg = config.ptw.services.yubikey;
in {
options.ptw.services.yubikey = {
enable = lib.mkEnableOption "Enable everything for using a YubiKey";
};
config = lib.mkIf cfg.enable {
services = {
# Unprivileged access to the YubiKey
udev.packages = [ pkgs.yubikey-personalization ];
# Allow using the YubiKey as a smart card
pcscd.enable = true;
};
environment.systemPackages = with pkgs; [
# Management
yubikey-manager-qt yubikey-manager yubico-piv-tool
];
programs = {
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
};
}

View File

@@ -23,16 +23,15 @@
programs.ssh = {
enable = true;
extraConfig = ''
IdentitiesOnly yes
'';
includes = [
"config.d/*"
];
matchBlocks = let
sshPort = 3434;
sshPort = 1847;
in {
ayame = {
port = sshPort;
hostname = "78.46.184.48";
user = "alexander";
identityFile = "~/.ssh/polynom.me_ayame";
identitiesOnly = true;
};
"git.polynom.me" = {
port = 2222;
user = "gitea";

View File

@@ -26,17 +26,22 @@ in {
enableDesktopFile = true;
};
# prismlauncher-wrapped = wrapInSandbox {
# name = "prismlauncher";
# binary = "${prev.prismlauncher}/bin/prismlauncher";
# launchScriptName = "prismlauncher-wrapped";
# mountInHome = [".local/share/PrismLauncher"];
# additionalMounts = [
# "/etc/profile"
# ];
# additionalBlacklist = [ "/mnt" ];
# chdirTo = "/home/$USER";
# };
prismlauncher-wrapped = wrapInSandbox {
name = "prismlauncher";
binary = let
script = prev.writeShellScript "prismlauncher-zink.sh" ''
export MESA_LOADER_DRIVER_OVERRIDE=zink
${prev.prismlauncher}/bin/prismlauncher
'';
in "${prev.prismlauncher}/bin/prismlauncher";
launchScriptName = "prismlauncher-wrapped";
mountInHome = [".local/share/PrismLauncher"];
additionalMounts = [
"/etc/profile"
];
additionalBlacklist = [ "/mnt" ];
chdirTo = "/home/$USER";
};
steam-wrapped = wrapInSandbox {
name = "steam-wrapped";

View File

@@ -66,4 +66,14 @@ final: prev: {
# pkgsi686Linux = prev.pkgsi686Linux.extend (pfinal: pprev: {
# directx-shader-compiler = pprev.directx-shader-compiler.override {stdenv = pfinal.gcc11Stdenv;};
# });
gajim = prev.gajim.overrideAttrs (old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
# Make the tray icon work
prev.libappindicator-gtk3
# Play sounds
prev.gsound
];
});
}

View File

@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
src = fetchFromGitLab {
owner = "davidedmundson";
repo = "xwaylandvideobridge";
rev = "b876b5f3ee5cc810c99b08e8f0ebb29553e45e47";
rev = "b9e0c53570f55f4e8289f72ba78f3945e27e1a1a";
domain = "invent.kde.org";
sha256 = "sha256-gfQkOIZegxdFQ9IV2Qp/lLRtfI5/g6bDD3XRBdLh4q0=";
sha256 = "1ypg2c26r5fy9lr8shif5vqcp06yf7mqqj2ps5g00s7s3ykryxdn";
};
buildInputs = [ qtbase qtx11extras plasma-framework xorg.xcbproto kpipewire cmake pkg-config ];

View File

@@ -1,68 +0,0 @@
{ lib
, python3, nbxmpp
, gettext
, fetchgit
, wrapGAppsHook
, gobject-introspection
, libsoup_3
, gtksourceview4
, libappindicator-gtk3
, farstream
, gst_all_1
, gsound
}:
python3.pkgs.buildPythonApplication rec {
pname = "gajim";
version = "1.7.3";
format = "pyproject";
src = fetchgit {
url = "https://dev.gajim.org/gajim/gajim";
rev = version;
hash = "sha256-47CzJwmPRl+DggxwI63sp/JJAnEvnNUS1MxFrRIBAw8=";
};
nativeBuildInputs = [
python3.pkgs.setuptools
gettext
wrapGAppsHook
gobject-introspection
];
propagatedBuildInputs = with python3.pkgs; [
setuptools
pygobject3
cryptography
css-parser
keyring
nbxmpp
packaging
pillow
precis-i18n
pycairo
gobject-introspection
# Omemo
python-axolotl
qrcode
# Additional features
gsound
libappindicator-gtk3
farstream gst_all_1.gstreamer gst_all_1.gst-libav gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
# Gtk dependencies
libsoup_3
gtksourceview4
];
pythonImportsCheck = [ "gajim" ];
meta = with lib; {
description = "";
homepage = "https://dev.gajim.org/gajim/gajim";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ];
};
}

View File

@@ -1,52 +0,0 @@
{ lib
, buildPythonPackage
, fetchgit
, setuptools
, pygobject3
, idna
, packaging
, precis-i18n
, gssapi
, pyopenssl
, libsoup_3
, gobject-introspection
, glib
, glib-networking
}:
buildPythonPackage rec {
pname = "python-nbxmpp";
version = "4.2.2";
format = "pyproject";
src = fetchgit {
url = "https://dev.gajim.org/gajim/python-nbxmpp";
rev = version;
hash = "sha256-ZTX8plcsO4zE7ruLtWIvsagQUvwPHuKdPKRwCrFwvgc=";
};
nativeBuildInputs = [
setuptools
gobject-introspection
];
propagatedBuildInputs = [
pygobject3
idna
packaging
precis-i18n
libsoup_3
glib glib-networking
pyopenssl
gobject-introspection
];
pythonImportsCheck = [ "nbxmpp" ];
meta = with lib; {
description = "";
homepage = "https://dev.gajim.org/gajim/python-nbxmpp";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ];
};
}

View File

@@ -120,9 +120,5 @@ in {
#obs-websocket = prev.libsForQt5.callPackage obs/obs-websocket {};
obs-cli = prev.callPackage obs/obs-cli {};
gajim = prev.callPackage ./applications/networking/instant-messengers/gajim/default.nix {
nbxmpp = prev.python3.pkgs.callPackage ./applications/networking/instant-messengers/gajim/nbxmpp.nix {};
};
rgb_keyboard = prev.callPackage ./applications/desktop/rgb_keyboard/default.nix {};
}

View File

@@ -1,96 +0,0 @@
# From https://github.com/Jovian-Experiments/Jovian-NixOS/blob/d27526e7917671ad3a64f823f4b95b761f96807d/pkgs/gamescope/default.nix
{ stdenv
, fetchFromGitHub
, meson
, pkg-config
, cmake
, ninja
, xorg
, libdrm
, vulkan-loader
, wayland
, wayland-protocols
, libxkbcommon
, libcap
, SDL2
, pipewire
, mesa
, udev
, pixman
, libinput
, libseat
, xwayland
, glslang
, stb
, wlroots
, libliftoff
}:
let
in
stdenv.mkDerivation {
pname = "gamescope";
version = "3.11.28-beta4";
src = fetchFromGitHub {
owner = "Plagman";
repo = "gamescope";
rev = "refs/tags/3.11.28-beta4";
hash = "sha256-3L3bQIPPfScvtN1dduh10dQu/AuTmD4dHNp3JjBIBLA=";
};
buildInputs = [
xorg.libX11
xorg.libXdamage
xorg.libXcomposite
xorg.libXrender
xorg.libXext
xorg.libXxf86vm
xorg.libXtst
xorg.libXres
libdrm
vulkan-loader
wayland
wayland-protocols
libxkbcommon
libcap
SDL2
pipewire
mesa
udev
pixman
libinput
libseat
xwayland
xorg.xcbutilwm
xorg.xcbutilerrors
glslang
xorg.libXi
];
prePatch = ''
echo ":: Copying stb"
cp -vr "${stb.src}" subprojects/stb
chmod -R +w subprojects/stb
cp "subprojects/packagefiles/stb/meson.build" "subprojects/stb/"
echo ":: Copying wlroots"
rmdir subprojects/wlroots
cp -vr "${wlroots.src}" subprojects/wlroots
chmod -R +w subprojects/wlroots
echo ":: Copying libliftoff"
rmdir subprojects/libliftoff
cp -vr "${libliftoff.src}" subprojects/libliftoff
chmod -R +w subprojects/libliftoff
'';
nativeBuildInputs = [
cmake
meson
pkg-config
ninja
];
dontUseCmakeConfigure = true;
}