added new polybar

its kind of uneven right now thats kind of bothering me but I'll add more modules
new keybinds and scripts for timewarrior (i3, polybar)
This commit is contained in:
2005 2024-05-28 02:36:04 +02:00
parent d30746aeb5
commit 0be41fd01a
20 changed files with 382 additions and 59 deletions

View file

@ -1,8 +1,15 @@
{ pkgs, config, ... }: {
{ pkgs, config, inputs, ... }: {
environment.systemPackages = with pkgs; [
taskwarrior
timewarrior
logseq
inputs.romodoro.packages.x86_64-linux.default
taskwarrior-tui
#inputs.dttyper.packages.x86_64-linux.default
#(pkgs.callPackage ./dttyper/default.nix { })
#(pkgs.callPackage ./romodoro/default.nix { })
#(pkgs.callPackage ./goki/default.nix { })
];

View file

@ -1,19 +0,0 @@
{
foreground = "#FFFFFF";
foreground_alt = "#F72585";
background = "#191830";
border = "#F72585";
warning = "#f00";
textHighlight = "#FAD000";
selectedWindowHighlight = "#FAD000";
seperatorColor = "#FAD000";
i3BorderColor = "#FAD000";
}

View file

@ -1,5 +1,8 @@
{ pkgs, lib, ... }: {
{ pkgs, lib, ... }:
let
scripts = "~/.config/scripts";
in
{
environment.systemPackages = with pkgs; [
# for replay
xdotool
@ -53,9 +56,12 @@
# application keybinds
"mod4+d" = "exec rofi -show drun";
"mod4+e" = "exec rofi -show calc";
"mod4+f" = "exec rofi -show emoji";
"mod4+t" = "exec alacritty";
"mod4+r" = "exec firefox";
# power off
"mod4+Shift+Delete" = "exec shutdown now";
@ -64,10 +70,17 @@
"mod4+2" = "exec setxkbmap hu";
# replay
"mod4+s" = "exec ~/.config/scripts/replay_application_name.sh";
"mod4+w" = "exec ~/.config/scripts/save_replay.sh";
"mod4+a" = "exec ~/.config/scripts/start_replay.sh";
"mod4+x" = "exec ~/.config/scripts/stop_replay.sh";
"mod4+s" = "exec ${scripts}/replay_application_name.sh";
"mod4+w" = "exec ${scripts}/save_replay.sh";
"mod4+a" = "exec ${scripts}/start_replay.sh";
"mod4+x" = "exec ${scripts}/stop_replay.sh";
# timewarrior
"mod4+h" = "exec ${scripts}/timew_start.sh";
"mod4+j" = "exec timew stop";
"mod4+k" = "exec timew cancel";
"mod4+g" = "exec timew continue";
# screenshot
# shit needs work
@ -76,6 +89,9 @@
# select window to screenshot then saves it to /home/pictures/screenshots/date+random.png and copies to clipboard
"Shift+Print" = ''exec "NUM=$(echo $RANDOM) maim -s $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png ; cat $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png | xclip -selection clipboard -t image/png"'';
# sticky window
"Mod1+Shift+s" = "sticky toggle";
# Volume adjustment for current player
"shift+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl volume 0.1+";

View file

@ -13,6 +13,7 @@
rev = "da21aa8ef70f9796bc8609fb495c3a1e02df93f9";
hash = "sha256-rxGWAot+6FnXKjNZkMl1uHHHEMVSxm36G3VoV1vSXLA=";
};
}));
settings = {

View file

@ -11,9 +11,14 @@ let
currentWorkspace = "#FAD000";
seperatorColor = "#FAD000";
};
script = "~/.config/scripts";
in
{
imports = [
./polybar/bottom.nix
];
home-manager.users.grape.services.polybar = {
enable = true;
script = "polybar --reload";
@ -214,8 +219,6 @@ in
format = "<label-layout> <label-indicator>";
};
"global/wm" = {
override-redirect = false;
};
@ -245,12 +248,13 @@ in
border-color = "${colors.invisible}";
# Displayed modules
modules-left = "date s keyboard s ewmh s wired-network wireless-network s audio s music";
modules-center = "cava";
modules-left = "date s keyboard s ewmh s wired-network wireless-network ";
#modules-center = "cava";
# TODO Add gpu usage and temp
modules-right = "battery-label battery s fs-label-data fs-data s fs-label-system fs-system s replay-label replay s memory s gpu-label gpu-usage gpu-temp s cpu-temp cpu-usage";
};
};
};

View file

@ -0,0 +1,94 @@
{ pkgs, ... }:
let
# todo add this to flake.nix
colors = {
fg = "#FFFFFF";
bg = "#191830";
border = "#F72585";
warn = "#f00";
altfg = "#F72585";
invisible = "#00400080";
currentWorkspace = "#FAD000";
seperatorColor = "#FAD000";
};
script = "~/.config/scripts";
in
{
home-manager.users.grape.services.polybar = {
enable = true;
script = "polybar --reload";
config = {
"module/cava" = {
type = "custom/script";
tail = "true";
exec = "$HOME/.config/scripts/cava.sh";
format = "<label>";
format-font = 5;
label-foreground = "${colors.fg}";
label = " %{T1}%output%%{T-}";
};
"module/a" = {
label = " ";
label-foreground = "#FAD000";
type = "custom/text";
};
"module/music-capsule" = {
exec = "${script}/music.sh";
format = "%{T2}%{F${colors.bg}}%{F-}%{T-}<label>%{T2}%{F${colors.bg}}%{F-}%{T-}";
interval = ".5";
label-background = "${colors.bg}";
type = "custom/script";
};
"module/audio-capsule" = {
label-muted = "muted";
format-volume = "%{T2}%{F#191830}%{F-}%{T-}<label-volume>%{T2}%{F#191830}%{F-}%{T-}";
format-muted = "%{T2}%{F#191830}%{F-}%{T-}<label-muted>%{T2}%{F#191830}%{F-}%{T-}";
label-muted-foreground = "#FF0";
label-volume-background = "#191830";
label-muted-background = "#191830";
label-volume = "%percentage%%";
type = "internal/alsa";
use-ui-max = "true";
click-right = "pavucontrol";
};
"module/timew" = {
exec = "${script}/timew.sh";
format = "%{T2}%{F#191830}%{F-}%{T-}<label>%{T2}%{F#191830}%{F-}%{T-}";
interval = "1";
label-background = "#191830";
type = "custom/script";
};
"bar/bottom" = {
background = "#00191830";
border-color = "#00400080";
border-size = "10px";
bottom = "true";
font-0 = "Jetbrains Mono Nerd font:size=11;3";
font-1 = "Jetbrains Mono Nerd font:size=22;5";
foreground = "#FFFFFF";
height = "34";
modules-center = "cava";
modules-left = "audio-capsule a music-capsule a timew";
modules-right = "";
padding-left = "5";
padding-right = "5";
radius = "20";
width = "100%";
};
};
};
}

View file

@ -1,9 +1,12 @@
{ pkgs, ... }:
{
home-manager.users.grape = {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
package = pkgs.unstable.vscodium;
extensions = with pkgs.vscode-extensions; [
# language suports

View file

@ -81,6 +81,16 @@
# Enable networking
networking.networkmanager.enable = true;
nix.buildMachines = [
{
protocol = "ssh";
system = "x86_64-linux";
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
sshUser = "root";
sshKey = "/home/grape/.ssh/id_rsa";
hostName = "pink";
}
];
# Set your time zone.
time.timeZone = "Europe/Budapest";

View file

@ -35,6 +35,7 @@
# work
#figma-linux
#kdenlive
ffmpeg
#video-trimmer
peek
@ -42,6 +43,7 @@
# for replay
xdotool
jq
];
fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })

View file

@ -25,7 +25,7 @@
nix-init
# for 3d
blender
#blender
];
}

View file

