150 lines
3.9 KiB
Nix
150 lines
3.9 KiB
Nix
{ inputs, self, ... }: {
|
|
flake.homeConfigurations."grey@takamaki" = inputs.home-manager.lib.homeManagerConfiguration {
|
|
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
|
modules = [
|
|
self.homeModules."grey@takamaki"
|
|
inputs.stylix.homeModules.stylix
|
|
];
|
|
extraSpecialArgs = { inherit inputs; };
|
|
};
|
|
|
|
flake.homeModules."grey@takamaki" = { pkgs, config, lib, ... }: {
|
|
imports = with self.homeModules; [
|
|
global
|
|
audio
|
|
graphics
|
|
gaming
|
|
];
|
|
|
|
info = {
|
|
userName = "grey";
|
|
hostName = "takamaki";
|
|
rootPath = "/home/grey/flake";
|
|
stateVersion = "26.11";
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
extraConfig = ''
|
|
pinentry-program /usr/bin/pinentry
|
|
'';
|
|
};
|
|
|
|
components = {
|
|
windowManagers = [ "biri" ];
|
|
shells = [ "noctalia" ];
|
|
};
|
|
|
|
features = {
|
|
shells.zsh.antidote.enable = true;
|
|
|
|
services = {
|
|
easyeffects.enable = true;
|
|
};
|
|
|
|
hardware = {
|
|
steam-controller.enable = true;
|
|
};
|
|
|
|
applications = {
|
|
cli = {
|
|
fastfetch.enable = true;
|
|
color-converter.enable = true;
|
|
nh = {
|
|
enable = true;
|
|
clean.enable = true;
|
|
};
|
|
};
|
|
|
|
gui = {
|
|
vscode.enable = true;
|
|
equibop = {
|
|
enable = true;
|
|
autostart = true;
|
|
};
|
|
kitty.enable = true;
|
|
spotify = {
|
|
enable = true;
|
|
spicetify = {
|
|
enable = true;
|
|
};
|
|
};
|
|
thunderbird.enable = true;
|
|
zen-browser.enable = true;
|
|
};
|
|
|
|
extraPackages = with pkgs; [
|
|
nix-init
|
|
];
|
|
|
|
shellScripts = {
|
|
switch-os = ''
|
|
if sudo efibootmgr --bootnext 0000 >/dev/null; then
|
|
sudo reboot
|
|
fi
|
|
'';
|
|
|
|
universal-reboot = ''
|
|
sudo reboot
|
|
'';
|
|
|
|
universal-shutdown = ''
|
|
sudo systemctl poweroff
|
|
'';
|
|
|
|
toggle-easyeffects = lib.mkIf (config.features.services.easyeffects.enable) ''
|
|
bypass_value=$(easyeffects -b 3)
|
|
|
|
if [ "$bypass_value" = "1" ]; then
|
|
easyeffects -b 2
|
|
notify-send -e -a "toggle-easyeffects script" "Easy Effects enabled"
|
|
else
|
|
easyeffects -b 1
|
|
notify-send -e -a "toggle-easyeffects script" "Easy Effects disabled"
|
|
fi
|
|
'';
|
|
|
|
brightnessctl = ''
|
|
LOOP_COUNTER=0
|
|
|
|
if [ "$1" == "1" ]; then
|
|
DEVICE="/dev/i2c-10"
|
|
elif [ "$1" == "2" ]; then
|
|
DEVICE="/dev/i2c-6"
|
|
else
|
|
DEVICE=$1
|
|
fi
|
|
|
|
MODE_TEST=$(echo "$2" | grep -oP '^\D')
|
|
if [ "$MODE_TEST" == "+" ] || [ "$MODE_TEST" == "-" ]; then
|
|
MODE="-W"
|
|
else
|
|
MODE="-w"
|
|
fi
|
|
|
|
PRETTY_NAME=$(sudo ddccontrol dev:$DEVICE 2>&1 >/dev/null | grep -oP "/usr/share/ddccontrol-db/monitor/\K.+\.xml" | sed 's/.xml//')
|
|
WRITTEN="foo"
|
|
CONTROL="bar"
|
|
while [[ "$WRITTEN" != "$CONTROL" ]] && [ $LOOP_COUNTER -lt 3 ]; do
|
|
RESULT=$(sudo ddccontrol -r 0x10 $MODE $2 dev:$DEVICE 2> /dev/null)
|
|
WRITTEN=$(echo $RESULT | grep -oP "Writing.+\(\K\d{1,3}\)" | sed 's/)//')
|
|
CONTROL=$(echo $RESULT | grep -oP "Control.+\+/\K\d{1,3}/100" | sed 's/\/100//')
|
|
LOOP_COUNTER=$(($LOOP_COUNTER + 1))
|
|
done
|
|
|
|
notify-send -e -a "brightnessctl script" "Set brightness to $WRITTEN for display $PRETTY_NAME"
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.ssh.settings = {
|
|
"sakamoto" = {
|
|
HostName = "192.168.0.40";
|
|
Port = "22";
|
|
User = "grey";
|
|
IdentityFile = "~/.ssh/id_sakamoto";
|
|
};
|
|
};
|
|
};
|
|
} |