Compare commits

..

No commits in common. "8ec79eac11936de71ba46fec418bcfc654bcfaf2" and "28080d31c0b870f4d82b09d99cd4ed4b8ca4c1a3" have entirely different histories.

10 changed files with 43 additions and 84 deletions

View file

@ -778,11 +778,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722462338, "lastModified": 1719037157,
"narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", "narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", "rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1063,11 +1063,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1722415718, "lastModified": 1722141560,
"narHash": "sha256-5US0/pgxbMksF92k1+eOa8arJTJiPvsdZj9Dl+vJkM4=", "narHash": "sha256-Ul3rIdesWaiW56PS/Ak3UlJdkwBrD4UcagCmXZR9Z7Y=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c3392ad349a5227f4a3464dce87bcc5046692fce", "rev": "038fb464fcfa79b4f08131b07f2d8c9a6bcc4160",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -57,6 +57,7 @@ in
feh # For images? feh # For images?
deluge # Torrent client deluge # Torrent client
pavucontrol # PulseAudio control panel pavucontrol # PulseAudio control panel
cinnamon.nemo # File manager
thunderbird # Email thunderbird # Email
sublime-music # For navidrome sublime-music # For navidrome
cinny-desktop cinny-desktop
@ -71,10 +72,8 @@ in
mpv # for anki mpv # for anki
anki-bin anki-bin
# Chat stuff
tdesktop tdesktop
whatsapp-for-linux whatsapp-for-linux
slack
librewolf librewolf
@ -83,7 +82,11 @@ in
# sct # Display color temperature # sct # Display color temperature
xdg-utils # Open stuff xdg-utils # Open stuff
wifi-indicator wifi-indicator
]); ] ++ (if pkgs.stdenv.isAarch64 then [ ] else [
gnome.cheese # Webcam check, expensive
# Chat stuff
slack
]));
nki.programs.discord.enable = pkgs.stdenv.isx86_64; nki.programs.discord.enable = pkgs.stdenv.isx86_64;
nki.programs.discord.package = pkgs.vesktop; nki.programs.discord.package = pkgs.vesktop;

View file

