wip: move various programs to nix
This commit is contained in:
parent
17a2a04b96
commit
f4e8c1725a
65 changed files with 2460 additions and 2229 deletions
|
|
@ -2,6 +2,10 @@
|
|||
, ...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../nvim/default.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
git
|
||||
gcc
|
||||
|
|
@ -12,17 +16,12 @@
|
|||
nodejs_20
|
||||
deno
|
||||
python3
|
||||
neovim
|
||||
typst
|
||||
neovide
|
||||
tree-sitter
|
||||
dotnet-runtime_8
|
||||
unzip
|
||||
pkg-config
|
||||
lua-language-server
|
||||
nil
|
||||
nixpkgs-fmt
|
||||
crate2nix
|
||||
sqlite
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,11 +30,9 @@
|
|||
dbus
|
||||
killall
|
||||
adw-gtk3
|
||||
gradience
|
||||
qt5ct
|
||||
qt6ct
|
||||
libadwaita
|
||||
yazi
|
||||
gnutar
|
||||
fishPlugins.tide
|
||||
nix-index
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./common.nix
|
||||
|
|
@ -7,6 +6,8 @@
|
|||
./xdg.nix
|
||||
./media.nix
|
||||
./utils.nix
|
||||
./yazi.nix
|
||||
./oxi/default.nix
|
||||
#./gtk.nix
|
||||
#./cargo.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -19,5 +19,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
xsession.cursor = {
|
||||
name = "Bibata-Moder-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 24;
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 24;
|
||||
};
|
||||
|
||||
home.sessionVariables.GTK_THEME = "adw-gtk3";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{ lib
|
||||
, pkgs
|
||||
{ pkgs
|
||||
, ...
|
||||
}: {
|
||||
imports = [
|
||||
./anyrun.nix
|
||||
./config.nix
|
||||
./ironbar.nix
|
||||
./hyprpaper.nix
|
||||
./hyprgreet.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
@ -15,7 +17,6 @@
|
|||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-hyprland
|
||||
hyprpaper
|
||||
ironbar
|
||||
copyq
|
||||
gnome.nautilus
|
||||
gnome.sushi
|
||||
|
|
|
|||
23
nix/programs/hyprland/hyprgreet.nix
Normal file
23
nix/programs/hyprland/hyprgreet.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ ... }: {
|
||||
xdg.configFile."hypr/hyprgreet.conf" = {
|
||||
text =
|
||||
''
|
||||
exec-once=gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
|
||||
monitor=DP-1,3440x1440@180,0x0,1
|
||||
monitor=DP-2,disable
|
||||
monitor=HDMI-A-1,disable
|
||||
|
||||
input {
|
||||
force_no_accel = true
|
||||
}
|
||||
|
||||
misc {
|
||||
disable_splash_rendering = true
|
||||
disable_hyprland_logo = true
|
||||
}
|
||||
|
||||
exec-once=regreet --style /home/dashie/.config/gtk-3.0/gtk.css; hyprctl dispatch exit
|
||||
'';
|
||||
};
|
||||
}
|
||||
17
nix/programs/hyprland/hyprpaper.nix
Normal file
17
nix/programs/hyprland/hyprpaper.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
xdg.configFile."hypr/hyprpaper.conf" = {
|
||||
text =
|
||||
''
|
||||
#load
|
||||
preload = /home/dashie/Pictures/backgrounds/shinobu_2k.jpg
|
||||
preload = /home/dashie/Pictures/backgrounds/shino_wide.png
|
||||
preload = /home/dashie/Pictures/backgrounds/shinobu_1200.jpg
|
||||
|
||||
#set
|
||||
wallpaper = DP-2,/home/dashie/Pictures/backgrounds/shinobu_2k.jpg
|
||||
wallpaper = DP-1,/home/dashie/Pictures/backgrounds/shino_wide.png
|
||||
wallpaper = HDMI-A-1,/home/dashie/Pictures/backgrounds/shinobu_1200.jpg
|
||||
splash = true
|
||||
'';
|
||||
};
|
||||
}
|
||||
255
nix/programs/hyprland/ironbar.nix
Normal file
255
nix/programs/hyprland/ironbar.nix
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
programs.ironbar = {
|
||||
enable = true;
|
||||
style = ''
|
||||
@import url("/home/dashie/.config/gtk-3.0/gtk.css");
|
||||
|
||||
* {
|
||||
color: #71bbe6;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.background {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
.workspaces {
|
||||
margin: 2px 0px 0px 5px;
|
||||
border-radius: 10px;
|
||||
/* background-color: #2b2c3b; */
|
||||
background-color: #1E1E2E;
|
||||
padding: 2px 5px 2px 5px;
|
||||
}
|
||||
|
||||
.workspaces .item {
|
||||
margin: 0px 3px 0px 3px;
|
||||
font-size: 13px;
|
||||
border-radius: 100%;
|
||||
padding: 0px 2px 0px 3px;
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
.workspaces .item:hover {
|
||||
background-color: #3e4152;
|
||||
}
|
||||
|
||||
.workspaces .item.focused {
|
||||
background-color: #3e4152;
|
||||
}
|
||||
|
||||
.audio-box {
|
||||
padding: 2em;
|
||||
background-color: #1E1E2E;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.audio-slider {
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.audio-button {
|
||||
padding: 5px 10px 5px 10px;
|
||||
margin: 0px 1em 20px 1em;
|
||||
border-radius: 100%;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.audio-button-box {
|
||||
padding: 0px 2.5em 0px 2.5em;
|
||||
}
|
||||
|
||||
.focused {
|
||||
/* margin: 2px 0px 0px 0px; */
|
||||
padding: 0px 5px 0px 5px;
|
||||
/* background-color: 1a1b26; */
|
||||
background-color: #1E1E2E;
|
||||
font-size: 17px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#bar #end {
|
||||
margin: 0px 5px 0px 0px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
background-color: #1E1E2E;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.popup-button {
|
||||
padding: 0px 5px 0px 3px;
|
||||
margin: 0em 3px;
|
||||
border-radius: 100%;
|
||||
font-size: 13px;
|
||||
background-color: #1E1E2E;
|
||||
}
|
||||
|
||||
.popup-button-box {
|
||||
padding: 2px 0px 2px 0px;
|
||||
}
|
||||
|
||||
.clock {
|
||||
padding: 0px 5px 0px 5px;
|
||||
font-size: 17px;
|
||||
background-color: #1E1E2E;
|
||||
}
|
||||
|
||||
.clock:hover {
|
||||
background-color: #3e4152;
|
||||
}
|
||||
|
||||
.custom button {
|
||||
background-color: #1E1E2E;
|
||||
}
|
||||
|
||||
.custom button:hover {
|
||||
background-color: #3e4152;
|
||||
}
|
||||
|
||||
.memory-usage {
|
||||
font-size: 15px;
|
||||
margin: 0px 5px 0px 0px;
|
||||
}
|
||||
|
||||
.memory-usage:hover {
|
||||
background-color: #3e4152;
|
||||
}
|
||||
|
||||
.popup-clock {
|
||||
background-color: #1E1E2E;
|
||||
border-radius: 5px;
|
||||
padding: 2px 8px 10px 8px;
|
||||
}
|
||||
|
||||
.popup-clock .calendar-clock {
|
||||
font-size: 2.5em;
|
||||
padding-bottom: 0.1em;
|
||||
}
|
||||
|
||||
.popup-clock .calendar {
|
||||
border-radius: 5px;
|
||||
font-size: 1.05em;
|
||||
}
|
||||
|
||||
.popup-clock .calendar:selected {
|
||||
background-color: #3e4152;
|
||||
}
|
||||
'';
|
||||
features = [
|
||||
#"another_feature"
|
||||
];
|
||||
config = {
|
||||
monitors.DP-1 = {
|
||||
end = [
|
||||
{
|
||||
type = "sys_info";
|
||||
format = [
|
||||
" {memory_percent}"
|
||||
];
|
||||
interval.memory = 30;
|
||||
class = "memory-usage";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
bar = [
|
||||
{
|
||||
type = "button";
|
||||
class = "popup-button";
|
||||
label = "";
|
||||
on_click = "popup:toggle";
|
||||
}
|
||||
];
|
||||
class = "popup-button-box";
|
||||
popup = [
|
||||
{
|
||||
type = "box";
|
||||
orientation = "vertical";
|
||||
class = "audio-box";
|
||||
widgets = [
|
||||
{
|
||||
type = "box";
|
||||
orientation = "horizontal";
|
||||
widgets = [
|
||||
{
|
||||
type = "button";
|
||||
class = "audio-button";
|
||||
label = "";
|
||||
on_click = "!/home/dashie/.config/eww/scripts/audio_control.sh bluetooth";
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
class = "audio-button";
|
||||
label = "";
|
||||
on_click = "!/home/dashie/.config/eww/scripts/audio_control.sh internal";
|
||||
}
|
||||
];
|
||||
class = "audio-button-box";
|
||||
}
|
||||
{
|
||||
type = "label";
|
||||
label = "Output";
|
||||
}
|
||||
{
|
||||
type = "slider";
|
||||
class = "audio-slider";
|
||||
step = 1.0;
|
||||
length = 200;
|
||||
value = "pactl get-sink-volume @DEFAULT_SINK@ | awk -F'/' '{ print $2 }' | tr -d ' %'";
|
||||
on_change = "!pactl set-sink-volume @DEFAULT_SINK@ $0%";
|
||||
}
|
||||
{
|
||||
type = "label";
|
||||
label = "Input";
|
||||
}
|
||||
{
|
||||
type = "slider";
|
||||
class = "audio-slider";
|
||||
step = 1.0;
|
||||
length = 200;
|
||||
value = "pactl get-source-volume @DEFAULT_SOURCE@ | awk -F'/' '{ print $2 }' | tr -d ' %'";
|
||||
on_change = "!pactl set-source-volume @DEFAULT_SOURCE@ $0%";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
bar = [
|
||||
{
|
||||
type = "button";
|
||||
class = "popup-button";
|
||||
label = "";
|
||||
on_click = "!oxidash --css /home/dashie/gits/oxidash/style.css";
|
||||
}
|
||||
];
|
||||
class = "popup-button-box";
|
||||
}
|
||||
{
|
||||
type = "clock";
|
||||
format = "%I:%M";
|
||||
format_popup = "%I:%M:%S";
|
||||
locale = "en_US";
|
||||
}
|
||||
{ type = "tray"; }
|
||||
];
|
||||
position = "top";
|
||||
height = 10;
|
||||
anchor_to_edges = true;
|
||||
start = [{
|
||||
type = "workspaces";
|
||||
all_monitors = true;
|
||||
}];
|
||||
center = [
|
||||
{
|
||||
type = "focused";
|
||||
show_icon = true;
|
||||
show_title = true;
|
||||
icon_size = 20;
|
||||
truncate = "end";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
9
nix/programs/oxi/default.nix
Normal file
9
nix/programs/oxi/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
imports = [
|
||||
./oxipaste.nix
|
||||
./oxinoti.nix
|
||||
./oxishut.nix
|
||||
./oxidash.nix
|
||||
];
|
||||
}
|
||||
|
||||
53
nix/programs/oxi/oxidash.nix
Normal file
53
nix/programs/oxi/oxidash.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
xdg.configFile."oxidash/style.css" = {
|
||||
text =
|
||||
''
|
||||
#MainWindow {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#MainBox {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#MainButtonBox {
|
||||
padding: 10px;
|
||||
margin: 5px 0px 5px 0px;
|
||||
border-radius: 5px;
|
||||
border: solid 2px #327cd5;
|
||||
}
|
||||
|
||||
#DoNotDisturbButton {
|
||||
}
|
||||
|
||||
#ExitButton {
|
||||
}
|
||||
|
||||
#ClearNotificationsButton {
|
||||
}
|
||||
|
||||
#NotificationsWindow {
|
||||
}
|
||||
|
||||
.debugimage {
|
||||
border: solid 3px blue;
|
||||
}
|
||||
|
||||
.Notification {
|
||||
padding: 10px;
|
||||
margin: 5px 0px 5px 0px;
|
||||
border: solid 2px #327cd5;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.CloseNotificationButton {
|
||||
margin: 0px 5px 0px 10px;
|
||||
}
|
||||
.PictureButtonBox {
|
||||
}
|
||||
.BaseBox {
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
92
nix/programs/oxi/oxinoti.nix
Normal file
92
nix/programs/oxi/oxinoti.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
xdg.configFile."oxinoti/style.css" = {
|
||||
text =
|
||||
''
|
||||
@import url("/home/dashie/.config/gtk-3.0/gtk.css");
|
||||
|
||||
#MainWindow {
|
||||
background-color: transparent;
|
||||
padding: 0px;
|
||||
/* opacity: 0; */
|
||||
}
|
||||
|
||||
.MainBox {
|
||||
background-color: transparent;
|
||||
padding: 0px;
|
||||
/* opacity: 0; */
|
||||
}
|
||||
|
||||
.NotificationBox {
|
||||
background-color: #353747;
|
||||
border-radius: 5px;
|
||||
border: solid 1px;
|
||||
margin: 0px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.NotificationLow {
|
||||
border-color: green;
|
||||
}
|
||||
|
||||
.NotificationNormal {
|
||||
border-color: purple;
|
||||
}
|
||||
|
||||
.NotificationUrgent {
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.miscbox {
|
||||
margin: 0px 10px 0px 0px;
|
||||
}
|
||||
|
||||
.bodybox {
|
||||
}
|
||||
|
||||
.imagebox {
|
||||
margin: 0px 0px 0px 10px;
|
||||
}
|
||||
|
||||
.appname {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.timestamp {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.summary {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.body {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.icon {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.image {
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.underline {
|
||||
text-decoration-line: underline;
|
||||
}
|
||||
'';
|
||||
};
|
||||
xdg.configFile."oxinoti/oxinoti.toml" = {
|
||||
text = ''
|
||||
timeout = 3
|
||||
dnd_override = 2
|
||||
'';
|
||||
};
|
||||
}
|
||||
31
nix/programs/oxi/oxipaste.nix
Normal file
31
nix/programs/oxi/oxipaste.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
xdg.configFile."oxipaste/style.css" = {
|
||||
text =
|
||||
''
|
||||
.main-window {
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
border: 2px solid #2AC3DE;
|
||||
}
|
||||
|
||||
.item-window {
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
border: 2px solid #C0CAF5;
|
||||
}
|
||||
|
||||
.item-button {
|
||||
background-color: #1A1B26;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #6D728D;
|
||||
}
|
||||
|
||||
.delete-button {
|
||||
margin: 5px 25px 5px 5px;
|
||||
}
|
||||
|
||||
.item-box {
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
25
nix/programs/oxi/oxishut.nix
Normal file
25
nix/programs/oxi/oxishut.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
xdg.configFile."oxishut/style.css" = {
|
||||
text =
|
||||
''
|
||||
#mainwindow {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mainbox {
|
||||
border-radius: 5px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin: 5px;
|
||||
background-color: #2b2c3b;
|
||||
-gtk-icon-size: 5rem;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background-color: #3e4152;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
1494
nix/programs/yazi.nix
Normal file
1494
nix/programs/yazi.nix
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue