Merge remote-tracking branch 'prism/master'

This commit is contained in:
tv 2021-07-29 13:27:27 +02:00
commit dfc3a69a14
8 changed files with 92 additions and 75 deletions

View File

@ -70,6 +70,7 @@ in {
ip4.addr = "10.243.77.3"; ip4.addr = "10.243.77.3";
aliases = [ aliases = [
"hotdog.r" "hotdog.r"
"agenda.r"
"build.r" "build.r"
"build.hotdog.r" "build.hotdog.r"
"cgit.hotdog.r" "cgit.hotdog.r"

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rss-bridge"; pname = "rss-bridge";
version = "unstable-2021-01-10"; version = "unstable-2021-04-20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RSS-Bridge"; owner = "RSS-Bridge";
repo = "rss-bridge"; repo = "rss-bridge";
rev = "98352845a14b9f2eb8925ad7a04a5f6cc6a5af06"; rev = "716f5ddc0e20c10cb77ded46380cc376913a92fd";
sha256 = "1nv1f6f17cn057k9mydd3a0bmj2xa5k410fdq7nhw5b7msyxy2qv"; sha256 = "17aqmj7rz0ysk8nj4kbjvnsjdm47d0xsypfygzzk2vagxfz5w3p8";
}; };
patchPhase = '' patchPhase = ''

View File

@ -1,9 +1,9 @@
{ {
"url": "https://github.com/NixOS/nixpkgs", "url": "https://github.com/NixOS/nixpkgs",
"rev": "fbfb79400a08bf754e32b4d4fc3f7d8f8055cf94", "rev": "dd14e5d78e90a2ccd6007e569820de9b4861a6c2",
"date": "2021-06-06T04:54:09-03:00", "date": "2021-07-24T08:14:16-04:00",
"path": "/nix/store/51dsmanfc179xy70kn2rl0qvg45cn6qr-nixpkgs", "path": "/nix/store/0z5nrrjzmjcicjhhdrqb9vgm56zxysk3-nixpkgs",
"sha256": "0pgyx1l1gj33g5i9kwjar7dc3sal2g14mhfljcajj8bqzzrbc3za", "sha256": "1zmhwx1qqgl1wrrb9mjkck508887rldrnragvximhd7jrh1ya3fb",
"fetchSubmodules": false, "fetchSubmodules": false,
"deepClone": false, "deepClone": false,
"leaveDotGit": false "leaveDotGit": false

View File

@ -1,9 +1,9 @@
{ {
"url": "https://github.com/NixOS/nixpkgs", "url": "https://github.com/NixOS/nixpkgs",
"rev": "bad3ccd099ebe9a8aa017bda8500ab02787d90aa", "rev": "91903ceb294dbe63a696759bfba3d23ee667f2dc",
"date": "2021-06-17T20:20:32+00:00", "date": "2021-07-26T09:21:28+02:00",
"path": "/nix/store/2m29isga2dff5x2dzyyr3dql9jpwf5kk-nixpkgs", "path": "/nix/store/2v649741xdh1crybi2dm879bl60zrkhf-nixpkgs",
"sha256": "07ik6rcfpcvj2zch3mzkxwxjs817iysbvsydkm85f14kn7gnyzp5", "sha256": "1hmpwi27r4q0lnspg7ylfzxakwz2fhl3r07vjvq5yalcdqwiain3",
"fetchSubmodules": false, "fetchSubmodules": false,
"deepClone": false, "deepClone": false,
"leaveDotGit": false "leaveDotGit": false

View File

@ -1,29 +1,37 @@
with (import <stockholm/lib>); with (import <stockholm/lib>);
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }: let
weechat = pkgs.weechat.override {
configure = { availablePlugins, ... }: with pkgs.weechatScripts; {
plugins = lib.attrValues (availablePlugins // {
python = availablePlugins.python.withPackages (_: [ weechat-matrix ]);
});
scripts = [ weechat-matrix ];
};
};
{ tmux = pkgs.writeDashBin "tmux" ''
exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" ''
set-option -g prefix `
unbind-key C-b
bind ` send-prefix
set-option -g status off
set-option -g default-terminal screen-256color
#use session instead of windows
bind-key c new-session
bind-key p switch-client -p
bind-key n switch-client -n
bind-key C-s switch-client -l
''} "$@"
'';
in {
imports = [ imports = [
./bitlbee.nix ./bitlbee.nix
]; ];
environment.systemPackages = [ tmux ];
systemd.services.chat = let systemd.services.chat = {
tmux = pkgs.writeDash "tmux" ''
exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" ''
set-option -g prefix `
unbind-key C-b
bind ` send-prefix
set-option -g status off
set-option -g default-terminal screen-256color
#use session instead of windows
bind-key c new-session
bind-key p switch-client -p
bind-key n switch-client -n
bind-key C-s switch-client -l
''} "$@"
'';
in {
description = "chat environment setup"; description = "chat environment setup";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
@ -38,8 +46,8 @@ with (import <stockholm/lib>);
User = "lass"; User = "lass";
RemainAfterExit = true; RemainAfterExit = true;
Type = "oneshot"; Type = "oneshot";
ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat"; ExecStart = "${tmux}/bin/tmux -2 new-session -d -s IM ${weechat}/bin/weechat";
ExecStop = "${tmux} kill-session -t IM"; ExecStop = "${tmux}/bin/tmux kill-session -t IM"; # TODO run save in weechat
}; };
}; };
} }

View File

@ -2,7 +2,6 @@
with import <stockholm/lib>; with import <stockholm/lib>;
let let
user = config.krebs.build.user; user = config.krebs.build.user;
xmonad-lass = pkgs.callPackage <stockholm/lass/5pkgs/custom/xmonad-lass> { inherit config; };
in { in {
imports = [ imports = [
./mpv.nix ./mpv.nix
@ -19,6 +18,7 @@ in {
security.rtkit.enable = true; security.rtkit.enable = true;
sound.enableOSSEmulation = false; sound.enableOSSEmulation = false;
} }
./xmonad.nix
{ {
krebs.per-user.lass.packages = [ krebs.per-user.lass.packages = [
pkgs.sshuttle pkgs.sshuttle
@ -120,30 +120,13 @@ in {
xkbVariant = "altgr-intl"; xkbVariant = "altgr-intl";
xkbOptions = "caps:escape"; xkbOptions = "caps:escape";
libinput.enable = true; libinput.enable = true;
displayManager.lightdm.enable = true; displayManager = {
displayManager.defaultSession = "none+xmonad"; lightdm.enable = true;
windowManager.session = [{ defaultSession = "none+xmonad";
name = "xmonad"; sessionCommands = ''
start = ''
${pkgs.xorg.xhost}/bin/xhost +LOCAL: ${pkgs.xorg.xhost}/bin/xhost +LOCAL:
${pkgs.systemd}/bin/systemctl --user start xmonad
exec ${pkgs.coreutils}/bin/sleep infinity
''; '';
}];
};
systemd.user.services.xmonad = {
environment = {
DISPLAY = ":${toString config.services.xserver.display}";
RXVT_SOCKET = "%t/urxvtd-socket";
XMONAD_DATA_DIR = "/tmp";
}; };
serviceConfig = {
SyslogIdentifier = "xmonad";
ExecStart = "${xmonad-lass}/bin/xmonad";
ExecStop = "${xmonad-lass}/bin/xmonad --shutdown";
};
restartIfChanged = false;
}; };
nixpkgs.config.packageOverrides = super: { nixpkgs.config.packageOverrides = super: {

View File

@ -225,7 +225,7 @@ in {
${pkgs.mpc_cli}/bin/mpc idle player > /dev/null ${pkgs.mpc_cli}/bin/mpc idle player > /dev/null
${pkgs.mpc_cli}/bin/mpc current -f %file% ${pkgs.mpc_cli}/bin/mpc current -f %file%
done | while read track; do done | while read track; do
listeners=$(${pkgs.iproute}/bin/ss -Hno state established 'sport = :8000' | grep '^mptcp' | wc -l) listeners=$(${pkgs.iproute}/bin/ss -Hno state established 'sport = :8000' | grep '^tcp' | wc -l)
echo "$(date -Is)" "$track" | tee -a "$HISTORY_FILE" echo "$(date -Is)" "$track" | tee -a "$HISTORY_FILE"
echo "$(tail -$LIMIT "$HISTORY_FILE")" > "$HISTORY_FILE" echo "$(tail -$LIMIT "$HISTORY_FILE")" > "$HISTORY_FILE"
${set_irc_topic} "playing: $track listeners: $listeners" ${set_irc_topic} "playing: $track listeners: $listeners"
@ -347,6 +347,19 @@ in {
locations."= /recent".extraConfig = '' locations."= /recent".extraConfig = ''
alias /tmp/played; alias /tmp/played;
''; '';
locations."= /current".extraConfig = ''
proxy_pass http://localhost:8001;
'';
locations."= /skip".extraConfig = ''
proxy_pass http://localhost:8001;
'';
locations."= /good".extraConfig = ''
proxy_pass http://localhost:8001;
'';
extraConfig = ''
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
'';
}; };
virtualHosts."lassul.us".locations."= /the_playlist".extraConfig = let virtualHosts."lassul.us".locations."= /the_playlist".extraConfig = let
html = pkgs.writeText "index.html" '' html = pkgs.writeText "index.html" ''

View File

@ -1,10 +1,13 @@
{ config, pkgs, ... }: { config, lib, pkgs, ... }:
pkgs.writers.writeHaskellBin "xmonad" {
libraries = with pkgs.haskellPackages; [ {
extra services.xserver.windowManager.xmonad = {
xmonad-stockholm enable = true;
]; extraPackages = hs: [
} /* haskell */ '' hs.extra
hs.xmonad-stockholm
];
config = /* haskell */ ''
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
@ -48,6 +51,7 @@ import XMonad.Prompt.Window (windowPromptGoto, windowPromptBringCopy)
import XMonad.Util.EZConfig (additionalKeysP) import XMonad.Util.EZConfig (additionalKeysP)
import XMonad.Util.NamedWindows (getName) import XMonad.Util.NamedWindows (getName)
import XMonad.Util.Run (safeSpawn) import XMonad.Util.Run (safeSpawn)
import XMonad.Util.Ungrab (unGrab)
import XMonad.Stockholm.Shutdown (newShutdownEventHandler, shutdown) import XMonad.Stockholm.Shutdown (newShutdownEventHandler, shutdown)
import XMonad.Stockholm.Pager (defaultWindowColors, pager, MatchMethod(MatchPrefix), PagerConfig(..)) import XMonad.Stockholm.Pager (defaultWindowColors, pager, MatchMethod(MatchPrefix), PagerConfig(..))
@ -62,7 +66,9 @@ instance UrgencyHook LibNotifyUrgencyHook where
safeSpawn "${pkgs.libnotify}/bin/notify-send" [show name, "workspace " ++ idx] safeSpawn "${pkgs.libnotify}/bin/notify-send" [show name, "workspace " ++ idx]
myTerm :: FilePath myTerm :: FilePath
myTerm = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtc" -- myTerm = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtc -e /run/current-system/sw/bin/xonsh"
-- myTerm = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtc"
myTerm = "/run/current-system/sw/bin/alacritty"
myFont :: String myFont :: String
myFont = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1" myFont = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1"
@ -109,19 +115,19 @@ floatHooks = composeAll
myKeyMap :: [([Char], X ())] myKeyMap :: [([Char], X ())]
myKeyMap = myKeyMap =
[ ("M4-<F11>", spawn "${config.lass.screenlock.command}") [ ("M4-C-p", forkFile "${pkgs.scrot}/bin/scrot" [ "~/public_html/scrot.png" ] Nothing )
, ("M4-C-p", spawn "${pkgs.scrot}/bin/scrot ~/public_html/scrot.png") , ("M4-p", forkFile "${pkgs.pass}/bin/passmenu" [ "--type" ] Nothing)
, ("M4-p", spawn "${pkgs.pass}/bin/passmenu --type") , ("M4-S-p", forkFile "${pkgs.otpmenu}/bin/otpmenu" [] Nothing)
, ("M4-S-p", spawn "${pkgs.otpmenu}/bin/otpmenu") , ("M4-o", forkFile "${pkgs.brain}/bin/brainmenu --type" [] Nothing)
, ("M4-o", spawn "${pkgs.brain}/bin/brainmenu --type") , ("M4-z", forkFile "${pkgs.emot-menu}/bin/emoticons" [] Nothing)
, ("M4-z", spawn "${pkgs.emot-menu}/bin/emoticons")
, ("M4-S-q", restart "xmonad" True)
, ("<XF86AudioMute>", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-mute @DEFAULT_SINK@ toggle") , ("<XF86AudioMute>", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-mute @DEFAULT_SINK@ toggle")
, ("<XF86AudioRaiseVolume>", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ +4%") , ("<XF86AudioRaiseVolume>", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ +4%")
, ("<XF86AudioLowerVolume>", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ -4%") , ("<XF86AudioLowerVolume>", spawn "${pkgs.pulseaudioLight.out}/bin/pactl -- set-sink-volume @DEFAULT_SINK@ -4%")
, ("<XF86MonBrightnessDown>", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -dec 1") , ("<XF86MonBrightnessDown>", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -dec 1")
, ("<XF86MonBrightnessUp>", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -inc 1") , ("<XF86MonBrightnessUp>", spawn "${pkgs.acpilight}/bin/xbacklight -time 0 -inc 1")
, ("<XF86Launch1>", gridselectWorkspace gridConfig W.view)
, ("M4-C-k", spawn "${pkgs.xorg.xkill}/bin/xkill") , ("M4-C-k", spawn "${pkgs.xorg.xkill}/bin/xkill")
, ("M4-<Tab>", focusDown) , ("M4-<Tab>", focusDown)
@ -137,7 +143,8 @@ myKeyMap =
, ("M4-<Esc>", toggleWS) , ("M4-<Esc>", toggleWS)
, ("M4-S-<Enter>", spawn myTerm) , ("M4-S-<Enter>", spawn myTerm)
, ("M4-x", floatNext True >> spawn myTerm) , ("M4-x", floatNext True >> spawn myTerm)
, ("M4-c", floatNext True >> spawn "${pkgs.termite}/bin/termite") , ("M4-c", spawn "/run/current-system/sw/bin/emacsclient -c")
-- , ("M4-c", unGrab)
, ("M4-f", floatNext True) , ("M4-f", floatNext True)
, ("M4-b", spawn "/run/current-system/sw/bin/klem") , ("M4-b", spawn "/run/current-system/sw/bin/klem")
@ -171,6 +178,9 @@ myKeyMap =
, ("M4-<F9>", spawn "${pkgs.redshift}/bin/redshift -O 4000 -g 0.9:0.8:0.8") , ("M4-<F9>", spawn "${pkgs.redshift}/bin/redshift -O 4000 -g 0.9:0.8:0.8")
, ("M4-<F10>", spawn "${pkgs.redshift}/bin/redshift -x") , ("M4-<F10>", spawn "${pkgs.redshift}/bin/redshift -x")
, ("M4-<F11>", spawn "${config.lass.screenlock.command}")
, ("M4-<F12>", spawn "${pkgs.systemd}/bin/systemctl suspend -i")
, ("M4-u", spawn "${pkgs.xcalib}/bin/xcalib -invert -alter") , ("M4-u", spawn "${pkgs.xcalib}/bin/xcalib -invert -alter")
, ("M4-s", spawn "${pkgs.knav}/bin/knav") , ("M4-s", spawn "${pkgs.knav}/bin/knav")
@ -183,7 +193,7 @@ myKeyMap =
forkFile :: FilePath -> [String] -> Maybe [(String, String)] -> X () forkFile :: FilePath -> [String] -> Maybe [(String, String)] -> X ()
forkFile path args env = forkFile path args env =
xfork (executeFile path False args env) >> return () xfork (executeFile path True args env) >> return ()
myXPConfig :: XPConfig myXPConfig :: XPConfig
myXPConfig = def myXPConfig = def
@ -227,4 +237,6 @@ gridConfig = def
allWorkspaceNames :: W.StackSet i l a sid sd -> X [i] allWorkspaceNames :: W.StackSet i l a sid sd -> X [i]
allWorkspaceNames ws = allWorkspaceNames ws =
return $ map W.tag (W.hidden ws ++ (map W.workspace $ W.visible ws)) ++ [W.tag $ W.workspace $ W.current ws] return $ map W.tag (W.hidden ws ++ (map W.workspace $ W.visible ws)) ++ [W.tag $ W.workspace $ W.current ws]
'' '';
};
}