format stuff
This commit is contained in:
parent
a2345bb55d
commit
9ff2bd4e96
42 changed files with 387 additions and 317 deletions
|
@ -1,20 +1,21 @@
|
||||||
{ impermanence, pkgs, ... }:
|
|
||||||
let
|
|
||||||
user = import ../users/user.nix;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
impermanence,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
user = import ../users/user.nix;
|
||||||
|
in {
|
||||||
programs.fuse.userAllowOther = true;
|
programs.fuse.userAllowOther = true;
|
||||||
|
|
||||||
fileSystems."/home/${user.primary.userName}" = {
|
fileSystems."/home/${user.primary.userName}" = {
|
||||||
device = "tmpfs";
|
device = "tmpfs";
|
||||||
fsType = "tmpfs";
|
fsType = "tmpfs";
|
||||||
options = [ "mode=0755" "uid=1000" "gid=100" ];
|
options = ["mode=0755" "uid=1000" "gid=100"];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.users.${user.primary.userName} = { pkgs, ... }: {
|
home-manager.users.${user.primary.userName} = {pkgs, ...}: {
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
impermanence.nixosModules.home-manager.impermanence
|
impermanence.nixosModules.home-manager.impermanence
|
||||||
|
|
||||||
|
@ -36,7 +37,7 @@ in
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
_1password-gui
|
_1password-gui
|
||||||
brightnessctl
|
brightnessctl
|
||||||
(discord.override { withOpenASAR = true; })
|
discord
|
||||||
evince
|
evince
|
||||||
gnome.eog
|
gnome.eog
|
||||||
gnome.gnome-system-monitor
|
gnome.gnome-system-monitor
|
||||||
|
|
11
home/dev.nix
11
home/dev.nix
|
@ -1,8 +1,6 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
let
|
|
||||||
user = import ../users/user.nix;
|
user = import ../users/user.nix;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./nvim.nix
|
./nvim.nix
|
||||||
];
|
];
|
||||||
|
@ -10,14 +8,13 @@ in
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
git-crypt
|
git-crypt
|
||||||
lazydocker
|
lazydocker
|
||||||
nixpkgs-fmt
|
|
||||||
ripgrep
|
ripgrep
|
||||||
];
|
];
|
||||||
programs = {
|
programs = {
|
||||||
gh = {
|
gh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.git_protocol = "ssh";
|
settings.git_protocol = "ssh";
|
||||||
extensions = [ pkgs.gh-dash ];
|
extensions = [pkgs.gh-dash];
|
||||||
};
|
};
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -34,7 +31,7 @@ in
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
};
|
};
|
||||||
ignores = [ "/.nix" "/.direnv" ];
|
ignores = ["/.nix" "/.direnv"];
|
||||||
};
|
};
|
||||||
lazygit = {
|
lazygit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs = {
|
programs = {
|
||||||
aria2 = {
|
aria2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
163
home/firefox.nix
163
home/firefox.nix
|
@ -1,75 +1,110 @@
|
||||||
{ pkgs, osConfig, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package =
|
package = pkgs.firefox.override {
|
||||||
(pkgs.firefox.override {
|
extraPolicies = {
|
||||||
extraPolicies = {
|
DontCheckDefaultBrowser = true;
|
||||||
DontCheckDefaultBrowser = true;
|
DisablePocket = true;
|
||||||
DisablePocket = true;
|
DisableTelemetry = true;
|
||||||
DisableTelemetry = true;
|
DisplayBookmarksToolbar = "always";
|
||||||
DisplayBookmarksToolbar = "always";
|
EnableTrackingProtection = {
|
||||||
EnableTrackingProtection = {
|
Value = true;
|
||||||
Value = true;
|
Locked = true;
|
||||||
Locked = true;
|
Cryptomining = true;
|
||||||
Cryptomining = true;
|
};
|
||||||
|
FirefoxHome = {
|
||||||
|
Search = true;
|
||||||
|
TopSites = false;
|
||||||
|
SponsoredTopSites = false;
|
||||||
|
Highlights = false;
|
||||||
|
Pocket = false;
|
||||||
|
SponsoredPocket = false;
|
||||||
|
Snippets = false;
|
||||||
|
Locked = true;
|
||||||
|
};
|
||||||
|
UserMessaging = {
|
||||||
|
WhatsNew = false;
|
||||||
|
ExtensionRecommendations = false;
|
||||||
|
FeatureRecommendations = false;
|
||||||
|
UrlbarInterventions = false;
|
||||||
|
SkipOnboarding = true;
|
||||||
|
MoreFromMozilla = false;
|
||||||
|
};
|
||||||
|
NoDefaultBookmarks = true;
|
||||||
|
OfferToSaveLogins = false;
|
||||||
|
SearchSuggestEnabled = false;
|
||||||
|
OverrideFirstRunPage = "";
|
||||||
|
OverridePostUpdatePage = "";
|
||||||
|
ExtensionSettings = {
|
||||||
|
"{b743f56d-1cc1-4048-8ba6-f9c2ab7aa54d}" = {
|
||||||
|
"allowed_types" = "theme";
|
||||||
|
"installation_mode" = "force_installed";
|
||||||
|
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/dracula-dark-colorscheme/latest.xpi";
|
||||||
};
|
};
|
||||||
FirefoxHome = {
|
"{d634138d-c276-4fc8-924b-40a0ea21d284}" = {
|
||||||
Search = true;
|
"allowed_types" = "extension";
|
||||||
TopSites = false;
|
"installation_mode" = "force_installed";
|
||||||
SponsoredTopSites = false;
|
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/1password-x-password-manager/latest.xpi";
|
||||||
Highlights = false;
|
|
||||||
Pocket = false;
|
|
||||||
SponsoredPocket = false;
|
|
||||||
Snippets = false;
|
|
||||||
Locked = true;
|
|
||||||
};
|
};
|
||||||
UserMessaging = {
|
"queryamoid@kaply.com" = {
|
||||||
WhatsNew = false;
|
"allowed_types" = "extension";
|
||||||
ExtensionRecommendations = false;
|
"installation_mode" = "force_installed";
|
||||||
FeatureRecommendations = false;
|
"install_url" = "https://github.com/mkaply/queryamoid/releases/download/v0.2/query_amo_addon_id-0.2-fx.xpi";
|
||||||
UrlbarInterventions = false;
|
|
||||||
SkipOnboarding = true;
|
|
||||||
MoreFromMozilla = false;
|
|
||||||
};
|
|
||||||
NoDefaultBookmarks = true;
|
|
||||||
OfferToSaveLogins = false;
|
|
||||||
SearchSuggestEnabled = false;
|
|
||||||
OverrideFirstRunPage = "";
|
|
||||||
OverridePostUpdatePage = "";
|
|
||||||
ExtensionSettings = {
|
|
||||||
"{b743f56d-1cc1-4048-8ba6-f9c2ab7aa54d}" = {
|
|
||||||
"allowed_types" = "theme";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/dracula-dark-colorscheme/latest.xpi";
|
|
||||||
};
|
|
||||||
"{d634138d-c276-4fc8-924b-40a0ea21d284}" = {
|
|
||||||
"allowed_types" = "extension";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/1password-x-password-manager/latest.xpi";
|
|
||||||
};
|
|
||||||
"queryamoid@kaply.com" = {
|
|
||||||
"allowed_types" = "extension";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://github.com/mkaply/queryamoid/releases/download/v0.2/query_amo_addon_id-0.2-fx.xpi";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
Preferences = {
|
|
||||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = { Value = false; Status = "locked"; };
|
|
||||||
"browser.selfsupport.url" = { Value = ""; Status = "locked"; };
|
|
||||||
"browser.aboutConfig.showWarning" = { Value = false; Status = "locked"; };
|
|
||||||
"browser.aboutHomeSnippets.updateUrl" = { Value = ""; Status = "locked"; };
|
|
||||||
"browser.startup.homepage_override.mstone" = { Value = "ignore"; Status = "locked"; };
|
|
||||||
"browser.startup.homepage_override.buildID" = { Value = ""; Status = "locked"; };
|
|
||||||
"browser.tabs.firefox-view" = { Value = false; Status = "locked"; };
|
|
||||||
"dom.security.https_only_mode" = { Value = true; Status = "locked"; };
|
|
||||||
"extensions.htmlaboutaddons.recommendations.enabled" = { Value = false; Status = "locked"; };
|
|
||||||
"extensions.recommendations.themeRecommendationUrl" = { Value = ""; Status = "locked"; };
|
|
||||||
"network.IDN_show_punycode" = { Value = true; Status = "locked"; };
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
});
|
Preferences = {
|
||||||
|
"browser.crashReports.unsubmittedCheck.autoSubmit2" = {
|
||||||
|
Value = false;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"browser.selfsupport.url" = {
|
||||||
|
Value = "";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"browser.aboutConfig.showWarning" = {
|
||||||
|
Value = false;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"browser.aboutHomeSnippets.updateUrl" = {
|
||||||
|
Value = "";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"browser.startup.homepage_override.mstone" = {
|
||||||
|
Value = "ignore";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"browser.startup.homepage_override.buildID" = {
|
||||||
|
Value = "";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"browser.tabs.firefox-view" = {
|
||||||
|
Value = false;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"dom.security.https_only_mode" = {
|
||||||
|
Value = true;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"extensions.htmlaboutaddons.recommendations.enabled" = {
|
||||||
|
Value = false;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"extensions.recommendations.themeRecommendationUrl" = {
|
||||||
|
Value = "";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"network.IDN_show_punycode" = {
|
||||||
|
Value = true;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
profiles.default = {
|
profiles.default = {
|
||||||
id = 0;
|
id = 0;
|
||||||
name = "Default";
|
name = "Default";
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
let
|
|
||||||
dracula = pkgs.fetchFromGitHub {
|
dracula = pkgs.fetchFromGitHub {
|
||||||
owner = "dracula";
|
owner = "dracula";
|
||||||
repo = "kitty";
|
repo = "kitty";
|
||||||
rev = "87717a3f00e3dff0fc10c93f5ff535ea4092de70";
|
rev = "87717a3f00e3dff0fc10c93f5ff535ea4092de70";
|
||||||
hash = "sha256-78PTH9wE6ktuxeIxrPp0ZgRI8ST+eZ3Ok2vW6BCIZkc=";
|
hash = "sha256-78PTH9wE6ktuxeIxrPp0ZgRI8ST+eZ3Ok2vW6BCIZkc=";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font.package = (pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; });
|
font.package = pkgs.nerdfonts.override {fonts = ["FiraCode"];};
|
||||||
font.name = "FiraCode Nerd Font";
|
font.name = "FiraCode Nerd Font";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
font_size 14
|
font_size 14
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
xdg.desktopEntries."mpv".name = "mpv Media Player";
|
xdg.desktopEntries."mpv".name = "mpv Media Player";
|
||||||
xdg.desktopEntries."mpv".exec = "mpv --player-operation-mode=pseudo-gui -- %U";
|
xdg.desktopEntries."mpv".exec = "mpv --player-operation-mode=pseudo-gui -- %U";
|
||||||
xdg.desktopEntries."mpv".noDisplay = true;
|
xdg.desktopEntries."mpv".noDisplay = true;
|
||||||
|
@ -16,18 +14,21 @@
|
||||||
];
|
];
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.mpv.override { youtubeSupport = true; };
|
package = pkgs.mpv.override {youtubeSupport = true;};
|
||||||
config = {
|
config = {
|
||||||
hwdec = "auto-safe";
|
hwdec = "auto-safe";
|
||||||
gpu-context = "wayland";
|
gpu-context = "wayland";
|
||||||
};
|
};
|
||||||
defaultProfiles = [ "gpu-hq" ];
|
defaultProfiles = ["gpu-hq"];
|
||||||
scripts = with pkgs.mpvScripts; [ mpris ];
|
scripts = with pkgs.mpvScripts; [mpris];
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
spotifyd = {
|
spotifyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = (pkgs.spotifyd.override { withKeyring = true; withMpris = true; });
|
package = pkgs.spotifyd.override {
|
||||||
|
withKeyring = true;
|
||||||
|
withMpris = true;
|
||||||
|
};
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
use_keyring = true;
|
use_keyring = true;
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
xdg.desktopEntries."nvim".name = "Neovim wrapper";
|
xdg.desktopEntries."nvim".name = "Neovim wrapper";
|
||||||
xdg.desktopEntries."nvim".exec = "nvim %F";
|
xdg.desktopEntries."nvim".exec = "nvim %F";
|
||||||
xdg.desktopEntries."nvim".noDisplay = true;
|
xdg.desktopEntries."nvim".noDisplay = true;
|
||||||
|
@ -25,7 +23,7 @@
|
||||||
];
|
];
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
dracula-nvim
|
dracula-nvim
|
||||||
(nvim-treesitter.withPlugins (plugins: with plugins; [ bash dockerfile gitcommit gitignore git_rebase go markdown markdown_inline nix rust toml yaml ]))
|
(nvim-treesitter.withPlugins (plugins: with plugins; [bash dockerfile gitcommit gitignore git_rebase go markdown markdown_inline nix rust toml yaml]))
|
||||||
nvim-treesitter-context
|
nvim-treesitter-context
|
||||||
nvim-treesitter-refactor
|
nvim-treesitter-refactor
|
||||||
telescope-nvim
|
telescope-nvim
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
home.persistence."/persist/home" = {
|
home.persistence."/persist/home" = {
|
||||||
allowOther = true;
|
allowOther = true;
|
||||||
directories = [
|
directories = [
|
||||||
|
|
156
home/scripts.nix
156
home/scripts.nix
|
@ -1,9 +1,11 @@
|
||||||
{ osConfig, pkgs, ... }:
|
{
|
||||||
let
|
osConfig,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
notify-send = "${pkgs.libnotify}/bin/notify-send";
|
notify-send = "${pkgs.libnotify}/bin/notify-send";
|
||||||
dmenu = "${pkgs.rofi-wayland}/bin/rofi -dmenu";
|
dmenu = "${pkgs.rofi-wayland}/bin/rofi -dmenu";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"scripts/power_menu.sh" = {
|
"scripts/power_menu.sh" = {
|
||||||
executable = true;
|
executable = true;
|
||||||
|
@ -40,88 +42,82 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
"scripts/volume_up.sh" =
|
"scripts/volume_up.sh" = let
|
||||||
let
|
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
||||||
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
in {
|
||||||
in
|
executable = true;
|
||||||
{
|
text = ''
|
||||||
executable = true;
|
#!/bin/sh
|
||||||
text = ''
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
${wpctl} set-mute @DEFAULT_AUDIO_SINK@ 0
|
${wpctl} set-mute @DEFAULT_AUDIO_SINK@ 0
|
||||||
[ $(${wpctl} get-volume @DEFAULT_AUDIO_SINK@ | awk -F': ' '{print $2}' | sed 's/\.//') -lt 100 ] && ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
[ $(${wpctl} get-volume @DEFAULT_AUDIO_SINK@ | awk -F': ' '{print $2}' | sed 's/\.//') -lt 100 ] && ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
"scripts/tmux_sessions.sh" =
|
"scripts/tmux_sessions.sh" = let
|
||||||
let
|
kitty = "${pkgs.kitty}/bin/kitty";
|
||||||
kitty = "${pkgs.kitty}/bin/kitty";
|
tmux = "${pkgs.tmux}/bin/tmux";
|
||||||
tmux = "${pkgs.tmux}/bin/tmux";
|
in {
|
||||||
in
|
executable = true;
|
||||||
{
|
text = ''
|
||||||
executable = true;
|
#!/bin/sh
|
||||||
text = ''
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
SESSION="$(${tmux} list-sessions -F "(#{session_attached}) #S [#{pane_current_command} in #{pane_current_path}] #{pane_title}" | sort | ${dmenu} -p "Running TMUX Sessions" | awk '{print $2}')"
|
SESSION="$(${tmux} list-sessions -F "(#{session_attached}) #S [#{pane_current_command} in #{pane_current_path}] #{pane_title}" | sort | ${dmenu} -p "Running TMUX Sessions" | awk '{print $2}')"
|
||||||
case "$SESSION" in
|
case "$SESSION" in
|
||||||
"")
|
"")
|
||||||
;;
|
|
||||||
*)
|
|
||||||
${kitty} ${tmux} -u attach-session -dEt "$SESSION"
|
|
||||||
;;
|
|
||||||
esac'';
|
|
||||||
};
|
|
||||||
"scripts/power_profile.sh" =
|
|
||||||
let
|
|
||||||
sudo = "/run/wrappers/bin/sudo";
|
|
||||||
cpupower = "${osConfig.boot.kernelPackages.cpupower}/bin/cpupower";
|
|
||||||
powerprofilesctl = "${pkgs.power-profiles-daemon}/bin/powerprofilesctl";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
executable = true;
|
|
||||||
text = ''
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
POWER_PROFILE_FILE="$HOME/.cache/power_profile"
|
|
||||||
POWER_PROFILE="powersave"
|
|
||||||
|
|
||||||
if [ -f "$POWER_PROFILE_FILE" ]; then
|
|
||||||
POWER_PROFILE="$(<$POWER_PROFILE_FILE)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
"toggle")
|
|
||||||
if [ "$POWER_PROFILE" == "powersave" ]; then
|
|
||||||
${sudo} ${cpupower} frequency-set --governor performance > /dev/null
|
|
||||||
${powerprofilesctl} set performance
|
|
||||||
POWER_PROFILE="performance"
|
|
||||||
elif [ "$POWER_PROFILE" == "performance" ]; then
|
|
||||||
${sudo} ${cpupower} frequency-set --governor powersave > /dev/null
|
|
||||||
${powerprofilesctl} set power-saver
|
|
||||||
POWER_PROFILE="powersave"
|
|
||||||
fi
|
|
||||||
echo $POWER_PROFILE > $POWER_PROFILE_FILE
|
|
||||||
${notify-send} -u normal "Power Profile" "Switched to $POWER_PROFILE mode."
|
|
||||||
;;
|
;;
|
||||||
"icon")
|
*)
|
||||||
if [ "$POWER_PROFILE" == "powersave" ]; then
|
${kitty} ${tmux} -u attach-session -dEt "$SESSION"
|
||||||
echo ""
|
|
||||||
elif [ "$POWER_PROFILE" == "performance" ]; then
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
*)
|
esac'';
|
||||||
;;
|
};
|
||||||
esac
|
"scripts/power_profile.sh" = let
|
||||||
'';
|
sudo = "/run/wrappers/bin/sudo";
|
||||||
};
|
cpupower = "${osConfig.boot.kernelPackages.cpupower}/bin/cpupower";
|
||||||
|
powerprofilesctl = "${pkgs.power-profiles-daemon}/bin/powerprofilesctl";
|
||||||
|
in {
|
||||||
|
executable = true;
|
||||||
|
text = ''
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
POWER_PROFILE_FILE="$HOME/.cache/power_profile"
|
||||||
|
POWER_PROFILE="powersave"
|
||||||
|
|
||||||
|
if [ -f "$POWER_PROFILE_FILE" ]; then
|
||||||
|
POWER_PROFILE="$(<$POWER_PROFILE_FILE)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"toggle")
|
||||||
|
if [ "$POWER_PROFILE" == "powersave" ]; then
|
||||||
|
${sudo} ${cpupower} frequency-set --governor performance > /dev/null
|
||||||
|
${powerprofilesctl} set performance
|
||||||
|
POWER_PROFILE="performance"
|
||||||
|
elif [ "$POWER_PROFILE" == "performance" ]; then
|
||||||
|
${sudo} ${cpupower} frequency-set --governor powersave > /dev/null
|
||||||
|
${powerprofilesctl} set power-saver
|
||||||
|
POWER_PROFILE="powersave"
|
||||||
|
fi
|
||||||
|
echo $POWER_PROFILE > $POWER_PROFILE_FILE
|
||||||
|
${notify-send} -u normal "Power Profile" "Switched to $POWER_PROFILE mode."
|
||||||
|
;;
|
||||||
|
"icon")
|
||||||
|
if [ "$POWER_PROFILE" == "powersave" ]; then
|
||||||
|
echo ""
|
||||||
|
elif [ "$POWER_PROFILE" == "performance" ]; then
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./gnome-keyring.nix
|
./gnome-keyring.nix
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
|
@ -19,10 +22,10 @@
|
||||||
wayland.windowManager.sway.enable = true;
|
wayland.windowManager.sway.enable = true;
|
||||||
wayland.windowManager.sway.package = pkgs.sway;
|
wayland.windowManager.sway.package = pkgs.sway;
|
||||||
wayland.windowManager.sway.config.modifier = "Mod4";
|
wayland.windowManager.sway.config.modifier = "Mod4";
|
||||||
wayland.windowManager.sway.config.bars = [ ];
|
wayland.windowManager.sway.config.bars = [];
|
||||||
wayland.windowManager.sway.xwayland = true;
|
wayland.windowManager.sway.xwayland = true;
|
||||||
wayland.windowManager.sway.config.fonts = {
|
wayland.windowManager.sway.config.fonts = {
|
||||||
names = [ "FiraCode Nerd Font" ];
|
names = ["FiraCode Nerd Font"];
|
||||||
size = 11.0;
|
size = 11.0;
|
||||||
};
|
};
|
||||||
wayland.windowManager.sway.config.input = {
|
wayland.windowManager.sway.config.input = {
|
||||||
|
@ -82,10 +85,9 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway.config.keybindings =
|
wayland.windowManager.sway.config.keybindings = let
|
||||||
let
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
in
|
||||||
in
|
|
||||||
lib.mkOptionDefault {
|
lib.mkOptionDefault {
|
||||||
"${modifier}+Return" = "exec ${pkgs.kitty}/bin/kitty ${pkgs.tmux}/bin/tmux new";
|
"${modifier}+Return" = "exec ${pkgs.kitty}/bin/kitty ${pkgs.tmux}/bin/tmux new";
|
||||||
"${modifier}+Shift+Return" = "exec ${pkgs.kitty}/bin/kitty";
|
"${modifier}+Shift+Return" = "exec ${pkgs.kitty}/bin/kitty";
|
||||||
|
@ -112,10 +114,19 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway.config.startup = [
|
wayland.windowManager.sway.config.startup = [
|
||||||
{ command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; }
|
{command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";}
|
||||||
{ command = "~/.config/scripts/chpaper.sh"; always = true; }
|
{
|
||||||
{ command = "systemctl --user restart waybar.service"; always = true; }
|
command = "~/.config/scripts/chpaper.sh";
|
||||||
{ command = "systemctl --user restart kanshi.service"; always = true; }
|
always = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "systemctl --user restart waybar.service";
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "systemctl --user restart kanshi.service";
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.sway.config.window.commands = [
|
wayland.windowManager.sway.config.window.commands = [
|
||||||
|
@ -216,4 +227,3 @@
|
||||||
wayland.windowManager.sway.config.window.titlebar = false;
|
wayland.windowManager.sway.config.window.titlebar = false;
|
||||||
wayland.windowManager.sway.config.floating.titlebar = false;
|
wayland.windowManager.sway.config.floating.titlebar = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
dmenu = "${config.programs.rofi.package}/bin/rofi -dmenu";
|
dmenu = "${config.programs.rofi.package}/bin/rofi -dmenu";
|
||||||
firefox = "${config.programs.firefox.package}/bin/firefox";
|
firefox = "${config.programs.firefox.package}/bin/firefox";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconTheme.name = config.gtk.iconTheme.name;
|
iconTheme.name = config.gtk.iconTheme.name;
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
services.gnome-keyring.enable = true;
|
services.gnome-keyring.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
let
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
gtkTheme = {
|
gtkTheme = {
|
||||||
name = "Dracula";
|
name = "Dracula";
|
||||||
package = pkgs.dracula-gtk;
|
package = pkgs.dracula-gtk;
|
||||||
|
@ -7,15 +10,17 @@ let
|
||||||
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Newaita-dark";
|
name = "Newaita-dark";
|
||||||
package = pkgs.newaita-icon-theme.override { panel = "dark"; folder = "bluegray"; };
|
package = pkgs.newaita-icon-theme.override {
|
||||||
|
panel = "dark";
|
||||||
|
folder = "bluegray";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
cursorTheme = {
|
cursorTheme = {
|
||||||
name = "Bibata-Modern-Classic";
|
name = "Bibata-Modern-Classic";
|
||||||
package = pkgs.bibata-cursors;
|
package = pkgs.bibata-cursors;
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
gtk.theme = gtkTheme;
|
gtk.theme = gtkTheme;
|
||||||
home.sessionVariables.GTK_THEME = gtkTheme.name;
|
home.sessionVariables.GTK_THEME = gtkTheme.name;
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
|
|
||||||
{
|
|
||||||
services.kanshi.enable = true;
|
services.kanshi.enable = true;
|
||||||
services.kanshi.profiles = {
|
services.kanshi.profiles = {
|
||||||
undocked = {
|
undocked = {
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
xdg.desktopEntries."rofi".name = "Rofi";
|
xdg.desktopEntries."rofi".name = "Rofi";
|
||||||
xdg.desktopEntries."rofi".exec = "rofi -show";
|
xdg.desktopEntries."rofi".exec = "rofi -show";
|
||||||
xdg.desktopEntries."rofi".noDisplay = true;
|
xdg.desktopEntries."rofi".noDisplay = true;
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
services.swayidle.enable = true;
|
services.swayidle.enable = true;
|
||||||
services.swayidle.events = [
|
services.swayidle.events = [
|
||||||
{ event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock -f -i /tmp/lockpaper.jpg"; }
|
{
|
||||||
|
event = "before-sleep";
|
||||||
|
command = "${pkgs.swaylock}/bin/swaylock -f -i /tmp/lockpaper.jpg";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
services.swayidle.timeouts = [
|
services.swayidle.timeouts = [
|
||||||
{ timeout = 600; command = "${pkgs.swaylock}/bin/swaylock -f -i /tmp/lockpaper.jpg"; }
|
{
|
||||||
|
timeout = 600;
|
||||||
|
command = "${pkgs.swaylock}/bin/swaylock -f -i /tmp/lockpaper.jpg";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
xdg.dataFile."wallpapers/catppuccin".source = "${pkgs.catppuccin-wallpapers}/share/wallpapers";
|
xdg.dataFile."wallpapers/catppuccin".source = "${pkgs.catppuccin-wallpapers}/share/wallpapers";
|
||||||
xdg.configFile."scripts/chpaper.sh" = {
|
xdg.configFile."scripts/chpaper.sh" = {
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.waybar.enable = true;
|
programs.waybar.enable = true;
|
||||||
programs.waybar.systemd.enable = true;
|
programs.waybar.systemd.enable = true;
|
||||||
programs.waybar.style = ./style.css;
|
programs.waybar.style = ./style.css;
|
||||||
|
@ -10,9 +12,9 @@
|
||||||
layer = "top";
|
layer = "top";
|
||||||
position = "top";
|
position = "top";
|
||||||
height = 28;
|
height = 28;
|
||||||
modules-left = [ "sway/workspaces" "sway/window" "sway/mode" ];
|
modules-left = ["sway/workspaces" "sway/window" "sway/mode"];
|
||||||
modules-center = [ ];
|
modules-center = [];
|
||||||
modules-right = [ "tray" "custom/power_profile" "idle_inhibitor" "network" "bluetooth" "pulseaudio" "backlight" "battery" "clock" ];
|
modules-right = ["tray" "custom/power_profile" "idle_inhibitor" "network" "bluetooth" "pulseaudio" "backlight" "battery" "clock"];
|
||||||
"sway/mode" = {
|
"sway/mode" = {
|
||||||
"format" = "{}";
|
"format" = "{}";
|
||||||
};
|
};
|
||||||
|
@ -35,7 +37,7 @@
|
||||||
};
|
};
|
||||||
"backlight" = {
|
"backlight" = {
|
||||||
"format" = "{icon}";
|
"format" = "{icon}";
|
||||||
"format-icons" = [ "" "" "" "" ];
|
"format-icons" = ["" "" "" ""];
|
||||||
};
|
};
|
||||||
"battery" = {
|
"battery" = {
|
||||||
"states" = {
|
"states" = {
|
||||||
|
@ -47,7 +49,7 @@
|
||||||
"format-alt" = "{icon} {capacity}% ({time})";
|
"format-alt" = "{icon} {capacity}% ({time})";
|
||||||
"format-charging" = " {capacity}%";
|
"format-charging" = " {capacity}%";
|
||||||
"format-plugged" = "ﮣ {capacity}%";
|
"format-plugged" = "ﮣ {capacity}%";
|
||||||
"format-icons" = [ "" "" "" "" "" "" "" "" "" "" "" ];
|
"format-icons" = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||||
"tooltip" = false;
|
"tooltip" = false;
|
||||||
};
|
};
|
||||||
"network" = {
|
"network" = {
|
||||||
|
@ -73,7 +75,7 @@
|
||||||
"phone" = "";
|
"phone" = "";
|
||||||
"portable" = "";
|
"portable" = "";
|
||||||
"car" = "";
|
"car" = "";
|
||||||
"default" = [ "奄" "奔" "墳" ];
|
"default" = ["奄" "奔" "墳"];
|
||||||
};
|
};
|
||||||
"on-click" = "${pkgs.pavucontrol}/bin/pavucontrol";
|
"on-click" = "${pkgs.pavucontrol}/bin/pavucontrol";
|
||||||
};
|
};
|
||||||
|
@ -88,17 +90,15 @@
|
||||||
"tray" = {
|
"tray" = {
|
||||||
"spacing" = 4;
|
"spacing" = 4;
|
||||||
};
|
};
|
||||||
"custom/power_profile" =
|
"custom/power_profile" = let
|
||||||
let
|
script = "${config.xdg.configHome}/scripts/power_profile.sh";
|
||||||
script = "${config.xdg.configHome}/scripts/power_profile.sh";
|
in {
|
||||||
in
|
exec = "${script} icon";
|
||||||
{
|
on-click = "${script} toggle";
|
||||||
exec = "${script} icon";
|
format = "{}";
|
||||||
on-click = "${script} toggle";
|
tooltip = false;
|
||||||
format = "{}";
|
interval = "10";
|
||||||
tooltip = false;
|
};
|
||||||
interval = "10";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
./tmux.nix
|
./tmux.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
xdg.desktopEntries."btop".name = "btop++";
|
xdg.desktopEntries."btop".name = "btop++";
|
||||||
xdg.desktopEntries."btop".exec = "btop";
|
xdg.desktopEntries."btop".exec = "btop";
|
||||||
xdg.desktopEntries."btop".noDisplay = true;
|
xdg.desktopEntries."btop".noDisplay = true;
|
||||||
|
@ -34,7 +35,7 @@
|
||||||
exa = {
|
exa = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableAliases = true;
|
enableAliases = true;
|
||||||
extraOptions = [ "--group-directories-first" "--group" ];
|
extraOptions = ["--group-directories-first" "--group"];
|
||||||
git = true;
|
git = true;
|
||||||
icons = true;
|
icons = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shell = "${pkgs.zsh}/bin/zsh";
|
shell = "${pkgs.zsh}/bin/zsh";
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = [ pkgs.virt-manager ];
|
home.packages = [pkgs.virt-manager];
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/virt-manager/virt-manager/confirm" = {
|
"org/virt-manager/virt-manager/confirm" = {
|
||||||
"forcepoweroff" = false;
|
"forcepoweroff" = false;
|
||||||
};
|
};
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
"org/virt-manager/virt-manager/connections" = {
|
||||||
"autoconnect" = [ "qemu:///system" ];
|
"autoconnect" = ["qemu:///system"];
|
||||||
"uris" = [ "qemu:///system" ];
|
"uris" = ["qemu:///system"];
|
||||||
};
|
};
|
||||||
"org/virt-manager/virt-manager/new-vm" = { "firmware" = "uefi"; };
|
"org/virt-manager/virt-manager/new-vm" = {"firmware" = "uefi";};
|
||||||
"org/virt-manager/virt-manager/stats" = {
|
"org/virt-manager/virt-manager/stats" = {
|
||||||
"enable-disk-poll" = true;
|
"enable-disk-poll" = true;
|
||||||
"enable-net-poll" = true;
|
"enable-net-poll" = true;
|
||||||
};
|
};
|
||||||
"org/virt-manager/virt-manager/vmlist-fields" = { "network-traffic" = true; };
|
"org/virt-manager/virt-manager/vmlist-fields" = {"network-traffic" = true;};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ lib, stdenvNoCC, fetchFromGitHub, pack ? "pack_1", theme ? "cuts" }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
pack ? "pack_1",
|
||||||
|
theme ? "cuts",
|
||||||
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "adi1090x-plymouth";
|
pname = "adi1090x-plymouth";
|
||||||
version = "latest";
|
version = "latest";
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ lib, stdenvNoCC, fetchFromGitHub }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "catppuccin-wallpapers";
|
pname = "catppuccin-wallpapers";
|
||||||
version = "latest";
|
version = "latest";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
self: super: {
|
self: super: {
|
||||||
adi1090x-plymouth = super.callPackage ./adi1090x-plymouth { };
|
adi1090x-plymouth = super.callPackage ./adi1090x-plymouth {};
|
||||||
catppuccin-wallpapers = super.callPackage ./catppuccin-wallpapers { };
|
catppuccin-wallpapers = super.callPackage ./catppuccin-wallpapers {};
|
||||||
dracula-gtk = super.callPackage ./dracula-gtk { };
|
dracula-gtk = super.callPackage ./dracula-gtk {};
|
||||||
newaita-icon-theme = super.callPackage ./newaita-icon-theme { };
|
newaita-icon-theme = super.callPackage ./newaita-icon-theme {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
{ lib, stdenvNoCC, fetchFromGitHub, gtk3, gnome-themes-extra, gtk-engine-murrine }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
gtk3,
|
||||||
|
gnome-themes-extra,
|
||||||
|
gtk-engine-murrine,
|
||||||
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "dracula-gtk";
|
pname = "dracula-gtk";
|
||||||
version = "4.0";
|
version = "4.0";
|
||||||
|
@ -11,13 +17,13 @@ stdenvNoCC.mkDerivation {
|
||||||
hash = "sha256-2lmpEPYxdbRnKgcJ792cuzyOBmOIWhja18q+F3Pxgjs=";
|
hash = "sha256-2lmpEPYxdbRnKgcJ792cuzyOBmOIWhja18q+F3Pxgjs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [gtk3];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gnome-themes-extra
|
gnome-themes-extra
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
|
propagatedUserEnvPkgs = [gtk-engine-murrine];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
{ lib, stdenvNoCC, fetchFromGitHub, gtk3, gnome, gnome-icon-theme, hicolor-icon-theme, panel ? "dark", folder ? "default" }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
gtk3,
|
||||||
|
gnome,
|
||||||
|
gnome-icon-theme,
|
||||||
|
hicolor-icon-theme,
|
||||||
|
panel ? "dark",
|
||||||
|
folder ? "default",
|
||||||
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "newaita-icon-theme";
|
pname = "newaita-icon-theme";
|
||||||
version = "latest";
|
version = "latest";
|
||||||
|
@ -11,7 +20,7 @@ stdenvNoCC.mkDerivation {
|
||||||
hash = "sha256-tqtjUy8RjvOu0NaK+iE0R1g7/eqCpmhbdxuNGd/YfSI=";
|
hash = "sha256-tqtjUy8RjvOu0NaK+iE0R1g7/eqCpmhbdxuNGd/YfSI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [gtk3];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
gnome.adwaita-icon-theme
|
gnome.adwaita-icon-theme
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./filesystem.nix
|
./filesystem.nix
|
||||||
./gnome-keyring.nix
|
./gnome-keyring.nix
|
||||||
|
@ -37,7 +41,7 @@
|
||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "en_US.UTF-8";
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
supportedLocales = [ "en_US.UTF-8/UTF-8" ];
|
supportedLocales = ["en_US.UTF-8/UTF-8"];
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
@ -79,7 +83,7 @@
|
||||||
tctiEnvironment.enable = true;
|
tctiEnvironment.enable = true;
|
||||||
};
|
};
|
||||||
sudo = {
|
sudo = {
|
||||||
package = pkgs.sudo.override { withInsults = true; };
|
package = pkgs.sudo.override {withInsults = true;};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
Defaults lecture="never"
|
Defaults lecture="never"
|
||||||
|
|
||||||
|
@ -97,7 +101,7 @@
|
||||||
portal = {
|
portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
boot = {
|
boot = {
|
||||||
resumeDevice = "/dev/vg0/swap";
|
resumeDevice = "/dev/vg0/swap";
|
||||||
initrd.luks.devices = {
|
initrd.luks.devices = {
|
||||||
|
@ -11,5 +11,5 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [{ device = "/dev/vg0/swap"; }];
|
swapDevices = [{device = "/dev/vg0/swap";}];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
boot.tmpOnTmpfs = true;
|
boot.tmpOnTmpfs = true;
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
device = "tmpfs";
|
device = "tmpfs";
|
||||||
fsType = "tmpfs";
|
fsType = "tmpfs";
|
||||||
options = [ "defaults" "uid=0" "gid=0" "mode=0755" ];
|
options = ["defaults" "uid=0" "gid=0" "mode=0755"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
"/nix" = {
|
"/nix" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=/@nix" "compress-force=zstd" ];
|
options = ["subvol=/@nix" "compress-force=zstd"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
"/persist" = {
|
"/persist" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=/@persist" "compress-force=zstd" ];
|
options = ["subvol=/@persist" "compress-force=zstd"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
"/mnt/system" = {
|
"/mnt/system" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=/" "compress-force=zstd" ];
|
options = ["subvol=/" "compress-force=zstd"];
|
||||||
};
|
};
|
||||||
"/boot" = {
|
"/boot" = {
|
||||||
device = "/dev/disk/by-partlabel/ESP";
|
device = "/dev/disk/by-partlabel/ESP";
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
programs.seahorse.enable = true;
|
programs.seahorse.enable = true;
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome.gnome-keyring.enable = true;
|
||||||
security.pam.services.passwd.enableGnomeKeyring = true;
|
security.pam.services.passwd.enableGnomeKeyring = true;
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
{ lib, pkgs, config, ... }: {
|
{
|
||||||
|
lib,
|
||||||
imports = [ ./disk.nix ./kernel.nix ];
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [./disk.nix ./kernel.nix];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = [ pkgs.intel-media-driver ];
|
extraPackages = [pkgs.intel-media-driver];
|
||||||
driSupport = true;
|
driSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -19,7 +23,7 @@
|
||||||
|
|
||||||
hardware.sensor.hddtemp = {
|
hardware.sensor.hddtemp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
drives = [ "/dev/disk/by-path/pci-0000:01:00.0-nvme-1" ];
|
drives = ["/dev/disk/by-path/pci-0000:01:00.0-nvme-1"];
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ lib, pkgs, ... }: {
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = [
|
||||||
|
@ -11,9 +14,9 @@
|
||||||
"sd_mod"
|
"sd_mod"
|
||||||
"rtsx_pci_sdmmc"
|
"rtsx_pci_sdmmc"
|
||||||
];
|
];
|
||||||
kernelModules = [ "i915" ];
|
kernelModules = ["i915"];
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-intel" ];
|
kernelModules = ["kvm-intel"];
|
||||||
kernelPackages = pkgs.linuxKernel.packages.linux_zen;
|
kernelPackages = pkgs.linuxKernel.packages.linux_zen;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://nix-community.cachix.org/"
|
"https://nix-community.cachix.org/"
|
||||||
|
@ -7,7 +7,7 @@
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
];
|
];
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
};
|
};
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
enableDefaultFonts = true;
|
enableDefaultFonts = true;
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
fonts = with pkgs; [
|
fonts = with pkgs; [
|
||||||
cantarell-fonts
|
cantarell-fonts
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
(nerdfonts.override {fonts = ["FiraCode"];})
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
|
@ -31,5 +30,5 @@
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
};
|
};
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = ["/share/zsh"];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
environment.persistence."/persist/system" = {
|
environment.persistence."/persist/system" = {
|
||||||
hideMounts = true;
|
hideMounts = true;
|
||||||
directories = [
|
directories = [
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
|
|
||||||
boot.consoleLogLevel = 3;
|
boot.consoleLogLevel = 3;
|
||||||
boot.kernelParams = [ "quiet" ];
|
boot.kernelParams = ["quiet"];
|
||||||
boot.plymouth = {
|
boot.plymouth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
themePackages = [ (pkgs.adi1090x-plymouth.override { pack = "pack_3"; theme = "owl"; }) ];
|
themePackages = [
|
||||||
|
(pkgs.adi1090x-plymouth.override {
|
||||||
|
pack = "pack_3";
|
||||||
|
theme = "owl";
|
||||||
|
})
|
||||||
|
];
|
||||||
theme = "adi1090x";
|
theme = "adi1090x";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ lib, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot.bootspec.enable = true;
|
boot.bootspec.enable = true;
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||||
boot.lanzaboote = {
|
boot.lanzaboote = {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
services = {
|
services = {
|
||||||
blueman.enable = true;
|
blueman.enable = true;
|
||||||
dbus = {
|
dbus = {
|
||||||
enable = true;
|
enable = true;
|
||||||
apparmor = "enabled";
|
apparmor = "enabled";
|
||||||
packages = [ pkgs.gcr pkgs.gcr_4 ];
|
packages = [pkgs.gcr pkgs.gcr_4];
|
||||||
};
|
};
|
||||||
fstrim.enable = true;
|
fstrim.enable = true;
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
resolved.enable = true;
|
resolved.enable = true;
|
||||||
thermald.enable = true;
|
thermald.enable = true;
|
||||||
udev.packages = [ pkgs.yubikey-personalization ];
|
udev.packages = [pkgs.yubikey-personalization];
|
||||||
udisks2.enable = true;
|
udisks2.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
|
security.pam.services.swaylock = {};
|
||||||
{
|
|
||||||
security.pam.services.swaylock = { };
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
docker = {
|
docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
qemu.ovmf = {
|
qemu.ovmf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
packages = [ pkgs.OVMFFull.fd ];
|
packages = [pkgs.OVMFFull.fd];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
|
|
||||||
let
|
|
||||||
user = import ./user.nix;
|
user = import ./user.nix;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
users.users = {
|
users.users = {
|
||||||
root.hashedPassword = user.root.hashedPassword;
|
root.hashedPassword = user.root.hashedPassword;
|
||||||
|
@ -12,7 +9,7 @@ in
|
||||||
hashedPassword = user.primary.hashedPassword;
|
hashedPassword = user.primary.hashedPassword;
|
||||||
description = user.primary.realName;
|
description = user.primary.realName;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "docker" "libvirtd" "networkmanager" "tss" "wheel" ];
|
extraGroups = ["docker" "libvirtd" "networkmanager" "tss" "wheel"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue