2025.04.30-20:50
16
nixos_24.11_cinnamon/config/appimage.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.binfmt = {
|
||||
registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
mask = "\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\xff\\xff\\xff";
|
||||
magicOrExtension = "\\x7fELF....AI\\x02";
|
||||
};
|
||||
# run aarch64 binaries
|
||||
emulatedSystems = [ "aarch64-linux" ];
|
||||
};
|
||||
}
|
27
nixos_24.11_cinnamon/config/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./tweaks
|
||||
./appimage.nix
|
||||
./desktop-cinnamon.nix
|
||||
./distrobox.nix
|
||||
./firefox.nix
|
||||
./flatpak.nix
|
||||
./fonts.nix
|
||||
./gpu-amd.nix
|
||||
#./gpu-intel.nix
|
||||
./kvm.nix
|
||||
#./laptop.nix
|
||||
./mpd.nix
|
||||
./nix-ld.nix
|
||||
./pkgs-cli.nix
|
||||
./pkgs-extra.nix
|
||||
./printer.nix
|
||||
./samba.nix
|
||||
#./samba-nas.nix
|
||||
./samba-srv.nix
|
||||
./steam.nix
|
||||
./syncthing.nix
|
||||
];
|
||||
}
|
100
nixos_24.11_cinnamon/config/desktop-cinnamon.nix
Normal file
@ -0,0 +1,100 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
services = {
|
||||
# Enable the X11 windowing system
|
||||
xserver = {
|
||||
enable = true;
|
||||
xkb.layout = "de";
|
||||
xkb.variant = "";
|
||||
xkb.options = "eurosign:e";
|
||||
exportConfiguration = true;
|
||||
enableCtrlAltBackspace = true;
|
||||
wacom.enable = true;
|
||||
|
||||
# Enable Lightdm
|
||||
displayManager = {
|
||||
lightdm.enable = true;
|
||||
lightdm.background = /etc/nixos/config/home/wallpaper/wallpaper05.jpg;
|
||||
lightdm.greeters.slick.theme.name = "Arc-Dark";
|
||||
lightdm.greeters.slick.iconTheme.name = "Papirus-Dark";
|
||||
lightdm.greeters.slick.cursorTheme.name = "Numix-Cursor";
|
||||
lightdm.greeters.slick.extraConfig = "activate-numlock=true";
|
||||
};
|
||||
|
||||
# Enable the Cinnamon Desktop Environment
|
||||
desktopManager = {
|
||||
xterm.enable = false;
|
||||
cinnamon.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
displayManager.defaultSession = "cinnamon";
|
||||
#bamf.enable = true;
|
||||
libinput.enable = false;
|
||||
};
|
||||
|
||||
# Enable Programs
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
geary.enable = false;
|
||||
};
|
||||
|
||||
# Enable xdg portal
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-xapp ];
|
||||
};
|
||||
|
||||
# Environment variables
|
||||
environment.variables = {
|
||||
EDITOR = "nano";
|
||||
BROWSER = "firefox";
|
||||
QT_QPA_PLATFORM = "xcb";
|
||||
#QT_QPA_PLATFORMTHEME = lib.mkForce "qt5ct";
|
||||
};
|
||||
|
||||
environment.sessionVariables = rec {
|
||||
XDG_CACHE_HOME = "$HOME/.cache";
|
||||
XDG_CONFIG_HOME = "$HOME/.config";
|
||||
XDG_DATA_HOME = "$HOME/.local/share";
|
||||
XDG_STATE_HOME = "$HOME/.local/state";
|
||||
XDG_BIN_HOME = "$HOME/.local/bin";
|
||||
PATH = [
|
||||
"${XDG_BIN_HOME}"
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nemo-emblems
|
||||
nemo-with-extensions
|
||||
nemo-fileroller
|
||||
nemo-python
|
||||
bulky
|
||||
file-roller
|
||||
gnome-system-monitor
|
||||
gnome-disk-utility
|
||||
plank
|
||||
numlockx
|
||||
];
|
||||
|
||||
environment.cinnamon.excludePackages = with pkgs; [
|
||||
onboard
|
||||
hexchat
|
||||
xterm
|
||||
];
|
||||
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
42000 # Warpinator used for transfer
|
||||
42001 # Warpinator authentication port
|
||||
];
|
||||
|
||||
allowedUDPPorts = [
|
||||
42000 # Warpinator used for transfer
|
||||
42001 # Warpinator authentication port
|
||||
];
|
||||
};
|
||||
|
||||
}
|
13
nixos_24.11_cinnamon/config/distrobox.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
users.users.zulumann.extraGroups = [ "docker" ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
distrobox # Wrapper around podman or docker to create and start containers
|
||||
boxbuddy # An unofficial GUI for managing your Distroboxes
|
||||
];
|
||||
|
||||
}
|
196
nixos_24.11_cinnamon/config/firefox.nix
Normal file
@ -0,0 +1,196 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
languagePacks = [ "de" ];
|
||||
preferences = {
|
||||
"extensions.pocket.enabled" = false;
|
||||
"extensions.screenshots.disabled" = false;
|
||||
"browser.topsites.contile.enabled" = false;
|
||||
"browser.formfill.enable" = false;
|
||||
"browser.search.suggest.enabled" = false;
|
||||
"browser.search.suggest.enabled.private" = false;
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
};
|
||||
|
||||
policies = {
|
||||
CaptivePortal = false;
|
||||
DisableFirefoxAccounts = false;
|
||||
DisableAccounts = false;
|
||||
DisableFirefoxScreenshots = true;
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisablePocket = true;
|
||||
DontCheckDefaultBrowser = true;
|
||||
PasswordManagerEnabled = false;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "separate"; # alternative: "unified"
|
||||
|
||||
EnableTrackingProtection = {
|
||||
Value= true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
|
||||
FirefoxHome = {
|
||||
Highlights = false;
|
||||
Pocket = false;
|
||||
Search = true;
|
||||
Snippets = false;
|
||||
TopSites = false;
|
||||
};
|
||||
|
||||
settings = {
|
||||
"browser.download.panel.shown" = true;
|
||||
"dom.security.https_only_mode" = true;
|
||||
"general.smoothScroll" = true;
|
||||
"gfx.webrender.enabled" = true;
|
||||
"layout.css.backdrop-filter.enabled" = true;
|
||||
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
|
||||
# We handle this elsewhere
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
|
||||
# Don't allow websites to prevent use of right-click, or otherwise
|
||||
# messing with the context menu.
|
||||
"dom.event.contextmenu.enabled" = true;
|
||||
|
||||
# Don't allow websites to prevent copy and paste. Disable
|
||||
# notifications of copy, paste, or cut functions. Stop webpage
|
||||
# knowing which part of the page had been selected.
|
||||
"dom.event.clipboardevents.enabled" = true;
|
||||
|
||||
# Do not track from battery status.
|
||||
"dom.battery.enabled" = false;
|
||||
|
||||
# Show punycode. Help protect from character 'spoofing'.
|
||||
"network.IDN_show_punycode" = true;
|
||||
|
||||
# Disable site reading installed plugins.
|
||||
"plugins.enumerable_names" = "";
|
||||
|
||||
# Use Mozilla instead of Google here.
|
||||
"geo.provider.network.url" =
|
||||
"https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
|
||||
|
||||
# Safe browsing
|
||||
"browser.safebrowsing.enabled" = false;
|
||||
"browser.safebrowsing.phishing.enabled" = false;
|
||||
"browser.safebrowsing.malware.enabled" = false;
|
||||
"browser.safebrowsing.downloads.enabled" = false;
|
||||
"browser.safebrowsing.provider.google4.updateURL" = "";
|
||||
"browser.safebrowsing.provider.google4.reportURL" = "";
|
||||
"browser.safebrowsing.provider.google4.reportPhishMistakeURL" = "";
|
||||
"browser.safebrowsing.provider.google4.reportMalwareMistakeURL" = "";
|
||||
"browser.safebrowsing.provider.google4.lists" = "";
|
||||
"browser.safebrowsing.provider.google4.gethashURL" = "";
|
||||
"browser.safebrowsing.provider.google4.dataSharingURL" = "";
|
||||
"browser.safebrowsing.provider.google4.dataSharing.enabled" = false;
|
||||
"browser.safebrowsing.provider.google4.advisoryURL" = "";
|
||||
"browser.safebrowsing.provider.google4.advisoryName" = "";
|
||||
"browser.safebrowsing.provider.google.updateURL" = "";
|
||||
"browser.safebrowsing.provider.google.reportURL" = "";
|
||||
"browser.safebrowsing.provider.google.reportPhishMistakeURL" = "";
|
||||
"browser.safebrowsing.provider.google.reportMalwareMistakeURL" = "";
|
||||
"browser.safebrowsing.provider.google.pver" = "";
|
||||
"browser.safebrowsing.provider.google.lists" = "";
|
||||
"browser.safebrowsing.provider.google.gethashURL" = "";
|
||||
"browser.safebrowsing.provider.google.advisoryURL" = "";
|
||||
"browser.safebrowsing.downloads.remote.url" = "";
|
||||
|
||||
# Don't call home on new tabs
|
||||
"browser.selfsupport.url" = "";
|
||||
"browser.aboutHomeSnippets.updateUrL" = "";
|
||||
"browser.startup.homepage_override.mstone" = "ignore";
|
||||
"browser.startup.homepage_override.buildID" = "";
|
||||
"startup.homepage_welcome_url" = "";
|
||||
"startup.homepage_welcome_url.additional" = "";
|
||||
"startup.homepage_override_url" = "";
|
||||
|
||||
# Firefox experiments...
|
||||
"experiments.activeExperiment" = false;
|
||||
"experiments.enabled" = false;
|
||||
"experiments.supported" = false;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"identity.fxaccounts.enabled" = false;
|
||||
|
||||
# Privacy
|
||||
"privacy.donottrackheader.enabled" = true;
|
||||
"privacy.donottrackheader.value" = 1;
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||
"privacy.firstparty.isolate" = true;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"browser.toolbars.bookmarks.visibility" = "never";
|
||||
|
||||
# Cookies
|
||||
"network.cookie.cookieBehavior" = 1;
|
||||
|
||||
# Perf
|
||||
"gfx.webrender.all" = true;
|
||||
"media.ffmpeg.vaapi.enabled" = true;
|
||||
"media.ffvpx.enabled" = false;
|
||||
"media.rdd-vpx.enabled" = false;
|
||||
"gfx.webrender.compositor.force-enabled" = true;
|
||||
"media.navigator.mediadatadecoder_vpx_enabled" = true;
|
||||
"webgl.force-enabled" = true;
|
||||
"layers.acceleration.force-enabled" = true;
|
||||
"layers.offmainthreadcomposition.enabled" = true;
|
||||
"layers.offmainthreadcomposition.async-animations" = true;
|
||||
"layers.async-video.enabled" = true;
|
||||
"html5.offmainthread" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.firefox.policies = {
|
||||
ExtensionSettings = with builtins;
|
||||
let extension = shortId: uuid: {
|
||||
name = uuid;
|
||||
value = {
|
||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
};
|
||||
};
|
||||
in listToAttrs [
|
||||
(extension "torrent-to-web" "torrent-to-web@dasprids.de")
|
||||
(extension "Cookie-AutoDelete" "CookieAutoDelete@kennydo.com")
|
||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||
(extension "no-gender" "{f0bb47a1-a5b1-4a4c-80fb-556d6a60e45c}")
|
||||
(extension "get-rss-feed-url" "{15bdb1ce-fa9d-4a00-b859-66c214263ac0}")
|
||||
(extension "freshrss-watcher" "{8276b2b6-a974-4254-8647-79c691694b10}")
|
||||
(extension "bookmarked-speed-dial" "{83a9ecbd-0360-4fee-8822-233ed92cf930}")
|
||||
(extension "i-still-don't-care-about-cookies" "idcac-pub@guus.ninja")
|
||||
#(extension "joplin-web-clipper" "{8419486a-54e9-11e8-9401-ac9e17909436}")
|
||||
#(extension "umatrix" "uMatrix@raymondhill.net")
|
||||
#(extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me")
|
||||
#(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
||||
];
|
||||
# To add additional extensions, find it on addons.mozilla.org, find
|
||||
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
|
||||
# Then, download the XPI by filling it in to the install_url template, unzip it,
|
||||
# run `jq .browser_specific_settings.gecko.id manifest.json` or
|
||||
# `jq .applications.gecko.id manifest.json` to get the UUID
|
||||
};
|
||||
}
|
14
nixos_24.11_cinnamon/config/flatpak.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
systemd.services.flatpak-repo = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.flatpak ];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
}
|
16
nixos_24.11_cinnamon/config/fonts.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
# Enable Fonts
|
||||
fonts = {
|
||||
fontDir.enable = true;
|
||||
enableGhostscriptFonts = true;
|
||||
packages = with pkgs; [
|
||||
corefonts
|
||||
terminus_font
|
||||
ubuntu_font_family
|
||||
liberation_ttf
|
||||
dejavu_fonts
|
||||
];
|
||||
};
|
||||
|
||||
}
|
42
nixos_24.11_cinnamon/config/gpu-amd.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
|
||||
# Enable amdgpu
|
||||
services.xserver = {
|
||||
videoDrivers = [ "amdgpu" ];
|
||||
deviceSection = ''Option "TearFree" "true"'';
|
||||
};
|
||||
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
# Enable AMDVLK and OpenCL
|
||||
hardware.graphics.extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
|
||||
hardware.graphics.extraPackages32 = with pkgs; [
|
||||
driversi686Linux.amdvlk
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
lact # Linux AMDGPU Controller
|
||||
hwdata # Hardware Database, including Monitors, pci.ids, usb.ids, and video cards
|
||||
libdrm
|
||||
vulkan-loader
|
||||
vulkan-tools
|
||||
vkbasalt
|
||||
radeontop
|
||||
xorg.xf86videoamdgpu
|
||||
];
|
||||
|
||||
systemd.packages = with pkgs; [ lact ];
|
||||
systemd.services.lactd.wantedBy = ["multi-user.target"];
|
||||
|
||||
}
|
27
nixos_24.11_cinnamon/config/gpu-intel.nix
Executable file
@ -0,0 +1,27 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
boot.initrd.kernelModules = [ "i915" ];
|
||||
|
||||
# Enable framebuffer compression (FBC)
|
||||
boot.kernelParams = [ "i915.enable_fbc=1" ];
|
||||
|
||||
# Enable OpenGL drivers
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
|
||||
# Enables Bluetooth
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
}
|
14
nixos_24.11_cinnamon/config/home/default.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# Enable &/ Configure Programs
|
||||
./config-rsync.nix
|
||||
./config-ssh.nix
|
||||
./profile-sync-daemon.nix
|
||||
|
||||
# Place Home Files Like Pictures
|
||||
#./files.nix
|
||||
];
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
[Nemo Action]
|
||||
Active=true
|
||||
Name=Compare later
|
||||
Name[de]=Speichere Datei für späteren Vergleich
|
||||
Comment=Save file for comparison later.
|
||||
Exec=<compare.sh save %F>
|
||||
Icon-Name=meld
|
||||
Selection=S
|
||||
Extensions=any
|
@ -0,0 +1,9 @@
|
||||
[Nemo Action]
|
||||
Active=true
|
||||
Name=Compare with saved element
|
||||
Name[de]=Vergleiche Datei mit gespeicherten Element
|
||||
Comment=Compare %F saved file or directory.
|
||||
Exec=<compare.sh compare %F>
|
||||
Icon-Name=meld
|
||||
Selection=S
|
||||
Extensions=any
|
10
nixos_24.11_cinnamon/config/home/nemo_actions/compare.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
savedfile=/var/tmp/compare-save-for-later.$USER
|
||||
comparator=meld
|
||||
if [ "$1" == "save" ]; then
|
||||
shift
|
||||
echo "$*" > "$savedfile"
|
||||
elif [ "$1" == "compare" ]; then
|
||||
shift
|
||||
"$comparator" "$*" "$(cat $savedfile)"
|
||||
fi
|
@ -0,0 +1,8 @@
|
||||
[Nemo Action]
|
||||
Active=true
|
||||
Name=Frühere Version...
|
||||
Comment=Frühere Version wiederherstellen
|
||||
Exec=/nix/store/gvqrq3k7ng060c4rbw1clx2xf4xpnqq7-system-path/bin/deja-dup --restore '%U'
|
||||
Icon-Name=deja-dup
|
||||
Selection=S
|
||||
Extensions=any;
|
@ -0,0 +1,8 @@
|
||||
[Nemo Action]
|
||||
Active=true
|
||||
Name=Fehlende Daten Wiederherstellen...
|
||||
Comment=Prüfe auf fehlende Dateien oder Verzeichnisse
|
||||
Exec=/nix/store/gvqrq3k7ng060c4rbw1clx2xf4xpnqq7-system-path/bin/deja-dup --restore-missing '%F'
|
||||
Icon-Name=deja-dup
|
||||
Selection=none
|
||||
Extensions=any;
|
@ -0,0 +1,23 @@
|
||||
[Nemo Action]
|
||||
Name=GNOME System Monitor
|
||||
Name[bg_BG]=Наблюдение на системата
|
||||
Name[cs]=Sledování systému GNOME
|
||||
Name[da]=GNOME Systemovervågning
|
||||
Name[es]=Monitor del sistema GNOME
|
||||
Name[fi]=Järjestelmän valvonta
|
||||
Name[fr]=Moniteur système (Gnome System Monitor)
|
||||
Name[hr]=GNOME nadgledatelj sustava
|
||||
Name[hu]=GNOME Rendszerfigyelő
|
||||
Name[it]=Monitor di sistema di GNOME
|
||||
Name[nl]=GNOME Systeemmonitor
|
||||
Name[pt]=Monitor de sistemas GNOME
|
||||
Name[pt_BR]=Monitor do sistema GNOME
|
||||
Name[ru]=Системный Монитор GNOME
|
||||
Name[sv]=GNOME Systemövervakare
|
||||
Name[tr]=GNOME Sistem Monitörü
|
||||
Name[zh]=GNOME系统监视器
|
||||
Exec=gnome-system-monitor
|
||||
Icon-Name=org.gnome.SystemMonitor-symbolic
|
||||
Selection=None
|
||||
Extensions=any;
|
||||
Conditions=desktop;
|
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,8 @@
|
||||
{
|
||||
"description": "Open GNOME System Monitor with a right-click on the desktop",
|
||||
"uuid": "gnome-system-monitor@100savage",
|
||||
"name": "GNOME System Monitor",
|
||||
"author": "100savage",
|
||||
"version": "1.0",
|
||||
"last-edited": 1716054950
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Angel Ivanov <angel.ivanov@outlook.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: bg_BG\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Отваря \"Наблюдение на системата\" от контекстното меню на Работния плот"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Наблюдение на системата"
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Internet Addict <CZmisaCZ@email.cz>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Otevřete Sledování systému GNOME kliknutím pravým tlačítkem myši na pracovní plochu"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Sledování systému GNOME"
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2023-12-12 16:07-0500\n"
|
||||
"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: da\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Åbn GNOME Systemovervågning ved at højreklikke på skrivebordet"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "GNOME Systemovervågning"
|
@ -0,0 +1,26 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2023-12-12 16:07-0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Abra el Monitor del Sistema GNOME con un clic derecho en el escritorio"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Monitor del sistema GNOME"
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2023-12-25 09:44+0200\n"
|
||||
"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Järjestelmän valvonta auki painamalla työpöydällä hiiren painiketta"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Järjestelmän valvonta"
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2023-12-12 16:07-0500\n"
|
||||
"Last-Translator: Claudiux <claude.clerc@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Ouvre le moniteur système de Gnome d'un clic-droit sur le bureau"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Moniteur système (Gnome System Monitor)"
|
@ -0,0 +1,26 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr ""
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr ""
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Mikeyy\n"
|
||||
"Language-Team: \n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Otvori GNOME nadgledatelja sustava s desnim klikom na radnu površinu"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "GNOME nadgledatelj sustava "
|
@ -0,0 +1,26 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-03 14:12-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Nyissa meg a GNOME Rendszerfigyelőt jobb egérgombbal az asztalra kattintva"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "GNOME Rendszerfigyelő"
|
@ -0,0 +1,29 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2023-12-12 16:07-0500\n"
|
||||
"Last-Translator: Dragone2 <dragone2@risposteinformatiche.it>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr ""
|
||||
"Apri il Monitor di sistema di GNOME facendo clic con il pulsante destro del "
|
||||
"mouse sul desktop"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Monitor di sistema di GNOME"
|
@ -0,0 +1,25 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2024-04-18 09:57+0200\n"
|
||||
"Last-Translator: qadzek\n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Open GNOME Systeemmonitor met een rechtermuisklik op het bureaublad"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "GNOME Systeemmonitor"
|
@ -0,0 +1,26 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2023-12-18 23:14-0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Abra o Monitor de Sistemas GNOME com um clique direito na área de trabalho"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Monitor de sistemas GNOME"
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Abra o monitor de sistema GNOME com um clique no botão direito do mouse na área de trabalho"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Monitor do sistema GNOME"
|
@ -0,0 +1,26 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: 2023-12-12 16:07-0500\n"
|
||||
"Last-Translator: blogdron\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Запустить GNOME System Monitor из контекстного меню рабочего стола"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "Системный Монитор GNOME"
|
@ -0,0 +1,28 @@
|
||||
# Swedish translation for gnome-system-monitor@100savage.
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
# Åke Engelbrektson <eson@svenskasprakfiler.se>, 2024.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Åke Engelbrektson <eson@svenskasprakfiler.se>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Öppna GNOME Systemövervakare med ett högerklick på skrivbordet"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "GNOME Systemövervakare"
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Serkan ÖNDER <serkanonder@outlook.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "Masaüstüne sağ tıklayarak GNOME Sistem Monitörü'nü açın"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "GNOME Sistem Monitörü"
|
@ -0,0 +1,27 @@
|
||||
# GNOME System Monitor
|
||||
# Copyright (C) 2023
|
||||
# 100% Savage <136998211+100savage@users.noreply.github.com>
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-12 16:06-0500\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: zh\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.4.2\n"
|
||||
|
||||
#. metadata.json->description
|
||||
msgid "Open GNOME System Monitor with a right-click on the desktop"
|
||||
msgstr "在桌面上右键单击打开GNOME系统监视器"
|
||||
|
||||
#. metadata.json->name
|
||||
#. Name
|
||||
msgid "GNOME System Monitor"
|
||||
msgstr "GNOME系统监视器"
|
25
nixos_24.11_cinnamon/config/home/nemo_actions/meld-diff.nemo_action
Executable file
@ -0,0 +1,25 @@
|
||||
[Nemo Action]
|
||||
|
||||
Active=true
|
||||
|
||||
Name=Compare with meld
|
||||
Name[cz]=Srovnání s meld
|
||||
Name[de]=Mit meld vergleichen
|
||||
Name[fr]=Comparer avec meld
|
||||
Name[nl]=Vergelijk met meld
|
||||
|
||||
Comment=Show differences between files or directories
|
||||
Comment[cz]=Ukázat rozdíly mezi souborama a složky
|
||||
Comment[de]=Zeige Unterschiede zwischen Dateien oder Ordnern
|
||||
|
||||
Exec=meld %F
|
||||
|
||||
Icon-Name=meld
|
||||
|
||||
Selection=m
|
||||
|
||||
Extensions=any;
|
||||
|
||||
Dependencies=meld;
|
||||
|
||||
EscapeSpaces=true
|
20
nixos_24.11_cinnamon/config/home/nemo_scripts/Folder/Chown.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set IFS so that it won't consider spaces as entry separators. Without this, spaces in file/folder names can make the loop go wacky.
|
||||
IFS=$'\n'
|
||||
|
||||
# See if the Nautilus environment variable is empty
|
||||
if [ -z $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]; then
|
||||
# If it's blank, set it equal to $1
|
||||
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS=$1
|
||||
fi
|
||||
|
||||
# Loop through the list (from either Nautilus or the command line)
|
||||
for ARCHIVE_FULLPATH in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
|
||||
NEWDIRNAME=${ARCHIVE_FULLPATH%.*}
|
||||
FILENAME=${ARCHIVE_FULLPATH##*/}
|
||||
NAME=${ARCHIVE_FULLPATH##*/.*}
|
||||
|
||||
gnome-terminal -x sudo chown -R zulumann:zulumann "$ARCHIVE_FULLPATH"
|
||||
notify-send -t 5000 -i /usr/share/icons/gnome/32x32/status/info.png "Chowning Of File(s)/Folder(s) Finished"
|
||||
done
|
305
nixos_24.11_cinnamon/config/home/nemo_scripts/Folder/Folder_new.sh
Executable file
@ -0,0 +1,305 @@
|
||||
#/bin/sh
|
||||
############################################################
|
||||
# Dateien
|
||||
############################################################
|
||||
mkdir -p Dateien
|
||||
mkdir -p Dateien/eBooks-XXX
|
||||
mkdir -p Dateien/eBooks
|
||||
mkdir -p Dateien/eBooks/01_Neu
|
||||
mkdir -p Dateien/eBooks/02_Handbuch
|
||||
mkdir -p Dateien/eBooks/03_Linux
|
||||
mkdir -p Dateien/eBooks/03_Linux/RaspberryPi
|
||||
mkdir -p Dateien/eBooks/04_Linux-Zeitschriften
|
||||
mkdir -p Dateien/eBooks/05_Computer
|
||||
mkdir -p Dateien/eBooks/06_Computer-Zeitschriften
|
||||
mkdir -p Dateien/eBooks/Biografie
|
||||
mkdir -p Dateien/eBooks/Erotik
|
||||
mkdir -p Dateien/eBooks/Finanzen
|
||||
mkdir -p Dateien/eBooks/Fotografie
|
||||
mkdir -p Dateien/eBooks/Fantasy-SciFi
|
||||
mkdir -p Dateien/eBooks/Fotografie
|
||||
mkdir -p Dateien/eBooks/Heimwerker
|
||||
mkdir -p Dateien/eBooks/Heimwerker/Garten
|
||||
mkdir -p Dateien/eBooks/Heimwerker/Heimwerker/Haus
|
||||
mkdir -p Dateien/eBooks/Heimwerker/Heimwerker/Heizung
|
||||
mkdir -p Dateien/eBooks/Heimwerker/Heimwerker/Photovoltaik
|
||||
mkdir -p Dateien/eBooks/Historisch
|
||||
mkdir -p Dateien/eBooks/Horror
|
||||
mkdir -p Dateien/eBooks/Humor-Satire
|
||||
mkdir -p Dateien/eBooks/Krimi-Thriller
|
||||
mkdir -p Dateien/eBooks/Kochbücher
|
||||
mkdir -p Dateien/eBooks/Kochbücher/Rezepte
|
||||
mkdir -p Dateien/eBooks/Roman
|
||||
mkdir -p Dateien/eBooks/Reiseführer
|
||||
mkdir -p Dateien/eBooks/Medizin
|
||||
mkdir -p Dateien/eBooks/Zeitschriften
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Duden
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Gesundkeit
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Fuer_Dummies
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Survival
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Psychologie
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Massage
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Duden
|
||||
mkdir -p Dateien/eBooks/Sachbuch-Fachbuch/Yoga
|
||||
|
||||
|
||||
chmod -R 777 Dateien
|
||||
|
||||
############################################################
|
||||
# GameLibrary
|
||||
############################################################
|
||||
mkdir -p GameLibrary/Steam
|
||||
mkdir -p GameLibrary/ConsoleGames/Apps
|
||||
mkdir -p GameLibrary/ConsoleGames/Bios
|
||||
mkdir -p GameLibrary/ConsoleGames/Atari2600
|
||||
mkdir -p GameLibrary/ConsoleGames/Commodore64
|
||||
mkdir -p GameLibrary/ConsoleGames/GameBoy
|
||||
mkdir -p GameLibrary/ConsoleGames/GameBoyAdvanced
|
||||
mkdir -p GameLibrary/ConsoleGames/GameBoyColour
|
||||
mkdir -p GameLibrary/ConsoleGames/Sega32x
|
||||
mkdir -p GameLibrary/ConsoleGames/SegaMegaDrive
|
||||
mkdir -p GameLibrary/ConsoleGames/SegaCD
|
||||
mkdir -p GameLibrary/ConsoleGames/SegaSaturn
|
||||
mkdir -p GameLibrary/ConsoleGames/SNES
|
||||
mkdir -p GameLibrary/ConsoleGames/SonyPS1
|
||||
mkdir -p GameLibrary/ConsoleGames/SonyPS2
|
||||
mkdir -p GameLibrary/ConsoleGames/SonyPSP
|
||||
mkdir -p GameLibrary/ConsoleGames/Nintendo64
|
||||
|
||||
chmod -R 777 GameLibrary
|
||||
|
||||
############################################################
|
||||
# Multimedia
|
||||
############################################################
|
||||
mkdir -p Multimedia
|
||||
mkdir -p Multimedia/Filme
|
||||
mkdir -p Multimedia/Filme/Abenteuer,Action
|
||||
mkdir -p Multimedia/Filme/Animation
|
||||
mkdir -p Multimedia/Filme/Biografie
|
||||
mkdir -p Multimedia/Filme/Drama
|
||||
mkdir -p Multimedia/Filme/Familie
|
||||
mkdir -p Multimedia/Filme/Fantasy
|
||||
mkdir -p Multimedia/Filme/Erotik
|
||||
mkdir -p Multimedia/Filme/Historie
|
||||
mkdir -p Multimedia/Filme/Horror
|
||||
mkdir -p Multimedia/Filme/Krimi
|
||||
mkdir -p Multimedia/Filme/Komoedie
|
||||
mkdir -p Multimedia/Filme/Kriegsfilm
|
||||
mkdir -p Multimedia/Filme/SciFi
|
||||
mkdir -p Multimedia/Filme/Thriller
|
||||
mkdir -p Multimedia/Filme/Thriller,Horror
|
||||
mkdir -p Multimedia/Filme/Western
|
||||
|
||||
mkdir -p Multimedia/Musik
|
||||
mkdir -p Multimedia/Musik/AcidJazz,Jazz
|
||||
mkdir -p Multimedia/Musik/Blues
|
||||
mkdir -p Multimedia/Musik/Blues-Rock
|
||||
mkdir -p Multimedia/Musik/Chillout,Relax,Lounge
|
||||
mkdir -p Multimedia/Musik/Classical
|
||||
mkdir -p Multimedia/Musik/Country
|
||||
mkdir -p Multimedia/Musik/Disco
|
||||
mkdir -p Multimedia/Musik/Electronic
|
||||
mkdir -p Multimedia/Musik/Fun
|
||||
mkdir -p Multimedia/Musik/Funk,Soul,RnB
|
||||
mkdir -p Multimedia/Musik/Heavy-Metal
|
||||
mkdir -p Multimedia/Musik/Instrumental
|
||||
mkdir -p Multimedia/Musik/NDH
|
||||
mkdir -p Multimedia/Musik/NewAge
|
||||
mkdir -p Multimedia/Musik/Other
|
||||
mkdir -p Multimedia/Musik/POP
|
||||
mkdir -p Multimedia/Musik/Punk
|
||||
mkdir -p Multimedia/Musik/Reggae
|
||||
mkdir -p Multimedia/Musik/Rock_Alternative
|
||||
mkdir -p Multimedia/Musik/Rock_deutsch
|
||||
mkdir -p Multimedia/Musik/Rock_Hard_Rock
|
||||
mkdir -p Multimedia/Musik/Rock_Mittelalter
|
||||
mkdir -p Multimedia/Musik/Rock_Progressive
|
||||
mkdir -p Multimedia/Musik/Soundtrack
|
||||
mkdir -p Multimedia/Musik/HipHop-RAP
|
||||
mkdir -p Multimedia/Musik/Tracks
|
||||
mkdir -p Multimedia/Musik/Rename
|
||||
|
||||
mkdir -p Multimedia/Hoerbuecher
|
||||
mkdir -p Multimedia/Hoerbuecher/Action-Abenteuer
|
||||
mkdir -p Multimedia/Hoerbuecher/Comedy
|
||||
mkdir -p Multimedia/Hoerbuecher/Doku-Menschen-Wissen
|
||||
mkdir -p Multimedia/Hoerbuecher/Drama
|
||||
mkdir -p Multimedia/Hoerbuecher/Fantasy
|
||||
mkdir -p Multimedia/Hoerbuecher/Erotik
|
||||
mkdir -p Multimedia/Hoerbuecher/Horror-Grusel
|
||||
mkdir -p Multimedia/Hoerbuecher/Krimi-Thriller
|
||||
mkdir -p Multimedia/Hoerbuecher/Ratgeber-Esoterik
|
||||
mkdir -p Multimedia/Hoerbuecher/Romane
|
||||
mkdir -p Multimedia/Hoerbuecher/Science-Fiction
|
||||
mkdir -p Multimedia/Hoerbuecher/Sprachkurse
|
||||
|
||||
mkdir -p Multimedia/Hoerspiele
|
||||
mkdir -p Multimedia/Hoerspiele/Action-Abenteuer
|
||||
mkdir -p Multimedia/Hoerspiele/Comedy
|
||||
mkdir -p Multimedia/Hoerspiele/Doku-Menschen-Wissen
|
||||
mkdir -p Multimedia/Hoerspiele/Drama
|
||||
mkdir -p Multimedia/Hoerspiele/Erotik
|
||||
mkdir -p Multimedia/Hoerspiele/Fantasy
|
||||
mkdir -p Multimedia/Hoerspiele/Horror-Grusel
|
||||
mkdir -p Multimedia/Hoerspiele/Krimi-Thriller
|
||||
mkdir -p Multimedia/Hoerspiele/Romane
|
||||
mkdir -p Multimedia/Hoerspiele/Romanze
|
||||
mkdir -p Multimedia/Hoerspiele/Science-Fiction
|
||||
|
||||
chmod -R 777 Multimedia
|
||||
|
||||
############################################################
|
||||
# XXX
|
||||
############################################################
|
||||
mkdir -p XXX
|
||||
mkdir -p XXX/Clip
|
||||
mkdir -p XXX/Clip/AllSex
|
||||
mkdir -p XXX/Clip/AllSex/SinfulXXX
|
||||
mkdir -p XXX/Clip/Amateur
|
||||
mkdir -p XXX/Clip/Amateur/MatureNL
|
||||
mkdir -p XXX/Clip/Anal
|
||||
mkdir -p XXX/Clip/Anal/Anal_Vids
|
||||
mkdir -p XXX/Clip/Anal/21EroticAnal
|
||||
mkdir -p XXX/Clip/Anal/AnalMom
|
||||
mkdir -p XXX/Clip/Anal/AssholeFever
|
||||
mkdir -p XXX/Clip/Anal/Tushy
|
||||
mkdir -p XXX/Clip/Asian
|
||||
mkdir -p XXX/Clip/Asian/JapanHDV
|
||||
mkdir -p XXX/Clip/BigCock
|
||||
mkdir -p XXX/Clip/BigBooties
|
||||
mkdir -p XXX/Clip/BigTits
|
||||
mkdir -p XXX/Clip/BigTits/Aletta_Ocean_Live
|
||||
mkdir -p XXX/Clip/BigTits/WifeysWorld
|
||||
mkdir -p XXX/Clip/BigTits/DDF-Busty
|
||||
mkdir -p XXX/Clip/BigTits/NF-Busty
|
||||
mkdir -p XXX/Clip/BigTits/Porn-Mega-Load
|
||||
mkdir -p XXX/Clip/Cartoon
|
||||
mkdir -p XXX/Clip/CreamPie
|
||||
mkdir -p XXX/Clip/Extrem
|
||||
mkdir -p XXX/Clip/Extrem/Bruce_And_Morgan
|
||||
mkdir -p XXX/Clip/Extrem/Feminized
|
||||
mkdir -p XXX/Clip/Extrem/Fisting
|
||||
mkdir -p XXX/Clip/Extrem/Horror-Porn
|
||||
mkdir -p XXX/Clip/Extrem/Trans
|
||||
mkdir -p XXX/Clip/Fetisch,BDSM,SM
|
||||
mkdir -p XXX/Clip/Fetisch,BDSM,SM/Bondage
|
||||
mkdir -p XXX/Clip/Fetisch,BDSM,SM/Feet
|
||||
mkdir -p XXX/Clip/Fetisch,BDSM,SM/Femdom
|
||||
mkdir -p XXX/Clip/Fetisch,BDSM,SM/Rubber
|
||||
mkdir -p XXX/Clip/Fetisch,BDSM,SM/HuCows
|
||||
mkdir -p XXX/Clip/Freaky-Fembots
|
||||
mkdir -p XXX/Clip/GERMAN
|
||||
mkdir -p XXX/Clip/Gloryholes
|
||||
mkdir -p XXX/Clip/Guide
|
||||
mkdir -p XXX/Clip/Hand-Blowjob
|
||||
mkdir -p XXX/Clip/Hand-Blowjob/4KCFNM
|
||||
mkdir -p XXX/Clip/Hand-Blowjob/Lady_Voyeurs
|
||||
mkdir -p XXX/Clip/Hand-Blowjob/Edge_Queens
|
||||
mkdir -p XXX/Clip/Hand-Blowjob/MYLKED
|
||||
mkdir -p XXX/Clip/Hand-Blowjob/PureCFNM
|
||||
mkdir -p XXX/Clip/Hand-Blowjob/Over40Handjobs
|
||||
mkdir -p XXX/Clip/HandyPorn
|
||||
mkdir -p XXX/Clip/Hentaied
|
||||
mkdir -p XXX/Clip/Interracial
|
||||
mkdir -p XXX/Clip/Lesbian
|
||||
mkdir -p XXX/Clip/Latina
|
||||
mkdir -p XXX/Clip/Massage
|
||||
mkdir -p XXX/Clip/Massage/Hegre
|
||||
mkdir -p XXX/Clip/Massage/MassageRooms
|
||||
mkdir -p XXX/Clip/Massage/NuruMassage
|
||||
mkdir -p XXX/Clip/Massage/ThaiPussyMassage
|
||||
mkdir -p XXX/Clip/MILF
|
||||
mkdir -p XXX/Clip/MILF/Aunt_Judys_XXX
|
||||
mkdir -p XXX/Clip/MILF/GrandMams
|
||||
mkdir -p XXX/Clip/MILF/Mature4K
|
||||
mkdir -p XXX/Clip/MILF/MatureGapers
|
||||
mkdir -p XXX/Clip/MyDirtyHobby
|
||||
mkdir -p XXX/Clip/MyDirtyHobby/#Other#
|
||||
mkdir -p XXX/Clip/Orgie,GangBang,Threesomes
|
||||
mkdir -p XXX/Clip/Orgie,GangBang,Threesomes/DPFanatics
|
||||
mkdir -p XXX/Clip/POV
|
||||
mkdir -p XXX/Clip/Private
|
||||
mkdir -p XXX/Clip/Private-Society
|
||||
mkdir -p XXX/Clip/Stocking
|
||||
mkdir -p XXX/Clip/Rimming
|
||||
mkdir -p XXX/Clip/Solo+Masturbation+Toy
|
||||
mkdir -p XXX/Clip/Solo+Masturbation+Toy/Extrem
|
||||
mkdir -p XXX/Clip/Solo+Masturbation+Toy/Fucking-Machine
|
||||
mkdir -p XXX/Clip/Solo+Masturbation+Toy/ManyVids
|
||||
mkdir -p XXX/Clip/Squirting
|
||||
mkdir -p XXX/Clip/Teen
|
||||
mkdir -p XXX/Clip/Uniform
|
||||
|
||||
mkdir -p XXX/Filme
|
||||
mkdir -p XXX/Filme/AllSex
|
||||
mkdir -p XXX/Filme/Amateur
|
||||
mkdir -p XXX/Filme/Anal
|
||||
mkdir -p XXX/Filme/Asian
|
||||
mkdir -p XXX/Filme/BigBooties
|
||||
mkdir -p XXX/Filme/BigTits
|
||||
mkdir -p XXX/Filme/Cartoon
|
||||
mkdir -p XXX/Filme/Extrem
|
||||
mkdir -p XXX/Filme/Fetisch,BDSM,SM
|
||||
mkdir -p XXX/Filme/GERMAN
|
||||
mkdir -p XXX/Filme/Gloryholes
|
||||
mkdir -p XXX/Filme/Guide
|
||||
mkdir -p XXX/Filme/Hand-Blowjob
|
||||
mkdir -p XXX/Filme/Interracial
|
||||
mkdir -p XXX/Filme/Lesbian
|
||||
mkdir -p XXX/Filme/Latina
|
||||
mkdir -p XXX/Filme/Massage
|
||||
mkdir -p XXX/Filme/MILF
|
||||
mkdir -p XXX/Filme/Stocking
|
||||
mkdir -p XXX/Filme/Orgie,GangBang,Threesomes
|
||||
mkdir -p XXX/Filme/POV
|
||||
mkdir -p XXX/Filme/Rimming
|
||||
mkdir -p XXX/Filme/Solo+Masturbation+Toy
|
||||
mkdir -p XXX/Filme/Squirting
|
||||
mkdir -p XXX/Filme/Teen
|
||||
mkdir -p XXX/Filme/Uniform
|
||||
|
||||
chmod -R 777 XXX
|
||||
|
||||
############################################################
|
||||
# Downloads
|
||||
############################################################
|
||||
mkdir -p Downloads
|
||||
mkdir -p Downloads/01_jDownloader
|
||||
mkdir -p Downloads/02_Torrent
|
||||
mkdir -p Downloads/03_Linux
|
||||
mkdir -p Downloads/04_Windows
|
||||
mkdir -p Downloads/05_eBooks
|
||||
mkdir -p Downloads/06_Multimedia
|
||||
mkdir -p Downloads/06_Multimedia/AudioBooks
|
||||
mkdir -p Downloads/06_Multimedia/Filme
|
||||
mkdir -p Downloads/06_Multimedia/Musik/
|
||||
mkdir -p Downloads/06_Multimedia/Musik/AcidJazz,Jazz
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Blues
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Blues-Rock
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Chillout,Relax,Lounge
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Classical
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Country
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Disco
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Electronic
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Fun
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Funk,Soul,RnB
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Heavy-Metal
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Instrumental
|
||||
mkdir -p Downloads/06_Multimedia/Musik/NDH
|
||||
mkdir -p Downloads/06_Multimedia/Musik/NewAge
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Other
|
||||
mkdir -p Downloads/06_Multimedia/Musik/POP
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Punk
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Reggae
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Rock_Alternative
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Rock_deutsch
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Rock_Hard_Rock
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Rock_Mittelalter
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Rock_Progressive
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Soundtrack
|
||||
mkdir -p Downloads/06_Multimedia/Musik/HipHop-RAP
|
||||
mkdir -p Downloads/06_Multimedia/Musik/Tracks
|
||||
mkdir -p Downloads/06_Multimedia/XXX
|
||||
|
||||
chmod -R 777 Downloads
|
3
nixos_24.11_cinnamon/config/home/nemo_scripts/Folder/Folder_zip.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
for i in */; do zip -r "${i%/}.zip" "$i"; done
|
3
nixos_24.11_cinnamon/config/home/nemo_scripts/Folder/Unlock.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
chmod -R 777 "$1"
|
||||
chown -R $USER:$USER "$1"
|
22
nixos_24.11_cinnamon/config/home/nemo_scripts/M3u/M3u_Playlist#01.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# bash script to create playlist files in music subdirectories
|
||||
#
|
||||
find . -type d |
|
||||
while read subdir
|
||||
do
|
||||
|
||||
if [[ -f ./"$subdir"/"${subdir##*/}.m3u" ]]
|
||||
then
|
||||
echo "File "$subdir"/*.m3u already exists, skipping"
|
||||
else
|
||||
echo would build for $subdir
|
||||
for filename in "$subdir"/*
|
||||
do
|
||||
if [ ${filename: -4} == ".mp3" ] || [ ${filename: -5} == ".flac" ] || [ ${filename: -5} == ".loss" ] || [ ${filename: -5} == ".aiff" ] || [ ${filename: -4} == ".aif" ]
|
||||
then
|
||||
echo "${filename##*/}" >> ./"$subdir"/"${subdir##*/}.m3u"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
91
nixos_24.11_cinnamon/config/home/nemo_scripts/M3u/M3u_Playlist#02.sh
Executable file
@ -0,0 +1,91 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# --------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Create m3u8 playlists
|
||||
#
|
||||
# Created by @hasecilu
|
||||
# Based on gists: "Eddy-Barraud/playlist-all.sh" and "scarlson/playlist.sh"
|
||||
#
|
||||
# --------------------------------------------------------------------------------------------------
|
||||
|
||||
v=1 # verbosity, 0/1
|
||||
|
||||
function playlists() {
|
||||
# First argument is the mode (recursive, single)
|
||||
# Second argument is the path of the directory
|
||||
|
||||
cd "$2" || exit
|
||||
[ "$v" -eq 1 ] && echo "${PWD##*/}" | figlet -f small | lolcat
|
||||
|
||||
# Delete old m3u and m3u8 playlists
|
||||
find . -type f -name "*.m3u*" -delete # If "-delete" didn't work use: "-exec rm {} \;"
|
||||
|
||||
# Create new playlists
|
||||
find ~+ -type d | sort |
|
||||
while read -r subdir; do
|
||||
for filename in "$subdir"/*; do
|
||||
if [[ $filename =~ \.(acc|aif|aiff|flac|m4a|mp3|ogg|wav|wma)$ ]]; then
|
||||
if [ "$1" == "-r" ]; then
|
||||
echo "${filename##*/}" >>"$subdir/${subdir##*/}.m3u8"
|
||||
[ "$v" -eq 1 ] && echo -e "${subdir##*/}.m3u8\t\t${filename##*/}" | lolcat
|
||||
elif [ "$1" == "-s" ]; then
|
||||
relative_path=${subdir#"$PWD"} # Remove common path
|
||||
relative_path=${relative_path:1} # Remove leading '/' character
|
||||
[ "$PWD" == "$subdir" ] && slash="" || slash="/"
|
||||
echo "$relative_path$slash${filename##*/}" >>"$PWD/${PWD##*/}.m3u8"
|
||||
[ "$v" -eq 1 ] && echo -e "${PWD##*/}.m3u8\t\t$relative_path$slash${filename##*/}" | lolcat
|
||||
elif [ "$1" == "-cd" ]; then
|
||||
album=$(dirname "$subdir")
|
||||
# Join album and CD directory
|
||||
album_cd=$(basename "$album")/$(basename "$subdir")
|
||||
album_cd=${album_cd//\// } # Replace '/' for space ' '
|
||||
echo "${filename##*/}" >>"$subdir/$album_cd.m3u8"
|
||||
[ "$v" -eq 1 ] && echo -e "$album_cd.m3u8\t\t${filename##*/}" | lolcat
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
function default() {
|
||||
# Create one playlist for every directory that has at least one audio file
|
||||
playlists -r $HOME/Music
|
||||
|
||||
# For specific directories that have several nested directories
|
||||
# create a single playlist that includes all subdirectories
|
||||
playlists -s $HOME/Music/VeryObscureGenre
|
||||
|
||||
# For directory-albums that contains various CDs subdirectories
|
||||
# create one playlist for every CD preserving the album name
|
||||
playlists -cd $HOME/Music/Album
|
||||
}
|
||||
|
||||
function help() {
|
||||
echo -e "\nDescription :"
|
||||
echo -e "\tThis script creates music playlist(s) for a given directory."
|
||||
echo -e "\nArguments :"
|
||||
echo -e "\t-r recursively create playlists"
|
||||
echo -e "\t-s create a single playlist"
|
||||
echo -e "\t-cd recursively create playlists of a album directory that contains CDs as subdirectories"
|
||||
echo -e "\t-h show help"
|
||||
}
|
||||
|
||||
# --------------------------------------------------------------------------------------------------
|
||||
# Main code
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
default
|
||||
elif [ $# -eq 2 ]; then
|
||||
if [[ "$1" == "-r" ]]; then
|
||||
playlists -r "$2"
|
||||
elif [[ "$1" == "-s" ]]; then
|
||||
playlists -s "$2"
|
||||
elif [[ "$1" == "-cd" ]]; then
|
||||
playlists -cd "$2"
|
||||
else
|
||||
help
|
||||
fi
|
||||
else
|
||||
help
|
||||
fi
|
20
nixos_24.11_cinnamon/config/home/nemo_scripts/M3u/M3u_Playlist#03.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# bash script to create playlist files in music subdirectories
|
||||
#
|
||||
# Steve Carlson (stevengcarlson@gmail.com)
|
||||
|
||||
find . -type d |
|
||||
while read subdir
|
||||
do
|
||||
rm -f "$subdir"/*.m3u
|
||||
for filename in "$subdir"/*
|
||||
do
|
||||
if [ ${filename: -4} == ".mp3" ] || [ ${filename: -5} == ".flac" ] || [ ${filename: -5} == ".loss" ] || [ ${filename: -5} == ".aiff" ] || [ ${filename: -4} == ".aif" ]
|
||||
then
|
||||
echo "${filename##*/}" >> ./"$subdir"/"${subdir##*/}.m3u"
|
||||
fi
|
||||
done
|
||||
|
||||
done
|
||||
|
12
nixos_24.11_cinnamon/config/home/nemo_scripts/M3u/M3u_multi_directory.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
touch ${PWD##*/}.m3u
|
||||
export IFS=$'\n'
|
||||
for i in $(find $1 -name "*.mp3" -type f)
|
||||
do
|
||||
echo "$i" |sed 's/..\(.*\)/\1/' >> ${PWD##*/}.m3u
|
||||
done
|
||||
|
||||
shuf ${PWD##*/}.m3u > ${PWD##*/}2.m3u
|
||||
shuf ${PWD##*/}2.m3u > ${PWD##*/}.m3u
|
||||
rm ${PWD##*/}2.m3u
|
||||
exit 0
|
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
ls -d * | grep .mp3 > "${PWD##*/}.m3u"
|
||||
exit 0
|
20
nixos_24.11_cinnamon/config/home/nemo_scripts/M3u_Playlist.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# bash script to create playlist files in music subdirectories
|
||||
#
|
||||
# Steve Carlson (stevengcarlson@gmail.com)
|
||||
|
||||
find . -type d |
|
||||
while read subdir
|
||||
do
|
||||
rm -f "$subdir"/*.m3u
|
||||
for filename in "$subdir"/*
|
||||
do
|
||||
if [ ${filename: -4} == ".mp3" ] || [ ${filename: -5} == ".flac" ] || [ ${filename: -5} == ".loss" ] || [ ${filename: -5} == ".aiff" ] || [ ${filename: -4} == ".aif" ]
|
||||
then
|
||||
echo "${filename##*/}" >> ./"$subdir"/"${subdir##*/}.m3u"
|
||||
fi
|
||||
done
|
||||
|
||||
done
|
||||
|
10
nixos_24.11_cinnamon/config/home/nemo_scripts/Rename/Rename_Files.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
rename 's/ä/ae/g' *
|
||||
rename 's/Ä/Ae/g' *
|
||||
rename 's/ö/oe/g' *
|
||||
rename 's/Ö/Oe/g' *
|
||||
rename 's/ü/ue/g' *
|
||||
rename 's/Ü/Ue/g' *
|
||||
rename 's/ß/ss/g' *
|
||||
exit 0
|
16
nixos_24.11_cinnamon/config/home/nemo_scripts/Rename/Rename_MP3.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
rm *.url
|
||||
|
||||
rename 's/ - / ./g' *
|
||||
|
||||
rename 's/*.jpg/ folder.jpg/g' *
|
||||
rename 's/cover.jpg/ folder.jpg/g' *
|
||||
rename 's/Cover.jpg/ folder.jpg/g' *
|
||||
|
||||
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
rename 'y/ /\_/' \*
|
169
nixos_24.11_cinnamon/config/home/nemo_scripts/Rename/Rename_XXX.sh
Executable file
@ -0,0 +1,169 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
#Replace spaces in filenames with underscores
|
||||
#rename 'y/./\_/' \*
|
||||
|
||||
|
||||
# rename 's/txt /md/g' *
|
||||
|
||||
#rename 's/./_/g' *.mp4
|
||||
#rename 's/ - / ./g' *
|
||||
#rename 's/XXX.720p.HEVC.x265.PRT.mp4/ (720p).mp4/g' *
|
||||
#rename 's/XXX.1080p.HEVC.x265.PRT.mp4/ (1080p).mp4/g' *
|
||||
|
||||
rename 's/21EroticAnal/21 Erotic Anal/g' *
|
||||
rename 's/AuntJudysXXX/Aunt Judys XXX/g' *
|
||||
rename 's/AfricanCasting/African Casting/g' *
|
||||
rename 's/AnalVids/Anal Vids/g' *
|
||||
rename 's/AlettaOcean/Aletta Ocean/g' *
|
||||
rename 's/AllGirlMassage/All Girl Massage /g' *
|
||||
rename 's/Aletta OceanLive/Aletta Ocean Live/g' *
|
||||
|
||||
rename 's/Brazzersexxtra/Brazzers Exxtra/g' *
|
||||
rename 's/BrazzersExxtra/Brazzers Exxtra/g' *
|
||||
rename 's/BigWetButts/Big Wet Butts/g' *
|
||||
rename 's/BigNaturals/Big Naturals/g' *
|
||||
rename 's/BigCockBully/Big Cock Bully/g' *
|
||||
rename 's/BadMilfs/Bad Milfs/g' *
|
||||
rename 's/BrownBunnies/Brown Bunnies/g' *
|
||||
|
||||
rename 's/DaneJones/Dane Jones/g' *
|
||||
rename 's/DigitalPlayground/Digital Playground/g' *
|
||||
rename 's/DirtyWivesClub/Dirty Wives Club/g' *
|
||||
|
||||
rename 's/EdgeQueens/Edge Queens/g' *
|
||||
rename 's/ErotiqueTVLive/Erotique TV Live/g' *
|
||||
rename 's/EvilAngel/Evil Angel/g' *
|
||||
|
||||
rename 's/FrolicMe/Frolic Me/g' *
|
||||
rename 's/FakehubOriginals/Fake Hub Originals/g' *
|
||||
rename 's/FemdomEmpire/Femdom Empire/g' *
|
||||
rename 's/FirstAnalQuest/First Anal Quest/g' *
|
||||
rename 's/FamilyScrew/Family Screw/g' *
|
||||
rename 's/FirstAnalQuesty/First Anal Quest/g' *
|
||||
rename 's/FinishHim/Finish Him/g' *
|
||||
|
||||
rename 's/GotMylf/Got Mylf /g' *
|
||||
rename 's/GirlsRimming/Girls Rimming/g' *
|
||||
rename 's/Gloryhole/Gloryhole/g' *
|
||||
rename 's/GloryHole/Gloryhole/g' *
|
||||
rename 's/Gloryhole-Initiations/Gloryhole-Initiations/g' *
|
||||
rename 's/GloryHoleSecrets/Gloryhole-Secrets/g' *
|
||||
rename 's/GloryholeSecrets/Gloryhole-Secrets/g' *
|
||||
|
||||
rename 's/MomIsHorny/Mom Is Horny/g' *
|
||||
rename 's/MomDrips/Mom Drips/g' *
|
||||
rename 's/MatureGapers/Mature Gapers/g' *
|
||||
rename 's/MamsCasting/Mams Casting/g' *
|
||||
rename 's/MomsBangTeens/Moms Bang Teens/g' *
|
||||
rename 's/MommyBlowsBest/Mommy Blows Best/g' *
|
||||
rename 's/MomXXX/Mom XXX/g' *
|
||||
rename 's/MagmaFilm/Magma Film/g' *
|
||||
rename 's/MMVFilms/MMV Films/g' *
|
||||
rename 's/MylfBlows/Mylf Blows/g' *
|
||||
rename 's/Mysistershotfriend/Mysisters Hot Friend/g' *
|
||||
|
||||
rename 's/TittyAttack/Titty Attack/g' *
|
||||
rename 's/TrueAnal/True Anal/g' *
|
||||
rename 's/TonightsGirlfriend/Tonights Girlfriend/g' *
|
||||
rename 's/TrueAmateurs/True Amateurs/g' *
|
||||
rename 's/TushyRaw/Tushy Raw/g' *
|
||||
|
||||
|
||||
rename 's/Hucows/HuCows/g' *
|
||||
rename 's/HorrorPorn/Horror Porn/g' *
|
||||
rename 's/HerLimit/Her Limit/g' *
|
||||
|
||||
rename 's/UpHerAsshole/Up Her Asshole/g' *
|
||||
|
||||
rename 's/LadyVoyeurs/Lady Voyeurs/g' *
|
||||
rename 's/LittleAsians/Little Asians/g' *
|
||||
rename 's/LadyVoyeurs/Lady Voyeurs/g' *
|
||||
rename 's/LustyGrandmas/Lusty Grandmas/g' *
|
||||
|
||||
rename 's/PublicAgent/Public Agent/g' *
|
||||
rename 's/PornMegaLoad/Porn Mega Load/g' *
|
||||
|
||||
rename 's/WeFuckBlackGirls/We Fuck Black Girls/g' *
|
||||
|
||||
rename 's/RoundAndBrown/Round And Brown/g' *
|
||||
rename 's/xxx/ xxx/g' *
|
||||
rename 's/NewSensations/New Sensations/g' *
|
||||
rename 's/ThaiGirlsWild/Thai Girls Wild/g' *
|
||||
rename 's/HandsOnHardcore/Hands On Hardcore/g' *
|
||||
|
||||
rename 's/JacquieEtMichelTV/Jacquie Et Michel TV/g' *
|
||||
rename 's/JulesJordan/Jules Jordan/g' *
|
||||
rename 's/JapanHDV/Japan HDV/g' *
|
||||
rename 's/NFBusty/NFBusty/g' *
|
||||
|
||||
rename 's/UltraFilms/Ultra Films/g' *
|
||||
rename 's/SexMex/Sex Mex/g' *
|
||||
rename 's/SwallowSalon/Swallow Salon/g' *
|
||||
rename 's/Sinfulxxx/Sinful XXX/g' *
|
||||
|
||||
|
||||
rename 's/AllAnalAllTheTime/All Anal All The Time/g' *
|
||||
rename 's/ComeInside/Come Inside/g' *
|
||||
rename 's/CuckHunter/Cuck Hunter/g' *
|
||||
rename 's/DivineBitches/Divine Bitches/g' *
|
||||
rename 's/EverythingButt/Everything Butt/g' *
|
||||
rename 's/FreakyFembots/Freaky Fembots/g' *
|
||||
rename 's/FreeUseMILF/Free Use MILF/g' *
|
||||
rename 's/HollandschePassie/Hollandsche Passie/g' *
|
||||
rename 's/HussiePass/Hussie Pass/g' *
|
||||
rename 's/ImNotYourMommy/Im Not Your Mommy/g' *
|
||||
rename 's/MomsBoyToy/Moms Boy Toy/g' *
|
||||
rename 's/MomsTeachSex/Moms Teach Sex/g' *
|
||||
rename 's/MySistersHotFriend/My Sisters Hot Friend/g' *
|
||||
rename 's/BrutalSessions/Brutal Sessions/g' *
|
||||
rename 's/DoctorAdventures/Doctor Adventures/g' *
|
||||
rename 's/SofieMarieXXX/Sofie Marie/g' *
|
||||
rename 's/YoungerMommy/Younger Mommy/g' *
|
||||
rename 's/AnalMom/Anal Mom/g' *
|
||||
rename 's/DirtyMasseur/Dirty Masseur/g' *
|
||||
rename 's/FilthyTaboo/Filthy Taboo/g' *
|
||||
rename 's/RealWifeStories/Real Wife Stories/g' *
|
||||
rename 's/SexArt/Sex Art/g' *
|
||||
rename 's/SpyFam/Spy Fam/g' *
|
||||
rename 's/KinkFeatures/Kink Features/g' *
|
||||
rename 's/KinkTestShoots/Kink Test Shoots/g' *
|
||||
rename 's/MassageRooms/Massage Rooms/g' *
|
||||
|
||||
|
||||
#rename 's/FamilyTherapyXXX/Family Therapy XXX/g' *
|
||||
rename 's/Hegre Art/Hegre/g' *
|
||||
rename 's/MeanMassage/Mean Massage/g' *
|
||||
rename 's/NuruMassage/Nuru Massage/g' *
|
||||
rename 's/PornWorld/Porn World/g' *
|
||||
rename 's/TrickyMasseur/Tricky Masseur/g' *
|
||||
rename 's/KinkySpa/Kinky Spa/g' *
|
||||
rename 's/EroticSpice/Erotic Spice/g' *
|
||||
|
||||
rename 's/LittleCaprice-Dreams/Little Caprice-Dreams/g' *
|
||||
|
||||
rename 's/BigButtsLikeItBig/Big Butts Like It Big/g' *
|
||||
rename 's/FisterTwister/Fister Twister/g' *
|
||||
rename 's/GoStuckYourself/Go Stuck Yourself/g' *
|
||||
rename 's/HogTied/Hog Tied/g' *
|
||||
rename 's/DeviceBondage/Device Bondage/g' *
|
||||
rename 's/HotAndMean/Hot And Mean/g' *
|
||||
rename 's/HotwifeXXX/Hotwife XXX/g' *
|
||||
rename 's/LetsTryAnal/Lets Try Anal/g' *
|
||||
rename 's/LilHumpers/Lil Humpers/g' *
|
||||
rename 's/LittleCaprice-Dreams/Little Caprice-Dreams/g' *
|
||||
rename 's/LoveHerAss/Love Her Ass/g' *
|
||||
rename 's/MyBabysittersClub/My Babysitters Club/g' *
|
||||
rename 's/MylfSelects/Mylf Selects/g' *
|
||||
rename 's/MyWifesHotFriend/My Wifes Hot Friend/g' *
|
||||
rename 's/NaughtyAmerica/Naughty America/g' *
|
||||
rename 's/PrivateSociety/Private Society/g' *
|
||||
rename 's/RoccoSiffredi/Rocco Siffredi/g' *
|
||||
rename 's/SinfulXXX/Sinful XXX/g' *
|
||||
rename 's/TeamSkeetX/Team SkeetX/g' *
|
||||
rename 's/TheLesbianExperience/The Lesbian Experience/g' *
|
||||
rename 's/Watch4Beauty/Watch4Beauty/g' *
|
||||
rename 's/YoungCourtesans/Young Courtesans/g' *
|
||||
#rename 's/AnalJust/Anal Just/g' *
|
||||
#rename 's/xxx/xxx/g' *
|
||||
#rename 's/xxx/xxx/g' *
|
6
nixos_24.11_cinnamon/config/home/nemo_scripts/Rename/Rename_sh_to_txt.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
rename 's/*.sh /*.txt/g' *
|
||||
rename 's/md /txt/g' *
|
||||
|
||||
exit 0
|
5
nixos_24.11_cinnamon/config/home/nemo_scripts/Rename/Rename_txt.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
rename 's/txt /md/g' *
|
||||
|
||||
exit 0
|
16
nixos_24.11_cinnamon/config/home/nemo_scripts/Rename_MP3.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
rm *.url
|
||||
|
||||
rename 's/ - / ./g' *
|
||||
|
||||
rename 's/*.jpg/ folder.jpg/g' *
|
||||
rename 's/cover.jpg/ folder.jpg/g' *
|
||||
rename 's/Cover.jpg/ folder.jpg/g' *
|
||||
|
||||
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
rename 'y/ /\_/' \*
|
1
nixos_24.11_cinnamon/config/home/playbooks/apt-dist.yml
Symbolic link
@ -0,0 +1 @@
|
||||
/nix/store/jhbyl0y5l3hi2g7qblmidk37cpg9agnn-home-manager-files/Ansible/playbooks/apt-dist.yml
|
56
nixos_24.11_cinnamon/config/home/profile-sync-daemon.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.psd = {
|
||||
enable = true;
|
||||
resyncTimer = "30min";
|
||||
};
|
||||
|
||||
home.file = {
|
||||
".config/psd/psd.conf" = {
|
||||
text = ''
|
||||
# $XDG_CONFIG_HOME/psd/psd.conf
|
||||
#
|
||||
# For documentation, refer man 1 psd or to the wiki page
|
||||
# https://wiki.archlinux.org/index.php/Profile-sync-daemon
|
||||
|
||||
## NOTE the following:
|
||||
## To protect data from corruption, in the event that you do make an edit while
|
||||
## psd is active, any changes made will be applied the next time you start psd.
|
||||
|
||||
# Uncomment and set to "yes" to use overlayfs instead of a full copy to reduce
|
||||
# the memory costs and to improve sync/unsync operations. Note that your kernel
|
||||
# MUST have this module available in order to use this mode.
|
||||
USE_OVERLAYFS="yes"
|
||||
|
||||
# Uncomment and set to "yes" to resync on suspend to reduce potential data loss.
|
||||
# Note that your system MUST have gdbus from glib2 installed to use this mode.
|
||||
USE_SUSPSYNC="yes"
|
||||
|
||||
# List any browsers in the array below to have managed by psd. Useful if you do
|
||||
# not wish to have all possible browser profiles managed which is the default if
|
||||
# this array is left commented.
|
||||
# Possible values:
|
||||
# chromium
|
||||
# firefox
|
||||
# firefox-trunk
|
||||
# vivaldi
|
||||
# vivaldi-snapshot
|
||||
BROWSERS=(firefox)
|
||||
# Uncomment and set to "no" to completely disable the crash recovery feature.
|
||||
#
|
||||
# The default is to create crash recovery backups if the system is ungracefully
|
||||
# powered-down due to a kernel panic, hitting the reset switch, battery going
|
||||
# dead, etc. Some users keep very diligent backups and don't care to have this
|
||||
# feature enabled.
|
||||
USE_BACKUPS="yes"
|
||||
|
||||
# Uncomment and set to an integer that is the maximum number of crash recovery
|
||||
# snapshots to keep (the oldest ones are deleted first).
|
||||
# The default is to save the most recent 5 crash recovery snapshots.
|
||||
BACKUP_LIMIT=5
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
}
|
3
nixos_24.11_cinnamon/config/home/samba-secrets
Normal file
@ -0,0 +1,3 @@
|
||||
username=zulumann
|
||||
domain=WORKGROUP
|
||||
password=
|
57
nixos_24.11_cinnamon/config/home/script/SetupHome.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
|
||||
# Setup Dirs
|
||||
#rm -R /home/$USER/Dokumente
|
||||
rm -R /home/$USER/Musik
|
||||
rm -R /home/$USER/Videos
|
||||
rm -R /home/$USER/Öffentlich
|
||||
mkdir -p /home/$USER/Android
|
||||
mkdir -p /home/$USER/Android/Backup-Android
|
||||
mkdir -p /home/$USER/Android/Redmi_Note
|
||||
mkdir -p /home/$USER/Android/Tablet
|
||||
mkdir -p /home/$USER/Android/Teracube
|
||||
mkdir -p /home/$USER/Applications
|
||||
mkdir -p /home/$USER/Ansible
|
||||
mkdir -p /home/$USER/Backup
|
||||
mkdir -p /home/$USER/Backup/Software
|
||||
mkdir -p /home/$USER/Backup/rotate
|
||||
mkdir -p /home/$USER/GIT
|
||||
mkdir -p /home/$USER/Games
|
||||
mkdir -p /home/$USER/Games/Bottles
|
||||
mkdir -p /home/$USER/Games/GOG
|
||||
mkdir -p /home/$USER/Games/Lutris
|
||||
mkdir -p /home/$USER/Games/Heroic
|
||||
mkdir -p /home/$USER/MyGit
|
||||
mkdir -p /home/$USER/MyStuff
|
||||
mkdir -p /home/$USER/MyStuff/01Work
|
||||
mkdir -p /home/$USER/MyStuff/02CherryTree
|
||||
mkdir -p /home/$USER/MyStuff/03CryptBox
|
||||
mkdir -p /home/$USER/MyStuff/Dokumente
|
||||
mkdir -p /home/$USER/MyStuff/Scripte
|
||||
mkdir -p /home/$USER/MyStuff/Diba-Konto
|
||||
mkdir -p /home/$USER/MyStuff/Mail-Archiv
|
||||
mkdir -p /home/$USER/MyStuff/KeepassXC
|
||||
mkdir -p /home/$USER/MyStuff/PC+Netzwerk
|
||||
mkdir -p /home/$USER/MyStuff/Paperwork
|
||||
mkdir -p /home/$USER/ownCloud
|
||||
mkdir -p /home/$USER/ownCloud/Arbeit
|
||||
mkdir -p /home/$USER/ownCloud/FileDrop
|
||||
mkdir -p /home/$USER/ownCloud/Upload
|
||||
mkdir -p /home/$USER/Share-Cloud
|
||||
mkdir -p /home/$USER/Share-Priv
|
||||
mkdir -p /home/$USER/Share-SMB
|
||||
mkdir -p /home/$USER/Share-VM
|
||||
mkdir -p /home/$USER/Sync
|
||||
# Setup config aacs
|
||||
mkdir -p /home/$USER/.config/aacs/
|
||||
cd /home/$USER/.config/aacs/ && wget --no-check-certificate http://vlc-bluray.whoknowsmy.name/files/KEYDB.cfg
|
||||
|
||||
|
||||
#ln -sf /home/$USER/MyStuff/Dokumente ~/Dokumente
|
||||
#ln -sf /home/$USER/MyStuff/01Work /home/$USER/Schreibtisch/Work
|
||||
|
||||
|
||||
cat > /home/$USER/.profile <<"EOF"
|
||||
export GTK_THEME=Arc-Dark
|
||||
EOF
|
@ -0,0 +1,64 @@
|
||||
#!/run/current-system/sw/bin/sh
|
||||
# Tolga Erok
|
||||
|
||||
# Reload the sysctl Configuration
|
||||
# doas sysctl --system
|
||||
|
||||
# Set PATH to include the necessary command directories
|
||||
export PATH="/run/current-system/sw/bin:$PATH"
|
||||
|
||||
# Fetch RAM information
|
||||
RAM_INSTALLED=$(free -h | awk '/^Mem/ {print $2}')
|
||||
RAM_USED=$(free -h | awk '/^Mem/ {print $3}')
|
||||
|
||||
# Fetch and filter tmpfs information from df, including device information
|
||||
# TMPFS_USED=$(df -h | awk '/tmpfs/ {print $1 "\t" $3 "\t" $5}' | column -t)
|
||||
TMPFS_USED=$(df -h)
|
||||
|
||||
# Fetch zramswap information
|
||||
ZRAMSWAP_USED=$(zramctl | grep /dev/zram0 | awk '{print $4}')
|
||||
|
||||
# Fetch earlyoom information
|
||||
EARLYOOM_USED=$(pgrep earlyoom &>/dev/null && echo -e "\e[32mRunning\e[34m" || echo -e "\e[31mNot Running\e[34m")
|
||||
|
||||
# Check if the service is active
|
||||
if systemctl --quiet is-active configure-flathub-repo.service; then
|
||||
FLATHUB_ACTIVE="\e[32mActive\e[0m"
|
||||
else
|
||||
FLATHUB_ACTIVE="\e[33mInactive\e[0m"
|
||||
fi
|
||||
|
||||
# Check if the service is enabled (loaded)
|
||||
if systemctl is-enabled configure-flathub-repo.service; then
|
||||
FLATHUB_LOADED="\e[32mLoaded\e[0m"
|
||||
else
|
||||
FLATHUB_LOADED="\e[33mNot Loaded\e[0m"
|
||||
fi
|
||||
|
||||
#if flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo; then
|
||||
# echo -e "\e[34m[\e[32m✔\e[34m] Flathub repo added and configured successfully \e[32m¯\_(ツ)_/¯\e[0m\n "
|
||||
#else
|
||||
# echo -e "\e[34m[\e[31m✘\e[34m] \e[31mError:\e[34m Failed to configure Flathub repo \e[31m¯\_(ツ)_/¯\e[0m\n"
|
||||
#fi
|
||||
|
||||
stdbuf -o0 printf ""
|
||||
echo -e "\e[1;32m[✔]\e[0m Restarting kernel tweaks...\n"
|
||||
sleep 1
|
||||
sudo sysctl --system
|
||||
sleep 1
|
||||
|
||||
# Print descriptions in yellow and results in blue
|
||||
printf "\n\e[33mRAM Installed:\e[0m %s\n" "$RAM_INSTALLED"
|
||||
printf "\e[33mRAM Used:\e[0m %s\n" " $RAM_USED"
|
||||
printf "\n\e[33mDisk space and TMPS Used:\e[0m\n%s\n" "$TMPFS_USED"
|
||||
printf "\n\e[33mZRAMSWAP Used:\e[0m %s\n" " $ZRAMSWAP_USED"
|
||||
printf "\e[33mEarlyoom Status:\e[0m %s\n" "$EARLYOOM_USED"
|
||||
echo -e "\nFlathub Service Status: $FLATHUB_ACTIVE / $FLATHUB_LOADED"
|
||||
|
||||
lfs
|
||||
duf
|
||||
figlet system updated
|
||||
# espeak -v en+m7 -s 165 "system! up! dated! kernel! tweaks! applied!" --punct="," 2>/dev/null
|
||||
|
||||
sleep 30
|
||||
|
69
nixos_24.11_cinnamon/config/home/script/flatpak.sh
Normal file
@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
################################################################################
|
||||
#
|
||||
#
|
||||
# post-installation script for Linux
|
||||
#
|
||||
#
|
||||
#
|
||||
################################################################################
|
||||
|
||||
while :
|
||||
do
|
||||
clear
|
||||
echo ""
|
||||
echo "\033[1m I N S T A L L Flatpack on NixOS "
|
||||
echo " ----------------------------------------"
|
||||
echo "\033[0m"
|
||||
echo "01.Setup Flatpack Themes"
|
||||
echo "02.Install Flatseal"
|
||||
echo "03.Install Flatsweep"
|
||||
echo "04.Install Lutris"
|
||||
echo "05.Install Heroic Games Launcher"
|
||||
echo ""
|
||||
echo " x. Exit"
|
||||
echo ""
|
||||
echo -n " Please enter option [01 - 05]"
|
||||
read opt
|
||||
case $opt in
|
||||
##################################################################################
|
||||
01) echo "************ Setup Flatpack Themes **********************";
|
||||
##################################################################################
|
||||
mkdir ~/.themes
|
||||
cp -R /run/current-system/sw/share/themes/Arc-Dark ~/.themes/
|
||||
cp -R /run/current-system/sw/share/icons/Papirus-Dark ~/.icons
|
||||
sudo flatpak override --filesystem=$HOME/.themes
|
||||
sudo flatpak override --env=GTK_THEME=Arc-Dark
|
||||
;;
|
||||
|
||||
##################################################################################
|
||||
02) echo "************ Install Flatseal ****************";
|
||||
##################################################################################
|
||||
flatpak install -y flathub com.github.tchx84.Flatseal
|
||||
;;
|
||||
|
||||
##################################################################################
|
||||
03) echo "************ Install Flatsweep *****************";
|
||||
##################################################################################
|
||||
flatpak install -y flathub io.github.giantpinkrobots.flatsweep
|
||||
;;
|
||||
|
||||
##################################################################################
|
||||
04) echo "************ Install Lutris ******************";
|
||||
##################################################################################
|
||||
flatpak install -y flathub net.lutris.Lutris
|
||||
;;
|
||||
|
||||
##################################################################################
|
||||
05) echo "************ Install Heroic Games Launcher **************************";
|
||||
##################################################################################
|
||||
flatpak install -y flathub com.heroicgameslauncher.hgl
|
||||
;;
|
||||
|
||||
x) echo "";
|
||||
exit 1;;
|
||||
*) echo " Press [enter] key to continue. . .";
|
||||
read enterKey;;
|
||||
esac
|
||||
done
|
29
nixos_24.11_cinnamon/config/home/script/nix_config_backup.sh
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
################################################################################
|
||||
#
|
||||
# Backup /etc/nixos to Fileserver01
|
||||
#
|
||||
################################################################################
|
||||
# -a (Kurzversion für --archive): gleiche Bedeutung wie -rlptgoD
|
||||
# -r (Kurzversion für --recursive): Unterverzeichnisse kopieren
|
||||
# -l (Kurzversion für --links): symbolische Links kopierenrsync
|
||||
# -p (Kurzversion für --perms): Rechte der Quelldatei beibehalten
|
||||
# -t (Kurzversion für --times): Zeiten der Quelldatei beibehalten
|
||||
# -g (Kurzversion für --group): Gruppenrechte der Quelldatei beibehalten
|
||||
# -o (Kurzversion für --owner): Besitzrechte der Quelldatei beibehalten (nur als root User möglich)
|
||||
# -D (Kurzversion für --devices --specials): Gerätedateien der Quelldatei beibehalten (nur als root User möglich)
|
||||
# -v (Kurzversion für --verbose): zeigt während der Ausführung an welche Dateien synchronisiert werden
|
||||
# -z
|
||||
# --delete: entfernt Dateien im Zielverzeichnis die mittelerweile im Quellverzeichnis nicht mehr vorhanden sind
|
||||
# rsync --dry-run
|
||||
################################################################################
|
||||
# rsync -rdt rsync://192.168.10.52/
|
||||
#
|
||||
source=/etc/nixos/
|
||||
destination=rsync://192.168.10.52:873/Backup/NixOS-Sys-Backup/$HOSTNAME/
|
||||
|
||||
rsync -a -v --delete --progress --partial "${source}" "${destination}"
|
||||
|
||||
sleep 60
|
||||
|
36
nixos_24.11_cinnamon/config/home/script/rsync-exlude-home
Normal file
@ -0,0 +1,36 @@
|
||||
- Downloads
|
||||
- Games
|
||||
- Share-Cloud
|
||||
- Share-Priv
|
||||
- Share-SMB
|
||||
- Share-VM
|
||||
- Sync
|
||||
- VM-Image
|
||||
- Code Cache
|
||||
- cache*
|
||||
- Cache*
|
||||
- Cache_*
|
||||
- *_cache
|
||||
- *Cache
|
||||
- DawnGraphiteCache
|
||||
- log*
|
||||
- logs
|
||||
- tmp
|
||||
- Trash
|
||||
- .config
|
||||
- .config/syncthing
|
||||
- .config/unity3d
|
||||
- .config/ownCloud
|
||||
- .local
|
||||
- .local/state
|
||||
- .local/share/containers
|
||||
- .local/share/flatpak
|
||||
- .local/share/keyrings
|
||||
- .local/share/nomic.ai
|
||||
- .local/share/Steam
|
||||
- .jd2
|
||||
- .conkyrc
|
||||
- .*
|
||||
- *.LOG
|
||||
- LOG
|
||||
- *.old
|
1
nixos_24.11_cinnamon/config/home/ssh/authorized_keys
Normal file
@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDRdiYgMyVjyXbbk2/lzFVRIK23JTICCmla0T0NNdP7LyAOiisV5lTg7PgFLFxaJ5QWSOUPcXwdhkkwT3yCGgzbWSS4sPGcon6hhFmaw54VITzkGK96e6/C/1X+L2BivYeaSSMBsezEScm8Ahl+uW7d2UmBzqTCg07dBWz1oyrgp9CKG5OuhdcKDdQ7w6t/YJNurYMr4nWHq7LKW9YwrRtmMPBoomoF01/4xO2YTWV6nrvEjui2JQMZJ0S3yigxVeP5TtWV26MY9IXIp8go7zrqEX34oVCHyRUtHMIIfWXR43pHOsLmzcpA5UnnuNQh4SO1BUjlEvFdQPLETfjmPxVk4GMBPfL0O81sgLck6drVKg2gsnTMUm/aSkn3Y845dKCaJes8s089RGVOIl5cnufB/HJ04im++2P/rmY1H1kxHu1jTHnxx78fvcHZ93Gco7X3j9pFrMsBxzG0wDkZGGRiNIeWjjGihQScMe7G/1aIWgHxZYmLVfdNPiDMYyBjvD6I2HxbAhWOdiYPXEjyKZAGa6IXGh9BEURlxFI1k7fKcs2AncL6Q2fXJQKzqfHD6dqndmVIzfj3gBLSSDTnfkOSCM2fBmHbgBuoUuIL6E7eFKxRpmw0Dh568VXQI0lBsmbDwiut4fTAuh/JF1yCCVW3qFMUT27RA6Z+15k0dQEFLw== zulumann@wlin001-lmde4
|
180
nixos_24.11_cinnamon/config/home/ssh/config-ssh.nix
Normal file
@ -0,0 +1,180 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
matchBlocks = {
|
||||
|
||||
### Network Hosts ###
|
||||
htpc01 = {
|
||||
hostname = "htpc01.local";
|
||||
user = "kodi";
|
||||
port = 22;
|
||||
# identityFile = "~/.ssh/id_rsa.pub";
|
||||
};
|
||||
|
||||
nas = {
|
||||
hostname = "192.168.20.90";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
pve01 = {
|
||||
hostname = "192.168.10.50";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
### Proxmox PVE01 LAN ###
|
||||
pfsense = {
|
||||
hostname = "192.168.10.1";
|
||||
user = "admin";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
opnsense = {
|
||||
hostname = "192.168.10.1";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
fileserver01 = {
|
||||
hostname = "192.168.10.52";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
checkmk = {
|
||||
hostname = "192.168.50.53";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
pbs01 = {
|
||||
hostname = "192.168.10.54";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
docker-lan = {
|
||||
hostname = "192.168.10.55";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
jdownloader = {
|
||||
hostname = "192.168.10.57";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
vserver01 = {
|
||||
hostname = "192.168.10.180";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
adgurd = {
|
||||
hostname = "192.168.178.10";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
### Proxmox PVE01 DMZ ###
|
||||
aptcache = {
|
||||
hostname = "192.168.50.10";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
docker-dmz = {
|
||||
hostname = "192.168.50.11";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
rustdesk = {
|
||||
hostname = "192.168.50.12";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
radicale = {
|
||||
hostname = "192.168.50.13";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
mumble = {
|
||||
hostname = "192.168.50.14";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
meet = {
|
||||
hostname = "192.168.50.15";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
mail = {
|
||||
hostname = "192.168.50.16";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
freshrss = {
|
||||
hostname = "192.168.50.17";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
owncloud = {
|
||||
hostname = "192.168.50.18";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
websrv01 = {
|
||||
hostname = "192.168.50.19";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
websrv02 = {
|
||||
hostname = "192.168.50.20";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
gitea = {
|
||||
hostname = "192.168.50.21";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
### Proxmox PVE01 IOT ###
|
||||
jellyfin = {
|
||||
hostname = "192.168.60.20";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
### Proxmox PVE01 VPN ###
|
||||
seedbox = {
|
||||
hostname = "192.168.20.10";
|
||||
user = "root";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
### Internet Hosts ###
|
||||
strato = {
|
||||
hostname = "85.215.43.109";
|
||||
user = "root";
|
||||
port = 63007;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
BIN
nixos_24.11_cinnamon/config/home/wallpaper/5120x2880.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/Coasto 3.jpg
Normal file
After Width: | Height: | Size: 937 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/DarkCyan.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/Mountain_04.jpg
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/Textur_01.jpg
Normal file
After Width: | Height: | Size: 274 KiB |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 2.4 MiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/cubes_1080.jpg
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/greenish.jpg
Normal file
After Width: | Height: | Size: 812 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper01.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper02.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper03.jpg
Normal file
After Width: | Height: | Size: 2.4 MiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper04.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper05.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper06.jpg
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper07.jpg
Normal file
After Width: | Height: | Size: 274 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper08.jpg
Normal file
After Width: | Height: | Size: 937 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper09.png
Normal file
After Width: | Height: | Size: 454 KiB |
BIN
nixos_24.11_cinnamon/config/home/wallpaper/wallpaper10.png
Normal file
After Width: | Height: | Size: 42 KiB |
60
nixos_24.11_cinnamon/config/kvm.nix
Normal file
@ -0,0 +1,60 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
boot.kernelParams = [ "amd_iommu=on" "pcie_aspm=off" ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModprobeConfig = "options kvm_amd nested=1";
|
||||
|
||||
# Enable dconf (System Management Tool)
|
||||
# programs.dconf.enable = true;
|
||||
|
||||
# Add user to libvirtd group
|
||||
users.users.zulumann.extraGroups = [ "libvirtd" "kvm" ];
|
||||
|
||||
# Install necessary packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
libvirt
|
||||
qemu
|
||||
qemu_kvm
|
||||
OVMFFull
|
||||
virt-manager
|
||||
virt-viewer
|
||||
spice spice-gtk
|
||||
spice-protocol
|
||||
adwaita-icon-theme
|
||||
python3
|
||||
iproute2
|
||||
bridge-utils
|
||||
];
|
||||
|
||||
# Manage the virtualisation services
|
||||
virtualisation = {
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
swtpm.enable = true;
|
||||
ovmf.enable = true;
|
||||
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
||||
};
|
||||
};
|
||||
spiceUSBRedirection.enable = true;
|
||||
};
|
||||
|
||||
# Enable VirtioFS
|
||||
virtualisation.libvirtd.qemu.vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
|
||||
environment.sessionVariables.LIBVIRT_DEFAULT_URI = [ "qemu:///system" ];
|
||||
services.spice-vdagentd.enable = true;
|
||||
|
||||
# Enable Bridge-Network
|
||||
networking.firewall.checkReversePath = false;
|
||||
networking.interfaces.eth0.useDHCP = true;
|
||||
networking.interfaces.br-lan.useDHCP = true;
|
||||
networking.bridges = {
|
||||
"br-lan" = {
|
||||
interfaces = [ "eth0" ];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
5
nixos_24.11_cinnamon/config/laptop.nix
Normal file
@ -0,0 +1,5 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
}
|
44
nixos_24.11_cinnamon/config/mpd.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
# aplay -l
|
||||
# aplay --list-pcm
|
||||
# pacmd list-modules
|
||||
# pacmd list-cards
|
||||
|
||||
{
|
||||
services.mpd = {
|
||||
enable = true;
|
||||
user = "zulumann";
|
||||
musicDirectory = "/run/media/zulumann/HDD1.5TB/Audio/Musik";
|
||||
playlistDirectory = "/run/media/zulumann/HDD1.5TB/Audio/Playlists";
|
||||
network.listenAddress = "any";
|
||||
startWhenNeeded = true; # systemd feature: only start MPD service upon connection to its socket
|
||||
extraConfig = ''
|
||||
audio_output {
|
||||
type "alsa"
|
||||
name "My ALSA"
|
||||
device "hw:0,0" # optional
|
||||
format "44100:16:2" # optional
|
||||
mixer_type "hardware"
|
||||
mixer_device "default"
|
||||
mixer_control "PCM"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
name "My PipeWire Output"
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.mpd.environment = {
|
||||
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/609
|
||||
XDG_RUNTIME_DIR =
|
||||
"/run/user/1000"; # User-id 1000 must match above user. MPD will look inside this directory for the PipeWire socket.
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
#gmpc # Gnome Music Player Client
|
||||
cantata
|
||||
];
|
||||
}
|
63
nixos_24.11_cinnamon/config/nix-ld.nix
Normal file
@ -0,0 +1,63 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
# Enable LD Fix
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
# Add any missing dynamic libraries for unpackaged
|
||||
# programs here, NOT in environment.systemPackages
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
at-spi2-core
|
||||
atk
|
||||
cairo
|
||||
cups
|
||||
curl
|
||||
dbus
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
fuse3
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
icu
|
||||
libGL
|
||||
libappindicator-gtk3
|
||||
libdrm
|
||||
libglvnd
|
||||
libnotify
|
||||
libpulseaudio
|
||||
libunwind
|
||||
libusb1
|
||||
libuuid
|
||||
libxkbcommon
|
||||
libxml2
|
||||
mesa
|
||||
nspr
|
||||
nss
|
||||
openssl
|
||||
pango
|
||||
pipewire
|
||||
stdenv.cc.cc
|
||||
systemd
|
||||
vulkan-loader
|
||||
xorg.libX11
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXi
|
||||
xorg.libXrandr
|
||||
xorg.libXrender
|
||||
xorg.libXtst
|
||||
xorg.libxcb
|
||||
xorg.libxkbfile
|
||||
xorg.libxshmfence
|
||||
zlib
|
||||
];
|
||||
|
||||
}
|
96
nixos_24.11_cinnamon/config/pkgs-cli.nix
Normal file
@ -0,0 +1,96 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
# Enable tmux
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
shortcut = "a";
|
||||
# aggressiveResize = true; -- Disabled to be iTerm-friendly
|
||||
baseIndex = 1;
|
||||
newSession = true;
|
||||
# Stop tmux+escape craziness.
|
||||
escapeTime = 0;
|
||||
# Force tmux to use /tmp for sockets (WSL2 compat)
|
||||
secureSocket = false;
|
||||
|
||||
plugins = with pkgs; [
|
||||
tmuxPlugins.better-mouse-mode
|
||||
];
|
||||
|
||||
extraConfig = ''
|
||||
# https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/
|
||||
set -g default-terminal "xterm-256color"
|
||||
set -ga terminal-overrides ",*256col*:Tc"
|
||||
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
|
||||
set-environment -g COLORTERM "truecolor"
|
||||
|
||||
# Mouse works as expected
|
||||
set-option -g mouse on
|
||||
# easy-to-remember split pane commands
|
||||
bind | split-window -h -c "#{pane_current_path}"
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
bind c new-window -c "#{pane_current_path}"
|
||||
'';
|
||||
};
|
||||
|
||||
# Setup bash
|
||||
programs.bash = {
|
||||
completion.enable = true;
|
||||
enableLsColors = true;
|
||||
shellAliases = {
|
||||
set-default-boot="sudo /run/current-system/bin/switch-to-configuration boot";
|
||||
full-system-clean="nix-collect-garbage -d && sudo nix-collect-garbage -d";
|
||||
full-system-upgrade="sudo nixos-rebuild switch --upgrade && flatpak update -y && nix-env -u '*'";
|
||||
list-system-configurations="ls -l /nix/var/nix/profiles/system-*-link";
|
||||
system-rebuild="sudo nixos-rebuild switch";
|
||||
system-repair="sudo nixos-rebuild switch --repair";
|
||||
full-system-repair="sudo nix-store --verify --check-contents --repair";
|
||||
system-upgrade-information="sudo nixos-rebuild switch --upgrade dry-build";
|
||||
local-upgrade="sudo nix-channel --update nixpkgs && nix-env -u '*'";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
bash
|
||||
bash-completion
|
||||
bash-preexec
|
||||
bashdb
|
||||
bashSnippets
|
||||
curl # A command line tool for transferring files with URL syntax
|
||||
dnsutils # Domain name server
|
||||
diffutils # Commands for showing the differences between files (diff, cmp, etc.)
|
||||
git # Distributed version control system
|
||||
mc # File Manager and User Shell for the GNU Project
|
||||
htop # An interactive process viewer
|
||||
rsync # Fast incremental file transfer utility
|
||||
wget # Tool for retrieving files using HTTP, HTTPS, and FTP
|
||||
nettools # A set of tools for controlling the network subsystem
|
||||
ncdu # Disk usage analyzer with an ncurses interface
|
||||
# nfs-utils # Linux user-space NFS utilities
|
||||
pciutils # inspecting and manipulating configuration of PCI devices
|
||||
pwgen # Password generator
|
||||
# pwgen-secure # Secure password generation library to replace pwgen
|
||||
# ranger
|
||||
renameutils # A set of programs to make renaming of files faster
|
||||
rename # Rename files according to a Perl rewrite expression
|
||||
# smartmontools # Tools for monitoring the health of hard drives
|
||||
# imagemagick # A software suite to create, edit, compose, or convert bitmap images
|
||||
lshw # Provide detailed information on the hardware configuration
|
||||
lsof # A tool to list open files
|
||||
unrar # Utility for RAR archives
|
||||
unzip # An extraction utility for archives compressed
|
||||
zip # Compressor/archiver for creating and modifying zipfiles
|
||||
p7zip # A new p7zip fork with additional codecs
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# NIX-Tools
|
||||
# ---------------------------------------------------------------------
|
||||
niv # Nix dependency management
|
||||
nix-bash-completions # Bash completions for Nix, NixOS, and NixOps
|
||||
nix-index # A files database for nixpkgs
|
||||
nix-prefetch-git # nix-prefetch-git
|
||||
# nixos-generators # Collection of image builders
|
||||
];
|
||||
|
||||
}
|
219
nixos_24.11_cinnamon/config/pkgs-extra.nix
Normal file
@ -0,0 +1,219 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
unstableTarball =
|
||||
fetchTarball
|
||||
https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz;
|
||||
in
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
];
|
||||
|
||||
nixpkgs.config = {
|
||||
packageOverrides = pkgs: {
|
||||
unstable = import unstableTarball {
|
||||
config = config.nixpkgs.config;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [ ];
|
||||
};
|
||||
|
||||
# Enable Java
|
||||
programs.java = {
|
||||
enable = true;
|
||||
package = pkgs.jdk11;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# ---------------------------------------------------------------------
|
||||
# Accessories
|
||||
# ---------------------------------------------------------------------
|
||||
authenticator # Two-factor authentication code generator for GNOME
|
||||
bleachbit # A program to clean your computer
|
||||
# czkawka # A simple, fast and easy to use app to remove unnecessary files
|
||||
conky
|
||||
clipit
|
||||
bitwarden # bitwarden-desktop
|
||||
# deja-dup # A simple backup tool
|
||||
gnome-decoder # Scan and Generate QR Codes
|
||||
gnome-obfuscate # Censor private information
|
||||
gnome-maps # A map application for GNOME 3
|
||||
# gpt4all # A free-to-use, locally running, privacy-aware chatbot. No GPU or internet required
|
||||
# fsearch # A fast file search utility for Unix-like systems based on GTK+3
|
||||
cherrytree # An hierarchical note taking application
|
||||
# caffeine-ng # Status bar application to temporarily inhibit screensaver and sleep mode
|
||||
doublecmd # Two-panel graphical file manager written in Pascal
|
||||
freefilesync # Open Source File Synchronization & Backup Software
|
||||
shutter # Screenshot and annotation tool
|
||||
gparted # Graphical disk partitioning tool
|
||||
ulauncher # A fast application launcher for Linux
|
||||
tilda
|
||||
# synapse # Semantic launcher to start applications and find relevant files
|
||||
# pika-backup # Simple backups based on borg
|
||||
owncloud-client # Synchronise your ownCloud
|
||||
keepassxc # Offline password manager
|
||||
# veracrypt # Free Open-Source filesystem on-the-fly encryption
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Andriod software
|
||||
# ---------------------------------------------------------------------
|
||||
# android-file-transfer # Reliable MTP client with minimalistic UI provides: aft-mtp-cli android-file-transfer aft-mtp-mount
|
||||
# android-tools # Android SDK platform tools
|
||||
# waydroid # Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Codec
|
||||
# ---------------------------------------------------------------------
|
||||
ffmpeg_6-full # A complete, cross-platform solution to record, convert and stream audio and video
|
||||
ffmpegthumbnailer # A lightweight video thumbnailer
|
||||
gst_all_1.gst-vaapi
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-ugly
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-base
|
||||
lame # A high quality MPEG Audio Layer III (MP3) encoder
|
||||
wavpack # Hybrid audio compression format
|
||||
x264 # Library for encoding H264/AVC video streams
|
||||
x265 # Library for encoding H.265/HEVC video streams
|
||||
mpg123 # Fast console MPEG Audio Player and decoder library
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# DVD / Bluray
|
||||
#-----------------------------------------------------------------
|
||||
# asunder # A graphical Audio CD ripper and encoder for Linux
|
||||
# libbluray # Library to access Blu-Ray disks for video playback
|
||||
# libaacs # Library to access AACS protected Blu-Ray disks
|
||||
# libdvdcss # A library for decrypting DVDs
|
||||
# libisofs # A library to create an ISO-9660 filesystem with extensions like RockRidge or Joliet
|
||||
# libburn # A library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)
|
||||
# xfce.xfburn # Disc burner and project creator for Xfce
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Emulatoren
|
||||
#-----------------------------------------------------------------
|
||||
# ppsspp-qt # Playstation Portable emulator
|
||||
# pcsx2 # Playstation 2 emulator
|
||||
# dolphin-emu # Gamecube/Wii/Triforce emulator for x86_64 and ARMv8
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Graphics
|
||||
# ---------------------------------------------------------------------
|
||||
simple-scan # Simple scanning utility
|
||||
gimp-with-plugins # The GNU Image Manipulation Program
|
||||
pinta # Drawing/editing program modeled after Paint.NET
|
||||
# shotwell # Popular photo organizer for the GNOME desktop
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Gaming
|
||||
#-----------------------------------------------------------------
|
||||
# mangohud # A Vulkan and OpenGL overlay for monitoring FPS
|
||||
# goverlay # Graphical UI to help manage Linux overlays
|
||||
# heroic # A Native GOG, Epic, and Amazon Games Launcher
|
||||
# protonup-ng # CLI program and API to automate the installation and update Proton-GE
|
||||
# protonup-qt # manage Proton-GE and Luxtorpeda for Steam and Wine-GE
|
||||
# xboxdrv # Xbox/Xbox360 gamepad driver
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Tools
|
||||
#-----------------------------------------------------------------
|
||||
# gpu-viewer # A front-end to glxinfo, vulkaninfo, clinfo and es2_info
|
||||
# cpu-x # Software that gathers information on CPU, motherboard and more
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Internet
|
||||
#-----------------------------------------------------------------
|
||||
angryipscanner # fast and friendly network scanner
|
||||
brave # Brave Browser
|
||||
freetube # An Open Source YouTube app for privacy
|
||||
filezilla # Graphical FTP, FTPS and SFTP client
|
||||
# protonvpn-gui # Proton VPN GTK app
|
||||
# signal-desktop # Private, simple, and secure messenger
|
||||
tdesktop # Telegram Desktop
|
||||
tor-browser # Tor Browser
|
||||
# qtox # Qt Tox client
|
||||
remmina # Remote desktop client written in GTK
|
||||
mumble # Low-latency, high quality voice chat software
|
||||
# liferea # A GTK-based news feed aggregator
|
||||
uget # Download manager using GTK and libcurl
|
||||
# vivaldi # Browser for our Friends, powerful and personal
|
||||
# vivaldi-ffmpeg-codecs # Additional support for proprietary codecs for Vivaldi
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Office
|
||||
#-----------------------------------------------------------------
|
||||
evolution # application that provides integrated mail, calendaring and address book
|
||||
# gscan2pdf # GUI to produce PDFs or DjVus from scanned documents
|
||||
foliate # A simple and modern GTK eBook reader
|
||||
paperwork # personal document manager for scanned documents
|
||||
pdfarranger # Merge or split pdf documents and rotate, crop and rearrange their pages
|
||||
# onlyoffice-bin_latest # Office suite that combines text, spreadsheet and presentation editors allowing to create
|
||||
libreoffice-fresh # Comprehensive, professional-quality productivity suite, a variant of openoffice.org
|
||||
# qownnotes # Plain-text file notepad and todo-list manager with markdown support and Nextcloud/ownCloud integration
|
||||
# joplin-desktop # An open source note taking and to-do application with synchronisation capabilities
|
||||
# trilium-desktop # Hierarchical note taking application with focus on building large personal knowledge bases
|
||||
# xournalpp # Xournal++ is a handwriting Notetaking software with PDF annotation support
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Programming
|
||||
# ---------------------------------------------------------------------
|
||||
# diffuse # Graphical tool for merging and comparing text files
|
||||
meld # Visual diff and merge tool
|
||||
vscodium # Open source source code editor developed by Microsoft
|
||||
github-desktop # GUI for managing Git and GitHub
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Themes
|
||||
# ---------------------------------------------------------------------
|
||||
arc-theme # Flat theme with transparent elements for GTK 3, GTK 2 and Gnome Shell
|
||||
papirus-icon-theme # Pixel perfect icon theme for Linux
|
||||
numix-cursor-theme # Numix cursor theme
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
# Multimedia
|
||||
#-----------------------------------------------------------------
|
||||
audacious # A lightweight and versatile audio player
|
||||
audacious-plugins # Plugins for Audacious music player
|
||||
easytag # View and edit tags for various audio files
|
||||
mediainfo-gui # Supplies technical and tag information about a video or audio file
|
||||
soundconverter # Leading audio file converter for the GNOME Desktop
|
||||
# strawberry # Music player and music collection organizer
|
||||
# obs-studio # Free and open source software for video recording and live streaming
|
||||
# guvcview # A simple interface for devices supported by the linux UVC driver
|
||||
# kazam # A screencasting program created with design in mind
|
||||
video-trimmer # Trim videos quickly
|
||||
radiotray-ng # An internet radio player
|
||||
jellyfin-media-player # Jellyfin Desktop Client based on Plex Media Player
|
||||
vlc # Cross-platform media player and streaming server
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Spell checker
|
||||
# ---------------------------------------------------------------------
|
||||
aspell # Spell checker for many languages
|
||||
aspellDicts.de # Aspell dictionary for German
|
||||
hunspell # Spell checker
|
||||
hunspellDicts.de-de # Hunspell dictionary for German
|
||||
hyphen # A text hyphenation library
|
||||
# languagetool # A proofreading program for English, German ...
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Openvpn
|
||||
# ---------------------------------------------------------------------
|
||||
#openvpn # A robust and highly flexible tunneling application
|
||||
#networkmanager-openvpn
|
||||
#gnome.networkmanager-openvpn
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Library
|
||||
# ---------------------------------------------------------------------
|
||||
libwacom # Libraries, configuration, and diagnostic tools for Wacom tablets
|
||||
];
|
||||
|
||||
}
|
44
nixos_24.11_cinnamon/config/printer.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
# Enable CUPS
|
||||
services.printing = {
|
||||
enable = true;
|
||||
#openFirewall = true;
|
||||
drivers = [
|
||||
pkgs.brlaser
|
||||
pkgs.hplip
|
||||
# pkgs.hplipWithPlugin
|
||||
];
|
||||
};
|
||||
|
||||
# Enable Cups-PDF
|
||||
services.printing.cups-pdf = {
|
||||
enable = true;
|
||||
instances = {
|
||||
pdf = {
|
||||
settings = {
|
||||
Out = "\${HOME}/Cups-pdf";
|
||||
UserUMask = "0033";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Enable Sane
|
||||
hardware.sane = {
|
||||
enable = true;
|
||||
extraBackends = [ pkgs.hplipWithPlugin ];
|
||||
};
|
||||
|
||||
users.users.zulumann.extraGroups = ["scanner" "lp"];
|
||||
|
||||
# programs.system-config-printer.enable = true;
|
||||
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [ 80 427 443 515 631 8080 9100 6566 ];
|
||||
allowedUDPPorts = [ 427 3702 5353 ];
|
||||
};
|
||||
|
||||
}
|
132
nixos_24.11_cinnamon/config/samba-nas.nix
Normal file
@ -0,0 +1,132 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = [ pkgs.cifs-utils ];
|
||||
|
||||
fileSystems."/mnt/nas/Audio" = {
|
||||
device = "//192.168.10.90/audio/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Appz" = {
|
||||
device = "//192.168.10.90/appz/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Backup" = {
|
||||
device = "//192.168.10.90/backup/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Files" = {
|
||||
device = "//192.168.10.90/files/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Downloads" = {
|
||||
device = "//192.168.10.90/downloads/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Emulator" = {
|
||||
device = "//192.168.10.90/emulator/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Games" = {
|
||||
device = "//192.168.10.90/games/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/ISO" = {
|
||||
device = "//192.168.10.90/iso/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Multimedia" = {
|
||||
device = "//192.168.10.90/multimedia/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Public" = {
|
||||
device = "//192.168.10.90/public/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Share" = {
|
||||
device = "//192.168.10.90/share/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/Work" = {
|
||||
device = "//192.168.10.90/work/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/XXX" = {
|
||||
device = "//192.168.10.90/xxx/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/nas/homes" = {
|
||||
device = "//192.168.10.90/homes/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
}
|
78
nixos_24.11_cinnamon/config/samba-srv.nix
Normal file
@ -0,0 +1,78 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = [ pkgs.cifs-utils ];
|
||||
|
||||
fileSystems."/mnt/fileserver01/Appz" = {
|
||||
device = "//192.168.10.52/appz/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileserver01/Backup" = {
|
||||
device = "//192.168.10.52/backup/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileserver01/Dateien" = {
|
||||
device = "//192.168.10.52/dateien/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileserver01/Downloads" = {
|
||||
device = "//192.168.10.52/downloads/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileserver01/ISOs" = {
|
||||
device = "//192.168.10.52/isos/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileserver01/Multimedia" = {
|
||||
device = "//192.168.10.52/multimedia/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileserver01/Public" = {
|
||||
device = "//192.168.10.52/public/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/fileserver01/Share" = {
|
||||
device = "//192.168.10.52/share/";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||
in ["${automount_opts},credentials=/etc/nixos/config/home/samba-secrets,uid=1000,gid=100"];
|
||||
};
|
||||
|
||||
}
|
116
nixos_24.11_cinnamon/config/samba.nix
Normal file
@ -0,0 +1,116 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
|
||||
{
|
||||
services.samba = {
|
||||
enable = true;
|
||||
# securityType = "user";
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
global = {
|
||||
"workgroup" = "WORKGROUP";
|
||||
"server role" = "standalone server";
|
||||
"server string" = "wlin002-nixos";
|
||||
"netbios name" = "wlin002-nixos";
|
||||
"global.security" = "user";
|
||||
"min protocol" = "smb3_11";
|
||||
"max protocol" = "smb3_11";
|
||||
"wide links" = "no";
|
||||
"follow symlinks" = "no";
|
||||
|
||||
#### Networking ####
|
||||
"bind interfaces only" = "yes";
|
||||
"interfaces" = "lo br-lan eth0";
|
||||
# note: localhost is the ipv6 localhost ::1
|
||||
"hosts allow" = "192.168.10.0/24 127.0.0.1 localhost";
|
||||
"hosts deny" = "0.0.0.0/0";
|
||||
|
||||
### Browsing election options ###
|
||||
"wins support" = "no";
|
||||
"name resolve order" = "host bcast lmhosts";
|
||||
"multicast dns register" = "yes";
|
||||
"dns proxy" = "yes";
|
||||
|
||||
####### Authentication #######
|
||||
"guest account" = "zulumann";
|
||||
"map to guest" = "bad user";
|
||||
|
||||
### Tuning ###
|
||||
"socket options" = "TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_RCVBUF=131072 SO_SNDBUF=131072";
|
||||
"use sendfile" = "yes";
|
||||
"getwd cache" = "yes";
|
||||
"stat cache" = "yes";
|
||||
"min receivefile size" = "16384";
|
||||
"write raw" = "yes";
|
||||
"read raw" = "yes";
|
||||
"max xmit" = "32768";
|
||||
"deadtime" = "15";
|
||||
"keepalive" = "150";
|
||||
"sync always" = "no";
|
||||
"large readwrite" = "yes";
|
||||
"strict sync" = "no";
|
||||
"strict allocate" = "yes";
|
||||
"strict locking" = "auto";
|
||||
"server multi channel support" = "yes";
|
||||
"aio write size" = "1";
|
||||
"aio read size" = "1";
|
||||
"idmap cache time" = "604";
|
||||
|
||||
#### Debugging ####
|
||||
"log level" = "1";
|
||||
"log file" = "/var/log/samba/log.%m";
|
||||
"max log size" = "1000";
|
||||
"logging" = "file";
|
||||
"panic action" = "/usr/share/samba/panic-action %d";
|
||||
};
|
||||
|
||||
|
||||
"Share" = {
|
||||
"path" = "/home/zulumann/Share-SMB";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "yes";
|
||||
"public" = "yes";
|
||||
"writable" = "yes";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
};
|
||||
|
||||
"Private" = {
|
||||
"path" = "/home/zulumann/Share-Priv";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
#"force user" = "zulumann";
|
||||
#"force group" = "zulumann";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
services.samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
services.avahi.extraServiceFiles = {
|
||||
smb = ''
|
||||
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
|
||||
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
|
||||
<service-group>
|
||||
<name replace-wildcards="yes">%h - SMB/CIFS</name>
|
||||
<service>
|
||||
<type>_smb._tcp</type>
|
||||
<port>445</port>
|
||||
</service>
|
||||
</service-group>
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
# User Authentication
|
||||
# For a user called my_userto be authenticated on the samba server, you must add their password using
|
||||
# sudo smbpasswd -a my_user
|
19
nixos_24.11_cinnamon/config/steam.nix
Normal file
@ -0,0 +1,19 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
# Enable Steam and Gamemode
|
||||
nixpkgs.config = {
|
||||
allowUnfreePackages = [ "steam" "steam-original" "steam-runtime" "steam-run" ];
|
||||
};
|
||||
|
||||
programs.gamemode.enable = true;
|
||||
hardware.steam-hardware.enable = true;
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
||||
}
|
36
nixos_24.11_cinnamon/config/syncthing.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable Syncthing
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
openDefaultPorts = true;
|
||||
guiAddress = "127.0.0.1:8384";
|
||||
user = "zulumann";
|
||||
group = "users";
|
||||
configDir = "/home/zulumann/.config/syncthing";
|
||||
dataDir = "/home/zulumann";
|
||||
overrideDevices = false;
|
||||
overrideFolders = false;
|
||||
settings.devices = {
|
||||
"Syncthing-Server" = { id = "2YNMVUC-HCUVYV4-C7ZJJ72-HQJSFBF-TOO6VPG-QYYIBZA-X3JC4MA-5WKEGA4"; };
|
||||
};
|
||||
|
||||
settings.versioning = {
|
||||
type = "staggered";
|
||||
params = {
|
||||
cleanInterval = "3600"; # 1 hour in seconds
|
||||
maxAge = "15552000"; # 180 days in seconds
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.syncthing.settings.gui = {
|
||||
user = "zulumann";
|
||||
password = "he_lu@1970";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
#qsyncthingtray
|
||||
];
|
||||
}
|
40
nixos_24.11_cinnamon/config/tweaks/16GB-SYSTEM.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ config, ... }:
|
||||
|
||||
# Control how and when data is written from memory to disk, which can have an impact on system performance and responsiveness.
|
||||
# useful for optimizing memory usage, disk writeback behavior, network settings, and other low-level kernel behaviors.
|
||||
|
||||
{
|
||||
boot.kernelModules = ["tcp_bbr"];
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv4.tcp_congestion_control" = "bbr";
|
||||
"net.core.default_qdisc" = "fq";
|
||||
"net.ipv4.tcp_fastopen" = "3";
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Network and memory-related optimizationss for desktop 16GB
|
||||
#---------------------------------------------------------------------
|
||||
"kernel.sysrq" = 1; # Enable SysRQ for rebooting the machine properly if it freezes. [Source](https://oglo.dev/tutorials/sysrq/index.html)
|
||||
"net.core.netdev_max_backlog" = 30000; # Help prevent packet loss during high traffic periods.
|
||||
"net.core.rmem_default" = 262144; # Default socket receive buffer size, improve network performance & applications that use sockets. Adjusted for 16GB RAM.
|
||||
"net.core.rmem_max" = 33554432; # Maximum socket receive buffer size, determine the amount of data that can be buffered in memory for network operations. Adjusted for 16GB RAM.
|
||||
"net.core.wmem_default" = 262144; # Default socket send buffer size, improve network performance & applications that use sockets. Adjusted for 16GB RAM.
|
||||
"net.core.wmem_max" = 33554432; # Maximum socket send buffer size, determine the amount of data that can be buffered in memory for network operations. Adjusted for 16GB RAM.
|
||||
"net.ipv4.ipfrag_high_threshold" = 5242880; # Reduce the chances of fragmentation. Adjusted for SSD.
|
||||
"net.ipv4.tcp_keepalive_intvl" = 30; # TCP keepalive interval between probes to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_probes" = 5; # TCP keepalive probes to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_time" = 300; # TCP keepalive interval in seconds to detect if a connection is still alive.
|
||||
"vm.dirty_background_bytes" = 134217728; # 128 MB
|
||||
"vm.dirty_bytes" = 402653184; # 384 MB
|
||||
"vm.min_free_kbytes" = 65536; # Minimum free memory for safety (in KB), helping prevent memory exhaustion situations. Adjusted for 16GB RAM.
|
||||
"vm.swappiness" = 10; # Adjust how aggressively the kernel swaps data from RAM to disk. Lower values prioritize keeping data in RAM. Adjusted for 16GB RAM.
|
||||
"vm.vfs_cache_pressure" = 90; # Adjust vfs_cache_pressure (0-1000) to manage memory used for caching filesystem objects. Adjusted for 16GB RAM.
|
||||
|
||||
# Nobara Tweaks
|
||||
"fs.aio-max-nr" = 1000000; # defines the maximum number of asynchronous I/O requests that can be in progress at a given time. 1048576
|
||||
"fs.inotify.max_user_watches" = 65536; # sets the maximum number of file system watches, enhancing file system monitoring capabilities. Default: 8192 TWEAKED: 524288
|
||||
"kernel.panic" = 5; # Reboot after 5 seconds on kernel panic Default: 0
|
||||
"kernel.pid_max" = 131072; # allows a large number of processes and threads to be managed Default: 32768 TWEAKED: 4194304
|
||||
};
|
||||
|
||||
}
|
40
nixos_24.11_cinnamon/config/tweaks/32GB-SYSTEM.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ config, ... }:
|
||||
|
||||
# Control how and when data is written from memory to disk, which can have an impact on system performance and responsiveness.
|
||||
# useful for optimizing memory usage, disk writeback behavior, network settings, and other low-level kernel behaviors.
|
||||
|
||||
{
|
||||
boot.kernelModules = ["tcp_bbr"];
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv4.tcp_congestion_control" = "bbr";
|
||||
"net.core.default_qdisc" = "fq";
|
||||
"net.ipv4.tcp_fastopen" = "3";
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Network and memory-related optimizationss for 32GB
|
||||
#---------------------------------------------------------------------
|
||||
"kernel.sysrq" = 1; # Enable SysRQ for rebooting the machine properly if it freezes. [Source](https://oglo.dev/tutorials/sysrq/index.html)
|
||||
"net.core.netdev_max_backlog" = 30000; # Help prevent packet loss during high traffic periods.
|
||||
"net.core.rmem_default" = 262144; # Default socket receive buffer size, improve network performance & applications that use sockets. Adjusted for 32GB RAM.
|
||||
"net.core.rmem_max" = 67108864; # Maximum socket receive buffer size, determine the amount of data that can be buffered in memory for network operations. Adjusted for 32GB RAM.
|
||||
"net.core.wmem_default" = 262144; # Default socket send buffer size, improve network performance & applications that use sockets. Adjusted for 32GB RAM.
|
||||
"net.core.wmem_max" = 67108864; # Maximum socket send buffer size, determine the amount of data that can be buffered in memory for network operations. Adjusted for 32GB RAM.
|
||||
"net.ipv4.ipfrag_high_threshold" = 5242880; # Reduce the chances of fragmentation. Adjusted for SSD.
|
||||
"net.ipv4.tcp_keepalive_intvl" = 10; # TCP keepalive interval between probes to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_probes" = 5; # TCP keepalive probes to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_time" = 60; # TCP keepalive interval in seconds to detect if a connection is still alive.
|
||||
"vm.dirty_background_bytes" = 134217728; # 128 MB
|
||||
"vm.dirty_bytes" = 402653184; # 384 MB
|
||||
"vm.min_free_kbytes" = 65536; # Minimum free memory for safety (in KB), helping prevent memory exhaustion situations. Adjusted for 32GB RAM.
|
||||
"vm.swappiness" = 5; # Adjust how aggressively the kernel swaps data from RAM to disk. Lower values prioritize keeping data in RAM. Adjusted for 32GB RAM.
|
||||
"vm.vfs_cache_pressure" = 90; # Adjust vfs_cache_pressure (0-1000) to manage memory used for caching filesystem objects. Adjusted for 32GB RAM.
|
||||
|
||||
# Nobara Tweaks
|
||||
"fs.aio-max-nr" = 1000000; # defines the maximum number of asynchronous I/O requests that can be in progress at a given time. 1048576
|
||||
"fs.inotify.max_user_watches" = 65536; # sets the maximum number of file system watches, enhancing file system monitoring capabilities. Default: 8192 TWEAKED: 524288
|
||||
"kernel.panic" = 5; # Reboot after 5 seconds on kernel panic Default: 0
|
||||
"kernel.pid_max" = 131072; # allows a large number of processes and threads to be managed Default: 32768 TWEAKED: 4194304
|
||||
|
||||
};
|
||||
}
|
33
nixos_24.11_cinnamon/config/tweaks/4GB-SYSTEM.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ config, ... }:
|
||||
|
||||
# Control how and when data is written from memory to disk, which can have an impact on system performance and responsiveness.
|
||||
# useful for optimizing memory usage, disk writeback behavior, network settings, and other low-level kernel behaviors.
|
||||
|
||||
{
|
||||
boot.kernelModules = ["tcp_bbr"];
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv4.tcp_congestion_control" = "bbr";
|
||||
"net.core.default_qdisc" = "fq";
|
||||
"net.ipv4.tcp_fastopen" = "3";
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Network and memory-related optimizationss for 4GB
|
||||
#---------------------------------------------------------------------
|
||||
"kernel.sysrq" = 1; # Enable SysRQ for rebooting the machine properly if it freezes. [Source](https://oglo.dev/tutorials/sysrq/index.html)
|
||||
"net.core.netdev_max_backlog" = 30000; # Help prevent packet loss during high traffic periods.
|
||||
"net.core.rmem_default" = 131072; # Default socket receive buffer size, improving network performance and applications that use sockets.
|
||||
"net.core.rmem_max" = 16777216; # Maximum socket receive buffer size, determining the amount of data that can be buffered in memory for network operations.
|
||||
"net.core.wmem_default" = 131072; # Default socket send buffer size, improving network performance and applications that use sockets.
|
||||
"net.core.wmem_max" = 16777216; # Maximum socket send buffer size, determining the amount of data that can be buffered in memory for network operations.
|
||||
"net.ipv4.ipfrag_high_threshold" = 8388608; # Reduce the chances of fragmentation.
|
||||
"net.ipv4.tcp_keepalive_intvl" = 30; # TCP keepalive interval between probes to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_probes" = 5; # TCP keepalive probes to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_time" = 60; # TCP keepalive interval in seconds to detect if a connection is still alive.
|
||||
"vm.dirty_background_bytes" = 8388608; # Data (8 MB) modified in memory and needs to be written to disk. (Adjusted for 4GB RAM)
|
||||
"vm.dirty_bytes" = 25165824; # Data (24 MB) modified in memory and needs to be written to disk. (Adjusted for 4GB RAM)
|
||||
"vm.min_free_kbytes" = 32768; # Minimum free memory for safety (in KB), helping prevent memory exhaustion situations. (Adjusted for 4GB RAM)
|
||||
"vm.swappiness" = 20; # Adjust how aggressively the kernel swaps data from RAM to disk. Lower values prioritize keeping data in RAM. (Adjusted for 4GB RAM)
|
||||
"vm.vfs_cache_pressure" = 100; # Adjust vfs_cache_pressure (0-1000) to manage memory used for caching filesystem objects. (Adjusted for 4GB RAM)
|
||||
};
|
||||
}
|
130
nixos_24.11_cinnamon/config/tweaks/8GB-SYSTEM.nix
Normal file
@ -0,0 +1,130 @@
|
||||
{ config, ... }:
|
||||
|
||||
# Control how and when data is written from memory to disk, which can have an impact on system performance and responsiveness.
|
||||
# useful for optimizing memory usage, disk writeback behavior, network settings, and other low-level kernel behaviors.
|
||||
|
||||
{
|
||||
boot.kernelModules = ["tcp_bbr"];
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv4.tcp_congestion_control" = "bbr";
|
||||
"net.core.default_qdisc" = "fq";
|
||||
"net.ipv4.tcp_fastopen" = "3";
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Network and memory-related optimizationss for 8GB
|
||||
#---------------------------------------------------------------------
|
||||
"kernel.sysrq" = 1; # Enable SysRQ for rebooting the machine properly if it freezes. [Source](https://oglo.dev/tutorials/sysrq/index.html)
|
||||
"net.core.netdev_max_backlog" = 30000; # Help prevent packet loss during high traffic periods.
|
||||
"net.core.rmem_default" = 262144; # Default socket receive buffer size, improve network performance & applications that use sockets. Adjusted for 8GB RAM.
|
||||
"net.core.rmem_max" = 33554432; # Maximum socket receive buffer size, determine the amount of data that can be buffered in memory for network operations. Adjusted for 8GB RAM.
|
||||
"net.core.wmem_default" = 262144; # Default socket send buffer size, improve network performance & applications that use sockets. Adjusted for 8GB RAM.
|
||||
"net.core.wmem_max" = 33554432; # Maximum socket send buffer size, determine the amount of data that can be buffered in memory for network operations. Adjusted for 8GB RAM.
|
||||
"net.ipv4.ipfrag_high_threshold" = 5242880; # Reduce the chances of fragmentation. Adjusted for SSD.
|
||||
"net.ipv4.tcp_keepalive_intvl" = 30; # TCP keepalive interval between probes to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_probes" = 5; # TCP keepalive probes to detect if a connection is still alive.
|
||||
#"net.ipv4.tcp_keepalive_time" = 300; # TCP keepalive interval in seconds to detect if a connection is still alive.
|
||||
"net.ipv4.tcp_keepalive_time" = "60"; # TCP keepalive interval in seconds to detect if a connection is still alive.
|
||||
"vm.dirty_background_bytes" = 134217728; # 128 MB
|
||||
"vm.dirty_bytes" = 402653184; # 384 MB
|
||||
"vm.min_free_kbytes" = 131072; # Minimum free memory for safety (in KB), helping prevent memory exhaustion situations. Adjusted for 8GB RAM.
|
||||
"vm.swappiness" = 10; # Adjust how aggressively the kernel swaps data from RAM to disk. Lower values prioritize keeping data in RAM. Adjusted for 8GB RAM.
|
||||
"vm.vfs_cache_pressure" = 90; # Adjust vfs_cache_pressure (0-1000) to manage memory used for caching filesystem objects. Adjusted for 8GB RAM.
|
||||
|
||||
# Nobara Tweaks
|
||||
"fs.aio-max-nr" = 1000000; # defines the maximum number of asynchronous I/O requests that can be in progress at a given time. 1048576
|
||||
"fs.inotify.max_user_watches" = 65536; # sets the maximum number of file system watches, enhancing file system monitoring capabilities. Default: 8192 TWEAKED: 524288
|
||||
"kernel.panic" = 5; # Reboot after 5 seconds on kernel panic Default: 0
|
||||
"kernel.pid_max" = 131072; # allows a large number of processes and threads to be managed Default: 32768 TWEAKED: 4194304
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# Summary of my configuration
|
||||
# -----------------------------------------------------------------
|
||||
|
||||
# Network Performance Settings:
|
||||
# ----------------------------------------------
|
||||
# "net.core.rmem_default" = 16 MB
|
||||
# "net.core.rmem_max" = 16 MB
|
||||
# "net.core.wmem_default" = 16 MB
|
||||
# "net.core.wmem_max" = 16 MB
|
||||
# These settings define the default and maximum socket buffer sizes for receiving and sending data, improving network performance and benefiting applications that use sockets.
|
||||
|
||||
# TCP Keepalive Settings:
|
||||
# ----------------------------------------------
|
||||
# "net.ipv4.tcp_keepalive_intvl" = 30 seconds
|
||||
# "net.ipv4.tcp_keepalive_probes" = 5 probes
|
||||
# "net.ipv4.tcp_keepalive_time" = 300 seconds
|
||||
# These settings configure TCP keepalive parameters, which are used to detect if a network connection is still alive.
|
||||
|
||||
# Disk Write Behavior Settings:
|
||||
# ----------------------------------------------
|
||||
# "vm.dirty_background_bytes" = 16 MB
|
||||
# "vm.dirty_bytes" = 48 MB
|
||||
# These settings control how much modified data in memory needs to be written to disk. Lower values can lead to more frequent writes.
|
||||
|
||||
# Memory Safety Setting:
|
||||
# ----------------------------------------------
|
||||
# "vm.min_free_kbytes" = 65,536 KB
|
||||
# This setting specifies the minimum amount of free memory in kilobytes, helping to prevent memory exhaustion situations.
|
||||
|
||||
# Swappiness Setting:
|
||||
# ----------------------------------------------
|
||||
# "vm.swappiness" = 1
|
||||
# This setting determines how aggressively the kernel swaps data from RAM to disk. Lower values prioritize keeping data in RAM, suitable for systems with ample memory.
|
||||
|
||||
# Cache Pressure Setting:
|
||||
# ----------------------------------------------
|
||||
# "vm.vfs_cache_pressure" = 50
|
||||
# This setting adjusts vfs_cache_pressure (0-1000), influencing how the kernel reclaims memory used for caching filesystem objects.
|
||||
|
||||
# Customize these settings based on your system's requirements and performance goals, check below for extra info.
|
||||
|
||||
# Values explained:
|
||||
# "vm.vfs_cache_pressure" = 50; Adjust vfs_cache_pressure (0-1000)
|
||||
# -----------------------------------------------------------------
|
||||
# 4GB RAM: 50 - 60 [ Lower values like 50 or 60 can be a good starting point for systems with 4GB of RAM to retain data in cache for improved file system access times ]
|
||||
# 8GB RAM: 60 - 80 [ Values around 60 to 80 are reasonable for 8GB of RAM, as you can still afford to keep more data in cache for better performance ]
|
||||
# 16GB RAM: 70 - 80 [ Lower values like 70 or 80 can be used to keep data in cache longer for systems with 16GB of RAM ]
|
||||
# 32GB RAM: 80 - 90 [ Values around 80 or 90 are suitable for systems with 32GB of RAM, allowing more data to stay in cache ]
|
||||
# 64GB RAM or More: 90 - 100 [ Lower values like 90 or 100 can minimize cache eviction for systems with very high memory, such as 64GB or more ]
|
||||
|
||||
# Low Values (e.g., 10-100):
|
||||
# Situations where you have a lot of available RAM.
|
||||
# When you want to optimize filesystem access times by keeping more data in cache.
|
||||
# Systems with large file datasets that can benefit from a larger cache.
|
||||
|
||||
# High Values (e.g., 500-1000):
|
||||
# Systems with limited RAM resources.
|
||||
# Servers or virtual machines where memory availability is critical.
|
||||
# When you want to ensure that cached memory is released more aggressively for other applications.
|
||||
|
||||
# vm.swappiness = <Recommended Value>
|
||||
# ----------------------------------------------
|
||||
# Adjusts how aggressively the kernel swaps data from RAM to disk.
|
||||
# - For systems with 4GB RAM, consider a low value (1-10) to prioritize keeping data in RAM.
|
||||
# - For systems with 8GB RAM, use a moderate value (10-30) for a balance between RAM usage and swapping.
|
||||
# - For systems with 16GB to 28GB RAM, aim for a moderate value (10-30) to optimize performance.
|
||||
# - For systems with 32GB or more RAM, a slightly higher value (30-60) may be suitable.
|
||||
# Monitor system performance and adjust as needed based on your workload and available RAM.
|
||||
|
||||
# CALCULATIONS: ( Schooling )
|
||||
# ----------------------------------------------
|
||||
# 1 MB (megabyte) = 1048576 bytes
|
||||
# To convert bytes to megabytes, divide the number of bytes by 1048576.
|
||||
|
||||
# Here's how the calculations work for the values provided:
|
||||
# For "vm.dirty_background_bytes":
|
||||
# 16777216 bytes ÷ 1048576 bytes/MB = 16 MB
|
||||
|
||||
# For "vm.dirty_bytes":
|
||||
# 50331648 bytes ÷ 1048576 bytes/MB = 48 MB
|
||||
|
||||
# These calculations provide the approximate size in megabytes for the specified values.
|
||||
|
||||
# The values "vm.dirty_background_bytes" and "vm.dirty_bytes" control how much dirty data (data that has been modified but not yet written to disk)
|
||||
# can accumulate in the system's cache before it's flushed to disk. Lowering these values, as done here, results in more frequent disk writes,
|
||||
# which can be useful when you need data to be quickly written to a USB drive.
|
11
nixos_24.11_cinnamon/config/tweaks/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
#./4GB-SYSTEM.nix
|
||||
#./8GB-SYSTEM.nix
|
||||
#./16GB-SYSTEM.nix
|
||||
./32GB-SYSTEM.nix
|
||||
./ssd-tweaks.nix
|
||||
];
|
||||
}
|
19
nixos_24.11_cinnamon/config/tweaks/hdd-tweak.nix
Normal file
@ -0,0 +1,19 @@
|
||||
{ config, ... }:
|
||||
|
||||
# Control how and when data is written from memory to disk, which can have an impact on system performance and responsiveness.
|
||||
# useful for optimizing memory usage, disk writeback behavior, network settings, and other low-level kernel behaviors.
|
||||
|
||||
{
|
||||
boot.kernel.sysctl = {
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# HDD tweaks: Adjust settings for an HDD to optimize performance.
|
||||
#---------------------------------------------------------------------
|
||||
"vm.dirty_background_ratio" = "10"; # Set the ratio of dirty memory at which background writeback starts (10% for HDD).
|
||||
"vm.dirty_expire_centisecs" = "6000"; # Set the time at which dirty data is old enough to be eligible for writeout (6000 centiseconds for HDD).
|
||||
"vm.dirty_ratio" = "20"; # Set the ratio of dirty memory at which a process is forced to write out dirty data (20% for HDD).
|
||||
"vm.dirty_time" = "0"; # Disable dirty time accounting.
|
||||
"vm.dirty_writeback_centisecs" = "1000"; # Set the interval between two consecutive background writeback passes (1000 centiseconds for HDD).
|
||||
|
||||
};
|
||||
}
|