Compare commits

..

3 Commits

Author SHA1 Message Date
4a483febf9
a 2024-01-23 02:11:22 +03:00
702e593259
stuff exists again 2024-01-14 22:05:39 +03:00
dfc0eaba77
a 2023-11-24 17:02:44 +03:00
27 changed files with 568 additions and 376 deletions

File diff suppressed because it is too large Load Diff

View File

@ -59,6 +59,12 @@
discordrp-mpris.url = "github:yusdacra/discordrp-mpris-flake";
discordrp-mpris.inputs.nixpkgs.follows = "nixpkgs";
s3s.url = "github:yusdacra/s3s-flake";
s3s.inputs.nixpkgs.follows = "nixpkgs";
naked-shell.url = "github:yusdacra/mk-naked-shell";
naked-shell.flake = false;
# vfio.url = "github:yusdacra/nixos-vfio";
# vfio.inputs.nixpkgs.follows = "nixpkgs";

View File

@ -68,10 +68,22 @@
services.xserver.videoDrivers = ["nvidia" "amdgpu"];
hardware = {
nvidia.prime = {
nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.production;
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = true;
open = false;
nvidiaSettings = true;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
amdgpuBusId = "PCI:5:0:0";
nvidiaBusId = "PCI:1:0:0";
};
};
opengl = {
driSupport = true;
driSupport32Bit = true;

View File

@ -0,0 +1 @@
../../../modules/de/budgie/default.nix

View File

@ -0,0 +1,4 @@
{
services.joycond.enable = true;
hardware.xpadneo.enable = true;
}

View File

@ -0,0 +1,17 @@
{pkgs, ...}: let
_wellKnownFile =
pkgs.writeText "server" "did:plc:dfl62fgb7wtjj3fcbb72naae";
wellKnownFile = pkgs.runCommand "well-known" {} ''
mkdir -p $out
cp ${_wellKnownFile} $out/atproto-did
'';
in
{
services.nginx.virtualHosts."gaze.systems" = {
locations."/.well-known/".extraConfig = ''
add_header content-type text/plain;
add_header access-control-allow-origin *;
alias ${wellKnownFile}/;
'';
};
}

View File

@ -0,0 +1,18 @@
{config, ...}: {
services.hedgedoc = {
enable = true;
settings = {
port = 3333;
domain = "doc.gaze.systems";
protocolUseSSL = true;
allowEmailRegister = false;
allowAnonymous = false;
};
};
services.nginx.virtualHosts."doc.gaze.systems" = {
useACMEHost = "gaze.systems";
forceSSL = true;
locations."/".proxyPass = "http://${config.services.hedgedoc.settings.host}:${toString config.services.hedgedoc.settings.port}";
};
}

View File

@ -20,6 +20,7 @@
"ms.gaze.systems"
"mq.gaze.systems"
"couchdb.gaze.systems"
"doc.gaze.systems"
];
};
certs."limbus.company" = {

View File

@ -0,0 +1,33 @@
{
pkgs,
lib,
...
}: {
services.xserver = {
enable = true;
desktopManager = {
budgie.enable = true;
xterm.enable = false;
};
displayManager = {
gdm = {
enable = true;
wayland = false;
};
startx.enable = false;
};
};
systemd.services = {
"getty@tty1".enable = false;
"autovt@tty1".enable = false;
};
services.power-profiles-daemon.enable = false;
environment.systemPackages = with pkgs; [
ffmpegthumbnailer
webp-pixbuf-loader
yaru-theme
];
# environment.etc."environment.d/10-use-amd.conf".text = ''
# __EGL_VENDOR_LIBRARY_FILENAMES=/run/opengl-driver/glvnd/egl_vendor.d/50_mesa.json
# '';
}

View File

@ -19,7 +19,7 @@
services.tumbler.enable = true;
programs = {
geary.enable = lib.mkForce false;
gnome-terminal.enable = lib.mkForce false;
gnome-terminal.enable = true;
evince.enable = true;
};
services.xserver = {
@ -29,13 +29,9 @@
xterm.enable = false;
};
displayManager = {
autoLogin = {
enable = true;
user = "patriot";
};
gdm = {
enable = true;
wayland = true;
wayland = false;
};
startx.enable = false;
};

View File

@ -1,25 +1,10 @@
{pkgs, ...}: let
run-sway = pkgs.writeText "run-sway.sh" ''
export _JAVA_AWT_WM_NONREPARENTING=1
export XDG_CURRENT_DESKTOP=sway
export QT_QPA_PLATFORM=wayland
export QT_QPA_PLATFORMTHEME=qt5ct
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export GDK_BACKEND=wayland
export WLR_DRM_DEVICES=/dev/dri/card0
export WL_DRM_DEVICES=/dev/dri/card0
sway --unsupported-gpu
'';
in {
{pkgs, ...}: {
services.greetd = {
enable = true;
settings = {
terminal.vt = 1;
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --issue --time --cmd 'bash --login ${run-sway}'";
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --issue --time --cmd 'sway --unsupported-gpu'";
user = "greeter";
};
};

View File

@ -1,7 +1,10 @@
{
{config, ...}: {
imports = [../dns ../iwd];
networking.networkmanager = {
enable = true;
wifi.powersave = true;
};
environment.persistence."${config.system.persistDir}" = {
directories = ["/etc/NetworkManager/system-connections"];
};
}

View File

@ -32,6 +32,7 @@
inherit system;
config.allowUnfree = true;
config.allowBroken = true;
config.permittedInsecurePackages = ["electron-25.9.0"];
overlays = overlays ++ newPkgs;
};
pkgsToExport = import ./pkgs-to-export.nix pkgs;

View File

@ -1,2 +0,0 @@
# {inputs}: (import "${inputs.nixpkgs-wayland}/overlay.nix")
final: prev: prev

View File

@ -1,5 +1,6 @@
{tlib, ...}:
{tlib, inputs, ...}:
tlib.genPkgs (pkgs: let
mkNakedShell = pkgs.callPackage inputs.naked-shell {};
agenix-wrapped = pkgs.writeShellApplication {
name = "agenix";
runtimeInputs = [pkgs.agenix];
@ -12,10 +13,10 @@ tlib.genPkgs (pkgs: let
'';
};
in {
default = with pkgs;
mkShell {
default =
mkNakedShell {
name = "prts";
buildInputs = [git git-crypt alejandra helix agenix-wrapped rage];
packages = with pkgs; [git git-crypt alejandra helix agenix-wrapped rage];
shellHook = ''
echo \"$(tput bold)welcome to PRTS, $USER$(tput sgr0)\"
'';

View File

@ -12,12 +12,12 @@
bbenoist.nix
svelte.svelte-vscode
bradlc.vscode-tailwindcss
(rust-lang.rust-analyzer.overrideAttrs (old: {
src = old.src.overrideAttrs (old: {
outputHash = "sha256-k9eDTY9y2ejg4jTApji8X6UmKYK/eCLMZJbiYuoTuyY=";
});
}))
# explodingcamera."1am"
# (rust-lang.rust-analyzer.overrideAttrs (old: {
# src = old.src.overrideAttrs (old: {
# outputHash = "sha256-k9eDTY9y2ejg4jTApji8X6UmKYK/eCLMZJbiYuoTuyY=";
# });
# }))
rust-lang.rust-analyzer
];
userSettings = {
"files.associations" = {

View File

@ -33,18 +33,4 @@
# '';
});
in [pkg];
systemd.user.services.premid = {
Install = {
WantedBy = ["default.target"];
};
Unit = {
Description = "premid";
After = "network.target";
};
Service = {
ExecStart = "${pkgs.premid}/bin/premid";
Restart = "on-failure";
RestartSec = 5;
};
};
}

View File

@ -0,0 +1,39 @@
[global]
# Enable debug level logging or configure level directly
debug = false
log_level = "WARNING"
poll_interval = 10
reconnect_wait = 1
# The following can be overridden per player.
[options]
# Whether to show status for paused players.
show_paused = true
# Whether to show status for previously active and now stopped player.
show_stopped = false
# Available values are: "elapsed", "remaining" or "none".
show_time = "elapsed"
# Upload images to the host
# Note: if this set to true, valid image_host must be set.
# meant to be set to true with all online players
upload_images = true
# Use image host to show local album covers
# There is two conditions to use host:
# 1) image is sent via HTTP POST
# 2) The response will be a text which only contains URL of the uploaded image.
image_host = "https://0x0.st"
# Whether to ignore a player. Supposed to be overridden.
ignore = false
# Maximum number of bytes in the title field
max_title_len = 64
# informational string, usually is just artist and title
# you can use theese formatters here: artist, albumArtist, title, album, position, length, player, state
details = "{title}\nby {artist}"
# You can override any of the [options] options
# for each player individually.
# The player name to use as the key
# is shown in your Discord Rich Presence (hover the icons).
[player.Spotify]
ignore = true

View File

@ -12,4 +12,5 @@
RestartSec = 5;
};
};
xdg.configFile."discordrp-mpris/config.toml".source = ./config.toml;
}

View File

@ -10,7 +10,7 @@
home.packages = [(pkgs.lib.hiPrio pkgs.floorp)];
programs.firefox = {
enable = true;
package = pkgs.firefox-wayland.override {
package = pkgs.firefox.override {
extraPrefs = ''
lockPref("privacy.resistFingerprinting.letterboxing", false);
lockPref("browser.startup.homepage", "about:home");

View File

@ -0,0 +1,10 @@
{pkgs, ...}: {
xsession.enable = true;
xsession.windowManager.fluxbox = {
enable = true;
menu = ''
[exec] (Floorp) {/etc/profiles/per-user/patriot/bin/floorp}
[exec] (urxvt) {/etc/profiles/per-user/patriot/bin/urxvt}
'';
};
}

View File

@ -0,0 +1,15 @@
{pkgs, ...}: {
systemd.user.services.premid = {
Install = {
WantedBy = ["default.target"];
};
Unit = {
Description = "premid";
};
Service = {
ExecStart = "${pkgs.premid}/bin/premid";
Restart = "on-failure";
RestartSec = 5;
};
};
}

View File

@ -0,0 +1,4 @@
{config, inputs, ...}: {
imports = [inputs.s3s.homeManagerModule];
services.s3s.enable = true;
}

View File

@ -69,9 +69,9 @@
exec export SFILE="${shotFile}.png" && mkdir -p ${shotDir} && ${grim} -g "$(${slurp})" "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png
'';
# Record screen
"Mod1+r" = ''exec mkdir -p ${shotDir} && ${wf-recorder} -f "${shotFile}.mp4"'';
"Mod1+r" = ''exec mkdir -p ${shotDir} && ${wf-recorder} -x yuv420p -f "${shotFile}.mp4"'';
# Record an area
"Mod1+Shift+r" = ''exec mkdir -p ${shotDir} && ${wf-recorder} -g "$(${slurp})" -f "${shotFile}.mp4"'';
"Mod1+Shift+r" = ''exec mkdir -p ${shotDir} && ${wf-recorder} -x yuv420p -g "$(${slurp})" -f "${shotFile}.mp4"'';
# Stop recording
"Mod1+c" = "exec pkill -INT wf-recorder";
"XF86AudioRaiseVolume" = "exec ${pactl} set-sink-volume 0 +5%";
@ -111,7 +111,7 @@
adaptive_sync = "on";
};
"HDMI-A-1" = {
mode = "1920x1080@60.000Hz";
mode = "1920x1080@74.973Hz";
};
};
};

View File

@ -0,0 +1,9 @@
{...}: {
programs.urxvt = {
enable = true;
keybindings = {
"Shift-Control-C" = "eval:selection_to_clipboard";
"Shift-Control-V" = "eval:paste_clipboard";
};
};
}

View File

@ -107,6 +107,7 @@ in {
# wm
# ["hyprland" "foot"]
["sway" "wayland" "foot"]
# ["fluxbox" "urxvt"]
# desktop stuff
# ["wayland" "foot"]
["obsidian" "firefox"]
@ -114,9 +115,10 @@ in {
["zoxide" "zsh" "fzf" "starship" "direnv"]
# dev stuff
["helix" "git" "ssh"]
["godot"]
# ["godot"]
["musikcube" "musikcubed"]
["arrpc" "discordrp-mpris"]
["arrpc"]
["s3s"]
];
in
l.flatten [
@ -160,6 +162,7 @@ in {
"dconf"
"retroarch"
"yuzu"
"blender"
];
files = l.flatten [
".config/gnome-initial-setup-done"
@ -186,16 +189,16 @@ in {
gtk.theme.package = pkgs.yaru-theme;
gtk.theme.name = "Yaru-dark";
home.sessionVariables.QT_QPA_PLATFORMTHEME = "qt5ct";
xdg.configFile = {
"environment.d/20-apply-qtct.conf".text = ''
QT_QPA_PLATFORMTHEME=qt5ct
'';
};
qt.enable = true;
qt.platformTheme = "qtct";
qt.style.name = "phantom";
qt.style.package = pkgs.phantom;
# home.sessionVariables.QT_QPA_PLATFORMTHEME = "qt5ct";
# xdg.configFile = {
# "environment.d/20-apply-qtct.conf".text = ''
# QT_QPA_PLATFORMTHEME=qt5ct
# '';
# };
# qt.enable = true;
# qt.platformTheme = "qtct";
# qt.style.name = "phantom";
# qt.style.package = pkgs.phantom;
stylix.targets.gnome.enable = lib.mkForce false;
stylix.targets.gtk.enable = lib.mkForce false;
@ -217,31 +220,34 @@ in {
mupdf
xdg-utils
protontricks
# fractal-next
# obs-studio
libreoffice-fresh
helvum
nix-output-monitor
inputs.nh.packages.${pkgs.system}.default
prismlauncher
# steamPackages.steamcmd
# steam-tui
gtkcord4
gh
# fractal-next
# gtkcord4
# gh
transmission_4-gtk
kdenlive
### music prod
yabridge
yabridgectl
bitwig-studio
# reaper
# ardour
(retroarch.override {
cores = with libretro; [desmume citra];
})
yuzu
### stream / record
obs-studio
### gayming
# prismlauncher
# (retroarch.override {
# cores = with libretro; [desmume citra];
# })
# yuzu
# wineWowPackages.stagingFull
# lutris
distrobox
# distrobox
bottles
blender
];
};
programs = {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

After

Width:  |  Height:  |  Size: 969 KiB