diff options
-rw-r--r-- | .bashrc | 1 | ||||
-rw-r--r-- | .config/nixpkgs/config.nix | 21 | ||||
-rw-r--r-- | .config/nixpkgs/packages/awesome/package.nix | 98 | ||||
-rw-r--r-- | .config/nixpkgs/packages/rxvt-unicode/package.nix | 102 | ||||
-rw-r--r-- | .config/nixpkgs/packages/wf-shell/package.nix | 2 | ||||
-rw-r--r-- | .config/nixpkgs/shells/cake/shell.nix | 55 | ||||
-rwxr-xr-x | .local/bin/wrappers/mocp | 2 |
7 files changed, 143 insertions, 138 deletions
@@ -94,7 +94,6 @@ alias lsblk='lsblk -o NAME,MAJ:MIN,RM,SIZE,FSTYPE,RO,TYPE,MOUNTPOINT,MODEL' alias lxc-attach='lxc-attach --clear-env --name' alias lxc-ls='lxc-ls --fancy' alias lynx='lynx -cfg ~/.config/lynx/lynx.cfg' -alias mocp='mocp -M $XDG_CONFIG_HOME/moc' alias newsboat='newsboat -c $XDG_CONFIG_HOME/newsboat/cache.db -u $XDG_CONFIG_HOME/newsboat/urls -C $XDG_CONFIG_HOME/newsboat/config' alias nix-index='nix-index --db $XDG_DATA_HOME/nix-index' alias nix-locate='nix-locate --db $XDG_DATA_HOME/nix-index' diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix index 28cf5ae..a95debd 100644 --- a/.config/nixpkgs/config.nix +++ b/.config/nixpkgs/config.nix @@ -9,12 +9,12 @@ let sha256 = "1367bad5zz0mfm4czb6p0s0ni38f0x1ffh02z76rx4nranipqbgg"; }) { inherit system; }; stable = import (builtins.fetchTarball { - url = "https://releases.nixos.org/nixos/23.05/nixos-23.05.861.d3bb401dcfc/nixexprs.tar.xz"; - sha256 = "1b9871if05n92r6acmy46jn6kj583wflp0sgrgfmfmkj3xxsd2i0"; }) { inherit system; }; + url = "https://releases.nixos.org/nixos/23.11/nixos-23.11.6510.a5e4bbcb4780/nixexprs.tar.xz"; + sha256 = "0f73pbh4j89wgk7rn9xp0q8ybw15zkhw0prjz5r37aaryjs8hnbd"; }) { inherit system; }; unstable = import (builtins.fetchTarball { - url = "https://releases.nixos.org/nixos/unstable/nixos-23.11pre530560.f5892ddac112/nixexprs.tar.xz"; - sha256 = "0i4hycnrl8m38gyk5qv76wr8zkwd0g9swgwhwhaczrfczskpms31"; }) { inherit system; }; + url = "https://releases.nixos.org/nixos/unstable/nixos-24.05pre615148.6143fc5eeb9c/nixexprs.tar.xz"; + sha256 = "0bymwq04dxl3ljjjzw21aspdnwwfm56pqi218lg0vdwargy8yxm8"; }) { inherit system; }; in @@ -73,7 +73,6 @@ in (callPackage ./packages/chromexup/package.nix { }) (callPackage ./packages/emacs-batch-indent/package.nix { }) (callPackage ./packages/pdf2htmlex/package.nix { }) - (callPackage ./packages/rxvt-unicode/package.nix { }) (callPackage ./packages/systemd2nix/package.nix { }) (pass.withExtensions (ext: with ext; [ pass-import pass-audit pass-otp ])) unstable.hugo @@ -153,6 +152,7 @@ in ranger rclone ripgrep + rxvt-unicode s-tui sfeed silver-searcher @@ -188,8 +188,9 @@ in (callPackage ./packages/rofi/package.nix { }) (callPackage ./packages/sowon/package.nix { }) (mplayer.override { v4lSupport = true; }) - previous.recoll + previous.code-server previous.qownnotes + previous.recoll unstable.firefox unstable.google-chrome unstable.ungoogled-chromium @@ -197,7 +198,6 @@ in anki blender claws-mail - code-server corrscope dconf diffpdf @@ -269,11 +269,11 @@ in Xorg = pkgs.buildEnv { name = "xorg"; paths = [ - previous.x11vnc autocutsel glxinfo unclutter-xfixes wmctrl + x11vnc xbindkeys xdotool xorg.xauth @@ -312,7 +312,7 @@ in Awesome = pkgs.buildEnv { name = "awesome"; - paths = [ awesome ]; + paths = [ (callPackage ./packages/awesome/package.nix { }) ]; }; Xfce = pkgs.buildEnv { @@ -376,7 +376,7 @@ in librsvg lxappearance papirus-icon-theme - qt4 + qt5ct unstable.nwg-look vanilla-dmz ]; @@ -402,7 +402,6 @@ in paths = [ (callPackage ./packages/qprompt/package.nix { }) ardour - pulseeffects-pw pulsemixer qjackctl tenacity diff --git a/.config/nixpkgs/packages/awesome/package.nix b/.config/nixpkgs/packages/awesome/package.nix new file mode 100644 index 0000000..6bf06ee --- /dev/null +++ b/.config/nixpkgs/packages/awesome/package.nix @@ -0,0 +1,98 @@ +{ lib, stdenv, fetchgit, lua, cairo, librsvg, cmake, imagemagick, pkg-config +, gdk-pixbuf, xorg, libstartup_notification, libxdg_basedir, libpthreadstubs +, xcb-util-cursor, makeWrapper, pango, gobject-introspection, which, dbus +, nettools, git, doxygen, xmlto, docbook_xml_dtd_45, docbook_xsl +, findXMLCatalogs, libxkbcommon, xcbutilxrm, hicolor-icon-theme, asciidoctor +, gtk3, makeFontsConf, ghostscript }: + +let luaEnv = lua.withPackages (ps: [ ps.lgi ps.ldoc ]); + +in stdenv.mkDerivation rec { + pname = "awesome"; + version = "d2dc428e567e378a3f534c4d748543413fc30172"; + + src = fetchgit { + rev = version; + url = "https://github.com/awesomeWM/awesome.git"; + sha256 = "sha256-gViEIuDn9ygzVof8e5e7cqDVPNeKDzlXK8V8oYzUUgA="; + }; + + nativeBuildInputs = [ + asciidoctor + cmake + docbook_xml_dtd_45 + docbook_xsl + doxygen + findXMLCatalogs + imagemagick + makeWrapper + pkg-config + xmlto + ]; + + outputs = [ "out" "doc" ]; + + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ "${ghostscript}/share/ghostscript/fonts" ]; + }; + + propagatedUserEnvPkgs = [ hicolor-icon-theme ]; + + buildInputs = [ + cairo + dbus + gdk-pixbuf + git + gobject-introspection + gtk3 + libpthreadstubs + librsvg + libstartup_notification + libxdg_basedir + libxkbcommon + lua + luaEnv + nettools + pango + xcb-util-cursor + xcbutilxrm + xorg.libXau + xorg.libXdmcp + xorg.libxcb + xorg.libxshmfence + xorg.xcbutil + xorg.xcbutilimage + xorg.xcbutilkeysyms + xorg.xcbutilrenderutil + xorg.xcbutilwm + ]; + + cmakeFlags = [ "-DOVERRIDE_VERSION=${version}" ] + ++ lib.optional lua.pkgs.isLuaJIT + "-DLUA_LIBRARY=${lua}/lib/libluajit-5.1.so"; + + GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0"; + LUA_CPATH = "${luaEnv}/lib/lua/${lua.luaversion}/?.so"; + LUA_PATH = "${luaEnv}/share/lua/${lua.luaversion}/?.lua;;"; + + postInstall = '' + mv "$out/bin/awesome" "$out/bin/.awesome-wrapped" + makeWrapper "$out/bin/.awesome-wrapped" "$out/bin/awesome" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --add-flags '--search ${luaEnv}/lib/lua/${lua.luaversion}' \ + --add-flags '--search ${luaEnv}/share/lua/${lua.luaversion}' \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" + + wrapProgram $out/bin/awesome-client \ + --prefix PATH : "${which}/bin" + ''; + + passthru = { inherit lua; }; + + meta = with lib; { + license = licenses.gpl2Plus; + platforms = platforms.linux; + homepage = "https://awesomewm.org/"; + description = "Highly configurable, dynamic window manager for X"; + }; +} diff --git a/.config/nixpkgs/packages/rxvt-unicode/package.nix b/.config/nixpkgs/packages/rxvt-unicode/package.nix deleted file mode 100644 index dd3540c..0000000 --- a/.config/nixpkgs/packages/rxvt-unicode/package.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ lib, stdenv, fetchurl, fetchpatch, libX11, libXt, libXft, libXrender, ncurses -, fontconfig, freetype, pkg-config, gdk-pixbuf, perl, writeTextFile }: - -let - pname = "rxvt-unicode"; - version = "9.26"; - description = "A clone of the well-known terminal emulator rxvt"; - -in stdenv.mkDerivation { - - inherit pname version; - name = "${pname}-unwrapped-${version}"; - - src = fetchurl { - url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2"; - sha256 = "12y9p32q0v7n7rhjla0j2g9d5rj2dmwk20c9yhlssaaxlawiccb4"; - }; - - buildInputs = [ - fontconfig - freetype - gdk-pixbuf - libX11 - libXft - libXrender - libXt - ncurses - perl - pkg-config - ]; - - outputs = [ "out" "terminfo" ]; - - patches = [ - (fetchpatch { - name = "enable-wide-glyphs.patch"; - url = "https://raw.githubusercontent.com/owl4ce/nelumbonaceae/e6be9823ec9ab7c14a23f5a25dfb33ce705d9950/x11-terms/rxvt-unicode/files/enable-wide-glyphs.patch"; - sha256 = "0vfpidysc1kxr3zark2y1b8fxx7k2lck79ccb7b97mgz04mxchvd"; - }) - (fetchpatch { - name = "improve-font-rendering.patch"; - url = "https://raw.githubusercontent.com/owl4ce/nelumbonaceae/e6be9823ec9ab7c14a23f5a25dfb33ce705d9950/x11-terms/rxvt-unicode/files/improve-font-rendering.patch"; - sha256 = "0xkwvn204n679v4mgpw2dl4c30pdl622l6b2iw6sr0gijga8zqcd"; - }) - (fetchpatch { - name = "256-color-resources.patch"; - url = "https://raw.githubusercontent.com/NixOS/nixpkgs/2bb3a9da24ca60d9f5bed69f679a1ec50dbdf997/pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch"; - sha256 = "sha256-lz0naMdlu7+e2/+zP6KvGTI6exIS4qx+Tqr0OpUkXGI="; - }) - (fetchpatch { - name = "fixed-layout-size.patch"; - url = "https://raw.githubusercontent.com/owl4ce/nelumbonaceae/b593a0eb7bb45a0b471c2ee2aa02b0e66776b9c0/x11-terms/rxvt-unicode/files/fixed-layout-size.patch"; - sha256 = "148vpln61zs3qv4sipcc5c7fiyc4d4q6k10r7bpr0k0q4pzshljh"; - }) - (writeTextFile { - name = "silence-x-errors.patch"; - text = '' - --- a/src/main.C - +++ b/src/main.C - @@ -494,7 +494,7 @@ - #if ENABLE_MINIMAL - old_xerror_handler (display, event); - #else - - print_x_error (display, event); - + // print_x_error (display, event); - #endif - } - ''; - }) - ]; - - configureFlags = [ - "--enable-perl" - "--enable-unicode3" - "--enable-256-color" - "--enable-wide-glyphs" - "--with-terminfo=$terminfo/share/terminfo" - ]; - - CFLAGS = [ "-I${freetype.dev}/include/freetype2" ]; - LDFLAGS = [ "-lfontconfig" "-lXrender" "-lpthread" ]; - - preConfigure = '' - mkdir -p $terminfo/share/terminfo - export TERMINFO=$terminfo/share/terminfo - mkdir -p $out/$(dirname ${perl.libPrefix}) - ln -s $out/lib/urxvt $out/${perl.libPrefix} - ''; - - postInstall = '' - mkdir -p $out/nix-support - echo "$terminfo" >> $out/nix-support/propagated-user-env-packages - ''; - - meta = { - inherit description; - license = lib.licenses.gpl3; - platforms = lib.platforms.unix; - downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/"; - homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html"; - }; -} diff --git a/.config/nixpkgs/packages/wf-shell/package.nix b/.config/nixpkgs/packages/wf-shell/package.nix index 46448b9..42e4121 100644 --- a/.config/nixpkgs/packages/wf-shell/package.nix +++ b/.config/nixpkgs/packages/wf-shell/package.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { src = fetchgit { url = "https://github.com/WayfireWM/wf-shell"; - sha256 = "sha256-DoGW9rCEQFDO/SJ/ZWv2SPzC/acLFnPPncs683ugEvY="; + sha256 = "sha256-qkfN6JfAp5UaHXNuU6Jwu87YNCyjEJzVLLy8EUG5UNE"; }; mesonFlags = [ "--sysconfdir" "/etc" ]; diff --git a/.config/nixpkgs/shells/cake/shell.nix b/.config/nixpkgs/shells/cake/shell.nix index 3a88218..2991136 100644 --- a/.config/nixpkgs/shells/cake/shell.nix +++ b/.config/nixpkgs/shells/cake/shell.nix @@ -1,24 +1,18 @@ let # nix-shell -E 'import (builtins.fetchurl "$url")' - # NIX_CONFIG="sandbox = relaxed" nix-shell --option builders '' cake.nix + # NIX_CONFIG="sandbox = relaxed" nix-shell --option builders '' shell.nix name = "nix-shell.cake"; pkgs = import (builtins.fetchTarball { - url = "https://releases.nixos.org/nixos/22.11/nixos-22.11.466.596a8e828c5/nixexprs.tar.xz"; - sha256 = "1367bad5zz0mfm4czb6p0s0ni38f0x1ffh02z76rx4nranipqbgg"; + url = "https://releases.nixos.org/nixos/23.11/nixos-23.11.6510.a5e4bbcb4780/nixexprs.tar.xz"; + sha256 = "0f73pbh4j89wgk7rn9xp0q8ybw15zkhw0prjz5r37aaryjs8hnbd"; }) { }; - alpine-3-12-amd64 = pkgs.dockerTools.exportImage { - fromImage = pkgs.dockerTools.pullImage rec { - imageName = "alpine"; - imageDigest = "sha256:2a8831c57b2e2cb2cda0f3a7c260d3b6c51ad04daea0b3bfc5b55f489ebafd71"; - sha256 = "1px8xhk0a3b129cc98d3wm4s0g1z2mahnrxd648gkdbfsdj9dlxp"; - finalImageName = imageName; - finalImageTag = "3.12"; - }; - diskSize = "128"; + alpine = pkgs.fetchurl { + url = "https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/x86_64/alpine-minirootfs-3.19.1-x86_64.tar.gz"; + sha256 = "sha256-GFEjzrbn0I8kSf/1VD2yBv+3nezYFGCNOZrUR+CPop4="; }; cook = { name, src, contents ? [ ], path ? [ ], script ? "", prepare ? "", cleanup ? "" }: pkgs.stdenvNoCC.mkDerivation { @@ -39,7 +33,7 @@ let ${prepare} cp $bootstrap rootfs/bootstrap - proot --cwd=/ --root-id --rootfs=rootfs /usr/bin/env - /bin/sh -euc '. /etc/profile && /bootstrap' + proot --cwd=/ --root-id --rootfs=rootfs /usr/bin/env - /bin/sh -euc 'BASH_VERSION= . /etc/profile && /bootstrap' printf 'PATH=${pkgs.lib.strings.makeBinPath path}:$PATH' >> rootfs/etc/profile [ -n "$contents" ] && { @@ -61,7 +55,7 @@ let bake = { name, image, size ? "1G", debug ? false, kernel ? pkgs.linux, options ? [ ], modules ? [ ], uuid ? "99999999-9999-9999-9999-999999999999" }: let initrd = cook { name = "initrd-${name}"; - src = alpine-3-12-amd64; + src = alpine; script = '' rm -rf home opt media root run srv tmp var printf '#!/bin/sh -eu @@ -136,9 +130,9 @@ let losetup --detach "$LOOP" ''; - alpine = cook { + system = cook { name = "alpine"; - src = alpine-3-12-amd64; + src = alpine; contents = [ pkgs.glibc pkgs.gawk ]; path = [ pkgs.gawk ]; script = '' @@ -148,9 +142,24 @@ let ''; }; - alpine-machine = bake { + machine = cook { + name = "alpine"; + src = alpine; + contents = [ pkgs.glibc pkgs.gawk ]; + path = [ pkgs.gawk ]; + script = '' + apk update + apk upgrade + apk add openrc + cat /etc/alpine-release + sed -i 's/#ttyS0/ttyS0/' /etc/inittab + printf 'migh7Lib\nmigh7Lib\n' | adduser alpine + ''; + }; + + virtual-machine = bake { name = "alpine-machine"; - image = alpine; + image = machine; kernel = pkgs.linuxPackages_5_10.kernel; options = [ "console=tty1" "console=ttyS0" ]; size = "128M"; @@ -188,13 +197,13 @@ in pkgs.mkShell { shellHook = '' export PS1='\h (${name}) \W \$ ' - # sudo ${alpine-machine} - # doas ${alpine-machine} - # qemu-system-x86_64 -nographic -drive if=virtio,file=./${alpine-machine.name}.img,format=raw - # qemu-system-x86_64 -curses -drive if=virtio,file=./${alpine-machine.name}.img,format=raw + # sudo ${virtual-machine} + # doas ${virtual-machine} + # qemu-system-x86_64 -nographic -drive if=virtio,file=./${virtual-machine.name}.img,format=raw + # qemu-system-x86_64 -curses -drive if=virtio,file=./${virtual-machine.name}.img,format=raw ${container { - rootfs = "${alpine}/rootfs"; + rootfs = "${system}/rootfs"; binds = [ "/proc" "/dev" ]; options = [ "--verbose=0" ]; }} diff --git a/.local/bin/wrappers/mocp b/.local/bin/wrappers/mocp new file mode 100755 index 0000000..8828b25 --- /dev/null +++ b/.local/bin/wrappers/mocp @@ -0,0 +1,2 @@ +#!/bin/sh -eu +$(which mocp --all | grep --invert-match "local/bin" | head --lines 1) -M "$HOME/.config/moc" "$@" |