@ -1,5 +1,21 @@
{
"nodes": {
"advisory-db": {
"flake": false,
"locked": {
"lastModified": 1711896428,
"narHash": "sha256-cZfXcw6dkd+00dOnD0tD/GLX7gEU/piVUF8SOKRIjf4=",
"owner": "rustsec",
"repo": "advisory-db",
"rev": "799ff4a10673405b2334f6653519fb092aa99845",
"type": "github"
},
"original": {
"owner": "rustsec",
"repo": "advisory-db",
"type": "github"
}
},
"agenix": {
"inputs": {
"darwin": "darwin",
@ -8,11 +24,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1714136352,
"narHash": "sha256-BtWQ2Th/jamO1SlD+2ASSW5Jaf7JhA/JLpQHk0Goqpg=",
"lastModified": 1716561646,
"narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=",
"owner": "ryantm",
"repo": "agenix",
"rev": "24a7ea390564ccd5b39b7884f597cfc8d7f6f44e",
"rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9",
"type": "github"
},
"original": {
@ -21,6 +37,27 @@
"type": "github"
}
},
"crane": {
"inputs": {
"nixpkgs": [
"dttyper",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712015038,
"narHash": "sha256-opeWL/FPV7nnbfUavSWIDy+N5bUshF2CyJK6beVvjv4=",
"owner": "ipetkov",
"repo": "crane",
"rev": "b245ee3472cbfd82394047b536e117a32b4c7850",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
@ -43,6 +80,70 @@
"type": "github"
}
},
"dttyper": {
"inputs": {
"advisory-db": "advisory-db",
"crane": "crane",
"fenix": "fenix",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1714296615,
"narHash": "sha256-M/aws/sr4pl4Lar7JulEYDvAKFm//MByR9H3WVWcAdc=",
"ref": "refs/heads/master",
"rev": "b7299f7c1c145f8b2b1b4f6f91e5e016db1344cb",
"revCount": 1,
"type": "git",
"url": "https://git.4o1x5.dev/4o1x5/dttyper"
},
"original": {
"type": "git",
"url": "https://git.4o1x5.dev/4o1x5/dttyper"
}
},
"fenix": {
"inputs": {
"nixpkgs": [
"dttyper",
"nixpkgs"
],
"rust-analyzer-src": [
"dttyper"
]
},
"locked": {
"lastModified": 1712038998,
"narHash": "sha256-bVIEz07/SLxPRRo+1G0cUd26KhoCj8yQc8myhf/93FM=",
"owner": "nix-community",
"repo": "fenix",
"rev": "b1b59b4d908d3e64a7e923a7b434e94e03626ec0",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -71,11 +172,11 @@
]
},
"locked": {
"lastModified": 1710888565,
"narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=",
"lastModified": 1716729592,
"narHash": "sha256-Y3bOjoh2cFBqZN0Jw1zUdyr7tjygyxl2bD/QY73GZP0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce",
"rev": "2c78a57c544dd19b07442350727ced097e1aa6e6",
"type": "github"
},
"original": {
@ -103,11 +204,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1711703276,
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
"lastModified": 1716509168,
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
"type": "github"
},
"original": {
@ -118,11 +219,27 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1711668574,
"narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=",
"lastModified": 1711715736,
"narHash": "sha256-9slQ609YqT9bT/MNX9+5k5jltL9zgpn36DpFB7TkttM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659",
"rev": "807c549feabce7eddbf259dbdcec9e0600a0660d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1716633019,
"narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e",
"type": "github"
},
"original": {
@ -132,6 +249,21 @@
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1716137900,
"narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"nvidia-patch": {
"inputs": {
"nixpkgs": [
@ -140,11 +272,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1712504969,
"narHash": "sha256-/w9kKDr+zxqwQDYLmC5pP3UMEcY+wbOGVri45JlAc+U=",
"lastModified": 1714473972,
"narHash": "sha256-J1o+D45PXCmPZHvGpA8mhzb7BolvBv0wWY8vYo+WMp8=",
"owner": "icewind1991",
"repo": "nvidia-patch-nixos",
"rev": "aea8d1daadebab5dbe36e0946c057d92df8055cd",
"rev": "0baf075bedfc84dc488000ae6c7cb4ed56967e2f",
"type": "github"
},
"original": {
@ -153,13 +285,30 @@
"type": "github"
}
},
"romodoro": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1716331053,
"narHash": "sha256-A8ggbOSOGZHCs4APNRNS9EL75Lnv7V25Wu9kllkwzx8=",
"path": "/home/grape/code/romodoro",
"type": "path"
},
"original": {
"path": "/home/grape/code/romodoro",
"type": "path"
}
},
"root": {
"inputs": {
"agenix": "agenix",
"dttyper": "dttyper",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable",
"nvidia-patch": "nvidia-patch"
"nvidia-patch": "nvidia-patch",
"romodoro": "romodoro"
}
},
"systems": {
@ -192,9 +341,24 @@
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1710146030,

View file

@ -13,6 +13,10 @@
# adding nvidia-patch for nvenc and nvfvc
nvidia-patch.url = "github:icewind1991/nvidia-patch-nixos";
nvidia-patch.inputs.nixpkgs.follows = "nixpkgs";
dttyper.url = "git+https://git.4o1x5.dev/4o1x5/dttyper";
#romodoro.url = "git+https://git.4o1x5.dev/4o1x5/romodoro";
romodoro.url = "path:/home/grape/code/romodoro";
#dttyper.url = "git+https://git.somehost.tld/user/path?ref=branch";
};
outputs =
@ -21,9 +25,10 @@
, home-manager
, nixpkgs-unstable
, nvidia-patch
, agenix
, dttyper
, romodoro
, ...
}:
}@inputs:
let
system = "x86_64-linux";
#colors = import ./configs/colors.nix;
@ -34,6 +39,7 @@
{
nixosConfigurations.strix = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs.inputs = inputs;
modules = [
# adding unstable overlay
({ config, pkgs, ... }: {
@ -42,10 +48,8 @@
nvidia-patch.overlays.default
];
})
{
environment.systemPackages = [ agenix.packages.${system}.default ];
}
agenix.nixosModules.default
#dttyper.nixosModules.default
./system/drivers/shitvidia-patch.nix
./configuration.nix
home-manager.nixosModules.home-manager
@ -56,5 +60,6 @@
];
};
};
}

View file

@ -15,7 +15,7 @@ in
};
# TODO fix hybrid optimus shit mode... add "intel" for inner display to work
services.xserver.videoDrivers = [ "nvidia" ];
services.xserver.videoDrivers = [ "nvidia" ];
nixpkgs.config.cudaSupport = true;

View file

@ -18,8 +18,12 @@
# essentials
la = "ls -a";
sudo = "doas";
update = "doas nixos-rebuild switch";
update = "doas nixos-rebuild switch --impure";
update-remote = "doas nixos-rebuild switch --impure --build-host root@32.54.31.181";
hvec-to-h265 = "~/.config/scripts/hvec_h264.sh";
# docker
dc = "docker compose";

View file

@ -19,13 +19,23 @@ This setup has a lot of impurities, for one firefox with aboslute paths and for
| mod4 + x | stops replay software | x as in kill |
| mod4 + s | focused window replay | s as in selected window |
# timewarrior
| key-stroke | command |
| ---------- | --------------- |
| mod4 + h | start tracking |
| mod4 + j | stop tracking |
| mod4 + k | cancel tracking |
| mod4 + l | resume tracking |
# apps
| key-stroke | command |
| ---------- | -------------------------- |
| mod4 + d | rofi application launcher |
| mod4 + e | rofi calculator |
| mod4 + t | start terminal (allacrity) |
| mod4 + f | rofi emoji |
| mod4 + t | start terminal (alacritty) |
| mod4 + r | start firefox |
# languages

BIN
rice.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

2
scripts/hvec_h264.sh Executable file
View file

@ -0,0 +1,2 @@
#!/bin/sh
ffmpeg -i $1 -c:v libx264 -profile:v high -preset slow -tune film -crf 18 "$1+h264.mp4"

View file

@ -1,4 +1,6 @@
#!/bin/sh
mkdir -p "$video_path"
echo "Screen" > /tmp/replay.tmp
gpu-screen-recorder -w screen -k h264 -f 60 -a "$(pactl get-default-sink).monitor|$(pactl get-default-source)" -c mp4 -r 150 -o "$HOME/Videos/Replays/screen"

13
scripts/timew.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/sh
# get tracking data
tracking_data=$(timew | head -1)
# get last line, remove spaces and "total"
tracking_time=$(timew | tail -1 | sed 's/ //g' | sed s/.*[total]//)
if [[ $tracking_data == *"There is no active time"* ]]; then
echo "Not tracking anything"
else
echo "$tracking_data | $tracking_time"
fi

5
scripts/timew_start.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/sh
tracking=$(rofi -dmenu -p "track:")
echo $tracking
#timew start $tracking