@ -14,7 +14,7 @@ let
systemd.user.services.swaync.Unit.PartOf = lib.mkForce [ "sway-session.target" ]; systemd.user.services.swaync.Unit.PartOf = lib.mkForce [ "sway-session.target" ];
programs.my-sway.waybar = { programs.my-sway.waybar = {
extraSettings = [{ extraSettings = {
modules-right = mkAfter [ "custom/swaync" ]; modules-right = mkAfter [ "custom/swaync" ];
modules."custom/swaync" = { modules."custom/swaync" = {
tooltip = false; tooltip = false;
@ -36,7 +36,7 @@ let
on-click-right = "${swaync}/bin/swaync-client -d -sw"; on-click-right = "${swaync}/bin/swaync-client -d -sw";
escape = true; escape = true;
}; };
}]; };
extraStyle = mkAfter '' extraStyle = mkAfter ''
#custom-swaync { #custom-swaync {
background: #F0FFFF; background: #F0FFFF;

View file

@ -110,12 +110,12 @@ in
default = barWith: [ (barWith { }) ]; default = barWith: [ (barWith { }) ];
}; };
extraSettings = mkOption { extraSettings = mkOption {
type = types.listOf types.raw; type = types.raw;
description = "Extra settings to be included with every default bar"; description = "Extra settings to be included with every default bar";
default = [ ]; default = { };
}; };
extraStyle = mkOption { extraStyle = mkOption {
type = types.lines; type = types.str;
description = "Additional style for the default waybar"; description = "Additional style for the default waybar";
default = ""; default = "";
}; };
@ -409,7 +409,7 @@ in
config.programs.waybar = config.programs.waybar =
let let
barWith = { showMedia ? true, showConnectivity ? true, extraSettings ? { }, ... }: mkMerge ([{ barWith = { showMedia ? true, showConnectivity ? true, extraSettings ? { }, ... }: (mkMerge [{
position = "top"; position = "top";
modules-left = [ modules-left = [
"sway/workspaces" "sway/workspaces"
@ -420,7 +420,7 @@ in
]; ];
modules-right = modules-right =
lib.optional showMedia (if cfg.enableMpd then "mpd" else "custom/media") lib.optional showMedia (if cfg.enableMpd then "mpd" else "custom/media")
++ [ ++ [
"tray" "tray"
"pulseaudio" "pulseaudio"
] ++ lib.optionals showConnectivity [ ] ++ lib.optionals showConnectivity [
@ -431,7 +431,7 @@ in
"memory" "memory"
"temperature" "temperature"
] ++ lib.optionals cfg.enableLaptopBars [ "battery" "battery#bat2" ] ] ++ lib.optionals cfg.enableLaptopBars [ "battery" "battery#bat2" ]
++ [ ++ [
"clock" "clock"
]; ];
@ -598,9 +598,9 @@ in
"on-click" = "${playerctl} play-pause"; "on-click" = "${playerctl} play-pause";
}; };
}; };
}] ++ }
cfg.waybar.extraSettings cfg.waybar.extraSettings
++ [ extraSettings ]); extraSettings]);
in in
mkIf cfg.enable { mkIf cfg.enable {
enable = true; enable = true;

View file

@ -48,21 +48,6 @@
tap = "enabled"; tap = "enabled";
}; };
}; };
programs.my-sway.waybar.extraSettings =
let
change-mode = pkgs.writeScript "change-mode" ''
#!/usr/bin/env ${lib.getExe pkgs.fish}
set -ax PATH ${lib.getBin pkgs.power-profiles-daemon} ${lib.getBin pkgs.rofi} ${lib.getBin pkgs.ripgrep}
set profiles (powerprofilesctl list | rg "^[ *] (\S+):" -r '$1')
set selected_index (math (contains -i (powerprofilesctl get) $profiles) - 1)
set new_profile (printf "%s\n" $profiles | rofi -dmenu -p "Switch to power profile" -a $selected_index)
powerprofilesctl set $new_profile
'';
in
[{
modules."battery"."on-click" = change-mode;
}];
# input-remapping # input-remapping
xdg.configFile."autostart/input-remapper-autoload.desktop".source = xdg.configFile."autostart/input-remapper-autoload.desktop".source =
@ -76,32 +61,16 @@
# Multiple screen setup # Multiple screen setup
services.kanshi = with config.common.monitors; { services.kanshi = with config.common.monitors; {
enable = true; enable = true;
settings = [ profiles.undocked.outputs = [{
{ criteria = "eDP-1";
profile.name = "undocked"; }];
profile.outputs = [{ criteria = "eDP-1"; }]; profiles.work-both.outputs = [
} { criteria = "eDP-1"; position = "0,${toString (builtins.floor ((2160 / work.scale - 1200) + 1200 / 3))}"; status = "enable"; }
{ { criteria = work.name; position = "1920,0"; }
profile.name = "work-both"; ];
profile.outputs = [ profiles.work-one.outputs = [
{ { criteria = "eDP-1"; status = "disable"; }
criteria = "eDP-1"; { criteria = config.common.monitors.work.name; }
position = "0,${toString (builtins.floor ((2160 / work.scale - 1200) + 1200 / 3))}";
status = "enable";
}
{ criteria = work.name; position = "1920,0"; }
];
}
{
profile.name = "work-one";
profile.outputs = [
{
criteria = "eDP-1";
status = "disable";
}
];
}
{ output.criteria = config.common.monitors.work.name; }
]; ];
}; };

View file

@ -70,7 +70,7 @@
services.printing.drivers = with pkgs; [ epfl-cups-drivers ]; services.printing.drivers = with pkgs; [ epfl-cups-drivers ];
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true; services.xserver.libinput.enable = true;
# Keyboard # Keyboard
services.input-remapper.enable = true; services.input-remapper.enable = true;
services.input-remapper.serviceWantedBy = [ "multi-user.target" ]; services.input-remapper.serviceWantedBy = [ "multi-user.target" ];

View file

@ -27,17 +27,6 @@ let
}; };
}; };
graphics = { config, ... }: {
hardware =
if config.system.nixos.release == "24.05" then {
opengl.enable = true;
opengl.driSupport32Bit = true;
} else {
graphics.enable = true;
graphics.enable32Bit = true;
};
};
accounts = { pkgs, ... }: mkIf (config.common.linux.enable && !pkgs.stdenv.isAarch64) { accounts = { pkgs, ... }: mkIf (config.common.linux.enable && !pkgs.stdenv.isAarch64) {
environment.systemPackages = with pkgs.gnome; [ pkgs.glib gnome-control-center ]; environment.systemPackages = with pkgs.gnome; [ pkgs.glib gnome-control-center ];
services.accounts-daemon.enable = true; services.accounts-daemon.enable = true;
@ -115,7 +104,7 @@ let
}; };
in in
{ {
imports = with modules; [ adb ios graphics wlr logitech kwallet virtualisation accounts rt-audio ]; imports = with modules; [ adb ios wlr logitech kwallet virtualisation accounts rt-audio ];
options.common.linux = { options.common.linux = {
enable = mkOption { enable = mkOption {
@ -267,18 +256,14 @@ in
i18n.defaultLocale = "ja_JP.UTF-8"; i18n.defaultLocale = "ja_JP.UTF-8";
# Input methods (only fcitx5 works reliably on Wayland) # Input methods (only fcitx5 works reliably on Wayland)
i18n.inputMethod = { i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.waylandFrontend = true; fcitx5.waylandFrontend = true;
fcitx5.addons = with pkgs; [ fcitx5.addons = with pkgs; [
fcitx5-mozc fcitx5-mozc
fcitx5-unikey fcitx5-unikey
fcitx5-gtk fcitx5-gtk
]; ];
} // (if config.system.nixos.release == "24.05" then { };
enabled = "fcitx5";
} else {
enable = true;
type = "fcitx5";
});
# Default packages # Default packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -308,6 +293,8 @@ in
programs.dconf.enable = true; programs.dconf.enable = true;
# Gaming! (not for ARM64) # Gaming! (not for ARM64)
programs.steam.enable = !pkgs.stdenv.isAarch64; programs.steam.enable = !pkgs.stdenv.isAarch64;
hardware.opengl.enable = true;
hardware.opengl.driSupport32Bit = !pkgs.stdenv.isAarch64; # For 32 bit applications
## Services ## Services
# OpenSSH so you can SSH to me # OpenSSH so you can SSH to me

View file

@ -12,7 +12,7 @@ lib.mkIf pkgs.stdenv.isLinux {
name = "system-icons"; name = "system-icons";
paths = with pkgs; [ paths = with pkgs; [
#libsForQt5.breeze-qt5 # for plasma #libsForQt5.breeze-qt5 # for plasma
(pkgs.gnome-themes-extra or gnome.gnome-themes-extra) # Until 24.11 gnome.gnome-themes-extra
]; ];
pathsToLink = [ "/share/icons" ]; pathsToLink = [ "/share/icons" ];
}; };

View file

@ -20,7 +20,7 @@
# services.xserver.enable = true; # services.xserver.enable = true;
# services.xserver.displayManager.sddm.enable = true; # services.xserver.displayManager.sddm.enable = true;
# services.xserver.displayManager.sddm.wayland.enable = true; # services.xserver.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true; services.xserver.desktopManager.plasma6.enable = true;
# Power Management # Power Management
services.upower = { services.upower = {
@ -40,7 +40,7 @@
services.printing.drivers = with pkgs; [ epfl-cups-drivers ]; services.printing.drivers = with pkgs; [ epfl-cups-drivers ];
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true; services.xserver.libinput.enable = true;
# Keyboard # Keyboard
services.input-remapper.enable = true; services.input-remapper.enable = true;
services.input-remapper.serviceWantedBy = [ "multi-user.target" ]; services.input-remapper.serviceWantedBy = [ "multi-user.target" ];

View file

@ -27,7 +27,7 @@
ed25519PrivateKey = config.sops.secrets."tinc-private-key".path; ed25519PrivateKey = config.sops.secrets."tinc-private-key".path;
}; };
services.desktopManager.plasma6.enable = true; services.xserver.desktopManager.plasma6.enable = true;
# Power Management # Power Management
services.upower = { services.upower = {