fix up sway config a bit, add more nixos-live options
This commit is contained in:
parent
7e4f414ea6
commit
d65608c9b2
|
@ -1,5 +1,21 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
home.packages = with pkgs; [rofi];
|
pkgs,
|
||||||
|
nixosConfig,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
gnomeConfig = nixosConfig.services.xserver.desktopManager.gnome;
|
||||||
|
gdmConfig = nixosConfig.services.xserver.displayManager.gdm;
|
||||||
|
|
||||||
|
isGnome = gnomeConfig.enable;
|
||||||
|
isGDMWayland = gdmConfig.enable && gdmConfig.wayland;
|
||||||
|
|
||||||
|
isWayland = isGnome && isGDMWayland;
|
||||||
|
|
||||||
|
# rofi currently does not run on gnome
|
||||||
|
rofiPackage = pkgs.rofi;
|
||||||
|
in {
|
||||||
|
home.packages = [rofiPackage];
|
||||||
|
|
||||||
home.file.".local/share/rofi/themes/rofi-nord.rasi".source = ./rofi-nord.rasi;
|
home.file.".local/share/rofi/themes/rofi-nord.rasi".source = ./rofi-nord.rasi;
|
||||||
home.file.".config/rofi/config.rasi".source = ./config.rasi;
|
home.file.".config/rofi/config.rasi".source = ./config.rasi;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
programs.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultTimeout = 3000;
|
defaultTimeout = 3000;
|
||||||
};
|
};
|
||||||
|
|
|
@ -21,6 +21,18 @@
|
||||||
QT_AUTO_SCREEN_SCALE_FACTOR = 1;
|
QT_AUTO_SCREEN_SCALE_FACTOR = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
package = pkgs.gnome.adwaita-icon-theme;
|
||||||
|
name = "Adwaita";
|
||||||
|
size = 24;
|
||||||
|
|
||||||
|
gtk.enable = true;
|
||||||
|
x11 = {
|
||||||
|
enable = true;
|
||||||
|
defaultCursor = "Adwaita";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
|
@ -34,8 +46,6 @@
|
||||||
libdbusmenu-gtk3
|
libdbusmenu-gtk3
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.dataFile."wallpaper.jpg".source = ./wallpaper.jpg;
|
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wrapperFeatures.base = true;
|
wrapperFeatures.base = true;
|
||||||
|
@ -62,7 +72,7 @@
|
||||||
{command = "${pkgs.waybar}/bin/waybar";}
|
{command = "${pkgs.waybar}/bin/waybar";}
|
||||||
];
|
];
|
||||||
|
|
||||||
output = {"*" = {bg = "~/.local/share/wallpaper.jpg fill";};};
|
output = {"*" = {bg = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath} fill";};};
|
||||||
input = {"*" = {xkb_layout = "gb";};};
|
input = {"*" = {xkb_layout = "gb";};};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
|
@ -98,7 +108,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
window = {
|
window = {
|
||||||
border = 4;
|
border = 0;
|
||||||
titlebar = false;
|
titlebar = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -125,9 +135,9 @@
|
||||||
"XF86AudioMicMute" = "exec ${pactl} set-source-mute @DEFAULT_SOURCE@ toggle";
|
"XF86AudioMicMute" = "exec ${pactl} set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||||
"XF86MonBrightnessDown" = "exec sudo xbacklight -time 1 -dec +5";
|
"XF86MonBrightnessDown" = "exec sudo xbacklight -time 1 -dec +5";
|
||||||
"XF86MonBrightnessUp" = "exec sudo xbacklight -time 1 -inc +5";
|
"XF86MonBrightnessUp" = "exec sudo xbacklight -time 1 -inc +5";
|
||||||
"Print" = "exec ${pkgs.grim}/bin/grim -t png - | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png";
|
"Print" = ''
|
||||||
"Shift+Print" = ''
|
|
||||||
exec ${pkgs.grim}/bin/grim -t png -g "$(${pkgs.slurp}/bin/slurp -d)" - | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png'';
|
exec ${pkgs.grim}/bin/grim -t png -g "$(${pkgs.slurp}/bin/slurp -d)" - | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png'';
|
||||||
|
"Shift+Print" = "exec ${pkgs.grim}/bin/grim -t png - | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png";
|
||||||
|
|
||||||
"${cfg.modifier}+d" = "exec ${menu}";
|
"${cfg.modifier}+d" = "exec ${menu}";
|
||||||
"${cfg.modifier}+f" = "fullscreen";
|
"${cfg.modifier}+f" = "fullscreen";
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 168 KiB |
|
@ -14,4 +14,31 @@
|
||||||
"Mounts/Temp1"
|
"Mounts/Temp1"
|
||||||
"Mounts/Temp2"
|
"Mounts/Temp2"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home.file."Music/music-sync.sh" = {
|
||||||
|
executable = true;
|
||||||
|
text = ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "''${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
cd "''${SCRIPT_DIR}"
|
||||||
|
|
||||||
|
rclone sync -P . Storage:Music --exclude music-sync.sh,music-download.sh
|
||||||
|
restic-music backup $(fd -t d --max-depth=1 && fd -t f --max-depth=1)
|
||||||
|
|
||||||
|
~/Projects/music_library_website/update.sh
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file."Music/music-download.sh" = {
|
||||||
|
executable = true;
|
||||||
|
text = ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "''${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
cd "''${SCRIPT_DIR}"
|
||||||
|
|
||||||
|
rclone sync -P --exclude music-sync.sh,music-download.sh Storage:Music .
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
profiles.sshd
|
profiles.sshd
|
||||||
profiles.kernels.latest
|
profiles.kernels.latest
|
||||||
|
|
||||||
presets.nixos.desktop
|
presets.nixos.desktop-sway
|
||||||
presets.nixos.laptop
|
presets.nixos.laptop
|
||||||
presets.nixos.encrypted-usb
|
presets.nixos.encrypted-usb
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
self,
|
||||||
config,
|
config,
|
||||||
tree,
|
tree,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{nixpkgs-unstable, ...} @ inputs: let
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs-unstable,
|
||||||
|
...
|
||||||
|
} @ inputs: let
|
||||||
|
inherit (nixpkgs-unstable.lib) forEach;
|
||||||
|
|
||||||
mkTree = inputs.tree-input.tree;
|
mkTree = inputs.tree-input.tree;
|
||||||
metaTree = mkTree ((import ../treeConfig.nix {}) // {inherit inputs;});
|
metaTree = mkTree ((import ../treeConfig.nix {}) // {inherit inputs;});
|
||||||
tree = metaTree.impure;
|
tree = metaTree.impure;
|
||||||
|
@ -12,6 +18,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultSpecialArgs = {
|
defaultSpecialArgs = {
|
||||||
|
inherit self;
|
||||||
tree = metaTree.impure;
|
tree = metaTree.impure;
|
||||||
pureTree = metaTree.pure;
|
pureTree = metaTree.pure;
|
||||||
inputs = patchedInputs;
|
inputs = patchedInputs;
|
||||||
|
@ -68,6 +75,51 @@ in {
|
||||||
modules = defaultModules ++ [./nixos-live/nixos-live.nix];
|
modules = defaultModules ++ [./nixos-live/nixos-live.nix];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixos-live-x86_64-laptops = nixosUnstableSystem {
|
||||||
|
specialArgs = defaultSpecialArgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules =
|
||||||
|
defaultModules
|
||||||
|
++ [
|
||||||
|
./nixos-live/nixos-live.nix
|
||||||
|
({...}: {
|
||||||
|
system.extraDependencies =
|
||||||
|
forEach ["lappy-t495" "tablet"] (system:
|
||||||
|
self.nixosConfigurations.${system}.config.system.build.toplevel);
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixos-live-x86_64-servers = nixosUnstableSystem {
|
||||||
|
specialArgs = defaultSpecialArgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules =
|
||||||
|
defaultModules
|
||||||
|
++ [
|
||||||
|
./nixos-live/nixos-live.nix
|
||||||
|
({...}: {
|
||||||
|
system.extraDependencies =
|
||||||
|
forEach ["vault" "hetzner-vm"] (system:
|
||||||
|
self.nixosConfigurations.${system}.config.system.build.toplevel);
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixos-live-x86_64-all = nixosUnstableSystem {
|
||||||
|
specialArgs = defaultSpecialArgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules =
|
||||||
|
defaultModules
|
||||||
|
++ [
|
||||||
|
./nixos-live/nixos-live.nix
|
||||||
|
({...}: {
|
||||||
|
system.extraDependencies =
|
||||||
|
forEach ["lappy-t495" "tablet" "vault" "hetzner-vm"] (system:
|
||||||
|
self.nixosConfigurations.${system}.config.system.build.toplevel);
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# nix --no-sandbox build .#nixosConfigurations.raspberry.config.system.build.sdImage
|
# nix --no-sandbox build .#nixosConfigurations.raspberry.config.system.build.sdImage
|
||||||
raspberry = nixosUnstableSystem {
|
raspberry = nixosUnstableSystem {
|
||||||
specialArgs = defaultSpecialArgs;
|
specialArgs = defaultSpecialArgs;
|
||||||
|
|
|
@ -10,6 +10,31 @@
|
||||||
simple_get "/api-keys/music-stream" .password > $secretFile
|
simple_get "/api-keys/music-stream" .password > $secretFile
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
# Required for home.apps.manual-backup-apps
|
||||||
|
gitlab_archiver_token = {
|
||||||
|
user = "chaos";
|
||||||
|
group = "users";
|
||||||
|
|
||||||
|
fetchScript = ''
|
||||||
|
simple_get "/api-keys/gitlab/gitlab_archiver" .token > $secretFile
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Required for home.apps.manual-backup-apps
|
||||||
|
restic_music_env = {
|
||||||
|
user = "chaos";
|
||||||
|
group = "users";
|
||||||
|
|
||||||
|
fetchScript = ''
|
||||||
|
api_username=$(simple_get "/api-keys/storage/restic/Music" .username)
|
||||||
|
api_password=$(simple_get "/api-keys/storage/restic/Music" .password)
|
||||||
|
restic_password=$(simple_get "/private-public-keys/restic/Music" .password)
|
||||||
|
|
||||||
|
echo > $secretFile
|
||||||
|
echo "RESTIC_REPOSITORY=rest:https://''${api_username}:''${api_password}@storage-restic.owo.monster/Music" >> $secretFile
|
||||||
|
echo "RESTIC_PASSWORD=''${restic_password}" >> $secretFile
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,12 +5,10 @@
|
||||||
profiles.sshd
|
profiles.sshd
|
||||||
profiles.kernels.latest
|
profiles.kernels.latest
|
||||||
|
|
||||||
presets.nixos.desktop
|
presets.nixos.desktop-gnome
|
||||||
presets.nixos.laptop
|
presets.nixos.laptop
|
||||||
presets.nixos.encrypted-usb
|
presets.nixos.encrypted-usb
|
||||||
|
|
||||||
hosts.tablet.profiles.wireguard
|
|
||||||
|
|
||||||
./secrets.nix
|
./secrets.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
_: {}
|
|
|
@ -1 +0,0 @@
|
||||||
_: {}
|
|
|
@ -1,8 +1,12 @@
|
||||||
final: prev: {
|
final: prev: {
|
||||||
comic-sans = final.callPackage ./comic-sans {};
|
comic-sans = final.callPackage ./comic-sans {};
|
||||||
comic-code = final.callPackage ./comic-code {};
|
comic-code = final.callPackage ./comic-code {};
|
||||||
|
|
||||||
|
gobar = final.callPackage ./gobar {};
|
||||||
|
|
||||||
roc-toolkit-patched = final.callPackage ./roc-toolkit-patched {};
|
roc-toolkit-patched = final.callPackage ./roc-toolkit-patched {};
|
||||||
roc-send-pcm = final.callPackage ./roc-send-pcm {};
|
roc-send-pcm = final.callPackage ./roc-send-pcm {};
|
||||||
|
|
||||||
piped-backend = final.callPackage ./piped/backend {
|
piped-backend = final.callPackage ./piped/backend {
|
||||||
jre = final.openjdk19_headless;
|
jre = final.openjdk19_headless;
|
||||||
jdk = final.openjdk19;
|
jdk = final.openjdk19;
|
||||||
|
|
|
@ -2,17 +2,17 @@
|
||||||
imports = with tree; [
|
imports = with tree; [
|
||||||
profiles.sound.pipewire
|
profiles.sound.pipewire
|
||||||
profiles.gui.base
|
profiles.gui.base
|
||||||
profiles.gui.environments.gnome
|
|
||||||
|
|
||||||
profiles.firewall-allow.aria2c
|
profiles.firewall-allow.aria2c
|
||||||
profiles.firewall-allow.soulseek
|
profiles.firewall-allow.soulseek
|
||||||
profiles.mullvad
|
profiles.mullvad
|
||||||
];
|
];
|
||||||
|
|
||||||
|
boot.plymouth.enable = true;
|
||||||
|
|
||||||
home-manager.users.chaos = {
|
home-manager.users.chaos = {
|
||||||
imports = with tree; [
|
imports = with tree; [
|
||||||
home.gui.base
|
home.gui.base
|
||||||
home.gui.environments.gnome
|
|
||||||
|
|
||||||
home.apps.file-roller
|
home.apps.file-roller
|
||||||
home.apps.nautilus
|
home.apps.nautilus
|
11
presets/nixos/desktop-gnome.nix
Normal file
11
presets/nixos/desktop-gnome.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{tree, ...}: {
|
||||||
|
imports = with tree; [
|
||||||
|
presets.nixos.desktop-base
|
||||||
|
profiles.gui.environments.gnome
|
||||||
|
];
|
||||||
|
home-manager.users.chaos = {
|
||||||
|
imports = with tree; [
|
||||||
|
home.gui.environments.gnome
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
11
presets/nixos/desktop-sway.nix
Normal file
11
presets/nixos/desktop-sway.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{tree, ...}: {
|
||||||
|
imports = with tree; [
|
||||||
|
presets.nixos.desktop-base
|
||||||
|
profiles.gui.environments.sway
|
||||||
|
];
|
||||||
|
home-manager.users.chaos = {
|
||||||
|
imports = with tree; [
|
||||||
|
home.gui.environments.sway
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,21 +1,30 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnome3.adwaita-icon-theme
|
||||||
|
];
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [comic-sans comic-code];
|
packages = with pkgs; [comic-sans comic-code];
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
# For Telegram
|
# For Telegram
|
||||||
localConf = ''
|
localConf = ''
|
||||||
<match>
|
<?xml version="1.0"?>
|
||||||
<test name="family"><string>Open Sans</string></test>
|
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||||
<edit name="family" mode="assign" binding="strong">
|
<fontconfig>
|
||||||
<string>Comic Sans MS</string>
|
|
||||||
</edit>
|
<match>
|
||||||
</match>
|
<test name="family"><string>Open Sans</string></test>
|
||||||
<match>
|
<edit name="family" mode="assign" binding="strong">
|
||||||
<test name="family"><string>Open Sans Semibold</string></test>
|
<string>Comic Sans MS</string>
|
||||||
<edit name="family" mode="assign" binding="strong">
|
</edit>
|
||||||
<string>Comic Sans MS:style=bold</string>
|
</match>
|
||||||
</edit>
|
<match>
|
||||||
</match>
|
<test name="family"><string>Open Sans Semibold</string></test>
|
||||||
|
<edit name="family" mode="assign" binding="strong">
|
||||||
|
<string>Comic Sans MS:style=bold</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
</fontconfig>
|
||||||
'';
|
'';
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
serif = ["Comic Sans MS"];
|
serif = ["Comic Sans MS"];
|
||||||
|
|
|
@ -2,13 +2,39 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
isWayland = true;
|
||||||
|
in {
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
displayManager.gdm.enable = true;
|
|
||||||
desktopManager.gnome.enable = true;
|
desktopManager.gnome.enable = true;
|
||||||
displayManager.gdm.wayland = false;
|
displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = isWayland;
|
||||||
|
autoSuspend = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
QT_QPA_PLATFORM =
|
||||||
|
if isWayland
|
||||||
|
then "wayland-egl"
|
||||||
|
else "xcb";
|
||||||
|
SDL_VIDEODRIVER =
|
||||||
|
if isWayland
|
||||||
|
then "wayland"
|
||||||
|
else "x11";
|
||||||
|
_JAVA_AWT_WM_NONREPARENTING = lib.mkIf isWayland "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
security.polkit.extraConfig = ''
|
||||||
|
polkit.addRule(function(action, subject) {
|
||||||
|
if (subject.isInGroup("wheel")) {
|
||||||
|
return polkit.Result.YES;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
'';
|
||||||
|
|
||||||
environment.gnome.excludePackages = [
|
environment.gnome.excludePackages = [
|
||||||
pkgs.gnome.cheese
|
pkgs.gnome.cheese
|
||||||
pkgs.gnome.gnome-music
|
pkgs.gnome.gnome-music
|
||||||
|
@ -25,16 +51,21 @@
|
||||||
pkgs.gnome-tour
|
pkgs.gnome-tour
|
||||||
pkgs.gnome.geary
|
pkgs.gnome.geary
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gnomeExtensions.appindicator
|
|
||||||
gnome.gnome-tweaks
|
gnome.gnome-tweaks
|
||||||
|
gnomeExtensions.appindicator
|
||||||
gnomeExtensions.just-perfection
|
gnomeExtensions.just-perfection
|
||||||
|
|
||||||
|
qt5.qtwayland
|
||||||
|
wl-clipboard
|
||||||
|
xclip
|
||||||
];
|
];
|
||||||
|
|
||||||
services.gnome.gnome-browser-connector.enable = true;
|
services.gnome.gnome-browser-connector.enable = true;
|
||||||
services.udev.packages = with pkgs; [gnome3.gnome-settings-daemon];
|
services.udev.packages = with pkgs; [gnome3.gnome-settings-daemon];
|
||||||
|
|
||||||
services.power-profiles-daemon.enable = lib.mkForce false;
|
services.power-profiles-daemon.enable = true;
|
||||||
hardware.pulseaudio.enable = lib.mkForce false;
|
hardware.pulseaudio.enable = lib.mkForce false;
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
programs.sway.enable = true;
|
programs.sway.enable = true;
|
||||||
programs.xwayland.enable = true;
|
programs.xwayland.enable = true;
|
||||||
#services.xserver.enable = true;
|
|
||||||
#systemd.services.display-manager.enable = true;
|
services.xserver = {
|
||||||
#services.xserver.displayManager.sddm.enable = true;
|
enable = true;
|
||||||
|
displayManager.sddm.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue