Compare commits
3 Commits
a193e65a45
...
9114f5ce74
Author | SHA1 | Date | |
---|---|---|---|
9114f5ce74 | |||
3925c1090e | |||
e74538a1a9 |
6
flake.lock
generated
6
flake.lock
generated
@ -623,11 +623,11 @@
|
||||
},
|
||||
"nixpkgs-mine": {
|
||||
"locked": {
|
||||
"lastModified": 1717245190,
|
||||
"narHash": "sha256-UFuJkXgNQ2JbD6P9EJCzelUQ73wzxzGrybfkO3o/LGU=",
|
||||
"lastModified": 1717628902,
|
||||
"narHash": "sha256-qMAW+oKis3F8jXTjX9Ng02/LzZd+7YOK05Qa33h9yqY=",
|
||||
"owner": "devplayer0",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9b78c3a4c5800e1998d330d06d662598b21ac0d1",
|
||||
"rev": "3e0ee08114e1563b1a0fd6a907563b5e86258fb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
28
home-manager/modules/gui/alacritty-xterm.toml
Normal file
28
home-manager/modules/gui/alacritty-xterm.toml
Normal file
@ -0,0 +1,28 @@
|
||||
# XTerm's default colors
|
||||
|
||||
# Default colors
|
||||
[colors.primary]
|
||||
background = '#000000'
|
||||
foreground = '#ffffff'
|
||||
|
||||
# Normal colors
|
||||
[colors.normal]
|
||||
black = '#000000'
|
||||
red = '#cd0000'
|
||||
green = '#00cd00'
|
||||
yellow = '#cdcd00'
|
||||
blue = '#0000ee'
|
||||
magenta = '#cd00cd'
|
||||
cyan = '#00cdcd'
|
||||
white = '#e5e5e5'
|
||||
|
||||
# Bright colors
|
||||
[colors.bright]
|
||||
black = '#7f7f7f'
|
||||
red = '#ff0000'
|
||||
green = '#00ff00'
|
||||
yellow = '#ffff00'
|
||||
blue = '#5c5cff'
|
||||
magenta = '#ff00ff'
|
||||
cyan = '#00ffff'
|
||||
white = '#ffffff'
|
@ -10,6 +10,15 @@ let
|
||||
name = "Monocraft";
|
||||
size = 10;
|
||||
};
|
||||
|
||||
doomWad = pkgs.fetchurl {
|
||||
url = "https://distro.ibiblio.org/slitaz/sources/packages/d/doom1.wad";
|
||||
hash = "sha256-HX1DvlAeZ9kn5BXguPPinDvzMHXoWXIYFvZSpSbKx3E=";
|
||||
};
|
||||
doomNcurses = pkgs.writeShellScript "doom-ncurses" ''
|
||||
SDL_AUDIODRIVER=null SDL_VIDEODRIVER=caca CACA_DRIVER=ncurses exec ${pkgs.chocolate-doom2xx}/bin/chocolate-doom -iwad ${doomWad}
|
||||
'';
|
||||
lockCmd = "swaylock-plugin --command-each '${pkgs.windowtolayer}/bin/windowtolayer -- alacritty -e ${doomNcurses}'";
|
||||
in
|
||||
{
|
||||
options.my.gui = {
|
||||
@ -51,7 +60,15 @@ in
|
||||
alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font.normal.family = font.name;
|
||||
import = [ ./alacritty-xterm.toml ];
|
||||
|
||||
font = {
|
||||
size = font.size;
|
||||
normal = {
|
||||
family = font.name;
|
||||
style = "Regular";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -65,6 +82,25 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
termite = {
|
||||
enable = true;
|
||||
font = "${font.name} ${toString font.size}";
|
||||
backgroundColor = "rgba(0, 0, 0, 0.8)";
|
||||
};
|
||||
|
||||
foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
font = "${font.name}:size=${toString font.size}";
|
||||
};
|
||||
colors = {
|
||||
alpha = 0.8;
|
||||
background = "000000";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
helix = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@ -162,7 +198,7 @@ in
|
||||
in
|
||||
lib.mkOptionDefault {
|
||||
"${mod}+d" = null;
|
||||
"${mod}+l" = "exec swaylock -i ${./lock.png} -s stretch";
|
||||
"${mod}+l" = "exec ${lockCmd}";
|
||||
"${mod}+x" = "exec ${cfg.menu}";
|
||||
"${mod}+Shift+x" = "exec rofi -show drun";
|
||||
"${mod}+q" = "kill";
|
||||
|
@ -23,13 +23,13 @@ in
|
||||
|
||||
security = {
|
||||
polkit.enable = true;
|
||||
pam.services.swaylock = {};
|
||||
pam.services.swaylock-plugin = {};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# for pw-jack
|
||||
pipewire.jack
|
||||
swaylock
|
||||
swaylock-plugin
|
||||
];
|
||||
services = {
|
||||
pipewire = {
|
||||
|
48
pkgs/chocolate-doom2xx.nix
Normal file
48
pkgs/chocolate-doom2xx.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ lib, stdenv, autoreconfHook, pkg-config, SDL, SDL_mixer, SDL_net
|
||||
, fetchFromGitHub, fetchpatch, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "chocolate-doom";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chocolate-doom";
|
||||
repo = pname;
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "sha256-1uw/1CYKBvDNgT5XxRBY24Evt3f4Y6YQ6bScU+KNHgM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull upstream patch to fix build against gcc-10:
|
||||
# https://github.com/chocolate-doom/chocolate-doom/pull/1257
|
||||
(fetchpatch {
|
||||
name = "fno-common.patch";
|
||||
url = "https://github.com/chocolate-doom/chocolate-doom/commit/a8fd4b1f563d24d4296c3e8225c8404e2724d4c2.patch";
|
||||
sha256 = "1dmbygn952sy5n8qqp0asg11pmygwgygl17lrj7i0fxa0nrhixhj";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build man/{simplecpp,docgen}
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
# for documentation
|
||||
python3
|
||||
];
|
||||
buildInputs = [ (SDL.override { cacaSupport = true; }) SDL_mixer SDL_net ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://chocolate-doom.org/";
|
||||
description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
hydraPlatforms = lib.platforms.linux; # darwin times out
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
@ -9,4 +9,7 @@ in
|
||||
librespeed-go = callPackage ./librespeed-go.nix { };
|
||||
modrinth-app = callPackage ./modrinth-app { };
|
||||
glfw-minecraft = callPackage ./glfw-minecraft { };
|
||||
chocolate-doom2xx = callPackage ./chocolate-doom2xx.nix { };
|
||||
windowtolayer = callPackage ./windowtolayer.nix { };
|
||||
swaylock-plugin = callPackage ./swaylock-plugin.nix { };
|
||||
}
|
||||
|
41
pkgs/swaylock-plugin.nix
Normal file
41
pkgs/swaylock-plugin.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
||||
, meson, ninja, pkg-config, scdoc, wayland-scanner
|
||||
, wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "swaylock-plugin";
|
||||
version = "1dd15b6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mstoeckl";
|
||||
repo = pname;
|
||||
rev = "1dd15b6ecbe91be7a3dc4a0fa9514fb166fb2e07";
|
||||
hash = "sha256-xWyDDT8sXAL58HtA9ifzCenKMmOZquzXZaz3ttGGJuY=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
depsBuildBuild = [ pkg-config ];
|
||||
nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
|
||||
buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dpam=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled"
|
||||
];
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-maybe-uninitialized";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Screen locker for Wayland -- fork with background plugin support";
|
||||
longDescription = ''
|
||||
Fork of swaylock, a screen locking utility for Wayland compositors.
|
||||
With swaylock-plugin, you can for your lockscreen background display
|
||||
the animated output from any wallpaper program that implements the
|
||||
wlr-layer-shell-unstable-v1 protocol.
|
||||
'';
|
||||
inherit (src.meta) homepage;
|
||||
mainProgram = "swaylock";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ devplayer0 ];
|
||||
};
|
||||
}
|
18
pkgs/windowtolayer.nix
Normal file
18
pkgs/windowtolayer.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{ lib
|
||||
, fetchFromGitLab
|
||||
, rustPlatform
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "windowtolayer";
|
||||
version = "a5b89c3c";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "mstoeckl";
|
||||
repo = pname;
|
||||
rev = "a5b89c3c047297fd574932860a6c89e9ea02ba5d";
|
||||
hash = "sha256-rssL2XkbTqUvJqfUFhzULeE4/VBzjeBC5iZWSJ8MJ+M=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-XHmLsx9qdjlBz4xJFFiO24bR9CMw1o5368K+YMpMIBA=";
|
||||
}
|
Loading…
Reference in New Issue
Block a user