completely refactor and modularize flake
This commit is contained in:
parent
3b1ed7e281
commit
b7210fcf8e
141 changed files with 884 additions and 2605 deletions
|
@ -1,2 +0,0 @@
|
|||
{ ... }:
|
||||
{}
|
|
@ -1,16 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
services.auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "never";
|
||||
};
|
||||
charger = {
|
||||
governor = "powersave";
|
||||
turbo = "never";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.udev.extraRules = ''
|
||||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
|
||||
'';
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./auto-cpufreq.nix
|
||||
./backlight.nix
|
||||
];
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
|
||||
imports = [
|
||||
./emulation.nix
|
||||
./jovian.nix
|
||||
];
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
melonDS
|
||||
dolphin-emu
|
||||
lime3ds
|
||||
cemu
|
||||
steam-rom-manager
|
||||
];
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
jovian = {
|
||||
decky-loader = {
|
||||
enable = true;
|
||||
user = "willifan";
|
||||
extraPackages = with pkgs; [
|
||||
# Generic packages
|
||||
curl
|
||||
unzip
|
||||
util-linux
|
||||
gnugrep
|
||||
|
||||
readline.out
|
||||
procps
|
||||
pciutils
|
||||
libpulseaudio
|
||||
|
||||
# SimpleDeckyTDP
|
||||
ryzenadj # actual TDP util
|
||||
kmod # modprobe for acpi_call check
|
||||
];
|
||||
extraPythonPackages = pythonPackages: with pythonPackages; [
|
||||
pyyaml # hhd-decky
|
||||
aiohttp
|
||||
certifi
|
||||
];
|
||||
};
|
||||
devices.steamdeck = {
|
||||
enable = true;
|
||||
enableGyroDsuService = true;
|
||||
};
|
||||
hardware.has.amd.gpu = true;
|
||||
steam = {
|
||||
enable = true;
|
||||
user = "willifan";
|
||||
autoStart = true;
|
||||
desktopSession = "hyprland";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
python3
|
||||
];
|
||||
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
{ ... }:
|
||||
{}
|
|
@ -1,7 +0,0 @@
|
|||
{ type, hostname, ... }:
|
||||
{
|
||||
imports = [
|
||||
./${hostname}
|
||||
./${type}
|
||||
];
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
{ pkgs, attrs, system, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages =
|
||||
(with pkgs; [
|
||||
|
||||
bc
|
||||
jq
|
||||
xorg.xrandr
|
||||
|
||||
feh
|
||||
|
||||
enpass
|
||||
vesktop
|
||||
obsidian
|
||||
kicad
|
||||
protonmail-desktop
|
||||
signal-desktop
|
||||
|
||||
piper
|
||||
|
||||
qemu
|
||||
|
||||
libreoffice
|
||||
blender
|
||||
gimp
|
||||
inkscape
|
||||
prusa-slicer
|
||||
UVtools
|
||||
audacity
|
||||
|
||||
glib
|
||||
])
|
||||
++
|
||||
[
|
||||
attrs.zen.packages.${system}.specific
|
||||
];
|
||||
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
|
||||
imports = [
|
||||
./dev
|
||||
./games
|
||||
./hyprland
|
||||
./keyboard
|
||||
./web
|
||||
|
||||
./applications.nix
|
||||
./kitty.nix
|
||||
./thunar.nix
|
||||
];
|
||||
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./embedded.nix
|
||||
./logic-analyzer.nix
|
||||
./vscodium.nix
|
||||
];
|
||||
|
||||
|
||||
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
|
||||
}
|
|
@ -1,160 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
services.udev.extraRules = ''
|
||||
|
||||
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="614e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# Copy this file to /etc/udev/rules.d/
|
||||
# If rules fail to reload automatically, you can refresh udev rules
|
||||
# with the command "udevadm control --reload"
|
||||
|
||||
# This rules are based on the udev rules from the OpenOCD project, with unsupported probes removed.
|
||||
# See http://openocd.org/ for more details.
|
||||
#
|
||||
# This file is available under the GNU General Public License v2.0
|
||||
|
||||
ACTION!="add|change", GOTO="probe_rs_rules_end"
|
||||
|
||||
SUBSYSTEM=="gpio", MODE="0660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
SUBSYSTEM!="usb|tty|hidraw", GOTO="probe_rs_rules_end"
|
||||
|
||||
# Please keep this list sorted by VID:PID
|
||||
|
||||
# STMicroelectronics ST-LINK V1
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# STMicroelectronics ST-LINK/V2
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# STMicroelectronics ST-LINK/V2.1
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# STMicroelectronics STLINK-V3
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374d", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374f", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3753", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3754", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# SEGGER J-Link
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0101", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0103", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0104", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0105", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0107", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0108", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1001", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1003", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1004", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1005", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1006", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1007", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1008", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1009", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100c", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100d", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="100f", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1010", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1011", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1012", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1013", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1014", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1016", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1017", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1018", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1019", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101c", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101d", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="101f", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1020", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1021", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1022", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1023", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1024", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1025", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1026", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1027", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1028", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1029", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102c", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102d", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="102f", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1050", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1051", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1052", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1053", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1054", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1055", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1056", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1057", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1058", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1059", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105c", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105d", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="105f", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1060", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1061", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1062", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1063", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1064", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1065", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1066", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1067", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1068", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1069", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106c", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106d", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="106f", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# FT232H
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
# FT2232x
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
# FT4232H
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# FTDI-based Olimex devices
|
||||
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x0003", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x0004", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x002a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0x15ba", ATTRS{idProduct}=="0x002b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# Espressif USB JTAG/serial debug unit
|
||||
ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
# Espressif USB Bridge
|
||||
ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
# CMSIS-DAP compatible adapters
|
||||
ATTRS{product}=="*CMSIS-DAP*", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
# WCH Link (CMSIS-DAP compatible adapter)
|
||||
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="8011", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
ATTRS{idVendor}=="2341", ATTRS{idProduct}=="8036", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||||
|
||||
LABEL="probe_rs_rules_end"
|
||||
|
||||
'';
|
||||
}
|
|
@ -1,433 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
pulseview
|
||||
];
|
||||
|
||||
hardware.saleae-logic.enable = true;
|
||||
|
||||
services.udev.packages = [
|
||||
pkgs.android-udev-rules
|
||||
(pkgs.writeTextFile {
|
||||
name = "sigrok";
|
||||
text = ''
|
||||
##
|
||||
## This file is part of the libsigrok project.
|
||||
##
|
||||
## Copyright (C) 2010-2013 Uwe Hermann <uwe@hermann-uwe.de>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 2 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
#
|
||||
# These rules do not grant any permission by itself, but flag devices
|
||||
# supported by libsigrok.
|
||||
# The access policy is stored in the 61-libsigrok-plugdev.rules and
|
||||
# 61-libsigrok-uaccess.rules.
|
||||
#
|
||||
# Note: Any syntax changes here will need to be tested against the
|
||||
# 'update-device-filter' Makefile target in the sigrok-androidutils
|
||||
# repo, since that parses this file.
|
||||
#
|
||||
|
||||
#
|
||||
# Please keep this list sorted alphabetically by vendor/device name.
|
||||
#
|
||||
|
||||
ACTION!="add|change", GOTO="libsigrok_rules_end"
|
||||
SUBSYSTEM!="usb|usbmisc|usb_device|hidraw", GOTO="libsigrok_rules_end"
|
||||
|
||||
# Agilent USBTMC-connected devices
|
||||
# 34405A
|
||||
ATTRS{idVendor}=="0957", ATTRS{idProduct}=="0618", ENV{ID_SIGROK}="1"
|
||||
# 34410A
|
||||
ATTRS{idVendor}=="0957", ATTRS{idProduct}=="0607", ENV{ID_SIGROK}="1"
|
||||
# 34460A
|
||||
ATTRS{idVendor}=="0957", ATTRS{idProduct}=="1b07", ENV{ID_SIGROK}="1"
|
||||
# DSO1000 series
|
||||
ATTRS{idVendor}=="0957", ATTRS{idProduct}=="0588", ENV{ID_SIGROK}="1"
|
||||
# MSO7000A series
|
||||
ATTRS{idVendor}=="0957", ATTRS{idProduct}=="1735", ENV{ID_SIGROK}="1"
|
||||
|
||||
# ASIX SIGMA
|
||||
# ASIX SIGMA2
|
||||
# ASIX OMEGA
|
||||
ATTRS{idVendor}=="a600", ATTRS{idProduct}=="a000", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="a600", ATTRS{idProduct}=="a004", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Braintechnology USB-LPS
|
||||
ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0498", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Brymen BU-86X adapter (e.g. for Brymen BM867/BM869 and possibly others).
|
||||
ATTRS{idVendor}=="0820", ATTRS{idProduct}=="0001", ENV{ID_SIGROK}="1"
|
||||
|
||||
# ChronoVu LA8 (new VID/PID)
|
||||
# ChronoVu LA16 (new VID/PID)
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8867", ENV{ID_SIGROK}="1"
|
||||
|
||||
# CWAV USBee AX
|
||||
# ARMFLY AX-Pro (clone of the CWAV USBee AX)
|
||||
# ARMFLY Mini-Logic (clone of the CWAV USBee AX)
|
||||
# EE Electronics ESLA201A (clone of the CWAV USBee AX)
|
||||
# HT USBee-AxPro (clone of the CWAV USBee AX)
|
||||
# MCU123 USBee AX Pro clone (clone of the CWAV USBee AX)
|
||||
# Noname LHT00SU1 (clone of the CWAV USBee AX)
|
||||
# XZL_Studio AX (clone of the CWAV USBee AX)
|
||||
ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0014", ENV{ID_SIGROK}="1"
|
||||
|
||||
# CWAV USBee DX
|
||||
# HT USBee-DxPro (clone of the CWAV USBee DX), not yet supported!
|
||||
# XZL_Studio DX (clone of the CWAV USBee DX)
|
||||
ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0015", ENV{ID_SIGROK}="1"
|
||||
|
||||
# CWAV USBee SX
|
||||
ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0009", ENV{ID_SIGROK}="1"
|
||||
|
||||
# CWAV USBee ZX
|
||||
ATTRS{idVendor}=="08a9", ATTRS{idProduct}=="0005", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Cypress FX2 eval boards without EEPROM:
|
||||
# Lcsoft Mini Board
|
||||
# Braintechnology USB Interface V2.x
|
||||
# fx2grok-tiny
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="8613", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Dangerous Prototypes Buspirate (v3)
|
||||
# ChronoVu LA8 (old VID/PID)
|
||||
# ChronoVu LA16 (old VID/PID)
|
||||
# ftdi-la (FT232R)
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Dangerous Prototypes Buspirate (v4)
|
||||
ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb00", ENV{ID_SIGROK}="1"
|
||||
|
||||
# dcttech.com USB relay card, and other V-USB based firmware
|
||||
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", ENV{ID_SIGROK}="1"
|
||||
|
||||
# DreamSourceLab DSLogic
|
||||
ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0001", ENV{ID_SIGROK}="1"
|
||||
# DreamSourceLab DSLogic Pro
|
||||
ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0003", ENV{ID_SIGROK}="1"
|
||||
# DreamSourceLab DScope
|
||||
ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0002", ENV{ID_SIGROK}="1"
|
||||
# DreamSourceLab DSLogic Plus
|
||||
ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0020", ENV{ID_SIGROK}="1"
|
||||
# DreamSourceLab DSLogic Basic
|
||||
ATTRS{idVendor}=="2a0e", ATTRS{idProduct}=="0021", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Great Scott Gadgets
|
||||
# GreatFET One
|
||||
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60e6", ENV{ID_SIGROK}="1"
|
||||
|
||||
# GW-Instek GDM-9061 (USBTMC mode)
|
||||
ATTRS{idVendor}=="2184", ATTRS{idProduct}=="0059", ENV{ID_SIGROK}="1"
|
||||
|
||||
# HAMEG HO720
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="ed72", ENV{ID_SIGROK}="1"
|
||||
|
||||
# HAMEG HO730
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="ed73", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek DSO-2090
|
||||
# lsusb: "04b4:2090 Cypress Semiconductor Corp."
|
||||
# lsusb after FW upload: "04b5:2090 ROHM LSI Systems USA, LLC"
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2090", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="2090", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek DSO-2150
|
||||
# lsusb: "04b4:2150 Cypress Semiconductor Corp."
|
||||
# lsusb after FW upload: "04b5:2150 ROHM LSI Systems USA, LLC"
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2150", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="2150", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek DSO-2250
|
||||
# lsusb: "04b4:2250 Cypress Semiconductor Corp."
|
||||
# lsusb after FW upload: "04b5:2250 ROHM LSI Systems USA, LLC"
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2250", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="2250", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek DSO-5200
|
||||
# lsusb: "04b4:5200 Cypress Semiconductor Corp."
|
||||
# lsusb after FW upload: "04b5:5200 ROHM LSI Systems USA, LLC"
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="5200", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="5200", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek DSO-5200A
|
||||
# lsusb: "04b4:520a Cypress Semiconductor Corp."
|
||||
# lsusb after FW upload: "04b5:520a ROHM LSI Systems USA, LLC"
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="520a", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="520a", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek 6022BE, renumerates as 1d50:608e "sigrok fx2lafw", Serial: Hantek 6022BE
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="6022", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek 6022BL, renumerates as 1d50:608e "sigrok fx2lafw", Serial: Hantek 6022BL
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="602a", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Hantek 4032L
|
||||
ATTRS{idVendor}=="04b5", ATTRS{idProduct}=="4032", ENV{ID_SIGROK}="1"
|
||||
|
||||
# IKALOGIC Scanalogic-2
|
||||
ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4123", ENV{ID_SIGROK}="1"
|
||||
|
||||
# IKALOGIC ScanaPLUS
|
||||
# ftdi-la (FT232H)
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", ENV{ID_SIGROK}="1"
|
||||
|
||||
# ftdi-la (TIAO USB Multi Protocol Adapter (TUMPA))
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Kecheng KC-330B
|
||||
ATTRS{idVendor}=="1041", ATTRS{idProduct}=="8101", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Keysight USBTMC-connected devices
|
||||
# 34465A
|
||||
ATTRS{idVendor}=="2a8d", ATTRS{idProduct}=="0101", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Kingst LA2016
|
||||
ATTRS{idVendor}=="77a1", ATTRS{idProduct}=="01a2", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Lascar Electronics EL-USB-2
|
||||
# Lascar Electronics EL-USB-CO
|
||||
# This is actually the generic SiLabs (Cygnal) F32x USBXpress VID:PID.
|
||||
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="0002", ENV{ID_SIGROK}="1"
|
||||
|
||||
# LeCroy LogicStudio16
|
||||
ATTRS{idVendor}=="05ff", ATTRS{idProduct}=="a001", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="05ff", ATTRS{idProduct}=="a002", ENV{ID_SIGROK}="1"
|
||||
|
||||
# LeCroy WaveRunner
|
||||
# 05ff:1023: 625Zi
|
||||
ATTRS{idVendor}=="05ff", ATTRS{idProduct}=="1023", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Link Instruments MSO-19
|
||||
ATTRS{idVendor}=="3195", ATTRS{idProduct}=="f190", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Logic Shrimp
|
||||
ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fa95", ENV{ID_SIGROK}="1"
|
||||
|
||||
# MiniLA Mockup
|
||||
# ftdi-la (FT2232H)
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", ENV{ID_SIGROK}="1"
|
||||
|
||||
# ftdi-la (FT4232H)
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", ENV{ID_SIGROK}="1"
|
||||
|
||||
# MIC 98581
|
||||
# MIC 98583
|
||||
# Tondaj SL-814
|
||||
ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Microchip PICkit2
|
||||
ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="0033", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Openbench Logic Sniffer
|
||||
ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="000a", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol DS1000 series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0588", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol 1000Z series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04ce", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol DS2000 series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04b0", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol DS4000 series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="04b1", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol DG4000 series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0641", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol DG1000z series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0642", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol DG800 and DG900 series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0643", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol DP800 series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0e11", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rigol MSO5000 series
|
||||
ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0515", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rohde&Schwarz HMO series mixed-signal oscilloscope (previously branded Hameg) VCP/USBTMC mode
|
||||
ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0117", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0118", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0119", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Rohde&Schwarz HMC series power supply (previously branded Hameg) VCP/USBTMC mode
|
||||
ATTRS{idVendor}=="0aad", ATTRS{idProduct}=="0135", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Sainsmart DDS120 / Rocktech BM102, renumerates as 1d50:608e "sigrok fx2lafw", Serial: Sainsmart DDS120
|
||||
ATTRS{idVendor}=="8102", ATTRS{idProduct}=="8102", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Saleae Logic
|
||||
# EE Electronics ESLA100 (clone of the Saleae Logic)
|
||||
# Hantek 6022BL in LA mode (clone of the Saleae Logic)
|
||||
# Instrustar ISDS205X in LA mode (clone of the Saleae Logic)
|
||||
# Robomotic MiniLogic (clone of the Saleae Logic)
|
||||
# Robomotic BugLogic 3 (clone of the Saleae Logic)
|
||||
# MCU123 Saleae Logic clone (clone of the Saleae Logic)
|
||||
ATTRS{idVendor}=="0925", ATTRS{idProduct}=="3881", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Saleae Logic16
|
||||
ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1001", ENV{ID_SIGROK}="1"
|
||||
|
||||
ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1003", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Saleae Logic 8, currently unsupported by libsigrok
|
||||
#ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1004", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Saleae Logic Pro 8
|
||||
ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1005", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Saleae Logic Pro 16
|
||||
ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1006", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Siglent USBTMC devices.
|
||||
# f4ec:ee3a: E.g. SDS1052DL+ scope
|
||||
# f4ec:ee38: E.g. SDS1104X-E scope or SDM3055 Multimeter
|
||||
# f4ed:ee3a: E.g. SDS1202X-E scope or SDG1010 waveform generator
|
||||
ATTRS{idVendor}=="f4ec", ATTRS{idProduct}=="ee38", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="f4ec", ATTRS{idProduct}=="ee3a", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="f4ed", ATTRS{idProduct}=="ee3a", ENV{ID_SIGROK}="1"
|
||||
|
||||
# sigrok FX2 LA (8ch)
|
||||
# fx2grok-flat (before and after renumeration)
|
||||
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608c", ENV{ID_SIGROK}="1"
|
||||
|
||||
# sigrok FX2 LA (16ch)
|
||||
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608d", ENV{ID_SIGROK}="1"
|
||||
|
||||
# sigrok FX2 DSO (2ch)
|
||||
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608e", ENV{ID_SIGROK}="1"
|
||||
|
||||
# sigrok usb-c-grok
|
||||
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608f", ENV{ID_SIGROK}="1"
|
||||
|
||||
# SiLabs CP210x (USB CDC) UART bridge, used (among others) in:
|
||||
# CEM DT-8852
|
||||
# Manson HCS-3202
|
||||
# MASTECH MS2115B
|
||||
# MASTECH MS5308
|
||||
# MASTECH MS8250D
|
||||
# PeakTech 3330
|
||||
# Voltcraft PPS-11815
|
||||
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ENV{ID_SIGROK}="1"
|
||||
|
||||
# SiLabs CP2110 (USB HID) UART bridge, used (among others) in:
|
||||
# UNI-T UT612
|
||||
# UNI-T UT-D09 multimeter cable (for various UNI-T and rebranded DMMs)
|
||||
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea80", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Sysclk LWLA1016
|
||||
ATTRS{idVendor}=="2961", ATTRS{idProduct}=="6688", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Sysclk LWLA1034
|
||||
ATTRS{idVendor}=="2961", ATTRS{idProduct}=="6689", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Sysclk SLA5032 ("32CH 500M" mode)
|
||||
ATTRS{idVendor}=="2961", ATTRS{idProduct}=="66b0", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Testo 435
|
||||
ATTRS{idVendor}=="128d", ATTRS{idProduct}=="0003", ENV{ID_SIGROK}="1"
|
||||
|
||||
# UNI-T UT-D04 multimeter cable (for various UNI-T and rebranded DMMs)
|
||||
# UNI-T UT325
|
||||
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="e008", ENV{ID_SIGROK}="1"
|
||||
|
||||
# V&A VA4000 multimeter cable (for various V&A DMMs)
|
||||
ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="0201", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Victor 70C
|
||||
# Victor 86C
|
||||
ATTRS{idVendor}=="1244", ATTRS{idProduct}=="d237", ENV{ID_SIGROK}="1"
|
||||
|
||||
# Voltcraft DSO2020, renumerates as 1d50:608e "sigrok fx2lafw", Serial: Hantek 6022BE
|
||||
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="2020", ENV{ID_SIGROK}="1"
|
||||
|
||||
# YiXingDianZi MDSO
|
||||
ATTRS{idVendor}=="d4a2", ATTRS{idProduct}=="5660", ENV{ID_SIGROK}="1"
|
||||
|
||||
# ZEROPLUS Logic Cube LAP-C series
|
||||
# There are various devices in the ZEROPLUS Logic Cube series:
|
||||
# 0c12:7002: LAP-16128U
|
||||
# 0c12:7009: LAP-C(16064)
|
||||
# 0c12:700a: LAP-C(16128)
|
||||
# 0c12:700b: LAP-C(32128)
|
||||
# 0c12:700c: LAP-C(321000)
|
||||
# 0c12:700d: LAP-C(322000)
|
||||
# 0c12:700e: LAP-C(16032)
|
||||
# 0c12:7016: LAP-C(162000)
|
||||
# 0c12:7025: LAP-C(16128+)
|
||||
# 0c12:7100: AKIP-9101
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7002", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7007", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7009", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700a", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700b", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700c", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700d", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="700e", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7016", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7025", ENV{ID_SIGROK}="1"
|
||||
ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="7100", ENV{ID_SIGROK}="1"
|
||||
|
||||
LABEL="libsigrok_rules_end"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/60-libsigrok.rules";
|
||||
})
|
||||
|
||||
(pkgs.writeTextFile {
|
||||
name = "sigrok_uaccess";
|
||||
text = ''
|
||||
##
|
||||
## This file is part of the libsigrok project.
|
||||
##
|
||||
## Copyright (C) 2017 Stefan Bruens <stefan.bruens@rwth-aachen.de>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 2 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
# Grant access permissions to users who are currently logged in locally.
|
||||
# This is the default policy for systems using systemd-logind (or a
|
||||
# compatible replacement).
|
||||
#
|
||||
# This file, when installed, must be installed with a name lexicographically
|
||||
# sorted later than the accompanied 60-libsigrok.rules, and earlier than
|
||||
# the systemd upstream 71-seat.rules.
|
||||
|
||||
ACTION!="add|change", GOTO="libsigrok_rules_uaccess_end"
|
||||
|
||||
ENV{ID_SIGROK}=="1", TAG+="uaccess"
|
||||
|
||||
LABEL="libsigrok_rules_uaccess_end"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/61-libsigrok-uaccess.rules";
|
||||
})
|
||||
];
|
||||
|
||||
}
|
|
@ -1,62 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
|
||||
userSettings = {
|
||||
"[nix]"."editor.tabSize" = 2;
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"cmake.showOptionsMovedNotification" = false;
|
||||
"extensions.autoUpdate" = false;
|
||||
};
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
# System
|
||||
arrterian.nix-env-selector
|
||||
bbenoist.nix
|
||||
#fireblast.hyprlang-vscode
|
||||
#eww-yuck.yuck
|
||||
|
||||
#Rust
|
||||
rust-lang.rust-analyzer
|
||||
serayuzgur.crates
|
||||
bungcip.better-toml
|
||||
vadimcn.vscode-lldb
|
||||
usernamehw.errorlens
|
||||
|
||||
#C/C++
|
||||
ms-vscode.cpptools
|
||||
twxs.cmake
|
||||
ms-vscode.cmake-tools
|
||||
|
||||
#Shell
|
||||
timonwong.shellcheck
|
||||
mads-hartmann.bash-ide-vscode
|
||||
|
||||
#Git
|
||||
#phil294.git-log--graph
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "hyprlang-vscode";
|
||||
publisher = "fireblast";
|
||||
version = "0.0.1";
|
||||
sha256 = "lSMihMIue0qu9+97EgT5dqjbzsey0TLZDpJby+Piip4=";
|
||||
}
|
||||
{
|
||||
name = "yuck";
|
||||
publisher = "eww-yuck";
|
||||
version = "0.0.3";
|
||||
sha256 = "DITgLedaO0Ifrttu+ZXkiaVA7Ua5RXc4jXQHPYLqrcM=";
|
||||
}
|
||||
{
|
||||
name = "git-log--graph";
|
||||
publisher = "phil294";
|
||||
version = "0.1.15";
|
||||
sha256 = "lvjDkvXSX7rw7HyyK3WWQLnGezvL6FPEgtjIi8KWkU0=";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
services.udev.extraRules = ''
|
||||
# Disable mouse as gamepad
|
||||
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1906", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-joystick'"
|
||||
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1908", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-joystick'"
|
||||
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1906", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-event-joystick'"
|
||||
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1908", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-event-joystick'"
|
||||
'';
|
||||
|
||||
services.ratbagd = {
|
||||
enable = true;
|
||||
package = pkgs.libratbag.overrideAttrs (previousAttrs: {
|
||||
postInstall = ''
|
||||
# Ensure the target directory exists
|
||||
mkdir -p $out/share/libratbag/
|
||||
# cat the custom configuration file
|
||||
cat << EOF > $out/share/libratbag/asus-rog-pugio-II.device
|
||||
[Device]
|
||||
Name=ASUS ROG Pugio II
|
||||
DeviceMatch=usb:0b05:1906;usb:0b05:1908
|
||||
Driver=asus
|
||||
|
||||
[Driver/asus]
|
||||
Profiles=3
|
||||
Buttons=10
|
||||
Leds=3
|
||||
Dpis=4
|
||||
Wireless=1
|
||||
DpiRange=100:16000@100
|
||||
ButtonMapping=f0;f1;f2;e4;e5;e6;0;e8;e9;e1;e2
|
||||
EOF
|
||||
'';
|
||||
});
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
|
||||
imports = [
|
||||
|
||||
./mangohud.nix
|
||||
./minecraft.nix
|
||||
./moonlight.nix
|
||||
./ROG_Pugio_II_fixes.nix
|
||||
./steam.nix
|
||||
./tetrio.nix
|
||||
./yuzu.nix
|
||||
|
||||
];
|
||||
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
mangohud
|
||||
];
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
prismlauncher
|
||||
];
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.moonlight-qt
|
||||
];
|
||||
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="tty", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2102", MODE="0660", TAG+="uaccess"
|
||||
'';
|
||||
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.tetrio-desktop
|
||||
];
|
||||
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
yuzu
|
||||
];
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = ''Hyprland'';
|
||||
user = "willifan";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./autologin.nix
|
||||
./hypridle.nix
|
||||
./hyprlock.nix
|
||||
./kanshi.nix
|
||||
|
||||
./fuzzel.nix
|
||||
./hyprland.nix
|
||||
./hyprpaper.nix
|
||||
./mako.nix
|
||||
./pipewire.nix
|
||||
./polkit.nix
|
||||
./utils.nix
|
||||
./wlogout.nix
|
||||
];
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
lines = 12;
|
||||
width = 45;
|
||||
line-height = 20;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
|
||||
before_sleep_cmd = "loginctl lock-session && sleep 2"; # lock before suspend.
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
|
||||
};
|
||||
|
||||
listener = [
|
||||
#{
|
||||
# timeout = 150; # 2.5min.
|
||||
# on-timeout = brightnessctl -s set 10; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||
# on-resume = brightnessctl -r; # monitor backlight restor.
|
||||
#}
|
||||
|
||||
{
|
||||
timeout = 300; # 5min
|
||||
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 380; # 5.5min
|
||||
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
|
||||
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 600; # 30min
|
||||
on-timeout = "systemctl suspend-then-hibernate"; # suspend pc
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,257 +0,0 @@
|
|||
{ pkgs, ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.variables = ["--all"];
|
||||
package = pkgs.hyprland;
|
||||
settings = {
|
||||
|
||||
|
||||
"$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts";
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo=true;
|
||||
};
|
||||
|
||||
monitor = [
|
||||
", preffered, auto, 1"
|
||||
"eDP-1, preferred, 0x0, 1.6"
|
||||
"desc:ViewSonic Corporation VX2705-2KP W6Z205100250, 2560x1440@144Hz, 0x384, 1.25"
|
||||
"desc:ViewSonic Corporation VX2705-2KP W6Z210400766, 2560x1440@144Hz, 2048x384, 1.25"
|
||||
"desc:BNQ BenQ BL2283 CAM01567019, 1920x1080@60Hz, 4096x0, 1.0, transform, 3"
|
||||
];
|
||||
# Execute your favorite apps at launch
|
||||
exec-once = [
|
||||
''hyprctl dispatch exec "[workspace 1 silent] zen"''
|
||||
''hyprctl dispatch exec "[workspace 2 silent] kitty"''
|
||||
#''hyprctl dispatch exec "[workspace 3 silent] "''
|
||||
#''hyprctl dispatch exec "[workspace 4 silent] "''
|
||||
#''hyprctl dispatch exec "[workspace 8 silent] "''
|
||||
''hyprctl dispatch exec "[workspace 9 silent] vesktop"''
|
||||
''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"''
|
||||
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
|
||||
#''hyprctl dispatch exec "[workspace special:altgr silent]"''
|
||||
#''hyprctl dispatch exec "[workspace special:strg silent] "''
|
||||
];
|
||||
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_options = "compose:menu";
|
||||
kb_rules = "";
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
touchpad.natural_scroll = "yes";
|
||||
|
||||
sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification.
|
||||
numlock_by_default = 1;
|
||||
special_fallthrough = true;
|
||||
};
|
||||
|
||||
|
||||
|
||||
general = {
|
||||
|
||||
gaps_in = 2;
|
||||
gaps_out = 5;
|
||||
border_size = 2;
|
||||
# "col.active_border" = "rgba(ffa44bee)";
|
||||
# "col.inactive_border" = "rgba(595959aa)";
|
||||
|
||||
layout = "dwindle";
|
||||
|
||||
resize_on_border = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
|
||||
rounding = 10;
|
||||
|
||||
blur = {
|
||||
enabled = false;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
new_optimizations = 1;
|
||||
};
|
||||
|
||||
shadow.enabled = true;
|
||||
shadow.range = 4;
|
||||
shadow.render_power = 3;
|
||||
# "col.shadow" = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
misc = {
|
||||
vfr = true;
|
||||
mouse_move_enables_dpms = true;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = "yes";
|
||||
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
"specialWorkspace, 1, 8, default, slidefadevert 20%"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = "yes"; # you probably want this
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = "on";
|
||||
workspace_swipe_create_new = "false";
|
||||
};
|
||||
|
||||
device = {
|
||||
name = "pixa3854:00-093a:0274-touchpad";
|
||||
sensitivity = 0;
|
||||
natural_scroll = "yes";
|
||||
};
|
||||
|
||||
windowrule = [
|
||||
"idleinhibit fullscreen, ^(firefox)$"
|
||||
"float, ^(thunar)$"
|
||||
"stayfocused, title:^(Enpass Assistant)$"
|
||||
"pin, title:^(Enpass Assistant)$"
|
||||
"center, title:^(Enpass Assistant)$"
|
||||
"float, ^(Enpass)$"
|
||||
"center, ^(Enpass)$"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"center, xwayland:(1)"
|
||||
"nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$"
|
||||
''workspace +0, workspace:name:special:ctrl, floating:0''
|
||||
''float, workspace:name:special:altgr, onworkspace:w[2]''
|
||||
''float, workspace:name:special:strg, onworkspace:w[1]''
|
||||
''workspace +0, workspace:name:special:strg, floating:0''
|
||||
];
|
||||
|
||||
"$mainMod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
''$mainMod, Q, exec, kitty''
|
||||
''$mainMod, C, killactive, ''
|
||||
''$mainMod, M, exit, ''
|
||||
''$mainMod, E, exec, thunar''
|
||||
''$mainMod, V, togglefloating, ''
|
||||
''$mainMod, R, exec, fuzzel''
|
||||
''$mainMod, P, exec, Enpass''
|
||||
''$mainMod, F, fullscreen''
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
''$mainMod, h, movefocus, l''
|
||||
''$mainMod, l, movefocus, r''
|
||||
''$mainMod, k, movefocus, u''
|
||||
''$mainMod, j, movefocus, d''
|
||||
|
||||
'', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
|
||||
'', XF86AudioPrev, exec, playerctl previous''
|
||||
'', XF86AudioPlay, exec, playerctl play-pause''
|
||||
'', XF86AudioNext, exec, playerctl next''
|
||||
'', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png''
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1''
|
||||
''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2''
|
||||
''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3''
|
||||
''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4''
|
||||
''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5''
|
||||
''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6''
|
||||
''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7''
|
||||
''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8''
|
||||
''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9''
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
''$mainMod SHIFT, 1, movetoworkspace, 1''
|
||||
''$mainMod SHIFT, 2, movetoworkspace, 2''
|
||||
''$mainMod SHIFT, 3, movetoworkspace, 3''
|
||||
''$mainMod SHIFT, 4, movetoworkspace, 4''
|
||||
''$mainMod SHIFT, 5, movetoworkspace, 5''
|
||||
''$mainMod SHIFT, 6, movetoworkspace, 6''
|
||||
''$mainMod SHIFT, 7, movetoworkspace, 7''
|
||||
''$mainMod SHIFT, 8, movetoworkspace, 8''
|
||||
''$mainMod SHIFT, 9, movetoworkspace, 9''
|
||||
|
||||
# Monitor focus
|
||||
''$mainMod ALT, 1, focusmonitor, 0''
|
||||
''$mainMod ALT, 2, focusmonitor, 1''
|
||||
''$mainMod ALT, 3, focusmonitor, 2''
|
||||
''$mainMod ALT, 4, focusmonitor, 3''
|
||||
''$mainMod ALT, 5, focusmonitor, 4''
|
||||
''$mainMod ALT, 6, focusmonitor, 5''
|
||||
''$mainMod ALT, 7, focusmonitor, 6''
|
||||
''$mainMod ALT, 8, focusmonitor, 7''
|
||||
''$mainMod ALT, 9, focusmonitor, 8''
|
||||
''$mainMod ALT, 0, focusmonitor, 9''
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
''$mainMod, mouse_down, workspace, e+1''
|
||||
''$mainMod, mouse_up, workspace, e-1''
|
||||
];
|
||||
|
||||
binde = [
|
||||
'', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5''
|
||||
'', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5''
|
||||
];
|
||||
|
||||
bindel = [
|
||||
'', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800''
|
||||
'', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800''
|
||||
];
|
||||
|
||||
bindr = [
|
||||
''SUPERCTRL, Control_L, togglespecialworkspace, ctrl''
|
||||
''SUPERALT, Alt_L, togglespecialworkspace, alt''
|
||||
''SUPERALT, ALT_R, togglespecialworkspace, altgr''
|
||||
''SUPERCTRL, Control_R, togglespecialworkspace, strg''
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
''$mainMod, mouse:272, movewindow''
|
||||
''$mainMod, mouse:273, resizewindow''
|
||||
];
|
||||
|
||||
# ------------------------------------------
|
||||
# ########################################
|
||||
# ####### Workspaces ###########
|
||||
# ########################################
|
||||
# ------------------------------------------
|
||||
|
||||
workspace = [
|
||||
"1, persistent:true"
|
||||
"2, persistent:true"
|
||||
"3, persistent:true"
|
||||
"4, persistent:true"
|
||||
"5, persistent:true"
|
||||
"6, persistent:true"
|
||||
"7, persistent:true"
|
||||
"8, persistent:true"
|
||||
"8, persistent:true"
|
||||
"9, persistent:true"
|
||||
|
||||
"name:special:ctrl, persistent:true"
|
||||
"name:special:alt, persistent:true"
|
||||
"name:special:altgr, persistent:true"
|
||||
"name:special:strg, persistent:true"
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
security.pam.services.hyprlock = {};
|
||||
|
||||
home-manager.users.willifan = {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background = {
|
||||
monitor = "";
|
||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||
blur_passes = 3; # 0 disables blurring
|
||||
blur_size = 7;
|
||||
noise = 0.0117;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.8172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
};
|
||||
|
||||
input-field = {
|
||||
monitor = "";
|
||||
size = "300, 75";
|
||||
outline_thickness = 3;
|
||||
dots_size = 0.33; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.15; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = false;
|
||||
dots_rounding = -1; # -1 default circle, -2 follow input-field rounding
|
||||
fade_on_empty = true;
|
||||
fade_timeout = 1000; # Milliseconds before fade_on_empty is triggered.
|
||||
placeholder_text = "<i>Input Password...</i>"; # Text rendered in the input box when it's empty.
|
||||
hide_input = false;
|
||||
rounding = -1; # -1 means complete rounding (circle/oval)
|
||||
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>"; # can be set to empty
|
||||
fail_transition = 300; # transition time in ms between normal outer_color and fail_color
|
||||
capslock_color = -1;
|
||||
numlock_color = -1;
|
||||
bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
|
||||
invert_numlock = false; # change color if numlock is off
|
||||
position = "0, -20";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
|
||||
label = {
|
||||
monitor = "";
|
||||
text = "Hi there, $USER";
|
||||
color = "rgba(200, 200, 200, 1.0)";
|
||||
font_size = 25;
|
||||
font_family = "Noto Sans";
|
||||
position = "0, 80";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
splash = true;
|
||||
|
||||
ipc = "off";
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,151 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
|
||||
settings = [
|
||||
{
|
||||
profile.name = "default";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
mode = "2256x1504";
|
||||
position = "0,0";
|
||||
scale = 1.6;
|
||||
}
|
||||
];
|
||||
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||
}
|
||||
|
||||
{
|
||||
profile.name = "home";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "ViewSonic Corporation VX2705-2KP W6Z205100250";
|
||||
mode = "2560x1440";
|
||||
position = "0,384";
|
||||
scale = 1.25;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "ViewSonic Corporation VX2705-2KP W6Z210400766";
|
||||
mode = "2560x1440@143.91Hz";
|
||||
position = "2048,384";
|
||||
scale = 1.25;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "BNQ BenQ BL2283 CAM01567019";
|
||||
mode = "1920x1080";
|
||||
position = "4096,0";
|
||||
scale = 1.0;
|
||||
transform = "270";
|
||||
}
|
||||
];
|
||||
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||
}
|
||||
|
||||
{
|
||||
profile.name = "LeoBots1";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "Samsung Electric Company S24F350 H4LR501027";
|
||||
mode = "1920x1080";
|
||||
position = "0,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "Samsung Electric Company S24F350 H4LR500406";
|
||||
mode = "1920x1080";
|
||||
position = "1920,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
mode = "2256x1504";
|
||||
position = "3840,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
];
|
||||
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||
}
|
||||
|
||||
{
|
||||
profile.name = "LeoBots2";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
mode = "2256x1504";
|
||||
position = "0,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "Samsung Electric Company S24F350 H4LR500394";
|
||||
mode = "1920x1080";
|
||||
position = "2256,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "Samsung Electric Company S24F350 H4LR501024";
|
||||
mode = "1920x1080";
|
||||
position = "4176,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
];
|
||||
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||
}
|
||||
|
||||
{
|
||||
profile.name = "raum116";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "Samsung Electric Company S24F350 H4LR500834";
|
||||
mode = "1920x1080";
|
||||
position = "0,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "Samsung Electric Company S24F350 H4LR500705";
|
||||
mode = "1920x1080";
|
||||
position = "1920,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
mode = "2256x1504";
|
||||
position = "3840,0";
|
||||
scale = 1.0;
|
||||
transform = "normal";
|
||||
}
|
||||
];
|
||||
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||
}
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
systemd = {
|
||||
user.services.kanshi-hyprland = {
|
||||
description = "Wayland daemon that automatically configures outputs";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.kanshi}/bin/kanshi";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
borderRadius = 10;
|
||||
borderSize = 2;
|
||||
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
};
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
polkit_gnome
|
||||
];
|
||||
|
||||
security.polkit.enable = true;
|
||||
systemd = {
|
||||
user.services.polkit-gnome-authentication-agent-1 = {
|
||||
description = "polkit-gnome-authentication-agent-1";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
hyprpicker
|
||||
hyprcursor
|
||||
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
playerctl
|
||||
|
||||
dconf
|
||||
|
||||
jq
|
||||
|
||||
pulseaudio
|
||||
inotify-tools
|
||||
papirus-icon-theme
|
||||
eww
|
||||
];
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [
|
||||
{
|
||||
label = "shutdown";
|
||||
action = "systemctl poweroff";
|
||||
text = "Shutdown";
|
||||
}
|
||||
{
|
||||
label = "hyprland";
|
||||
action = "hyprctl dispatch exit";
|
||||
text = "Exit Hyprland";
|
||||
}
|
||||
{
|
||||
label = "whatever";
|
||||
action = "";
|
||||
text = "whatever";
|
||||
}
|
||||
{
|
||||
label = "reboot";
|
||||
action = "systemctl reboot";
|
||||
text = "Reboot";
|
||||
}
|
||||
{
|
||||
label = "suspend";
|
||||
action = "systemctl suspend";
|
||||
text = "Suspend";
|
||||
}
|
||||
{
|
||||
label = "hibernate";
|
||||
action = "systemctl hibernate";
|
||||
text = "Hibernate";
|
||||
}
|
||||
];
|
||||
|
||||
style = ''
|
||||
@import url("file:///home/willifan/.config/gtk-4.0/gtk.css");
|
||||
* {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(12, 12, 12, 0.9);
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 10px;
|
||||
border-color: #ffa44b;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
/*background-color: #3700B3;*/
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/suspend.png"));
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/hibernate.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/shutdown.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/reboot.png"));
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
programs.hyprland.enable = true;
|
||||
imports = [
|
||||
./fuzzel.nix
|
||||
./hyprexit.nix
|
||||
./hyprland.nix
|
||||
./hyprpaper.nix
|
||||
./mako.nix
|
||||
./pipewire.nix
|
||||
./polkit.nix
|
||||
./utils.nix
|
||||
./wlogout.nix
|
||||
];
|
||||
|
||||
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
lines = 12;
|
||||
width = 45;
|
||||
line-height = 20;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
(pkgs.writeShellScriptBin "hyprexit" ''
|
||||
${hyprland}/bin/hyprctl dispatch exit
|
||||
${systemd}/bin/loginctl terminate-user willifan
|
||||
'')
|
||||
];
|
||||
}
|
|
@ -1,257 +0,0 @@
|
|||
{ pkgs, ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.variables = ["--all"];
|
||||
package = pkgs.hyprland;
|
||||
settings = {
|
||||
|
||||
|
||||
"$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts";
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo=true;
|
||||
};
|
||||
|
||||
monitor = [
|
||||
", preffered, auto, 1"
|
||||
"eDP-1, preffered, 0x0, 1.25, transform, 3"
|
||||
];
|
||||
# Execute your favorite apps at launch
|
||||
exec-once = [
|
||||
''hyprctl dispatch exec "[workspace 1 silent] kitty"''
|
||||
''hyprctl dispatch exec "[workspace 2 silent] zen"''
|
||||
#''hyprctl dispatch exec "[workspace 3 silent] "''
|
||||
#''hyprctl dispatch exec "[workspace 4 silent] "''
|
||||
#''hyprctl dispatch exec "[workspace 8 silent] "''
|
||||
''hyprctl dispatch exec "[workspace 9 silent] vesktop"''
|
||||
''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"''
|
||||
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
|
||||
#''hyprctl dispatch exec "[workspace special:altgr silent]"''
|
||||
#''hyprctl dispatch exec "[workspace special:strg silent] "''
|
||||
];
|
||||
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_options = "compose:menu";
|
||||
kb_rules = "";
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
touchpad.natural_scroll = "yes";
|
||||
|
||||
touchdevice.transform = 3;
|
||||
|
||||
sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification.
|
||||
numlock_by_default = 1;
|
||||
special_fallthrough = true;
|
||||
};
|
||||
|
||||
|
||||
|
||||
general = {
|
||||
|
||||
gaps_in = 2;
|
||||
gaps_out = 5;
|
||||
border_size = 2;
|
||||
# "col.active_border" = "rgba(ffa44bee)";
|
||||
# "col.inactive_border" = "rgba(595959aa)";
|
||||
|
||||
layout = "dwindle";
|
||||
|
||||
resize_on_border = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
|
||||
rounding = 10;
|
||||
|
||||
blur = {
|
||||
enabled = false;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
new_optimizations = 1;
|
||||
};
|
||||
|
||||
shadow.enabled = true;
|
||||
shadow.range = 4;
|
||||
shadow.render_power = 3;
|
||||
# "col.shadow" = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
misc = {
|
||||
vfr = true;
|
||||
mouse_move_enables_dpms = true;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = "yes";
|
||||
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
"specialWorkspace, 1, 8, default, slidefadevert 20%"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = "yes"; # you probably want this
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = "on";
|
||||
workspace_swipe_create_new = "false";
|
||||
workspace_swipe_touch = true;
|
||||
};
|
||||
|
||||
device = {
|
||||
name = "pixa3854:00-093a:0274-touchpad";
|
||||
sensitivity = 0;
|
||||
natural_scroll = "yes";
|
||||
};
|
||||
|
||||
windowrule = [
|
||||
"idleinhibit fullscreen, ^(firefox)$"
|
||||
"float, ^(thunar)$"
|
||||
"stayfocused, title:^(Enpass Assistant)$"
|
||||
"pin, title:^(Enpass Assistant)$"
|
||||
"center, title:^(Enpass Assistant)$"
|
||||
"float, ^(Enpass)$"
|
||||
"center, ^(Enpass)$"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"center, xwayland:(1)"
|
||||
"nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$"
|
||||
''workspace +0, workspace:name:special:ctrl, floating:0''
|
||||
''float, workspace:name:special:altgr, onworkspace:w[2]''
|
||||
''float, workspace:name:special:strg, onworkspace:w[1]''
|
||||
''workspace +0, workspace:name:special:strg, floating:0''
|
||||
];
|
||||
|
||||
"$mainMod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
''$mainMod, Q, exec, kitty''
|
||||
''$mainMod, C, killactive, ''
|
||||
''$mainMod, M, exit, ''
|
||||
''$mainMod, E, exec, thunar''
|
||||
''$mainMod, V, togglefloating, ''
|
||||
''$mainMod, R, exec, fuzzel''
|
||||
''$mainMod, P, exec, Enpass''
|
||||
''$mainMod, F, fullscreen''
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
''$mainMod, h, movefocus, l''
|
||||
''$mainMod, l, movefocus, r''
|
||||
''$mainMod, k, movefocus, u''
|
||||
''$mainMod, j, movefocus, d''
|
||||
|
||||
'', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
|
||||
'', XF86AudioPrev, exec, playerctl previous''
|
||||
'', XF86AudioPlay, exec, playerctl play-pause''
|
||||
'', XF86AudioNext, exec, playerctl next''
|
||||
'', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png''
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1''
|
||||
''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2''
|
||||
''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3''
|
||||
''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4''
|
||||
''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5''
|
||||
''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6''
|
||||
''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7''
|
||||
''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8''
|
||||
''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9''
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
''$mainMod SHIFT, 1, movetoworkspace, 1''
|
||||
''$mainMod SHIFT, 2, movetoworkspace, 2''
|
||||
''$mainMod SHIFT, 3, movetoworkspace, 3''
|
||||
''$mainMod SHIFT, 4, movetoworkspace, 4''
|
||||
''$mainMod SHIFT, 5, movetoworkspace, 5''
|
||||
''$mainMod SHIFT, 6, movetoworkspace, 6''
|
||||
''$mainMod SHIFT, 7, movetoworkspace, 7''
|
||||
''$mainMod SHIFT, 8, movetoworkspace, 8''
|
||||
''$mainMod SHIFT, 9, movetoworkspace, 9''
|
||||
|
||||
# Monitor focus
|
||||
''$mainMod ALT, 1, focusmonitor, 0''
|
||||
''$mainMod ALT, 2, focusmonitor, 1''
|
||||
''$mainMod ALT, 3, focusmonitor, 2''
|
||||
''$mainMod ALT, 4, focusmonitor, 3''
|
||||
''$mainMod ALT, 5, focusmonitor, 4''
|
||||
''$mainMod ALT, 6, focusmonitor, 5''
|
||||
''$mainMod ALT, 7, focusmonitor, 6''
|
||||
''$mainMod ALT, 8, focusmonitor, 7''
|
||||
''$mainMod ALT, 9, focusmonitor, 8''
|
||||
''$mainMod ALT, 0, focusmonitor, 9''
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
''$mainMod, mouse_down, workspace, e+1''
|
||||
''$mainMod, mouse_up, workspace, e-1''
|
||||
];
|
||||
|
||||
binde = [
|
||||
'', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5''
|
||||
'', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5''
|
||||
];
|
||||
|
||||
bindel = [
|
||||
'', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800''
|
||||
'', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800''
|
||||
];
|
||||
|
||||
bindr = [
|
||||
''SUPERCTRL, Control_L, togglespecialworkspace, ctrl''
|
||||
''SUPERALT, Alt_L, togglespecialworkspace, alt''
|
||||
''SUPERALT, ALT_R, togglespecialworkspace, altgr''
|
||||
''SUPERCTRL, Control_R, togglespecialworkspace, strg''
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
''$mainMod, mouse:272, movewindow''
|
||||
''$mainMod, mouse:273, resizewindow''
|
||||
];
|
||||
|
||||
# ------------------------------------------
|
||||
# ########################################
|
||||
# ####### Workspaces ###########
|
||||
# ########################################
|
||||
# ------------------------------------------
|
||||
|
||||
workspace = [
|
||||
"1, persistent:true"
|
||||
"2, persistent:true"
|
||||
"3, persistent:true"
|
||||
"4, persistent:true"
|
||||
"5, persistent:true"
|
||||
"6, persistent:true"
|
||||
"7, persistent:true"
|
||||
"8, persistent:true"
|
||||
"8, persistent:true"
|
||||
"9, persistent:true"
|
||||
|
||||
"name:special:ctrl, persistent:true"
|
||||
"name:special:alt, persistent:true"
|
||||
"name:special:altgr, persistent:true"
|
||||
"name:special:strg, persistent:true"
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
splash = true;
|
||||
|
||||
ipc = "off";
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
borderRadius = 10;
|
||||
borderSize = 2;
|
||||
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
};
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
polkit_gnome
|
||||
];
|
||||
|
||||
security.polkit.enable = true;
|
||||
systemd = {
|
||||
user.services.polkit-gnome-authentication-agent-1 = {
|
||||
description = "polkit-gnome-authentication-agent-1";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
hyprpicker
|
||||
hyprcursor
|
||||
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
playerctl
|
||||
|
||||
dconf
|
||||
|
||||
jq
|
||||
|
||||
pulseaudio
|
||||
inotify-tools
|
||||
papirus-icon-theme
|
||||
eww
|
||||
];
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [
|
||||
{
|
||||
label = "shutdown";
|
||||
action = "systemctl poweroff";
|
||||
text = "Shutdown";
|
||||
}
|
||||
{
|
||||
label = "hyprland";
|
||||
action = "hyprctl dispatch exit";
|
||||
text = "Exit Hyprland";
|
||||
}
|
||||
{
|
||||
label = "whatever";
|
||||
action = "";
|
||||
text = "whatever";
|
||||
}
|
||||
{
|
||||
label = "reboot";
|
||||
action = "systemctl reboot";
|
||||
text = "Reboot";
|
||||
}
|
||||
{
|
||||
label = "suspend";
|
||||
action = "systemctl suspend";
|
||||
text = "Suspend";
|
||||
}
|
||||
{
|
||||
label = "hibernate";
|
||||
action = "systemctl hibernate";
|
||||
text = "Hibernate";
|
||||
}
|
||||
];
|
||||
|
||||
style = ''
|
||||
@import url("file:///home/willifan/.config/gtk-4.0/gtk.css");
|
||||
* {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(12, 12, 12, 0.9);
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 10px;
|
||||
border-color: #ffa44b;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
/*background-color: #3700B3;*/
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/suspend.png"));
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/hibernate.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/shutdown.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/reboot.png"));
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = ''Hyprland'';
|
||||
user = "willifan";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
programs.hyprland.enable = true;
|
||||
imports = [
|
||||
./autologin.nix
|
||||
./fuzzel.nix
|
||||
./hyprland.nix
|
||||
./hyprpaper.nix
|
||||
./mako.nix
|
||||
./pipewire.nix
|
||||
./polkit.nix
|
||||
./utils.nix
|
||||
./wlogout.nix
|
||||
];
|
||||
|
||||
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
lines = 12;
|
||||
width = 45;
|
||||
line-height = 20;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,257 +0,0 @@
|
|||
{ pkgs, ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.variables = ["--all"];
|
||||
package = pkgs.hyprland;
|
||||
settings = {
|
||||
|
||||
|
||||
"$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts";
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo=true;
|
||||
};
|
||||
|
||||
monitor = [
|
||||
", preffered, auto, 1"
|
||||
"eDP-1, preferred, 0x0, 1.6"
|
||||
"desc:ViewSonic Corporation VX2705-2KP W6Z205100250, 2560x1440@144Hz, 0x384, 1.25"
|
||||
"desc:ViewSonic Corporation VX2705-2KP W6Z210400766, 2560x1440@144Hz, 2048x384, 1.25"
|
||||
"desc:BNQ BenQ BL2283 CAM01567019, 1920x1080@60Hz, 4096x0, 1.0, transform, 3"
|
||||
];
|
||||
# Execute your favorite apps at launch
|
||||
exec-once = [
|
||||
''hyprctl dispatch exec "[workspace 1 silent] zen"''
|
||||
''hyprctl dispatch exec "[workspace 2 silent] kitty"''
|
||||
#''hyprctl dispatch exec "[workspace 3 silent] "''
|
||||
#''hyprctl dispatch exec "[workspace 4 silent] "''
|
||||
#''hyprctl dispatch exec "[workspace 8 silent] "''
|
||||
''hyprctl dispatch exec "[workspace 9 silent] vesktop"''
|
||||
''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"''
|
||||
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
|
||||
#''hyprctl dispatch exec "[workspace special:altgr silent]"''
|
||||
#''hyprctl dispatch exec "[workspace special:strg silent] "''
|
||||
];
|
||||
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_options = "compose:menu";
|
||||
kb_rules = "";
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
touchpad.natural_scroll = "yes";
|
||||
|
||||
sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification.
|
||||
numlock_by_default = 1;
|
||||
special_fallthrough = true;
|
||||
};
|
||||
|
||||
|
||||
|
||||
general = {
|
||||
|
||||
gaps_in = 2;
|
||||
gaps_out = 5;
|
||||
border_size = 2;
|
||||
# "col.active_border" = "rgba(ffa44bee)";
|
||||
# "col.inactive_border" = "rgba(595959aa)";
|
||||
|
||||
layout = "dwindle";
|
||||
|
||||
resize_on_border = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
|
||||
rounding = 10;
|
||||
|
||||
blur = {
|
||||
enabled = false;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
new_optimizations = 1;
|
||||
};
|
||||
|
||||
shadow.enabled = true;
|
||||
shadow.range = 4;
|
||||
shadow.render_power = 3;
|
||||
# "col.shadow" = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
misc = {
|
||||
vfr = true;
|
||||
mouse_move_enables_dpms = true;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = "yes";
|
||||
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
"specialWorkspace, 1, 8, default, slidefadevert 20%"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = "yes"; # you probably want this
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = "on";
|
||||
workspace_swipe_create_new = "false";
|
||||
};
|
||||
|
||||
device = {
|
||||
name = "pixa3854:00-093a:0274-touchpad";
|
||||
sensitivity = 0;
|
||||
natural_scroll = "yes";
|
||||
};
|
||||
|
||||
windowrule = [
|
||||
"idleinhibit fullscreen, ^(firefox)$"
|
||||
"float, ^(thunar)$"
|
||||
"stayfocused, title:^(Enpass Assistant)$"
|
||||
"pin, title:^(Enpass Assistant)$"
|
||||
"center, title:^(Enpass Assistant)$"
|
||||
"float, ^(Enpass)$"
|
||||
"center, ^(Enpass)$"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"center, xwayland:(1)"
|
||||
"nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$"
|
||||
''workspace +0, workspace:name:special:ctrl, floating:0''
|
||||
''float, workspace:name:special:altgr, onworkspace:w[2]''
|
||||
''float, workspace:name:special:strg, onworkspace:w[1]''
|
||||
''workspace +0, workspace:name:special:strg, floating:0''
|
||||
];
|
||||
|
||||
"$mainMod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
''$mainMod, Q, exec, kitty''
|
||||
''$mainMod, C, killactive, ''
|
||||
''$mainMod, M, exit, ''
|
||||
''$mainMod, E, exec, thunar''
|
||||
''$mainMod, V, togglefloating, ''
|
||||
''$mainMod, R, exec, fuzzel''
|
||||
''$mainMod, P, exec, Enpass''
|
||||
''$mainMod, F, fullscreen''
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
''$mainMod, h, movefocus, l''
|
||||
''$mainMod, l, movefocus, r''
|
||||
''$mainMod, k, movefocus, u''
|
||||
''$mainMod, j, movefocus, d''
|
||||
|
||||
'', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
|
||||
'', XF86AudioPrev, exec, playerctl previous''
|
||||
'', XF86AudioPlay, exec, playerctl play-pause''
|
||||
'', XF86AudioNext, exec, playerctl next''
|
||||
'', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png''
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1''
|
||||
''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2''
|
||||
''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3''
|
||||
''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4''
|
||||
''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5''
|
||||
''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6''
|
||||
''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7''
|
||||
''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8''
|
||||
''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9''
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
''$mainMod SHIFT, 1, movetoworkspace, 1''
|
||||
''$mainMod SHIFT, 2, movetoworkspace, 2''
|
||||
''$mainMod SHIFT, 3, movetoworkspace, 3''
|
||||
''$mainMod SHIFT, 4, movetoworkspace, 4''
|
||||
''$mainMod SHIFT, 5, movetoworkspace, 5''
|
||||
''$mainMod SHIFT, 6, movetoworkspace, 6''
|
||||
''$mainMod SHIFT, 7, movetoworkspace, 7''
|
||||
''$mainMod SHIFT, 8, movetoworkspace, 8''
|
||||
''$mainMod SHIFT, 9, movetoworkspace, 9''
|
||||
|
||||
# Monitor focus
|
||||
''$mainMod ALT, 1, focusmonitor, 0''
|
||||
''$mainMod ALT, 2, focusmonitor, 1''
|
||||
''$mainMod ALT, 3, focusmonitor, 2''
|
||||
''$mainMod ALT, 4, focusmonitor, 3''
|
||||
''$mainMod ALT, 5, focusmonitor, 4''
|
||||
''$mainMod ALT, 6, focusmonitor, 5''
|
||||
''$mainMod ALT, 7, focusmonitor, 6''
|
||||
''$mainMod ALT, 8, focusmonitor, 7''
|
||||
''$mainMod ALT, 9, focusmonitor, 8''
|
||||
''$mainMod ALT, 0, focusmonitor, 9''
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
''$mainMod, mouse_down, workspace, e+1''
|
||||
''$mainMod, mouse_up, workspace, e-1''
|
||||
];
|
||||
|
||||
binde = [
|
||||
'', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5''
|
||||
'', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5''
|
||||
];
|
||||
|
||||
bindel = [
|
||||
'', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800''
|
||||
'', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800''
|
||||
];
|
||||
|
||||
bindr = [
|
||||
''SUPERCTRL, Control_L, togglespecialworkspace, ctrl''
|
||||
''SUPERALT, Alt_L, togglespecialworkspace, alt''
|
||||
''SUPERALT, ALT_R, togglespecialworkspace, altgr''
|
||||
''SUPERCTRL, Control_R, togglespecialworkspace, strg''
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
''$mainMod, mouse:272, movewindow''
|
||||
''$mainMod, mouse:273, resizewindow''
|
||||
];
|
||||
|
||||
# ------------------------------------------
|
||||
# ########################################
|
||||
# ####### Workspaces ###########
|
||||
# ########################################
|
||||
# ------------------------------------------
|
||||
|
||||
workspace = [
|
||||
"1, persistent:true"
|
||||
"2, persistent:true"
|
||||
"3, persistent:true"
|
||||
"4, persistent:true"
|
||||
"5, persistent:true"
|
||||
"6, persistent:true"
|
||||
"7, persistent:true"
|
||||
"8, persistent:true"
|
||||
"8, persistent:true"
|
||||
"9, persistent:true"
|
||||
|
||||
"name:special:ctrl, persistent:true"
|
||||
"name:special:alt, persistent:true"
|
||||
"name:special:altgr, persistent:true"
|
||||
"name:special:strg, persistent:true"
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
splash = true;
|
||||
|
||||
ipc = "off";
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
borderRadius = 10;
|
||||
borderSize = 2;
|
||||
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
};
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
polkit_gnome
|
||||
];
|
||||
|
||||
security.polkit.enable = true;
|
||||
systemd = {
|
||||
user.services.polkit-gnome-authentication-agent-1 = {
|
||||
description = "polkit-gnome-authentication-agent-1";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
hyprpicker
|
||||
hyprcursor
|
||||
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
playerctl
|
||||
|
||||
dconf
|
||||
|
||||
jq
|
||||
|
||||
pulseaudio
|
||||
inotify-tools
|
||||
papirus-icon-theme
|
||||
eww
|
||||
];
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
{ ...}:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [
|
||||
{
|
||||
label = "shutdown";
|
||||
action = "systemctl poweroff";
|
||||
text = "Shutdown";
|
||||
}
|
||||
{
|
||||
label = "hyprland";
|
||||
action = "hyprctl dispatch exit";
|
||||
text = "Exit Hyprland";
|
||||
}
|
||||
{
|
||||
label = "whatever";
|
||||
action = "";
|
||||
text = "whatever";
|
||||
}
|
||||
{
|
||||
label = "reboot";
|
||||
action = "systemctl reboot";
|
||||
text = "Reboot";
|
||||
}
|
||||
{
|
||||
label = "suspend";
|
||||
action = "systemctl suspend";
|
||||
text = "Suspend";
|
||||
}
|
||||
{
|
||||
label = "hibernate";
|
||||
action = "systemctl hibernate";
|
||||
text = "Hibernate";
|
||||
}
|
||||
];
|
||||
|
||||
style = ''
|
||||
@import url("file:///home/willifan/.config/gtk-4.0/gtk.css");
|
||||
* {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(12, 12, 12, 0.9);
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 10px;
|
||||
border-color: #ffa44b;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
/*background-color: #3700B3;*/
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/suspend.png"));
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/hibernate.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/shutdown.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/home/willifan/.config/desktop-utils/images/reboot.png"));
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
imports = [
|
||||
|
||||
];
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{ hostname, ... }:
|
||||
{
|
||||
imports = [
|
||||
./common
|
||||
./${hostname}
|
||||
];
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
qmk-udev-rules
|
||||
vial
|
||||
];
|
||||
|
||||
hardware.keyboard.qmk.enable = true;
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
enable_audio_bell = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.gvfs.enable = true;
|
||||
|
||||
services.tumbler.enable = true;
|
||||
|
||||
programs.file-roller.enable = true;
|
||||
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
|
||||
imports = [
|
||||
|
||||
./firefox.nix
|
||||
./thunderbird.nix
|
||||
|
||||
];
|
||||
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
profiles = {
|
||||
default = {
|
||||
id = 0;
|
||||
name = "default";
|
||||
isDefault = true;
|
||||
settings = {
|
||||
"browser.search.defaultenginename" = "DuckDuckGo";
|
||||
"browser.search.order.1" = "DuckDuckGo";
|
||||
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
|
||||
"extensions.pictureinpicture.enable_picture_in_picture_overrides" = false;
|
||||
"signon.management.page.breach-alerts.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
"browser.startup.page" = 3;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.bookmarks.restore_default_bookmarks" = false;
|
||||
"browser.contentblocking.category" = "standard";
|
||||
"browser.toolbars.bookmarks.visibility" = "never";
|
||||
"browser.translations.panelShown" = false;
|
||||
"browser.uiCustomization.state" = "{\"placements\":{\"unified-extensions-area\":[\"sponsorblocker_ajay_app-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"downloads-button\",\"unified-extensions-button\",\"simple-tab-groups_drive4ik-browser-action\",\"firefox-enpass_enpass_io-browser-action\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\"],\"PersonalToolbar\":[]},\"seen\":[\"save-to-pocket-button\",\"developer-button\",\"firefox-enpass_enpass_io-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"simple-tab-groups_drive4ik-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\",\"unified-extensions-area\"],\"currentVersion\":20,\"newElementCount\":2}";
|
||||
};
|
||||
search = {
|
||||
force = true;
|
||||
default = "SearXNG";
|
||||
order = [ "SearXNG" "DuckDuckGo" "Google" ];
|
||||
engines = {
|
||||
"SearXNG" = {
|
||||
urls = [{ template = "https://search.citw.lgbt/search?q={searchTerms}"; }];
|
||||
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@searxng" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
#extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
# ublock-origin
|
||||
# bitwarden
|
||||
# darkreader
|
||||
# vimium
|
||||
#];
|
||||
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
home-manager.users.willifan = {
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
profiles = {
|
||||
willifan = {
|
||||
isDefault = true;
|
||||
settings = {
|
||||
"calendar.list.sortOrder" = "1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8 7da634d4-bbd5-4148-908c-42c1ad15423a 60a1da39-91e8-4f71-a3f2-366182049c9f";
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.cache.enabled" = true;
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.calendar-main-default" = true;
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.calendar-main-in-composite" = true;
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.color" = "#0082c9";
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.name" = "Personal";
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.readOnly" = false;
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.type" = "caldav";
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.uri" = "https://cal.huwe.mooo.com/willifan/4381be3e-3453-cf20-ec8a-f9e1dc17dfc4/";
|
||||
"calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.username" = "willifan";
|
||||
"calendar.timezone.local" = "Europe/Berlin";
|
||||
"calendar.timezone.useSystemTimezone" = true;
|
||||
|
||||
"mail.account.account1.identities" = "id1";
|
||||
"mail.account.account1.server" = "server1";
|
||||
"mail.account.account2.server" = "server2";
|
||||
|
||||
"mail.biff.play_sound" = false;
|
||||
"mail.accountmanager.accounts" = "account1";
|
||||
"mail.accountmanager.defaultaccount" = "account1";
|
||||
"mail.accountmanager.localfoldersserver" = "server2";
|
||||
"mail.identity.id1.archive_folder" = "imap://jhuwe@groupware.htwk-leipzig.de/Archives";
|
||||
"mail.identity.id1.doBcc" = false;
|
||||
"mail.identity.id1.draft_folder" = "imap://jhuwe@groupware.htwk-leipzig.de/Drafts";
|
||||
"mail.identity.id1.drafts_folder_picker_mode" = "0";
|
||||
"mail.identity.id1.fcc_folder" = "imap://jhuwe@groupware.htwk-leipzig.de/Sent";
|
||||
"mail.identity.id1.fcc_folder_picker_mode" = "0";
|
||||
"mail.identity.id1.fullName" = "Jessica Huwe";
|
||||
"mail.identity.id1.reply_on_top" = 1;
|
||||
"mail.identity.id1.smtpServer" = "smtp1";
|
||||
"mail.identity.id1.stationery_folder" = "imap://jhuwe@groupware.htwk-leipzig.de/Templates";
|
||||
"mail.identity.id1.tmpl_folder_picker_mode" = "0";
|
||||
"mail.identity.id1.useremail" = "jessica.huwe@stud.htwk-leipzig.de";
|
||||
"mail.identity.id1.valid" = true;
|
||||
|
||||
"mail.server.server1.check_new_mail" = true;
|
||||
"mail.server.server1.clientid" = "85bf7cb9-4a13-4d27-afb7-980c4ac0895d";
|
||||
"mail.server.server1.directory" = "/home/willifan/.thunderbird/willifan/ImapMail/groupware.htwk-leipzig.de";
|
||||
"mail.server.server1.directory-rel" = "[ProfD]ImapMail/groupware.htwk-leipzig.de";
|
||||
"mail.server.server1.hostname" = "groupware.htwk-leipzig.de";
|
||||
"mail.server.server1.login_at_startup" = true;
|
||||
"mail.server.server1.max_cached_connections" = 5;
|
||||
"mail.server.server1.name" = "jessica.huwe@stud.htwk-leipzig.de";
|
||||
"mail.server.server1.namespace.personal" = "\"\"";
|
||||
"mail.server.server1.serverIDResponse" = "(\"name\" \"Microsoft.Exchange.Imap4.Imap4Server\" \"version\" \"15.2\")";
|
||||
"mail.server.server1.socketType" = 2;
|
||||
"mail.server.server1.spamActionTargetAccount" = "imap://jhuwe@groupware.htwk-leipzig.de";
|
||||
"mail.server.server1.storeContractID" = "@mozilla.org/msgstore/berkeleystore;1";
|
||||
"mail.server.server1.type" = "imap";
|
||||
"mail.server.server1.userName" = "jhuwe";
|
||||
|
||||
"mail.smtp.defaultserver" = "smtp1";
|
||||
"mail.smtpserver.smtp1.authMethod" = 3;
|
||||
"mail.smtpserver.smtp1.clientid" = "2ffe7095-48bc-4aa9-aa36-eb4a0e7763c6";
|
||||
"mail.smtpserver.smtp1.description" = "HTWK";
|
||||
"mail.smtpserver.smtp1.hostname" = "send.htwk-leipzig.de";
|
||||
"mail.smtpserver.smtp1.port" = 587;
|
||||
"mail.smtpserver.smtp1.try_ssl" = 2;
|
||||
"mail.smtpserver.smtp1.username" = "jhuwe";
|
||||
"mail.smtpservers" = "smtp1";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue