forked from pub-solar/os
Merge branch 'main' into feature/ci-runner-onecommit
This commit is contained in:
commit
a643701e49
|
@ -13,7 +13,7 @@ in
|
||||||
|
|
||||||
resumeDevice = mkOption {
|
resumeDevice = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "/swapfile";
|
default = "/dev/sda1";
|
||||||
description = "The location of the hibernation resume swap file.";
|
description = "The location of the hibernation resume swap file.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,12 +27,9 @@ in
|
||||||
config = {
|
config = {
|
||||||
boot = mkIf cfg.enable {
|
boot = mkIf cfg.enable {
|
||||||
resumeDevice = cfg.resumeDevice;
|
resumeDevice = cfg.resumeDevice;
|
||||||
kernelParams = [
|
kernelParams =
|
||||||
"resume=${cfg.resumeDevice}"
|
|
||||||
] ++ (
|
|
||||||
if (cfg.resumeOffset == null && cfg.enable) then builtins.abort "config.pub-solar.resumeOffset has to be set if config.pub-solar.enable is true."
|
if (cfg.resumeOffset == null && cfg.enable) then builtins.abort "config.pub-solar.resumeOffset has to be set if config.pub-solar.enable is true."
|
||||||
else [ "resume_offset=${cfg.resumeOffset}" ]
|
else [ "resume_offset=${builtins.toString cfg.resumeOffset}" ];
|
||||||
);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,9 +23,13 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = {
|
config = {
|
||||||
|
# disable NetworkManager-wait-online by default
|
||||||
|
systemd.services.NetworkManager-wait-online.enable = lib.mkDefault false;
|
||||||
|
|
||||||
networking.networkmanager = {
|
networking.networkmanager = {
|
||||||
# Enable networkmanager. REMEMBER to add yourself to group in order to use nm related stuff.
|
# Enable networkmanager. REMEMBER to add yourself to group in order to use nm related stuff.
|
||||||
enable = true;
|
enable = true;
|
||||||
|
wifi.backend = "iwd";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Customized binary caches list (with fallback to official binary cache)
|
# Customized binary caches list (with fallback to official binary cache)
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
|
# Use default version alias for nix package
|
||||||
|
package = pkgs.nix;
|
||||||
# Improve nix store disk usage
|
# Improve nix store disk usage
|
||||||
autoOptimiseStore = true;
|
autoOptimiseStore = true;
|
||||||
gc.automatic = true;
|
gc.automatic = true;
|
||||||
|
|
|
@ -20,5 +20,6 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
pub-solar.core.hibernation.enable = true;
|
pub-solar.core.hibernation.enable = true;
|
||||||
|
services.logind.lidSwitch = "hibernate";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
bindsym $mod+0 mode "$mode_system"
|
bindsym $mod+0 mode "$mode_system"
|
||||||
mode "$mode_system" {
|
mode "$mode_system" {
|
||||||
bindsym e exec swaymsg exit, mode "default"
|
bindsym e exec swaymsg exit, mode "default"
|
||||||
'' + (if !psCfg.core.hibernation.enable then ''
|
'' + (if psCfg.core.hibernation.enable then ''
|
||||||
bindsym h exec systemctl hibernate, mode "default"
|
bindsym h exec systemctl hibernate, mode "default"
|
||||||
'' else "")
|
'' else "")
|
||||||
+ (if !psCfg.paranoia.enable then ''
|
+ (if !psCfg.paranoia.enable then ''
|
||||||
|
|
|
@ -5,4 +5,4 @@
|
||||||
# https://github.com/swaywm/sway/wiki/Systemd-integration
|
# https://github.com/swaywm/sway/wiki/Systemd-integration
|
||||||
# Also, import the most important environment variables into the D-Bus and systemd
|
# Also, import the most important environment variables into the D-Bus and systemd
|
||||||
# user environments (e.g. required for screen sharing and Pinentry prompts):
|
# user environments (e.g. required for screen sharing and Pinentry prompts):
|
||||||
exec "systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP; systemctl --user start sway-session.target; exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP; systemd-cat --identifier=sway sway"
|
exec "systemctl --user import-environment; systemctl --user start sway-session.target; exec dbus-update-activation-environment --systemd $IMPORT_ENVIRONMENT_ENV_LIST DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP; systemd-cat --identifier=sway sway"
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
Documentation = [ "man:mako(1)" ];
|
Documentation = [ "man:mako(1)" ];
|
||||||
BindsTo = [ "sway-session.target" ];
|
BindsTo = [ "sway-session.target" ];
|
||||||
After = [ "sway-session.target" ];
|
After = [ "sway-session.target" ];
|
||||||
# ConditionEnvironment requires systemd v247 to work correctly
|
|
||||||
ConditionEnvironment = [ "WAYLAND_DISPLAY" ];
|
ConditionEnvironment = [ "WAYLAND_DISPLAY" ];
|
||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
|
|
|
@ -10,17 +10,15 @@
|
||||||
Service = {
|
Service = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
Environment = "PATH=/run/current-system/sw/bin:${pkgs.sway}/bin";
|
Environment = "PATH=/run/current-system/sw/bin:${pkgs.sway}/bin";
|
||||||
ExecStart = if psCfg.paranoia.enable then ''
|
ExecStart = ''${pkgs.swayidle}/bin/swayidle -w \
|
||||||
${pkgs.swayidle}/bin/swayidle -w \
|
after-resume 'swaymsg "output * dpms on"' \
|
||||||
timeout 120 'swaymsg "output * dpms off"' \
|
before-sleep 'swaylock-bg' '' + (if psCfg.paranoia.enable then '' \
|
||||||
timeout 150 'systemctl hibernate' \
|
timeout 120 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||||
'' else ''
|
timeout 150 'systemctl hibernate'
|
||||||
${pkgs.swayidle}/bin/swayidle -w \
|
'' else '' \
|
||||||
timeout 600 'swaylock-bg' \
|
timeout 600 'swaylock-bg'
|
||||||
timeout 900 'swaymsg "output * dpms off"' \
|
timeout 900 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"'
|
||||||
resume 'swaymsg "output * dpms on"' \
|
'');
|
||||||
before-sleep 'swaylock-bg'
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = [ "sway-session.target" ];
|
WantedBy = [ "sway-session.target" ];
|
||||||
|
|
|
@ -4,8 +4,9 @@
|
||||||
Description = "Highly customizable Wayland bar for Sway and Wlroots based compositors.";
|
Description = "Highly customizable Wayland bar for Sway and Wlroots based compositors.";
|
||||||
Documentation = "https://github.com/Alexays/Waybar/wiki/";
|
Documentation = "https://github.com/Alexays/Waybar/wiki/";
|
||||||
BindsTo = [ "sway-session.target" ];
|
BindsTo = [ "sway-session.target" ];
|
||||||
After = [ "graphical-session-pre.target" "network-online.target" ];
|
After = [ "sway-session.target" "network-online.target" ];
|
||||||
Wants = [ "graphical-session-pre.target" "network-online.target" "blueman-applet.service" ];
|
Wants = [ "graphical-session-pre.target" "network-online.target" "blueman-applet.service" ];
|
||||||
|
ConditionEnvironment = [ "WAYLAND_DISPLAY" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
|
|
|
@ -39,21 +39,49 @@ in
|
||||||
nixos-option = "nixos-option -I nixpkgs=${self}/lib/compat";
|
nixos-option = "nixos-option -I nixpkgs=${self}/lib/compat";
|
||||||
myip = "dig +short myip.opendns.com @208.67.222.222 2>&1";
|
myip = "dig +short myip.opendns.com @208.67.222.222 2>&1";
|
||||||
};
|
};
|
||||||
zplug = {
|
plugins = [
|
||||||
enable = true;
|
{
|
||||||
plugins = [
|
# will source ohmyzsh/plugins/z/
|
||||||
{
|
name = "zsh-plugins-z";
|
||||||
name = "plugins/z";
|
file = "plugins/z/z.sh";
|
||||||
tags = [ "from:oh-my-zsh" ];
|
src = pkgs.fetchFromGitHub {
|
||||||
}
|
owner = "ohmyzsh";
|
||||||
{
|
repo = "ohmyzsh";
|
||||||
name = "romkatv/powerlevel10k";
|
rev = "249c708ed3a4a7a63d16a6e911a46b6fb9623cbd";
|
||||||
tags = [ "as:theme" "depth:1" ];
|
sha256 = "sha256-NAVotL5RxpS/zKnO+ngMIjv787lqc1dj/c4blQrQcvU=";
|
||||||
}
|
};
|
||||||
{ name = "zdharma/fast-syntax-highlighting"; }
|
}
|
||||||
{ name = "chisui/zsh-nix-shell"; }
|
{
|
||||||
];
|
name = "zsh-powerlevel10k";
|
||||||
};
|
file = "powerlevel10k.zsh-theme";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "romkatv";
|
||||||
|
repo = "powerlevel10k";
|
||||||
|
rev = "2dd6a29e4d7a33bfef10973d6550e087be37ddee";
|
||||||
|
sha256 = "sha256-9vc4cMBCNOmPOyzGwnPeMrXXyQUq4pC9Du3AWl9+Rys=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "zsh-fast-syntax-highlighting";
|
||||||
|
file = "F-Sy-H.plugin.zsh";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "z-shell";
|
||||||
|
repo = "F-Sy-H";
|
||||||
|
rev = "c4bdc485b67b58351a24f21fcac92c9e0232b939";
|
||||||
|
sha256 = "sha256-uXBGIdJwubuueNhQRdGxPUi0eJN17cflYAuHTjeQ8FQ=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "zsh-nix-shell";
|
||||||
|
file = "nix-shell.plugin.zsh";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "chisui";
|
||||||
|
repo = "zsh-nix-shell";
|
||||||
|
rev = "af6f8a266ea1875b9a3e86e14796cadbe1cfbf08";
|
||||||
|
sha256 = "sha256-BjgMhILEL/qdgfno4LR64LSB8n9pC9R+gG7IQWwgyfQ=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
bindkey -v
|
bindkey -v
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
self: with self; ''
|
self: with self; ''
|
||||||
# first import environment variables from the login manager
|
# first import environment variables from the login manager
|
||||||
systemctl --user import-environment
|
systemctl --user import-environment $IMPORT_ENVIRONMENT_ENV_LIST DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH;
|
||||||
# then start the service
|
# then start the service
|
||||||
exec systemctl --wait --user start sway.service
|
exec systemctl --wait --user start sway.service
|
||||||
''
|
''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
psCfg = config.pub-solar;
|
psCfg = config.pub-solar;
|
||||||
wlroots = psCfg.graphical.wayland;
|
wlroots = psCfg.graphical.wayland;
|
||||||
|
@ -77,10 +77,22 @@ let
|
||||||
# TELEMETRY BS
|
# TELEMETRY BS
|
||||||
VUEDX_TELEMETRY = "off";
|
VUEDX_TELEMETRY = "off";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
envListNames = lib.attrsets.mapAttrsToList (name: value: name) variables;
|
||||||
|
|
||||||
|
# Here we merge an extra variable into the attrset called FULL_ENV_LIST.
|
||||||
|
# It's a list of the variable names defined above.
|
||||||
|
# We can use this to tell `systemctl import-environment` to import the full list above.
|
||||||
|
variablesWithMeta = lib.attrsets.zipAttrsWith (name: values: builtins.head values) [
|
||||||
|
variables
|
||||||
|
{ IMPORT_ENVIRONMENT_ENV_LIST = lib.lists.foldl (a: b: a + " " + b) "IMPORT_ENVIRONMENT_ENV_LIST" envListNames; }
|
||||||
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager = pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] {
|
home-manager = pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] {
|
||||||
home.sessionVariables = variables;
|
home.sessionVariables = variablesWithMeta;
|
||||||
systemd.user.sessionVariables = variables;
|
systemd.user.sessionVariables = variablesWithMeta;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.variables = variablesWithMeta;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ let
|
||||||
cachix
|
cachix
|
||||||
editorconfig-checker
|
editorconfig-checker
|
||||||
mdbook
|
mdbook
|
||||||
nixUnstable
|
nix
|
||||||
nixpkgs-fmt
|
nixpkgs-fmt
|
||||||
nvfetcher
|
nvfetcher
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in a new issue