Compare commits
24 commits
master
...
bootstrap/
| Author | SHA1 | Date | |
|---|---|---|---|
| d908b35023 | |||
| b26de7e19a | |||
| fefbc964cd | |||
| 8b45b42254 | |||
| 2a1e0f6d7e | |||
| d0e6b9b715 | |||
| 8fbe93c703 | |||
| 59a27fd2b6 | |||
| 9223a71650 | |||
| 74d7cb64b8 | |||
| 1a2f9e8094 | |||
| e1e28a4b2f | |||
| d149a7704b | |||
| 4667653ed1 | |||
| fd126721cf | |||
|
|
6567a561e3 | ||
|
|
0e4b6b3064 | ||
|
|
015f72777b | ||
|
|
21e2790580 | ||
|
|
d1688ad0d9 | ||
|
|
4edcad74e4 | ||
|
|
adde051c61 | ||
|
|
0f75981120 | ||
|
|
9272749b6f |
30 changed files with 261 additions and 166 deletions
12
flake.lock
generated
12
flake.lock
generated
|
|
@ -326,11 +326,11 @@
|
||||||
"linux-tkg": {
|
"linux-tkg": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702296374,
|
"lastModified": 1704890137,
|
||||||
"narHash": "sha256-KYZFl0LVZ4FXXi2T6J5ELWWAhRO+CUrlditEv9fMCGc=",
|
"narHash": "sha256-uh1ielVK71BP/MYK85KA8B8DBltFPF4oEeHXyKcMqyY=",
|
||||||
"owner": "Frogging-Family",
|
"owner": "Frogging-Family",
|
||||||
"repo": "linux-tkg",
|
"repo": "linux-tkg",
|
||||||
"rev": "112adb9e50485de74c371d6efa93fb6c32a5a976",
|
"rev": "80fdc82a9a76b81d9fcc4a321566f285fb956e76",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -510,11 +510,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702312524,
|
"lastModified": 1705133751,
|
||||||
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
|
"narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
|
"rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
nixosConfigurations."anemone" = mkSystem nixpkgs "anemone" "x86_64-linux" true [];
|
||||||
nixosConfigurations."blossom" = mkSystem nixpkgs "blossom" "x86_64-linux" true [];
|
nixosConfigurations."blossom" = mkSystem nixpkgs "blossom" "x86_64-linux" true [];
|
||||||
nixosConfigurations."hyacinth" = mkSystem nixpkgs "hyacinth" "x86_64-linux" true [];
|
nixosConfigurations."hyacinth" = mkSystem nixpkgs "hyacinth" "x86_64-linux" true [];
|
||||||
|
|
||||||
|
|
|
||||||
71
hosts/anemone/default.nix
Normal file
71
hosts/anemone/default.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
{ config, inputs, modules, overlays, pkgs, ... }: {
|
||||||
|
networking.hostName = "anemone";
|
||||||
|
system.stateVersion = "23.11";
|
||||||
|
time.timeZone = "Asia/Phnom_Penh";
|
||||||
|
|
||||||
|
nixpkgs.overlays = [ inputs.neovim-nightly.overlay ];
|
||||||
|
age.secrets = {
|
||||||
|
passwd.file = ../../secrets/passwd.age;
|
||||||
|
#wg_hyacinth.file = ../../secrets/wg_blossom.age;
|
||||||
|
#wpa_conf.file = ../../secrets/wpa_conf.age;
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = with modules.system; [
|
||||||
|
inputs.home-manager.nixosModule
|
||||||
|
home-manager
|
||||||
|
|
||||||
|
audio
|
||||||
|
base
|
||||||
|
ccache
|
||||||
|
corectrl
|
||||||
|
flatpak
|
||||||
|
greetd
|
||||||
|
gui
|
||||||
|
input
|
||||||
|
kernel
|
||||||
|
nix
|
||||||
|
packages
|
||||||
|
printing
|
||||||
|
security
|
||||||
|
snapper
|
||||||
|
#wireguard
|
||||||
|
|
||||||
|
./filesystem.nix
|
||||||
|
./kernel.nix
|
||||||
|
./networking.nix
|
||||||
|
|
||||||
|
../../users/rin
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ wpa_supplicant_gui ];
|
||||||
|
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
|
||||||
|
hardware.firmware = let
|
||||||
|
fw = "${pkgs.linux-firmware}/lib/firmware/cirrus/";
|
||||||
|
in [
|
||||||
|
(
|
||||||
|
pkgs.runCommandNoCC "cs35l41-10431683" { } ''
|
||||||
|
mkdir -p $out/lib/firmware/cirrus
|
||||||
|
cd $out/lib/firmware/cirrus
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-cali-10431683-spkid0-l0.bin
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-cali-10431683-spkid0-r0.bin
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-cali-10431683-spkid1-l0.bin
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-cali-10431683-spkid1-r0.bin
|
||||||
|
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-prot-10431683-spkid0-l0.bin
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-prot-10431683-spkid0-r0.bin
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-prot-10431683-spkid1-l0.bin
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin cs35l41-dsp1-spk-prot-10431683-spkid1-r0.bin
|
||||||
|
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-cali-10431e12.wmfw cs35l41-dsp1-spk-cali-10431683.wmfw
|
||||||
|
cp ${fw}/cs35l41-dsp1-spk-prot-10431e12.wmfw cs35l41-dsp1-spk-prot-10431683.wmfw
|
||||||
|
''
|
||||||
|
)
|
||||||
|
];
|
||||||
|
|
||||||
|
# For steam fhs-env
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"openssl-1.1.1w"
|
||||||
|
];
|
||||||
|
}
|
||||||
36
hosts/anemone/filesystem.nix
Normal file
36
hosts/anemone/filesystem.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
mkLabelMount = label: type: {
|
||||||
|
device = "/dev/disk/by-label/${label}";
|
||||||
|
fsType = type;
|
||||||
|
options = [ "defaults" "relatime" ];
|
||||||
|
};
|
||||||
|
mkBtrfsMount = name: subvol: atime: mkLabelMount name "btrfs" // {
|
||||||
|
options = [ "autodefrag" "compress=zstd:3" "defaults" "discard=async" "space_cache=v2" "ssd" "subvol=${subvol}" (if atime then "relatime" else "noatime") ];
|
||||||
|
};
|
||||||
|
submount = mkBtrfsMount "Anemone";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "rootfs";
|
||||||
|
fsType = "tmpfs";
|
||||||
|
options = [ "defaults" "size=8G" "mode=755" ];
|
||||||
|
};
|
||||||
|
"/boot" = mkLabelMount "SYSTEM" "vfat";
|
||||||
|
|
||||||
|
"/mnt/butter" = submount "/" true;
|
||||||
|
"/nix" = submount "/current/snow" false;
|
||||||
|
"/home" = submount "/current/home" true;
|
||||||
|
"/home/.snapshots" = submount "/snapshot/home" false;
|
||||||
|
"/root" = submount "/current/root" false;
|
||||||
|
"/var" = submount "/current/var" false;
|
||||||
|
"/persist" = {
|
||||||
|
depends = [ "/var" ];
|
||||||
|
device = "/var/persist";
|
||||||
|
fsType = "none";
|
||||||
|
options = [ "bind" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
hosts/anemone/kernel.nix
Normal file
14
hosts/anemone/kernel.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ config, lib, pkgs, ... }: {
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
};
|
||||||
|
initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
|
initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
kernelPackages = lib.mkForce (pkgs.linuxPackagesFor pkgs.me.linux-lava);
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
}
|
||||||
16
hosts/anemone/networking.nix
Normal file
16
hosts/anemone/networking.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{ config, ... }: {
|
||||||
|
networking = {
|
||||||
|
useDHCP = true;
|
||||||
|
nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
||||||
|
wireless = {
|
||||||
|
enable = true;
|
||||||
|
userControlled.enable = true;
|
||||||
|
#allowAuxiliaryImperativeNetworks = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraHosts = ''
|
||||||
|
192.168.100.12 strawberry
|
||||||
|
192.168.100.15 caramel
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -9,7 +9,6 @@
|
||||||
"kernel.core_pattern" = "|/bin/false";
|
"kernel.core_pattern" = "|/bin/false";
|
||||||
"kernel.sysrq" = 1;
|
"kernel.sysrq" = 1;
|
||||||
};
|
};
|
||||||
loader.grub.useOSProber = true;
|
|
||||||
};
|
};
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Depends on bspwm
|
# Depends on bspwm
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [ xtitle ];
|
home.packages = with pkgs; [ socat ];
|
||||||
programs.eww = {
|
programs.eww = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configDir = ../../res/eww;
|
configDir = ../../res/eww;
|
||||||
|
|
|
||||||
0
modules/user/hyprland.nix
Normal file
0
modules/user/hyprland.nix
Normal file
|
|
@ -1,6 +1,7 @@
|
||||||
{ config, inputs, ... }: {
|
{ config, inputs, pkgs, ... }: {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.rofi-wayland;
|
||||||
theme = "theme";
|
theme = "theme";
|
||||||
};
|
};
|
||||||
xdg.configFile."rofi/theme.rasi".source = ../../res/theme.rasi;
|
xdg.configFile."rofi/theme.rasi".source = ../../res/theme.rasi;
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ builtins.map (path: import path) [
|
||||||
./corectrl.nix
|
./corectrl.nix
|
||||||
./discord.nix
|
./discord.nix
|
||||||
./eww.nix
|
./eww.nix
|
||||||
|
./linux-firmware.nix
|
||||||
./material-icons.nix
|
./material-icons.nix
|
||||||
./picom.nix
|
./picom.nix
|
||||||
./rofi.nix
|
./rofi.nix
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
self: super: {
|
self: super: {
|
||||||
eww = super.eww.overrideAttrs (old: rec {
|
eww = (super.eww.override { withWayland = true; }).overrideAttrs (old: rec {
|
||||||
patches = old.patches ++ [
|
patches = old.patches ++ [
|
||||||
# Use normal scroll events instead of smooth scroll ( due to https://bugzilla.gnome.org/show_bug.cgi?id=675959 )
|
# Use normal scroll events instead of smooth scroll ( due to https://bugzilla.gnome.org/show_bug.cgi?id=675959 )
|
||||||
./patches/eww.patch
|
./patches/eww.patch
|
||||||
|
|
|
||||||
20
overlays/linux-firmware.nix
Normal file
20
overlays/linux-firmware.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
self: super: {
|
||||||
|
linux-firmware = super.linux-firmware.overrideAttrs(o: {
|
||||||
|
installPhase = ''
|
||||||
|
ls -al
|
||||||
|
cd cirrus
|
||||||
|
ln -s cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-cali-10431683-spkid0-l0.bin.xz
|
||||||
|
ln -s cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-cali-10431683-spkid0-r0.bin.xz
|
||||||
|
ln -s cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-cali-10431683-spkid1-l0.bin.xz
|
||||||
|
ln -s cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-cali-10431683-spkid1-r0.bin.xz
|
||||||
|
|
||||||
|
ln -s cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-prot-10431683-spkid0-l0.bin.xz
|
||||||
|
ln -s cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-prot-10431683-spkid0-r0.bin.xz
|
||||||
|
ln -s cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-prot-10431683-spkid1-l0.bin.xz
|
||||||
|
ln -s cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin.xz cs35l41-dsp1-spk-prot-10431683-spkid1-r0.bin.xz
|
||||||
|
|
||||||
|
ln -s cs35l41-dsp1-spk-cali-10431e12.wmfw.xz cs35l41-dsp1-spk-cali-10431683.wmfw.xz
|
||||||
|
ln -s cs35l41-dsp1-spk-prot-10431e12.wmfw.xz cs35l41-dsp1-spk-prot-10431683.wmfw.xz
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
}
|
||||||
20
packages/linux-lava/dsd_um3402yar.patch
Normal file
20
packages/linux-lava/dsd_um3402yar.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c
|
||||||
|
index 2eca5822055..503f3b889f1 100644
|
||||||
|
--- a/sound/pci/hda/cs35l41_hda_property.c
|
||||||
|
+++ b/sound/pci/hda/cs35l41_hda_property.c
|
||||||
|
@@ -54,6 +54,7 @@
|
||||||
|
{ "10431533", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
|
||||||
|
{ "10431573", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 1000, 4500, 24 },
|
||||||
|
{ "10431663", SPI, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 1000, 4500, 24 },
|
||||||
|
+ { "10431683", I2C, 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 },
|
||||||
|
{ "104316D3", SPI, 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 0, 0, 0 },
|
||||||
|
{ "104316F3", SPI, 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 0, 0, 0 },
|
||||||
|
{ "104317F3", I2C, 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 },
|
||||||
|
@@ -358,6 +359,7 @@
|
||||||
|
{ "CSC3551", "10431533", generic_dsd_config },
|
||||||
|
{ "CSC3551", "10431573", generic_dsd_config },
|
||||||
|
{ "CSC3551", "10431663", generic_dsd_config },
|
||||||
|
+ { "CSC3551", "10431683", generic_dsd_config },
|
||||||
|
{ "CSC3551", "104316D3", generic_dsd_config },
|
||||||
|
{ "CSC3551", "104316F3", generic_dsd_config },
|
||||||
|
{ "CSC3551", "104317F3", generic_dsd_config },
|
||||||
|
|
@ -1,19 +1,17 @@
|
||||||
{ fetchFromGitHub, inputs, lib }:
|
{ fetchFromGitHub, inputs, lib }:
|
||||||
let
|
let
|
||||||
version = "6.6.7";
|
version = "6.7.0";
|
||||||
kernelHash = "1l2nisx9lf2vdgkq910n5ldbi8z25ky1zvl67zgwg2nxcdna09nr";
|
kernelHash = "0s8hbcsg7fdvspqam8kzcxygjsznr4zfi60nqgc81l3n4m518cgg";
|
||||||
kernelPatchHash = "1qnial7m91l3amcsgms3cs599pi529kvda1c982qk45s39y029xj";
|
kernelPatchHash = "1qnial7m91l3amcsgms3cs599pi529kvda1c982qk45s39y029xj";
|
||||||
|
|
||||||
mm = lib.versions.majorMinor version;
|
mm = lib.versions.majorMinor version;
|
||||||
tkgPatches = [
|
tkgPatches = [
|
||||||
"0001-mm-Support-soft-dirty-flag-reset-for-VA-range"
|
|
||||||
"0002-clear-patches"
|
"0002-clear-patches"
|
||||||
"0002-mm-Support-soft-dirty-flag-read-with-reset"
|
|
||||||
"0003-glitched-base"
|
"0003-glitched-base"
|
||||||
"0003-glitched-eevdf-additions"
|
"0003-glitched-eevdf-additions"
|
||||||
"0003-glitched-cfs"
|
"0003-glitched-cfs"
|
||||||
"0007-v${mm}-fsync1_via_futex_waitv"
|
"0007-v${mm}-fsync1_via_futex_waitv"
|
||||||
"0007-v${mm}-winesync"
|
# "0007-v${mm}-winesync" currently fails to patch
|
||||||
"0012-misc-additions"
|
"0012-misc-additions"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -37,7 +35,8 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPatches = [
|
kernelPatches = [
|
||||||
kernelPatchSrc
|
(patch ./dsd_um3402yar.patch)
|
||||||
|
#kernelPatchSrc
|
||||||
]
|
]
|
||||||
++ builtins.map (name: {
|
++ builtins.map (name: {
|
||||||
inherit name;
|
inherit name;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,3 @@
|
||||||
(defwindow linebar :monitor 0
|
|
||||||
:geometry (geometry :x "30px"
|
|
||||||
:y "0%"
|
|
||||||
:width "100%"
|
|
||||||
:height "2px"
|
|
||||||
:anchor "top center")
|
|
||||||
:stacking "fg"
|
|
||||||
:windowtype "dock"
|
|
||||||
:wm-ignore false
|
|
||||||
(wlinebar))
|
|
||||||
|
|
||||||
(defwindow mainbar :monitor 0
|
(defwindow mainbar :monitor 0
|
||||||
:geometry (geometry :x "0%"
|
:geometry (geometry :x "0%"
|
||||||
:y "0%"
|
:y "0%"
|
||||||
|
|
@ -16,8 +5,8 @@
|
||||||
:height "30px"
|
:height "30px"
|
||||||
:anchor "top center")
|
:anchor "top center")
|
||||||
:stacking "fg"
|
:stacking "fg"
|
||||||
:windowtype "dock"
|
:exclusive false
|
||||||
:wm-ignore false
|
:focusable false
|
||||||
(bar))
|
(bar))
|
||||||
|
|
||||||
(defvar time-extended false) ; for :run-while property of below variable
|
(defvar time-extended false) ; for :run-while property of below variable
|
||||||
|
|
@ -34,8 +23,6 @@
|
||||||
:run-while time-extended
|
:run-while time-extended
|
||||||
`date "+:%S"`)
|
`date "+:%S"`)
|
||||||
|
|
||||||
(deflisten lworkspaces "./scripts/workspaces.sh")
|
|
||||||
(deflisten llineworkspaces "./scripts/line-workspaces.sh")
|
|
||||||
(deflisten ltitle "./scripts/title.sh")
|
(deflisten ltitle "./scripts/title.sh")
|
||||||
|
|
||||||
(defwidget bar []
|
(defwidget bar []
|
||||||
|
|
@ -46,15 +33,19 @@
|
||||||
(title)
|
(title)
|
||||||
(time))))
|
(time))))
|
||||||
|
|
||||||
(defwidget wlinebar []
|
(deflisten workspaces :initial "[]" "./scripts/workspaces.sh")
|
||||||
(eventbox :onscroll "./scripts/scroll.sh {}"
|
(deflisten current_workspace :initial "1" "./scripts/active-workspace.sh")
|
||||||
(line_workspaces)))
|
|
||||||
|
|
||||||
(defwidget workspaces []
|
(defwidget workspaces []
|
||||||
(literal :content lworkspaces))
|
(box :class "widget workspaces"
|
||||||
|
:halign "start"
|
||||||
(defwidget line_workspaces []
|
:valign "center"
|
||||||
(literal :content llineworkspaces))
|
:vexpand true
|
||||||
|
:hexpand true
|
||||||
|
(for workspace in workspaces
|
||||||
|
(eventbox :cursor "hand"
|
||||||
|
(button :class "${workspace.id == current_workspace ? "focused" : (workspace.windows > 0 ? "occupied" : "empty")}"
|
||||||
|
:onclick "hyprctl dispatch workspace ${workspace.id}"
|
||||||
|
"${workspace.id == current_workspace ? "" : (workspace.windows > 0 ? "" : "")}")))))
|
||||||
|
|
||||||
(defwidget title []
|
(defwidget title []
|
||||||
(literal :content ltitle))
|
(literal :content ltitle))
|
||||||
|
|
@ -72,6 +63,5 @@
|
||||||
(time_extension :text {time-extended ? petimea : ""})
|
(time_extension :text {time-extended ? petimea : ""})
|
||||||
(label :text ptime
|
(label :text ptime
|
||||||
:class "base")
|
:class "base")
|
||||||
(time_extension :text {time-extended ? petimeb : ""})
|
(time_extension :text {time-extended ? petimeb : ""}))))
|
||||||
)))
|
|
||||||
|
|
||||||
|
|
|
||||||
6
res/eww/scripts/active-workspace.sh
Executable file
6
res/eww/scripts/active-workspace.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
hyprctl monitors -j | jq '.[] | select(.focused) | .activeWorkspace.id'
|
||||||
|
|
||||||
|
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - |
|
||||||
|
stdbuf -o0 awk -F '>>|,' -e '/^workspace>>/ {print $2}' -e '/^focusedmon>>/ {print $3}'
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# Checks if a list ($1) contains an element ($2)
|
|
||||||
contains() {
|
|
||||||
for e in $1; do
|
|
||||||
[ "$e" -eq "$2" ] && echo 1 && return
|
|
||||||
done
|
|
||||||
echo 0
|
|
||||||
}
|
|
||||||
|
|
||||||
print_workspaces() {
|
|
||||||
buf=""
|
|
||||||
desktops=$(bspc query -D --names)
|
|
||||||
focused_desktop=$(bspc query -D -d focused --names)
|
|
||||||
occupied_desktops=$(bspc query -D -d .occupied --names)
|
|
||||||
urgent_desktops=$(bspc query -D -d .urgent --names)
|
|
||||||
|
|
||||||
for d in $desktops; do
|
|
||||||
if [ "$(contains "$focused_desktop" "$d")" -eq 1 ]; then
|
|
||||||
ws=$d
|
|
||||||
class="focused"
|
|
||||||
elif [ "$(contains "$occupied_desktops" "$d")" -eq 1 ]; then
|
|
||||||
ws=$d
|
|
||||||
class="occupied"
|
|
||||||
elif [ "$(contains "$urgent_desktops" "$d")" -eq 1 ]; then
|
|
||||||
ws=$d
|
|
||||||
class="urgent"
|
|
||||||
else
|
|
||||||
ws=$d
|
|
||||||
class="empty"
|
|
||||||
fi
|
|
||||||
|
|
||||||
buf="$buf (eventbox :cursor \"hand\" (button :class \"$class\" :onclick \"bspc desktop -f $ws\" \"\"))"
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "(box :class \"widget line-workspaces\" :halign \"start\" :valign \"center\" :vexpand true :hexpand true $buf)"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Listen to bspwm changes
|
|
||||||
print_workspaces
|
|
||||||
bspc subscribe desktop node_transfer | while read -r _ ; do
|
|
||||||
print_workspaces
|
|
||||||
done
|
|
||||||
|
|
@ -1,10 +1,17 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
xtitle -s | while read -r line ; do
|
out () {
|
||||||
trunc=$(echo $line | cut -c-85)
|
if [ -z "$1" ]; then
|
||||||
if [ -z "$line" ]; then
|
|
||||||
echo ""
|
echo ""
|
||||||
else
|
else
|
||||||
echo "(box :class \"widget title\" :halign \"center\" :valign \"center\" :vexpand true :hexpand true (label :text \"${trunc}\"))"
|
echo "(box :class \"widget title\" :halign \"center\" :valign \"center\" :vexpand true :hexpand true (label :text \"$1\"))"
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
init=$(hyprctl activewindow -j | jq --raw-output .title)
|
||||||
|
out "$init"
|
||||||
|
|
||||||
|
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | stdbuf -o0 awk -F '>>|,' '/^activewindow>>/{print $3}' | while read -r line ; do
|
||||||
|
trunc=$(echo $line | cut -c-85)
|
||||||
|
out "$trunc"
|
||||||
done
|
done
|
||||||
|
|
|
||||||
|
|
@ -1,47 +1,11 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
# Checks if a list ($1) contains an element ($2)
|
spaces (){
|
||||||
contains() {
|
WORKSPACE_WINDOWS=$(hyprctl workspaces -j | jq 'map({key: .id | tostring, value: .windows}) | from_entries')
|
||||||
for e in $1; do
|
seq 1 10 | jq --argjson windows "${WORKSPACE_WINDOWS}" --slurp -Mc 'map(tostring) | map({id: ., windows: ($windows[.]//0)})'
|
||||||
[ "$e" -eq "$2" ] && echo 1 && return
|
|
||||||
done
|
|
||||||
echo 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print_workspaces() {
|
spaces
|
||||||
buf=""
|
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
||||||
desktops=$(bspc query -D --names)
|
spaces
|
||||||
focused_desktop=$(bspc query -D -d focused --names)
|
|
||||||
occupied_desktops=$(bspc query -D -d .occupied --names)
|
|
||||||
urgent_desktops=$(bspc query -D -d .urgent --names)
|
|
||||||
|
|
||||||
for d in $desktops; do
|
|
||||||
if [ "$(contains "$focused_desktop" "$d")" -eq 1 ]; then
|
|
||||||
ws=$d
|
|
||||||
icon=""
|
|
||||||
class="focused"
|
|
||||||
elif [ "$(contains "$occupied_desktops" "$d")" -eq 1 ]; then
|
|
||||||
ws=$d
|
|
||||||
icon=""
|
|
||||||
class="occupied"
|
|
||||||
elif [ "$(contains "$urgent_desktops" "$d")" -eq 1 ]; then
|
|
||||||
ws=$d
|
|
||||||
icon=""
|
|
||||||
class="urgent"
|
|
||||||
else
|
|
||||||
ws=$d
|
|
||||||
icon=""
|
|
||||||
class="empty"
|
|
||||||
fi
|
|
||||||
|
|
||||||
buf="$buf (eventbox :cursor \"hand\" (button :class \"$class\" :onclick \"bspc desktop -f $ws\" \"$icon\"))"
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "(box :class \"widget workspaces\" :halign \"start\" :valign \"center\" :vexpand true :hexpand true $buf)"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Listen to bspwm changes
|
|
||||||
print_workspaces
|
|
||||||
bspc subscribe desktop node_transfer | while read -r _ ; do
|
|
||||||
print_workspaces
|
|
||||||
done
|
done
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
let
|
let
|
||||||
|
anemone = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEPFifSAybe97xDP/cq6AAjy7Fm0go0dtQ9ICK6JRUgc";
|
||||||
blossom = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA5wfPCcpkNR3ubr7cBV0UwVCDo/sMmV0aI/JOJTIxQj";
|
blossom = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA5wfPCcpkNR3ubr7cBV0UwVCDo/sMmV0aI/JOJTIxQj";
|
||||||
caramel = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPFJT1XYyjDZFHYT/8RdxAReKkeU8QfpLrmMjEeW/80";
|
caramel = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPFJT1XYyjDZFHYT/8RdxAReKkeU8QfpLrmMjEeW/80";
|
||||||
sugarcane = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIImymDDLSOdLcsox8wxS9Z84fsbsz6Mi58OU0od2p/ZQ";
|
sugarcane = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIImymDDLSOdLcsox8wxS9Z84fsbsz6Mi58OU0od2p/ZQ";
|
||||||
|
|
||||||
rin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPru5eTBvHJ4ZmrrzPRHCGM09wQP/ZHSaKYalDuBVO15";
|
rin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPru5eTBvHJ4ZmrrzPRHCGM09wQP/ZHSaKYalDuBVO15";
|
||||||
in {
|
in {
|
||||||
"secrets/passwd.age".publicKeys = [ blossom caramel sugarcane rin ];
|
"secrets/passwd.age".publicKeys = [ anemone blossom caramel sugarcane rin ];
|
||||||
"secrets/wpa_conf.age".publicKeys = [ blossom caramel rin ];
|
"secrets/wpa_conf.age".publicKeys = [ blossom caramel rin ];
|
||||||
|
|
||||||
"secrets/acme_dns.age".publicKeys = [ caramel rin ];
|
"secrets/acme_dns.age".publicKeys = [ caramel rin ];
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,7 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 U9FXlg dDnXFO4iUwixemx1WPFZSM15/z7xtAGjZxriBbsURRg
|
-> ssh-ed25519 krYeuQ SBY9moNFVc8mdntk13DRWSIyoJfSuzsBrhzmaH8u51c
|
||||||
uv6gdP/LDmZMZu/B3IWWYEzfR+H7TJsR3Zo8hYzthQE
|
5QU1vtRllrmYsArw6LSktuRLQ7QbrtNBKVrOG8d2pyk
|
||||||
-> ssh-ed25519 krYeuQ Yo3FXb2pDijXv2JxYvNP3IF0DADygWjIHEoUlfCw3zc
|
-> ssh-ed25519 U9FXlg HR/A429gFyLaUq6QSyTYv8yK5syfJbLDFzmhGGTZt1M
|
||||||
vly4m2xyGfuJxBPue0mk9dodc4YAEKYTWLwx9ljVhWs
|
jCXRzzzp8vfB4n8pM6BAZr/IC9E+vBeeOm0AYGYBOe0
|
||||||
-> ,-grease
|
--- /vlh5vuiRyVyiQpn4PZ5zBeUNaQclSW5Y5z1mR43fFg
|
||||||
v4PvG0kmxXhjh7Jf
|
á,Sïï<C3AF>=ó;˜9Ð}Ö<0F>J|ý¢µ×5ÌUäjB„†Ã{Öj-ª<>v²ý¿(‘T7lÜÃÇ^–kÉ€Qx…^?å`½/‡N£ìÐ|<7C><>ŽaqŒÕxÄâƒI
|
||||||
--- 6yg8u5a9px36osMqiVI4ZPfea+ySjKB8GR/TcCG/ZXU
|
|
||||||
q<EFBFBD>T!ř|Eí#மĐrÍňQíĚTQMąÉ‘IX#˛:f|kSiŔs^~Ą^ÖĎ_ŇôK•}§"đI)G–ŽIÝ
|
|
||||||
~úŃ‹«*ç4ÎA^w(¸ÇŰ
|
|
||||||
Binary file not shown.
|
|
@ -1,10 +1,8 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 U9FXlg YL/xEUVIIOIeP2FRVxZhkCg/yaiX50S74HSMslKzoSw
|
-> ssh-ed25519 krYeuQ V3hCVmXcLm9tDavUNciUCqqCc7+hg6lJir0t4iUoOA4
|
||||||
SqzuQt4hd6ICDRlq+6Vqy0j/ZuNm3waCg7pUt9EqVD0
|
CH3+qpJsmjTJ9+lB7hr1nE5W9RteMtpkuJHlCOSrc0c
|
||||||
-> ssh-ed25519 krYeuQ IsFu0w7BFrTm5rAE6Ysxuievf3NiC60h/KkoUO51FUA
|
-> ssh-ed25519 U9FXlg VT5DxyuigkAL6btdC5Mt4vvCuzOB7xjuf/n/fYOALF0
|
||||||
/BCYR/4qP+1449Kf2MY79sq0ahpjqI5fq7Sme2swU6U
|
Ln3p2c9swsONWzPSkuY/ovv3HG8Sl/3dHpHqRHIckrU
|
||||||
-> V;-grease ^F.M
|
--- sBS5K5WGRvcgrs9CRXZjvteE5qQrPhM/Trmhc7bU+dg
|
||||||
lxjBnTXUAhPceJGeXm985SzVP4D2PsxkUEv/kKSx+6LGCHUzYAggYXi8C2ahorkY
|
†<EFBFBD>tñ ƒfÿÕö9âKÚäh3"ÜÌÔ§’Šî¨cLð\E@¿-ÐÈnjb<>+BI;
|
||||||
XrYNvorBDG0aezi2GSicmAf4pQkkrLcvZhsmU+/QOKzyAxMw7V0
|
ñ(QÄþµ|À0jrÃm®ˆ¼H¡Q.hÌZ#l䘻÷1
ÓÃOI<49>pÊt’ÿ‘Px€ãqóC¸öÉY
|
||||||
--- jUlhN0y3o/J/jQlcN0um+lTQ3hZv2Ur0crxSsGeZ28c
|
|
||||||
ºDJ?…w䟆9%s5ÕzüÈk<C2AD>¢ÒõŒˆA›3U"»V3Î[ŒinÊå<C38A>0÷¹Ù’¿k’”Óø°X„Íøôi°:LÇÆo¹aDºé'$Oý<4F>54õ&Õ<>Þ²‘ ˆÎ^–UL±EQP¶Ïû/
|
|
||||||
|
|
@ -1,11 +1,8 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> ssh-ed25519 U9FXlg Y/Q29duiKdP+fV11ellTIMtHFyi9saczXfbcnq7iB0s
|
-> ssh-ed25519 CUCjXQ iM2w01v4y0Q3DVbpGtt6f3HiHMRw7Xr08JgTB6fe8x4
|
||||||
D9P8MAHlFOLR7P8Ux90CjljnhExARGnuSuw24AXOr5c
|
WiBMVRZr1edBVfLAPAFT4GSEGoyn9jWzO92yysNM9Mo
|
||||||
-> ssh-ed25519 CUCjXQ eGpAJd5fydYBlC7o34CP7091jg4O4NsuLji1/rYtQVg
|
-> ssh-ed25519 U9FXlg Bvlaqu4nEbjfBGgBFKDmD1cBbxH2+dyz1BHzegz1AS4
|
||||||
9/rgYCpe9wcCrLM7fTYI92oa+3+SAEK6ZgJNmBeOtnM
|
+sf3rC0J2Ik1SNtpr52GxV6G6tzGLiwlvjXFWE3qrSw
|
||||||
-> A-grease xTj~+6%4 aF]RZn tj](JCp
|
--- yaZjH1jeXqPGiw1lIkH9uz6QJo/nM1lBezbpVlJDNUM
|
||||||
5iDN8bexrr7eNqyFwBNCUefrOqAIS10KppbrdDJH1+fD0TkUifEOjcM2uV/+3tH2
|
Õñ´cg¾¹j‡<6A>û"ü
|
||||||
dYX5eM94zkmwxw
|
UÅÑ"¨^¯€ÕàÌ*Þ<07>A«¢Dvl2‰cÿRq).NýLt˜ZjCBŸº5ûâl^É0)Á䥆.¥§Û
|
||||||
--- QKnJmu6ICTTfadXCKLKii03FXVTBqAFvbAZVHGzGLzE
|
|
||||||
äï<GÚÓ4q§<71>#gàâ
ªJ_<17>ÿ^o–ò4G•Vð£æþ5ä§
|
|
||||||
ÑÈŠ$½<7F>wŸTú‹œ‹Íl¡•t—‹!…a†wŘí<CB9C>[Å„›
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -34,15 +34,17 @@
|
||||||
mpv
|
mpv
|
||||||
obs
|
obs
|
||||||
rofi
|
rofi
|
||||||
spicetify
|
# spicetify
|
||||||
|
|
||||||
dunst
|
dunst
|
||||||
eww
|
eww
|
||||||
picom
|
# picom
|
||||||
|
#
|
||||||
|
# xorg
|
||||||
|
# sxhkd
|
||||||
|
# bspwm
|
||||||
|
|
||||||
xorg
|
#hyprland
|
||||||
sxhkd
|
|
||||||
bspwm
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file.".local/bin/ipc-bridge.exe".source = builtins.fetchurl {
|
home.file.".local/bin/ipc-bridge.exe".source = builtins.fetchurl {
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@
|
||||||
gimp
|
gimp
|
||||||
gnome.file-roller
|
gnome.file-roller
|
||||||
gnome.zenity
|
gnome.zenity
|
||||||
kotatogram-desktop
|
|
||||||
krita
|
krita
|
||||||
lm_sensors
|
lm_sensors
|
||||||
lutris
|
lutris
|
||||||
|
|
@ -37,7 +36,6 @@
|
||||||
mangohud
|
mangohud
|
||||||
me.tetrio-desktop-plus
|
me.tetrio-desktop-plus
|
||||||
inputs.nix-gaming.packages.x86_64-linux.osu-lazer-bin
|
inputs.nix-gaming.packages.x86_64-linux.osu-lazer-bin
|
||||||
inputs.nix-gaming.packages.x86_64-linux.wine-osu
|
|
||||||
pavucontrol
|
pavucontrol
|
||||||
prismlauncher
|
prismlauncher
|
||||||
psensor
|
psensor
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue