This commit is contained in:
Schrottkatze 2023-10-28 22:25:06 +02:00
parent 224c80c420
commit 1cd19687be
21 changed files with 315 additions and 68 deletions

View file

@ -13,6 +13,7 @@
jack.enable = true;
};
};
hardware.pulseaudio.enable = pkgs.lib.mkForce false;
sound.mediaKeys.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home.packages = with pkgs; [

View file

@ -2,6 +2,7 @@
let
cfg = config.jade.desktop;
# window-screenshot = pkgs.writeTextFile "window-screenshot.nu" (builtins.readFile ../../other/scripts/desktop/window-screenshot.nu);
window-screenshot = pkgs.writeShellScriptBin "window-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/window-screenshot.sh);
# desktop-ctl = pkgs.writeShellScriptBin "desktop-ctl.sh" (builtins.readFile ../scripts/desktop/desktop-ctl.sh);
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix { inherit pkgs; };
@ -102,10 +103,13 @@ in with lib; {
desktopManager = {
xterm.enable = false;
# gnome = {
# enable = true;
# };
};
displayManager = {
#defaultSession = "none+i3";
defaultSession = "none+xmonad";
gdm.enable = true;
};
@ -187,11 +191,17 @@ in with lib; {
theme = ../../other/rofi-themes/applauncher.rasi;
};
home.packages = with pkgs; [
spotifyd spotify-tui
#nushell
nu_scripts direnv
just bacon
magic-wormhole-rs
yt-dlp
argyllcms
displaycal
@ -201,11 +211,13 @@ in with lib; {
i3lock rofimoji feh xorg.xinput arandr flameshot
tesseract5 imagemagick xclip xmacro libwacom wacomtablet xorg.xev
syncplay
# categories
# filemanager
xfce.thunar xfce.tumbler xfce.thunar-archive-plugin gnome.file-roller
# media/file viewers
vlc evince nomacs
vlc mpv evince nomacs
# from environment.systemPackages cleanup
font-manager xdotool xorg.xwininfo gparted librewolf firefox uhk-agent

View file

@ -1,34 +1,60 @@
{ config, lib, pkgs, ... }:
{
let
addNuShebang = path: builtins.concatStringsSep "\n\n" [
"#!${pkgs.nushellFull}/bin/nu"
(builtins.readFile path)
];
in {
config = {
networking = {
networkmanager.wifi.backend = "wpa_supplicant";
extraHosts = ''
127.0.0.1 www.youtube.com
127.0.0.1 www.reddit.com
127.0.0.1 www.tiktok.com
127.0.0.1 www.twitter.com
127.0.0.1 www.instagram.com
127.0.0.1 www.facebook.com
127.0.0.1 www.snapchat.com
networkmanager = {
wifi.backend = "wpa_supplicant";
dispatcherScripts = [
{
type = "basic";
source = pkgs.writeText "dispatcher" (addNuShebang ../../other/scripts/dispatcher.nu);
}
];
};
hosts = {
"127.0.0.1" = [
"www.tiktok.com"
"www.twitter.com"
"www.instagram.com"
"www.facebook.com"
"www.snapchat.com"
127.0.0.1 youtube.com
127.0.0.1 reddit.com
127.0.0.1 tiktok.com
127.0.0.1 twitter.com
127.0.0.1 instagram.com
127.0.0.1 facebook.com
127.0.0.1 snapchat.com
"tiktok.com"
"twitter.com"
"instagram.com"
"facebook.com"
"snapchat.com"
127.0.0.1 google-analytics.com
127.0.0.1 stats.g.doubleclick.net
127.0.0.1 googleadservices.com
127.0.0.1 googletagmanager.com
127.0.0.1 googletagservices.com
127.0.0.1 googlesyndication.com
'';
"google-analytics.com"
"stats.g.doubleclick.net"
"googleadservices.com"
"googletagmanager.com"
"googletagservices.com"
"googlesyndication.com"
];
"10.31.208.9" = [
"mqtt.z9"
];
};
};
environment.etc = (with builtins; (
listToAttrs (
map (v: {
name = "networkhooks/${v}";
value = {
text = addNuShebang ../../other/scripts/networkhooks/${v};
mode = "0755";
};
})
(attrNames (readDir ../../other/scripts/networkhooks))
)
));
systemd.services."NetworkManager-wait-online".enable = false;
services.mullvad-vpn.enable = true;
home-manager.users.jade = { pkgs, ... }: {

View file

@ -30,16 +30,16 @@ in with lib; {
space."=" = ":fmt";
};
};
languages = [
{
languages = {
"php" = {
name = "php";
file-types = [ "php" ];
language-server = {
command = "psalm";
args = ["--language-server"];
};
}
];
};
};
};
};
};

49
modules/utils.nix Normal file
View file

@ -0,0 +1,49 @@
{ pkgs, lib }: rec {
# taken from https://github.com/NixOS/nixpkgs/blob/3650808d85dccbfa3be3d785dfd3ce33a757bd2c/pkgs/build-support/trivial-builders/default.nix#L335
writeNuShellApplication =
{ name
, text
, runtimeInputs ? [ ]
, meta ? { }
, checkPhase ? null
}:
writeTextFile {
inherit name meta;
executable = true;
destination = "/bin/${name}";
allowSubstitutes = true;
preferLocalBuild = false;
text = ''
#!${pkgs.nushell}
'' + lib.optionalString (runtimeInputs != [ ]) ''
$env.PATH = ($env.PATH | split row (char esep) | prepend '${lib.makeBinPath runtimeInputs}');
'' + ''
${text}
'';
checkPhase =
# GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
# but we still want to use writeShellApplication on those platforms
if checkPhase == null then ''
runHook preCheck
nu -c "nu-check -d $target"
runHook postCheck
''
else checkPhase;
};
packageNushellApplication =
{ name
, path
, runtimeInputs ? [ ]
, meta ? { }
, checkPhase ? null
}:
writeNuShellApplication {
inherit name runtimeInputs meta checkPhase;
text = builtins.readFile path;
};
}

View file

@ -6,12 +6,22 @@ in with lib; {
};
config = mkIf cfg.enable {
home-manager.users.jade = { pkgs, ... }: {
home.file = {
zellij-forgot = {
target = ".config/zellij/plugins/zellij-forgot.wasm";
source = builtins.fetchurl "https://github.com/karimould/zellij-forgot/releases/download/0.2.0/zellij_forgot.wasm";
};
monocle = {
target = ".config/zellij/plugins/monocle.wasm";
source = builtins.fetchurl "https://github.com/imsnif/monocle/releases/download/0.37.2/monocle.wasm";
};
};
programs.zellij = {
enable = true;
settings = {
theme = "gruvbox-dark";
themes.gruvbox-dark = {
fg = "#D5C4A1";
fg = "#d5c4a1";
bg = "#282828";
black = "#3C3836";
red = "#CC241D";
@ -20,9 +30,16 @@ in with lib; {
blue = "#3C8588";
magenta = "#B16286";
cyan = "#689D6A";
white = "#FBF1C7";
white = "#665c54";
orange = "#D65D0E";
};
# keybinds = {
# session = {
# "bind \"o\"" = {
# LaunchOrFocusPlugin = ["file:/home/jade/.config/zellij/plugins/monocle.wasm" { floating = true; }];
# };
# };
# };
pane_frames = false;
};
};