Compare commits
10 commits
e304f05642
...
9e8054ab6b
Author | SHA1 | Date | |
---|---|---|---|
Kiana Sheibani | 9e8054ab6b | ||
Kiana Sheibani | 4364155946 | ||
Kiana Sheibani | 2933c110b6 | ||
Kiana Sheibani | da26a63998 | ||
Kiana Sheibani | e763b564f0 | ||
Kiana Sheibani | adebb3f76d | ||
Kiana Sheibani | e3a88cb2d0 | ||
Kiana Sheibani | 411e879de1 | ||
Kiana Sheibani | 36441ce7fd | ||
Kiana Sheibani | 7d446d026a |
BIN
assets/background/bg_lock.png
Normal file
BIN
assets/background/bg_lock.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 331 KiB |
|
@ -52,8 +52,8 @@ in
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = fullname;
|
description = fullname;
|
||||||
extraGroups = [ "wheel" "networkmanager" ]
|
extraGroups = [ "wheel" "networkmanager" "video" ]
|
||||||
++ lib.optionals isMobile [ "dialout" "feedbackd" "video" ];
|
++ lib.optionals isMobile [ "dialout" "feedbackd" ];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
inherit hashedPassword;
|
inherit hashedPassword;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ config, lib, pkgs, tokyo-night-sddm-src, ... }:
|
{ config, lib, pkgs, tokyo-night-sddm-src, ... }:
|
||||||
lib.mkIf (config.platform != "mobile")
|
let
|
||||||
(let
|
tokyo-night-sddm = pkgs.stdenv.mkDerivation {
|
||||||
tokyo-night-sddm = with pkgs.libsForQt5; pkgs.stdenv.mkDerivation {
|
|
||||||
name = "tokyo-night-sddm";
|
name = "tokyo-night-sddm";
|
||||||
src = tokyo-night-sddm-src;
|
src = tokyo-night-sddm-src;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
cp -f ${./tokyo-night-sddm/theme.conf} ./theme.conf
|
cp -f ${./tokyo-night-sddm/theme.conf} ./theme.conf
|
||||||
|
cp -f ${../assets/background/bg_lock.png} Backgrounds/background.png
|
||||||
mkdir -p $out/share/sddm/themes/tokyo-night-sddm
|
mkdir -p $out/share/sddm/themes/tokyo-night-sddm
|
||||||
mv * $out/share/sddm/themes/tokyo-night-sddm
|
mv * $out/share/sddm/themes/tokyo-night-sddm
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in lib.mkIf (config.platform != "mobile") {
|
||||||
environment.systemPackages = with pkgs.libsForQt5; [
|
environment.systemPackages = with pkgs.libsForQt5; [
|
||||||
tokyo-night-sddm # Theme
|
tokyo-night-sddm # Theme
|
||||||
qtbase
|
qtbase
|
||||||
|
@ -25,4 +25,4 @@ lib.mkIf (config.platform != "mobile")
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
theme = "tokyo-night-sddm";
|
theme = "tokyo-night-sddm";
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
|
@ -1,6 +1,19 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs;
|
||||||
|
let aspell' = aspellWithDicts.override {
|
||||||
|
aspell = aspell.overrideAttrs (super: {
|
||||||
|
postInstall = super.postInstall + ''
|
||||||
|
mkdir -p $out/etc
|
||||||
|
cat > $out/etc/aspell.conf << EOF
|
||||||
|
lang en_US
|
||||||
|
add-extra-dicts en-computers.rws
|
||||||
|
add-extra-dicts en_US-science.rws
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
} (ps: with ps; [ en en-computers en-science ]);
|
||||||
|
in [
|
||||||
gcc
|
gcc
|
||||||
ffmpeg
|
ffmpeg
|
||||||
openssl
|
openssl
|
||||||
|
@ -21,10 +34,13 @@
|
||||||
gnuplot
|
gnuplot
|
||||||
graphviz
|
graphviz
|
||||||
texlive.combined.scheme-full
|
texlive.combined.scheme-full
|
||||||
(aspellWithDicts (ps: with ps; [ en en-computers en-science ]))
|
aspell'
|
||||||
|
nil
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland.enable = true;
|
||||||
|
security.pam.services.hyprlock = {};
|
||||||
|
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
programs.sway.enable = true;
|
programs.sway.enable = true;
|
||||||
|
@ -43,4 +59,13 @@
|
||||||
keep-derivations = true
|
keep-derivations = true
|
||||||
keep-outputs = true
|
keep-outputs = true
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# WLuma
|
||||||
|
|
||||||
|
# services.udev.extraRules = let core = exe: lib.getExe' pkgs.coreutils exe; in ''
|
||||||
|
# ACTION=="add", SUBSYSTEM=="backlight", RUN+="${core "chgrp"} video /sys/class/backlight/%k/brightness"
|
||||||
|
# ACTION=="add", SUBSYSTEM=="backlight", RUN+="${core "chmod"} g+w /sys/class/backlight/%k/brightness"
|
||||||
|
# ACTION=="add", SUBSYSTEM=="leds", RUN+="${core "chgrp"} video /sys/class/leds/%k/brightness"
|
||||||
|
# ACTION=="add", SUBSYSTEM=="leds", RUN+="${core "chmod"} g+w /sys/class/leds/%k/brightness"
|
||||||
|
# '';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
[General]
|
[General]
|
||||||
|
|
||||||
Background="Backgrounds/shacks.png"
|
Background="Backgrounds/background.png"
|
||||||
## Path relative to the theme root directory. Most standard image file formats are allowed including support for transparency. (e.g. background.jpeg/illustration.GIF/Foto.png/undraw.svgz)
|
## Path relative to the theme root directory. Most standard image file formats are allowed including support for transparency. (e.g. background.jpeg/illustration.GIF/Foto.png/undraw.svgz)
|
||||||
|
|
||||||
DimBackgroundImage="0.3"
|
DimBackgroundImage="0"
|
||||||
## Double between 0 and 1 used for the alpha channel of a darkening overlay. Use to darken your background image on the fly.
|
## Double between 0 and 1 used for the alpha channel of a darkening overlay. Use to darken your background image on the fly.
|
||||||
|
|
||||||
ScaleImageCropped="true"
|
ScaleImageCropped="true"
|
||||||
|
@ -17,7 +17,7 @@ ScreenHeight="1080"
|
||||||
|
|
||||||
## [Blur Settings]
|
## [Blur Settings]
|
||||||
|
|
||||||
FullBlur="true"
|
FullBlur="false"
|
||||||
PartialBlur="false"
|
PartialBlur="false"
|
||||||
## Enable or disable the blur effect; if HaveFormBackground is set to true then PartialBlur will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
|
## Enable or disable the blur effect; if HaveFormBackground is set to true then PartialBlur will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ BlurRadius="65"
|
||||||
HaveFormBackground="false"
|
HaveFormBackground="false"
|
||||||
## Have a full opacity background color behind the form that takes slightly more than 1/3 of screen estate; if PartialBlur is set to true then HaveFormBackground will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
|
## Have a full opacity background color behind the form that takes slightly more than 1/3 of screen estate; if PartialBlur is set to true then HaveFormBackground will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
|
||||||
|
|
||||||
FormPosition="center"
|
FormPosition="right"
|
||||||
## Position of the form which takes roughly 1/3 of screen estate. Can be left, center or right.
|
## Position of the form which takes roughly 1/3 of screen estate. Can be left, center or right.
|
||||||
|
|
||||||
BackgroundImageHAlignment="center"
|
BackgroundImageHAlignment="center"
|
||||||
|
@ -40,17 +40,17 @@ BackgroundImageHAlignment="center"
|
||||||
BackgroundImageVAlignment="center"
|
BackgroundImageVAlignment="center"
|
||||||
## As before but for the vertical position of the background picture relative to its visible area.
|
## As before but for the vertical position of the background picture relative to its visible area.
|
||||||
|
|
||||||
MainColor="#7aa2f7"
|
MainColor="#c0caf5"
|
||||||
## Used for all elements when not focused/hovered etc. Usually the best effect is achieved by having this be either white or a very dark grey like #444 (not black for smoother antialias)
|
## Used for all elements when not focused/hovered etc. Usually the best effect is achieved by having this be either white or a very dark grey like #444 (not black for smoother antialias)
|
||||||
## Colors can be HEX or Qt names (e.g. red/salmon/blanchedalmond). See https://doc.qt.io/qt-5/qml-color.html
|
## Colors can be HEX or Qt names (e.g. red/salmon/blanchedalmond). See https://doc.qt.io/qt-5/qml-color.html
|
||||||
|
|
||||||
AccentColor="#d372a9"
|
AccentColor="#f6a8cf"
|
||||||
## Used for elements in focus/hover/pressed. Should be contrasting to the background and the MainColor to achieve the best effect.
|
## Used for elements in focus/hover/pressed. Should be contrasting to the background and the MainColor to achieve the best effect.
|
||||||
|
|
||||||
BackgroundColor="#16161e"
|
BackgroundColor="#0a0a11"
|
||||||
## Used for the user and session selection background as well as for ScreenPadding and FormBackground when either is true. If PartialBlur and FormBackground are both enabled this color will blend with the blur effect.
|
## Used for the user and session selection background as well as for ScreenPadding and FormBackground when either is true. If PartialBlur and FormBackground are both enabled this color will blend with the blur effect.
|
||||||
|
|
||||||
OverrideLoginButtonTextColor="#16161e"
|
OverrideLoginButtonTextColor="#343b58"
|
||||||
## The text of the login button may become difficult to read depending on your color choices. Use this option to set it independently for legibility.
|
## The text of the login button may become difficult to read depending on your color choices. Use this option to set it independently for legibility.
|
||||||
|
|
||||||
InterfaceShadowSize="6"
|
InterfaceShadowSize="6"
|
||||||
|
@ -65,7 +65,7 @@ RoundCorners="20"
|
||||||
ScreenPadding="0"
|
ScreenPadding="0"
|
||||||
## Integer in pixels. Increase or delete this to have a padding of color BackgroundColor all around your screen. This makes your login greeter appear as if it was a canvas. Cool!
|
## Integer in pixels. Increase or delete this to have a padding of color BackgroundColor all around your screen. This makes your login greeter appear as if it was a canvas. Cool!
|
||||||
|
|
||||||
Font="JetBrainsMono Nerd Font"
|
Font="Quicksand"
|
||||||
## If you want to choose a custom font it will have to be available to the X root user. See https://wiki.archlinux.org/index.php/fonts#Manual_installation
|
## If you want to choose a custom font it will have to be available to the X root user. See https://wiki.archlinux.org/index.php/fonts#Manual_installation
|
||||||
|
|
||||||
FontSize=""
|
FontSize=""
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, username, fullname, email, ... }:
|
{ config, pkgs, username, ... }:
|
||||||
{
|
{
|
||||||
home.username = username;
|
home.username = username;
|
||||||
home.homeDirectory = "/home/" + username;
|
home.homeDirectory = "/home/" + username;
|
||||||
|
@ -6,31 +6,4 @@
|
||||||
home.stateVersion = "21.11";
|
home.stateVersion = "21.11";
|
||||||
|
|
||||||
imports = [ ./shell ./wayland ./xdg.nix ./tools.nix ./email.nix ];
|
imports = [ ./shell ./wayland ./xdg.nix ./tools.nix ./email.nix ];
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = fullname;
|
|
||||||
userEmail = email;
|
|
||||||
|
|
||||||
signing.key = "6CB106C25E86A9F7";
|
|
||||||
signing.signByDefault = true;
|
|
||||||
|
|
||||||
extraConfig = {
|
|
||||||
credential.helper = "store";
|
|
||||||
git.allowForcePush = true;
|
|
||||||
push.followTags = true;
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
|
|
||||||
delta.enable = true;
|
|
||||||
delta.options = {
|
|
||||||
features = "decorations";
|
|
||||||
relative-paths = true;
|
|
||||||
|
|
||||||
decorations = {
|
|
||||||
file-style = "yellow";
|
|
||||||
hunk-header-style = "line-number syntax";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, fullname, email, ... }:
|
{ config, pkgs, lib, fullname, email, ... }:
|
||||||
let
|
let
|
||||||
ksumail = "bsheiban@students.kennesaw.edu";
|
ksumail = "bsheiban@students.kennesaw.edu";
|
||||||
maildir = "${config.xdg.dataHome}/mail";
|
maildir = "${config.xdg.dataHome}/mail";
|
||||||
|
@ -18,7 +18,7 @@ in {
|
||||||
address = email;
|
address = email;
|
||||||
userName = email;
|
userName = email;
|
||||||
flavor = "gmail.com";
|
flavor = "gmail.com";
|
||||||
passwordCommand = "${pass}/bin/pass Email/GmailApp/${email}";
|
passwordCommand = "${lib.getExe pass} email/GmailApp/${email}";
|
||||||
primary = true;
|
primary = true;
|
||||||
mbsync = {
|
mbsync = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -34,7 +34,7 @@ in {
|
||||||
address = ksumail;
|
address = ksumail;
|
||||||
userName = ksumail;
|
userName = ksumail;
|
||||||
flavor = "outlook.office365.com";
|
flavor = "outlook.office365.com";
|
||||||
passwordCommand = "${pass}/bin/pass Email/${ksumail}";
|
passwordCommand = "${lib.getExe pass} email/${ksumail}";
|
||||||
mbsync = {
|
mbsync = {
|
||||||
enable = true;
|
enable = true;
|
||||||
create = "both";
|
create = "both";
|
||||||
|
@ -51,7 +51,7 @@ in {
|
||||||
services = {
|
services = {
|
||||||
mbsync = {
|
mbsync = {
|
||||||
enable = true;
|
enable = true;
|
||||||
postExec = "${pkgs.mu}/bin/mu index -m ${maildir}";
|
postExec = "${lib.getExe pkgs.mu} index -m ${maildir}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, fullname, email, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
# Password Store
|
# Password Store
|
||||||
|
@ -18,4 +18,34 @@
|
||||||
programs.mpv.config = {
|
programs.mpv.config = {
|
||||||
osc = false;
|
osc = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Git
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = fullname;
|
||||||
|
userEmail = email;
|
||||||
|
|
||||||
|
signing.key = "6CB106C25E86A9F7";
|
||||||
|
signing.signByDefault = true;
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
github.user = "kiana-S";
|
||||||
|
credential.helper = "store";
|
||||||
|
git.allowForcePush = true;
|
||||||
|
push.followTags = true;
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
|
||||||
|
delta.enable = true;
|
||||||
|
delta.options = {
|
||||||
|
features = "decorations";
|
||||||
|
relative-paths = true;
|
||||||
|
|
||||||
|
decorations = {
|
||||||
|
file-style = "yellow";
|
||||||
|
hunk-header-style = "line-number syntax";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
:halign "end"
|
:halign "end"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
:yalign 0.5
|
:yalign 0.5
|
||||||
:text {formattime(EWW_TIME, "%A, %Y-%m-%d")})))
|
:text {formattime(EWW_TIME, "%a, %Y-%m-%d")})))
|
||||||
|
|
||||||
;; Playerctl
|
;; Playerctl
|
||||||
|
|
||||||
|
@ -182,14 +182,16 @@
|
||||||
|
|
||||||
(defwidget bar_battery []
|
(defwidget bar_battery []
|
||||||
(bar_circular :class "bar-battery"
|
(bar_circular :class "bar-battery"
|
||||||
:critical {EWW_BATTERY["BAT1"].capacity <= 15}
|
:critical {EWW_BATTERY["BAT1"].capacity <= 15
|
||||||
:tooltip "Battery: ${EWW_BATTERY["BAT1"].capacity}%"
|
&& EWW_BATTERY["BAT1"].status != "Charging"}
|
||||||
|
:tooltip "Battery: ${EWW_BATTERY["BAT1"].capacity}%${
|
||||||
|
EWW_BATTERY["BAT1"].status == "Charging" ? " (Charging)" : ""}"
|
||||||
:value {EWW_BATTERY["BAT1"].capacity}
|
:value {EWW_BATTERY["BAT1"].capacity}
|
||||||
:symbol {EWW_BATTERY["BAT1"].status == "Charging" ? "" : ""}))
|
:symbol {EWW_BATTERY["BAT1"].status == "Charging" ? "" : ""}))
|
||||||
|
|
||||||
(defwidget bar_ram []
|
(defwidget bar_ram []
|
||||||
(bar_circular :class "bar-ram"
|
(bar_circular :class "bar-ram"
|
||||||
:critical {EWW_RAM.used_mem_perc >= 95}
|
:critical {EWW_RAM.used_mem_perc >= 80}
|
||||||
:tooltip "RAM: ${round(EWW_RAM.used_mem / 1073741824, 2)
|
:tooltip "RAM: ${round(EWW_RAM.used_mem / 1073741824, 2)
|
||||||
} / ${round(EWW_RAM.total_mem / 1073741824, 2)} GB (${round(EWW_RAM.used_mem_perc, 2)}%)"
|
} / ${round(EWW_RAM.total_mem / 1073741824, 2)} GB (${round(EWW_RAM.used_mem_perc, 2)}%)"
|
||||||
:value {EWW_RAM.used_mem_perc}
|
:value {EWW_RAM.used_mem_perc}
|
||||||
|
@ -197,6 +199,7 @@
|
||||||
|
|
||||||
(defwidget bar_storage []
|
(defwidget bar_storage []
|
||||||
(bar_circular :class "bar-storage"
|
(bar_circular :class "bar-storage"
|
||||||
|
:critical {EWW_DISK["/"].used_perc >= 95}
|
||||||
:tooltip "Storage: ${round(EWW_DISK["/"].used / 1073741824, 2)
|
:tooltip "Storage: ${round(EWW_DISK["/"].used / 1073741824, 2)
|
||||||
} / ${round(EWW_DISK["/"].total / 1073741824, 0)} GB (${round(EWW_DISK["/"].used_perc, 2)}%)"
|
} / ${round(EWW_DISK["/"].total / 1073741824, 0)} GB (${round(EWW_DISK["/"].used_perc, 2)}%)"
|
||||||
:value {EWW_DISK["/"].used_perc}
|
:value {EWW_DISK["/"].used_perc}
|
||||||
|
@ -252,14 +255,14 @@
|
||||||
:halign "start"
|
:halign "start"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(bar_window :class-limit 60
|
(bar_window :class-limit 60
|
||||||
:title-limit 55)))
|
:title-limit 50)))
|
||||||
|
|
||||||
(defwidget laptop_bar_left_wing []
|
(defwidget laptop_bar_left_wing []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "end"
|
:halign "end"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(bar_time :width 195)))
|
(bar_time :width 175)))
|
||||||
|
|
||||||
(defwidget laptop_bar_center []
|
(defwidget laptop_bar_center []
|
||||||
(bar_workspaces))
|
(bar_workspaces))
|
||||||
|
@ -268,7 +271,7 @@
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(bar_music :width 195
|
(bar_music :width 175
|
||||||
:artist-limit 30
|
:artist-limit 30
|
||||||
:title-limit 25)))
|
:title-limit 25)))
|
||||||
|
|
||||||
|
@ -317,7 +320,7 @@
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "end"
|
:halign "end"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(bar_time :width 195)))
|
(bar_time :width 175)))
|
||||||
|
|
||||||
(defwidget desktop_bar_center []
|
(defwidget desktop_bar_center []
|
||||||
(bar_workspaces))
|
(bar_workspaces))
|
||||||
|
@ -326,7 +329,7 @@
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(bar_music :width 195
|
(bar_music :width 175
|
||||||
:artist-limit 30
|
:artist-limit 30
|
||||||
:title-limit 25)))
|
:title-limit 25)))
|
||||||
|
|
||||||
|
@ -341,7 +344,9 @@
|
||||||
(bar_internet)
|
(bar_internet)
|
||||||
(bar_sep)
|
(bar_sep)
|
||||||
(bar_storage)
|
(bar_storage)
|
||||||
(bar_ram)))
|
(bar_ram)
|
||||||
|
(bar_sep)
|
||||||
|
(bar_idleinhibit)))
|
||||||
|
|
||||||
(defwidget desktop_bar_layout []
|
(defwidget desktop_bar_layout []
|
||||||
(centerbox :class "bar"
|
(centerbox :class "bar"
|
||||||
|
@ -351,7 +356,7 @@
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(desktop_bar_left_edge)
|
(desktop_bar_left_edge)
|
||||||
(desktop_bar_left_wing))
|
(desktop_bar_left_wing))
|
||||||
(bar_center)
|
(desktop_bar_center)
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(desktop_bar_right_wing)
|
(desktop_bar_right_wing)
|
||||||
|
|
|
@ -16,7 +16,14 @@ in {
|
||||||
|
|
||||||
plugins = with pkgs.hyprlandPlugins; [ hy3 ];
|
plugins = with pkgs.hyprlandPlugins; [ hy3 ];
|
||||||
|
|
||||||
settings = {
|
settings = let
|
||||||
|
# Volume using pamixer
|
||||||
|
audio-disp = "${scripts}/multimedia Volume $(pamixer --get-mute) pamixer $(pamixer --get-volume)";
|
||||||
|
audio = cmd: "pamixer ${cmd} && ${audio-disp}";
|
||||||
|
# Brightness using brightnessctl
|
||||||
|
brightness-disp = ''${scripts}/multimedia Brightness "" brightnessctl $(brightnessctl -e -m | cut -d, -f4 | tr -d "%")'';
|
||||||
|
brightness = x: "brightnessctl -e set ${x} && ${brightness-disp}";
|
||||||
|
in {
|
||||||
"$mod" = modifier;
|
"$mod" = modifier;
|
||||||
"$terminal" = terminal;
|
"$terminal" = terminal;
|
||||||
"$menu" = "rofi -show drun";
|
"$menu" = "rofi -show drun";
|
||||||
|
@ -36,9 +43,7 @@ in {
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
|
|
||||||
"col.inactive_border" = "rgb(474f6f)";
|
"col.inactive_border" = "rgb(474f6f)";
|
||||||
"col.active_border" = "rgb(7bc5e4)";
|
"col.active_border" = "rgb(b4f9f8)";
|
||||||
"col.nogroup_border" = "rgb(d5556f)";
|
|
||||||
"col.nogroup_border_active" = "rgb(d5556f)";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
plugin.hy3 = {
|
plugin.hy3 = {
|
||||||
|
@ -47,6 +52,10 @@ in {
|
||||||
tabs = {
|
tabs = {
|
||||||
height = 6;
|
height = 6;
|
||||||
render_text = false;
|
render_text = false;
|
||||||
|
|
||||||
|
"col.active" = "rgb(b4f9f8)";
|
||||||
|
"col.inactive" = "rgb(474f6f)";
|
||||||
|
"col.urgent" = "rgb(f7768e)";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -61,9 +70,6 @@ in {
|
||||||
font_size = 14;
|
font_size = 14;
|
||||||
};
|
};
|
||||||
|
|
||||||
windowrulev2 = [
|
|
||||||
"bordercolor rgb(e0af68), fullscreen:1"
|
|
||||||
];
|
|
||||||
layerrule = [
|
layerrule = [
|
||||||
"noanim, ^(notifications)$"
|
"noanim, ^(notifications)$"
|
||||||
];
|
];
|
||||||
|
@ -87,7 +93,7 @@ in {
|
||||||
"$mod, Return, exec, $terminal"
|
"$mod, Return, exec, $terminal"
|
||||||
"$mod, D, exec, $menu"
|
"$mod, D, exec, $menu"
|
||||||
"$mod Shift, E, exec, ${scripts}/exit"
|
"$mod Shift, E, exec, ${scripts}/exit"
|
||||||
"$mod, M, exec, swaylock"
|
"$mod, M, exec, hyprlock --immediate"
|
||||||
|
|
||||||
# Emacs Everywhere
|
# Emacs Everywhere
|
||||||
# "$mod, Q, exec, $HOME/.config/emacs/bin/doom +everywhere"
|
# "$mod, Q, exec, $HOME/.config/emacs/bin/doom +everywhere"
|
||||||
|
@ -153,7 +159,7 @@ in {
|
||||||
|
|
||||||
bindl = [
|
bindl = [
|
||||||
# XF86 key bindings
|
# XF86 key bindings
|
||||||
", XF86AudioMute, exec, pamixer --toggle-mute"
|
", XF86AudioMute, exec, ${audio "--toggle-mute"}"
|
||||||
", XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
", XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
||||||
", XF86AudioPlay, exec, playerctl play-pause"
|
", XF86AudioPlay, exec, playerctl play-pause"
|
||||||
", XF86AudioNext, exec, playerctl next"
|
", XF86AudioNext, exec, playerctl next"
|
||||||
|
@ -164,14 +170,7 @@ in {
|
||||||
"Shift, Print, exec, ${scripts}/screenshot-slurp"
|
"Shift, Print, exec, ${scripts}/screenshot-slurp"
|
||||||
];
|
];
|
||||||
|
|
||||||
bindle = let
|
bindle = [
|
||||||
# Volume using pamixer
|
|
||||||
audio-disp = "${scripts}/multimedia Volume pamixer $(pamixer --get-volume)";
|
|
||||||
audio = cmd: "pamixer ${cmd} && ${audio-disp}";
|
|
||||||
# Brightness using brightnessctl
|
|
||||||
brightness-disp = ''${scripts}/multimedia Brightness brightnessctl $(brightnessctl -e -m | cut -d, -f4 | tr -d "%")'';
|
|
||||||
brightness = x: "brightnessctl -e set ${x} && ${brightness-disp}";
|
|
||||||
in [
|
|
||||||
# XF86 key bindings
|
# XF86 key bindings
|
||||||
", XF86AudioRaiseVolume, exec, ${audio "-i 2"}"
|
", XF86AudioRaiseVolume, exec, ${audio "-i 2"}"
|
||||||
", XF86AudioLowerVolume, exec, ${audio "-d 2"}"
|
", XF86AudioLowerVolume, exec, ${audio "-d 2"}"
|
||||||
|
|
|
@ -21,13 +21,13 @@ in {
|
||||||
services.hypridle.enable = true;
|
services.hypridle.enable = true;
|
||||||
services.hypridle.settings = {
|
services.hypridle.settings = {
|
||||||
general = {
|
general = {
|
||||||
before_sleep_cmd = "swaylock -f";
|
before_sleep_cmd = "hyprlock --immediate";
|
||||||
};
|
};
|
||||||
|
|
||||||
listener = [
|
listener = [
|
||||||
{
|
{
|
||||||
timeout = 120;
|
timeout = 120;
|
||||||
on-timeout = "swaylock -f --grace=180";
|
on-timeout = "hyprlock";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 600;
|
timeout = 600;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
notify-send "$1" -c multimedia -a "$2" \
|
notify-send "$1" "$2" -c multimedia -a "$3" \
|
||||||
$(makoctl list | jaq -r 'first(.data[][]|select(.category.data=="multimedia")|.id.data|["-r",.])[]') \
|
$(makoctl list | jaq -r 'first(.data[][]|select(.category.data=="multimedia")|.id.data|["-r",.])[]') \
|
||||||
-h "INT:value:$3"
|
-h "INT:value:$4"
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
swaylock-effects
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wtype
|
wtype
|
||||||
wlroots
|
wlroots
|
||||||
|
@ -10,33 +9,7 @@
|
||||||
imv
|
imv
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile."swaynag/config".text = ''
|
||||||
"swaylock/config".text = ''
|
|
||||||
ignore-empty-password
|
|
||||||
fade-in=0.3
|
|
||||||
|
|
||||||
indicator
|
|
||||||
screenshots
|
|
||||||
|
|
||||||
font=JetBrainsMono
|
|
||||||
text-color=ffffff
|
|
||||||
color=00000000
|
|
||||||
ring-color=7da6ff
|
|
||||||
key-hl-color=7bc5e4
|
|
||||||
|
|
||||||
line-uses-inside
|
|
||||||
indicator-radius=120
|
|
||||||
indicator-thickness=7
|
|
||||||
|
|
||||||
clock
|
|
||||||
datestr=%a, %Y-%m-%d
|
|
||||||
|
|
||||||
effect-scale=0.4
|
|
||||||
effect-vignette=0.3:0.7
|
|
||||||
effect-blur=2x2
|
|
||||||
'';
|
|
||||||
|
|
||||||
"swaynag/config".text = ''
|
|
||||||
font=JetBrainsMono 10
|
font=JetBrainsMono 10
|
||||||
layer=top
|
layer=top
|
||||||
|
|
||||||
|
@ -48,6 +21,43 @@
|
||||||
button-background=282E49F0
|
button-background=282E49F0
|
||||||
button-border-size=2
|
button-border-size=2
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Hyprlock
|
||||||
|
|
||||||
|
programs.hyprlock.enable = true;
|
||||||
|
programs.hyprlock.settings = {
|
||||||
|
general = {
|
||||||
|
hide_cursor = true;
|
||||||
|
disable_loading_bar = true;
|
||||||
|
grace = 180;
|
||||||
|
};
|
||||||
|
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
path = "screenshot";
|
||||||
|
blur_passes = 2;
|
||||||
|
blur_size = 6;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
size = "500, 50";
|
||||||
|
position = "0, -80";
|
||||||
|
dots_center = true;
|
||||||
|
fade_on_empty = false;
|
||||||
|
|
||||||
|
|
||||||
|
font_color = "rgb(a9b1d6)";
|
||||||
|
inner_color = "rgb(1a1b26)";
|
||||||
|
outer_color = "rgb(b4f9f8)";
|
||||||
|
outline_thickness = 3;
|
||||||
|
placeholder_text = ''<span foreground="##565f89">Password</span>'';
|
||||||
|
shadow_passes = 2;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Rofi
|
# Rofi
|
||||||
|
@ -92,7 +102,7 @@
|
||||||
background-color=#1e0909d0
|
background-color=#1e0909d0
|
||||||
border-color=#ce7284
|
border-color=#ce7284
|
||||||
progress-color=source #bc5469
|
progress-color=source #bc5469
|
||||||
border-size=3
|
border-size=2
|
||||||
default-timeout=0
|
default-timeout=0
|
||||||
ignore-timeout=1
|
ignore-timeout=1
|
||||||
|
|
||||||
|
@ -114,15 +124,53 @@
|
||||||
border-size=1
|
border-size=1
|
||||||
default-timeout=2000
|
default-timeout=2000
|
||||||
|
|
||||||
[category=multimedia app-name=pamixer]
|
[category=multimedia app-name=pamixer body=false]
|
||||||
background-color=#111111c0
|
background-color=#111111c0
|
||||||
border-color=#787c99
|
border-color=#787c99
|
||||||
progress-color=source #474f6f
|
progress-color=source #474f6f
|
||||||
|
|
||||||
|
[category=multimedia app-name=pamixer body=true]
|
||||||
|
background-color=#111111c0
|
||||||
|
border-color=#ce7284
|
||||||
|
progress-color=source #bc5469
|
||||||
|
|
||||||
[category=multimedia app-name=brightnessctl]
|
[category=multimedia app-name=brightnessctl]
|
||||||
background-color=#111111c0
|
background-color=#111111c0
|
||||||
border-color=#ffea63
|
border-color=#ffea63
|
||||||
progress-color=source #a08348
|
progress-color=source #a08348
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# WLuma
|
||||||
|
|
||||||
|
# systemd.user.services.wluma = lib.mkIf (config.platform == "laptop") {
|
||||||
|
# Install.WantedBy = [ "graphical-session.target" ];
|
||||||
|
|
||||||
|
# Unit = {
|
||||||
|
# Description = "Adjust screen brightness based on screen contents and ambient lighting";
|
||||||
|
# Documentation = "https://github.com/maximbaz/wluma";
|
||||||
|
# After = [ "graphical-session-pre.target" ];
|
||||||
|
# PartOf = [ "graphical-session.target" ];
|
||||||
|
# ConditionEnvironment = "WAYLAND_DISPLAY";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Service = {
|
||||||
|
# ExecStart = "${lib.getExe pkgs.wluma}";
|
||||||
|
# Restart = "always";
|
||||||
|
# RestartSec = "5";
|
||||||
|
# PrivateNetwork = "true";
|
||||||
|
# PrivateMounts = "false";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
# xdg.configFile."wluma/config.toml".text = ''
|
||||||
|
# [als.iio]
|
||||||
|
# path = "/sys/bus/iio/devices"
|
||||||
|
# thresholds = { 0 = "night", 20 = "dark", 80 = "dim", 250 = "normal", 500 = "bright", 800 = "outdoors" }
|
||||||
|
|
||||||
|
# [[output.backlight]]
|
||||||
|
# name = "eDP-1"
|
||||||
|
# path = "/sys/class/backlight/intel_backlight"
|
||||||
|
# capturer = "wlroots"
|
||||||
|
# '';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue