update
This commit is contained in:
parent
9eefc46557
commit
4e4474f255
25
flake.lock
25
flake.lock
|
@ -1,5 +1,21 @@
|
|||
{
|
||||
"nodes": {
|
||||
"bobthefish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1659411664,
|
||||
"narHash": "sha256-jBbm0wTNZ7jSoGFxRkTz96QHpc5ViAw9RGsRBkCQEIU=",
|
||||
"owner": "oh-my-fish",
|
||||
"repo": "theme-bobthefish",
|
||||
"rev": "2dcfcab653ae69ae95ab57217fe64c97ae05d8de",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oh-my-fish",
|
||||
"repo": "theme-bobthefish",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gamescope-git": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -92,11 +108,11 @@
|
|||
"mesa-git": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1664631406,
|
||||
"narHash": "sha256-ouwR0GAYp/0BxSiI/KtcmiTuvPqfsF77pKemA0J0hbM=",
|
||||
"lastModified": 1664825548,
|
||||
"narHash": "sha256-bt3/6JLi+DeGLHJlteuViLUvP7lA1lyLLLhsCf43YqI=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "3246889fb047c54623795956a3b4890e672f05ef",
|
||||
"revCount": 160795,
|
||||
"rev": "e577bb18c8da40905ab2d4d56b9c6f96c619d96c",
|
||||
"revCount": 160837,
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/mesa/mesa.git"
|
||||
},
|
||||
|
@ -138,6 +154,7 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"bobthefish": "bobthefish",
|
||||
"gamescope-git": "gamescope-git",
|
||||
"grub2-themes": "grub2-themes",
|
||||
"home-manager": "home-manager",
|
||||
|
|
107
flake.nix
107
flake.nix
|
@ -9,6 +9,12 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Fish Plugins
|
||||
bobthefish = {
|
||||
url = "github:oh-my-fish/theme-bobthefish";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
# Kakoune Plugins
|
||||
kakoune-smarttab = {
|
||||
url = "github:andreyorst/smarttab.kak";
|
||||
|
@ -56,14 +62,9 @@
|
|||
url = "github:vinceliuice/grub2-themes";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
veloren = {
|
||||
url = "github:veloren/veloren";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, veloren, ... }@inputs:
|
||||
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
||||
let
|
||||
username = "manuel";
|
||||
hostname = "terra";
|
||||
|
@ -80,34 +81,22 @@
|
|||
};
|
||||
in
|
||||
{
|
||||
overlays.default = (final: prev: rec {
|
||||
|
||||
nerdfonts = prev.nerdfonts.override {
|
||||
fonts = [
|
||||
"JetBrainsMono"
|
||||
];
|
||||
};
|
||||
overlays.default = final: prev: rec {
|
||||
nerdfonts = prev.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||
|
||||
wlroots-git = prev.wlroots.overrideAttrs (old: {
|
||||
version = "0.16.0";
|
||||
version = "git";
|
||||
src = inputs.wlroots-git;
|
||||
});
|
||||
|
||||
sway-unwrapped = (prev.sway-unwrapped.overrideAttrs (old: {
|
||||
version = "1.8";
|
||||
buildInputs = old.buildInputs ++ [
|
||||
prev.xorg.xcbutilwm
|
||||
prev.pcre2
|
||||
];
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
prev.cmake
|
||||
];
|
||||
version = "git";
|
||||
buildInputs = old.buildInputs ++ [ prev.xorg.xcbutilwm prev.pcre2 ];
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ prev.cmake ];
|
||||
src = inputs.sway-git;
|
||||
})).override { wlroots = wlroots-git; };
|
||||
|
||||
waybar = prev.waybar.override {
|
||||
wlroots = wlroots-git;
|
||||
};
|
||||
waybar = prev.waybar.override { wlroots = wlroots-git; };
|
||||
|
||||
# xwayland = prev.xwayland.overrideAttrs (old: {
|
||||
# version = "22.2";
|
||||
|
@ -128,58 +117,52 @@
|
|||
};
|
||||
|
||||
gamescope = prev.gamescope.overrideAttrs (old: {
|
||||
version = "3.11.45";
|
||||
version = "git";
|
||||
src = inputs.gamescope-git;
|
||||
});
|
||||
|
||||
mesa-git = (prev.mesa.overrideAttrs (old: {
|
||||
version = "23.0";
|
||||
version = "git";
|
||||
src = inputs.mesa-git;
|
||||
buildInputs = old.buildInputs ++ [
|
||||
pkgs.glslang
|
||||
];
|
||||
buildInputs = old.buildInputs ++ [ pkgs.glslang ];
|
||||
patches = [
|
||||
./pkgs/mesa-git/opencl.patch
|
||||
./pkgs/mesa-git/disk_cache-include-dri-driver-path-in-cache-key.patch
|
||||
];
|
||||
mesonFlags = pkgs.lib.lists.remove
|
||||
"-Dxvmc-libs-path=${placeholder "drivers"}/lib"
|
||||
old.mesonFlags; # xvmc was removed upstream
|
||||
})).override {
|
||||
galliumDrivers = [ "radeonsi" "swrast" ];
|
||||
vulkanDrivers = [ "amd" ];
|
||||
enableGalliumNine = false; # Replaced by DXVK
|
||||
};
|
||||
|
||||
inherit (veloren.packages."${system}") veloren-voxygen;
|
||||
fzf = prev.fzf.overrideAttrs (old: { version = "0.33.0"; });
|
||||
};
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
|
||||
|
||||
});
|
||||
|
||||
nixosConfigurations.${hostname} = nixpkgs.lib.nixosSystem
|
||||
{
|
||||
inherit system;
|
||||
inherit pkgs;
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
{
|
||||
#needed to get tools working that expect a nixpkgs channel to exist
|
||||
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
||||
nix.registry = {
|
||||
nixpkgs.flake = nixpkgs;
|
||||
};
|
||||
}
|
||||
./system/configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
#useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username} = import ./user/home.nix;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs pkgs;
|
||||
};
|
||||
};
|
||||
}
|
||||
inputs.grub2-themes.nixosModule
|
||||
];
|
||||
};
|
||||
nixosConfigurations.${hostname} = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
inherit pkgs;
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
{
|
||||
#needed to get tools working that expect a nixpkgs channel to exist
|
||||
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
||||
nix.registry = { nixpkgs.flake = nixpkgs; };
|
||||
}
|
||||
./system/configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
users.${username} = import ./user/home.nix;
|
||||
extraSpecialArgs = { inherit inputs pkgs; };
|
||||
};
|
||||
}
|
||||
inputs.grub2-themes.nixosModule
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,26 +1,19 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
{ config, pkgs, lib, inputs, ... }: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
boot = {
|
||||
consoleLogLevel = 3;
|
||||
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"udev.log_level=3"
|
||||
"amdgpu.ppfeaturemask=0xffffffff"
|
||||
];
|
||||
kernelParams =
|
||||
[ "quiet" "udev.log_level=3" "amdgpu.ppfeaturemask=0xffffffff" ];
|
||||
|
||||
loader = {
|
||||
efi = {
|
||||
|
@ -45,14 +38,13 @@
|
|||
initrd.availableKernelModules = [ "amdgpu" ];
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelModules = [ "i2c-dev" "i2c-piix4" ];
|
||||
|
||||
};
|
||||
|
||||
powerManagement = { cpuFreqGovernor = "schedutil"; };
|
||||
|
||||
networking = {
|
||||
hostName = "terra"; # Define your hostname.
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
};
|
||||
networkmanager = { enable = true; };
|
||||
firewall.checkReversePath = false;
|
||||
};
|
||||
|
||||
|
@ -80,9 +72,7 @@
|
|||
enable = true;
|
||||
package = pkgs.mesa-git.drivers;
|
||||
package32 = pkgs.pkgsi686Linux.mesa-git.drivers;
|
||||
extraPackages = [
|
||||
pkgs.libvdpau-va-gl
|
||||
];
|
||||
extraPackages = [ pkgs.libvdpau-va-gl ];
|
||||
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
|
@ -105,8 +95,7 @@
|
|||
enable = true;
|
||||
locate = pkgs.plocate;
|
||||
localuser = null;
|
||||
prunePaths = lib.mkOptionDefault [
|
||||
];
|
||||
prunePaths = lib.mkOptionDefault [ ];
|
||||
interval = "hourly";
|
||||
};
|
||||
|
||||
|
@ -130,6 +119,11 @@
|
|||
|
||||
programs.fish.enable = true;
|
||||
|
||||
programs.ccache = {
|
||||
enable = true;
|
||||
packageNames = [
|
||||
];
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.manuel = {
|
||||
|
@ -189,9 +183,7 @@
|
|||
];
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
};
|
||||
services.openssh = { enable = true; };
|
||||
|
||||
services.printing = {
|
||||
enable = true;
|
||||
|
@ -227,6 +219,4 @@
|
|||
'';
|
||||
|
||||
system.stateVersion = "22.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,42 +1,34 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
{ config, lib, pkgs, modulesPath, ... }: {
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/5907e244-fda6-41d4-aff1-a2be7160a559";
|
||||
fsType = "xfs";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/5907e244-fda6-41d4-aff1-a2be7160a559";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/D56E-61DC";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot/efi" = {
|
||||
device = "/dev/disk/by-uuid/D56E-61DC";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/mnt/hdd" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/ecbbfb05-ada8-4044-81a6-9a280f93802f";
|
||||
fsType = "xfs";
|
||||
};
|
||||
fileSystems."/mnt/hdd" = {
|
||||
device = "/dev/disk/by-uuid/ecbbfb05-ada8-4044-81a6-9a280f93802f";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/4dd7a8ea-311a-458b-8839-1d92c7abab1f";
|
||||
fsType = "xfs";
|
||||
};
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/4dd7a8ea-311a-458b-8839-1d92c7abab1f";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[{ device = "/dev/disk/by-uuid/e0d93baa-8a8f-4fb2-9a48-f37f5d397826"; }];
|
||||
|
@ -49,5 +41,6 @@
|
|||
# networking.interfaces.enp8s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.cpu.amd.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ config, pkgs, ... }: {
|
||||
|
||||
programs.beets = {
|
||||
enable = true;
|
||||
|
||||
|
@ -16,22 +15,18 @@
|
|||
};
|
||||
|
||||
paths = {
|
||||
"default" = "%asciify{$albumartist}/$year - %asciify{$album}%aunique{}/$track %asciify{$title}";
|
||||
"default" =
|
||||
"%asciify{$albumartist}/$year - %asciify{$album}%aunique{}/$track %asciify{$title}";
|
||||
"singleton" = "Non-Album/%asciify{$artist}/%asciify{$title}";
|
||||
"comp" = "Compilations/%asciify{$album}%aunique{}/$track %asciify{$title}";
|
||||
"comp" =
|
||||
"Compilations/%asciify{$album}%aunique{}/$track %asciify{$title}";
|
||||
};
|
||||
|
||||
ftintitle = {
|
||||
"auto" = true;
|
||||
};
|
||||
ftintitle = { "auto" = true; };
|
||||
|
||||
fetchart = {
|
||||
"auto" = true;
|
||||
};
|
||||
fetchart = { "auto" = true; };
|
||||
|
||||
chroma = {
|
||||
auto = true;
|
||||
};
|
||||
chroma = { auto = true; };
|
||||
|
||||
replaygain = {
|
||||
"backend" = "gstreamer";
|
||||
|
@ -40,4 +35,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -4,4 +4,3 @@
|
|||
enableFishIntegration = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
{ config, pkgs, ... }: { programs.firefox = { enable = true; }; }
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
{ config, pkgs, inputs, ... }: {
|
||||
programs.exa = {
|
||||
enable = true;
|
||||
enableAliases = true;
|
||||
|
@ -7,29 +6,38 @@
|
|||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "bobthefish";
|
||||
src = inputs.bobthefish;
|
||||
}
|
||||
];
|
||||
|
||||
interactiveShellInit = ''
|
||||
${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
|
||||
set theme_color_scheme gruvbox
|
||||
'';
|
||||
functions = {
|
||||
fish_prompt = ''
|
||||
set_color green
|
||||
printf (prompt_pwd)
|
||||
set_color cyan
|
||||
printf " ► "
|
||||
set_color normal
|
||||
'';
|
||||
#fish_prompt = ''
|
||||
# set_color green
|
||||
# printf (prompt_pwd)
|
||||
# set_color cyan
|
||||
# printf " ► "
|
||||
# set_color normal
|
||||
#'';
|
||||
fish_greeting = "";
|
||||
|
||||
ec = ''
|
||||
pushd &> /dev/null
|
||||
cd "${config.home.homeDirectory}"
|
||||
set "filename" (${pkgs.fd}/bin/fd -t f . ~/.dotfiles | \
|
||||
${pkgs.fzf}/bin/fzf -q "$argv[1]" \
|
||||
--preview "${pkgs.python3Packages.pygments}/bin/pygmentize -g -O linenos=1 {}")
|
||||
if test -f "$filename"
|
||||
$EDITOR $filename
|
||||
end
|
||||
popd &> /dev/null
|
||||
pushd &> /dev/null
|
||||
cd "${config.home.homeDirectory}"
|
||||
set "filename" (${pkgs.fd}/bin/fd -t f . ~/.dotfiles | \
|
||||
${pkgs.fzf}/bin/fzf -q "$argv[1]" \
|
||||
--preview "${pkgs.python3Packages.pygments}/bin/pygmentize -g -O linenos=1 {}")
|
||||
if test -f "$filename"
|
||||
$EDITOR $filename
|
||||
end
|
||||
popd &> /dev/null
|
||||
'';
|
||||
|
||||
nor = ''
|
||||
|
@ -53,4 +61,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -9,9 +9,7 @@ let
|
|||
name = "sort-selections-kak";
|
||||
src = inputs.kakoune-sort-selections;
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.kakoune = {
|
||||
enable = true;
|
||||
plugins = with pkgs.kakounePlugins; [
|
||||
|
@ -27,26 +25,34 @@ in
|
|||
tabStop = 4;
|
||||
indentWidth = 4;
|
||||
showMatching = true;
|
||||
showWhitespace = {
|
||||
enable = false;
|
||||
};
|
||||
showWhitespace = { enable = false; };
|
||||
numberLines.enable = true;
|
||||
|
||||
hooks = [
|
||||
{ name = "WinSetOption"; option = "filetype=nix|sh"; commands = "hook window BufWritePre .* lsp-formatting-sync"; }
|
||||
{
|
||||
name = "WinSetOption";
|
||||
option = "filetype=nix|sh";
|
||||
commands = "hook window BufWritePre .* lsp-formatting-sync";
|
||||
}
|
||||
|
||||
{ name = "WinCreate"; option = ".*"; commands = "kakboard-enable"; }
|
||||
{ name = "InsertChar"; option = "\\t"; commands = "exec -draft -itersel h@"; }
|
||||
{
|
||||
name = "WinCreate";
|
||||
option = ".*";
|
||||
commands = "kakboard-enable";
|
||||
}
|
||||
{
|
||||
name = "InsertChar";
|
||||
option = "\\t";
|
||||
commands = "exec -draft -itersel h@";
|
||||
}
|
||||
];
|
||||
|
||||
keyMappings = [
|
||||
];
|
||||
keyMappings = [ ];
|
||||
|
||||
ui = {
|
||||
assistant = "none";
|
||||
setTitle = true;
|
||||
};
|
||||
|
||||
};
|
||||
extraConfig = ''
|
||||
set global startup_info_version 99999999
|
||||
|
@ -64,8 +70,5 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.rnix-lsp
|
||||
];
|
||||
home.packages = [ pkgs.rnix-lsp ];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
{ config, pkgs, ... }: {
|
||||
services.mpd = {
|
||||
enable = true;
|
||||
musicDirectory = "/mnt/hdd/Music";
|
||||
|
@ -51,9 +50,7 @@
|
|||
|
||||
programs.ncmpcpp = {
|
||||
enable = true;
|
||||
package = pkgs.ncmpcpp.override {
|
||||
visualizerSupport = true;
|
||||
};
|
||||
package = pkgs.ncmpcpp.override { visualizerSupport = true; };
|
||||
settings = {
|
||||
visualizer_data_source = "/tmp/mpd.fifo";
|
||||
visualizer_output_name = "my_fifo";
|
||||
|
@ -70,7 +67,8 @@
|
|||
alternative_header_second_line_format = "$7{%t}|{%f}$0";
|
||||
progressbar_look = "─╼ ";
|
||||
|
||||
song_columns_list_format = "(25)[5]{a:artist} (3f)[5]{n: } (50)[cyan]{t|f:title} (5)[cyan]{lr:duration}";
|
||||
song_columns_list_format =
|
||||
"(25)[5]{a:artist} (3f)[5]{n: } (50)[cyan]{t|f:title} (5)[cyan]{lr:duration}";
|
||||
playlist_display_mode = "columns";
|
||||
browser_display_mode = "columns";
|
||||
search_engine_display_mode = "columns";
|
||||
|
@ -90,4 +88,3 @@
|
|||
multimediaKeys = false;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
hwdec = "vaapi-copy";
|
||||
gpu-context = "wayland";
|
||||
force-window = "yes";
|
||||
};
|
||||
{ config, pkgs, ... }: {
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
hwdec = "vaapi-copy";
|
||||
gpu-context = "wayland";
|
||||
force-window = "yes";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ configs, pkgs, ... }: {
|
||||
|
||||
programs.nnn = {
|
||||
enable = true;
|
||||
package = pkgs.nnn.override ({ withNerdIcons = true; });
|
||||
package = pkgs.nnn.override { withNerdIcons = true; };
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -6,79 +6,74 @@ let
|
|||
left_monitor = "HDMI-A-1";
|
||||
right_monitor = "DP-1";
|
||||
|
||||
wob-voldaemon = pkgs.writeShellScriptBin "wob-volumedaemon.sh"
|
||||
''
|
||||
if pgrep "wob"; then
|
||||
killall wob &> /dev/null
|
||||
fi
|
||||
wob-voldaemon = pkgs.writeShellScriptBin "wob-volumedaemon.sh" ''
|
||||
if pgrep "wob"; then
|
||||
killall wob &> /dev/null
|
||||
fi
|
||||
|
||||
if [[ -e "${wobsock}" ]]; then
|
||||
rm "${wobsock}"
|
||||
fi
|
||||
if [[ -e "${wobsock}" ]]; then
|
||||
rm "${wobsock}"
|
||||
fi
|
||||
|
||||
mkfifo "${wobsock}"
|
||||
tail -f "${wobsock}" | ${pkgs.wob}/bin/wob --border-color "#D65D0EFF" --background-color "#282828FF" --bar-color "#D65D0EFF" -b 2 -H 40 &
|
||||
echo "wob: started"
|
||||
'';
|
||||
mkfifo "${wobsock}"
|
||||
tail -f "${wobsock}" | ${pkgs.wob}/bin/wob --border-color "#D65D0EFF" --background-color "#282828FF" --bar-color "#D65D0EFF" -b 2 -H 40 &
|
||||
echo "wob: started"
|
||||
'';
|
||||
|
||||
passmenu = pkgs.writeShellScriptBin "passmenu.sh"
|
||||
''
|
||||
shopt -s nullglob globstar
|
||||
passmenu = pkgs.writeShellScriptBin "passmenu.sh" ''
|
||||
shopt -s nullglob globstar
|
||||
|
||||
prefix=''${PASSWORD_STORE_DIR-~/.password-store}
|
||||
password_files=( "$prefix"/**/*.gpg )
|
||||
password_files=( "''${password_files[@]#"$prefix"/}" )
|
||||
password_files=( "''${password_files[@]%.gpg}" )
|
||||
prefix=''${PASSWORD_STORE_DIR-~/.password-store}
|
||||
password_files=( "$prefix"/**/*.gpg )
|
||||
password_files=( "''${password_files[@]#"$prefix"/}" )
|
||||
password_files=( "''${password_files[@]%.gpg}" )
|
||||
|
||||
password=$(printf '%s\n' "''${password_files[@]}" | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "pass" "$@")
|
||||
password=$(printf '%s\n' "''${password_files[@]}" | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "pass" "$@")
|
||||
|
||||
[[ -n $password ]] || exit
|
||||
[[ -n $password ]] || exit
|
||||
|
||||
pass show -c "$password" 2>/dev/null
|
||||
'';
|
||||
pass show -c "$password" 2>/dev/null
|
||||
'';
|
||||
|
||||
xwaylandSetPrimary = pkgs.writeShellScriptBin "xwayland-setprimary.sh"
|
||||
''
|
||||
DSP=$(${pkgs.xorg.xrandr}/bin/xrandr | awk '/2560x1440/ {print $1}' | head -n 1)
|
||||
xwaylandSetPrimary = pkgs.writeShellScriptBin "xwayland-setprimary.sh" ''
|
||||
DSP=$(${pkgs.xorg.xrandr}/bin/xrandr | awk '/2560x1440/ {print $1}' | head -n 1)
|
||||
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --output "$DSP" --primary
|
||||
echo "Xwayland: $DSP - Primary monitor set"
|
||||
'';
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --output "$DSP" --primary
|
||||
echo "Xwayland: $DSP - Primary monitor set"
|
||||
'';
|
||||
|
||||
rofi-theme = inputs.rofi-theme + "/gruvbox-dark.rasi";
|
||||
|
||||
killprocess = pkgs.writeShellScriptBin "killprocess.sh"
|
||||
''
|
||||
ps -x -o pid=,comm= | column -t -o " " | rofi -dmenu -p "kill process" | awk '{print $1}' | uniq | xargs -r kill -9
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
killprocess = pkgs.writeShellScriptBin "killprocess.sh" ''
|
||||
ps -x -o pid=,comm= | column -t -o " " | rofi -dmenu -p "kill process" | awk '{print $1}' | uniq | xargs -r kill -9
|
||||
'';
|
||||
in {
|
||||
imports = [ ./waybar.nix ];
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
config = {
|
||||
modifier = "Mod4";
|
||||
terminal = "${pkgs.foot}/bin/foot";
|
||||
gaps = {
|
||||
inner = 20;
|
||||
};
|
||||
gaps = { inner = 20; };
|
||||
keybindings =
|
||||
let
|
||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||
in
|
||||
lib.mkOptionDefault {
|
||||
"XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 10 --get-volume > ${wobsock}";
|
||||
"XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 10 --get-volume > ${wobsock}";
|
||||
let modifier = config.wayland.windowManager.sway.config.modifier;
|
||||
in lib.mkOptionDefault {
|
||||
"XF86AudioRaiseVolume" =
|
||||
"exec ${pkgs.pamixer}/bin/pamixer -i 10 --get-volume > ${wobsock}";
|
||||
"XF86AudioLowerVolume" =
|
||||
"exec ${pkgs.pamixer}/bin/pamixer -d 10 --get-volume > ${wobsock}";
|
||||
"Mod5+F9" = "exec ${pkgs.mpc-cli}/bin/mpc stop";
|
||||
"Mod5+F11" = "exec ${pkgs.mpc-cli}/bin/mpc toggle";
|
||||
"Mod5+F10" = "exec ${pkgs.mpc-cli}/bin/mpc prev";
|
||||
"Mod5+F12" = "exec ${pkgs.mpc-cli}/bin/mpc next";
|
||||
"XF86AudioMute" = "exec mpc toggle";
|
||||
|
||||
"Print" = "exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy screen";
|
||||
"${modifier}+Shift+Print" = "exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy area";
|
||||
"${modifier}+Print" = "exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy active";
|
||||
"Print" =
|
||||
"exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy screen";
|
||||
"${modifier}+Shift+Print" =
|
||||
"exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy area";
|
||||
"${modifier}+Print" =
|
||||
"exec ${pkgs.sway-contrib.grimshot}/bin/grimshot -c --notify copy active";
|
||||
|
||||
"${modifier}+d" = "exec ${pkgs.rofi-wayland}/bin/rofi -show drun";
|
||||
"${modifier}+Shift+p" = "exec ${passmenu}/bin/passmenu.sh";
|
||||
|
@ -95,20 +90,15 @@ in
|
|||
xkb_layout = "us";
|
||||
xkb_variant = "altgr-intl";
|
||||
};
|
||||
"type:pointer" = {
|
||||
accel_profile = "flat";
|
||||
};
|
||||
"type:pointer" = { accel_profile = "flat"; };
|
||||
"type:touchpad" = {
|
||||
events = "disabled"; #disable DualSense touchpad. Let Steam Input handle it
|
||||
events =
|
||||
"disabled"; # disable DualSense touchpad. Let Steam Input handle it
|
||||
};
|
||||
};
|
||||
output = {
|
||||
"*" = {
|
||||
bg = "${wallpaper} stretch";
|
||||
};
|
||||
"${left_monitor}" = {
|
||||
position = "0 0";
|
||||
};
|
||||
"*" = { bg = "${wallpaper} stretch"; };
|
||||
"${left_monitor}" = { position = "0 0"; };
|
||||
"${right_monitor}" = {
|
||||
position = "1920 0";
|
||||
adaptive_sync = "on";
|
||||
|
@ -116,26 +106,53 @@ in
|
|||
};
|
||||
|
||||
workspaceOutputAssign = [
|
||||
{
|
||||
workspace = "1";
|
||||
output = "${right_monitor}";
|
||||
}
|
||||
{
|
||||
workspace = "2";
|
||||
output = "${right_monitor}";
|
||||
}
|
||||
{
|
||||
workspace = "3";
|
||||
output = "${right_monitor}";
|
||||
}
|
||||
|
||||
{ workspace = "1"; output = "${right_monitor}"; }
|
||||
{ workspace = "2"; output = "${right_monitor}"; }
|
||||
{ workspace = "3"; output = "${right_monitor}"; }
|
||||
|
||||
{ workspace = "4"; output = "${left_monitor}"; }
|
||||
{ workspace = "5"; output = "${left_monitor}"; }
|
||||
{ workspace = "6"; output = "${left_monitor}"; }
|
||||
{
|
||||
workspace = "4";
|
||||
output = "${left_monitor}";
|
||||
}
|
||||
{
|
||||
workspace = "5";
|
||||
output = "${left_monitor}";
|
||||
}
|
||||
{
|
||||
workspace = "6";
|
||||
output = "${left_monitor}";
|
||||
}
|
||||
];
|
||||
|
||||
startup = [
|
||||
{ command = "${wob-voldaemon}/bin/wob-volumedaemon.sh"; always = true; }
|
||||
{ command = "${xwaylandSetPrimary}/bin/xwayland-setprimary.sh"; always = true; }
|
||||
{ command = "${pkgs.autotiling}/bin/autotiling"; always = true; }
|
||||
{ command = "${pkgs.openrgb}/bin/openrgb --server --profile autorun.orp"; }
|
||||
{
|
||||
command = "${wob-voldaemon}/bin/wob-volumedaemon.sh";
|
||||
always = true;
|
||||
}
|
||||
{
|
||||
command = "${xwaylandSetPrimary}/bin/xwayland-setprimary.sh";
|
||||
always = true;
|
||||
}
|
||||
{
|
||||
command = "${pkgs.autotiling}/bin/autotiling";
|
||||
always = true;
|
||||
}
|
||||
{
|
||||
command =
|
||||
"${pkgs.openrgb}/bin/openrgb --server --profile autorun.orp";
|
||||
}
|
||||
{ command = "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"; }
|
||||
];
|
||||
bars = [{
|
||||
command = "${pkgs.waybar}/bin/waybar";
|
||||
}];
|
||||
bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
|
||||
colors = {
|
||||
focused = {
|
||||
border = "#d65d0e";
|
||||
|
@ -173,9 +190,7 @@ in
|
|||
extraSessionCommands = ''
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
'';
|
||||
wrapperFeatures = {
|
||||
gtk = true;
|
||||
};
|
||||
wrapperFeatures = { gtk = true; };
|
||||
};
|
||||
|
||||
programs.mako = {
|
||||
|
@ -238,8 +253,5 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.wl-clipboard
|
||||
];
|
||||
home.packages = [ pkgs.wl-clipboard ];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,28 +1,24 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
ds-battery = pkgs.writeShellScriptBin "ds-battery.sh" ''
|
||||
ds_capacity_file="/sys/class/power_supply/ps-controller-battery-4c:b9:9b:74:ae:31/capacity"
|
||||
ds_status_file="/sys/class/power_supply/ps-controller-battery-4c:b9:9b:74:ae:31/status"
|
||||
|
||||
ds-battery = pkgs.writeShellScriptBin "ds-battery.sh"
|
||||
''
|
||||
ds_capacity_file="/sys/class/power_supply/ps-controller-battery-4c:b9:9b:74:ae:31/capacity"
|
||||
ds_status_file="/sys/class/power_supply/ps-controller-battery-4c:b9:9b:74:ae:31/status"
|
||||
|
||||
while true; do
|
||||
if [[ -f $ds_capacity_file ]]; then
|
||||
charge=$(<"$ds_capacity_file")
|
||||
if [[ $(<"$ds_status_file") == "Charging" ]]; then
|
||||
echo "{\"class\":\"charging\",\"text\":\" Charging: $charge%\",\"tooltip\":\"Charging:\n$charge%\"}"
|
||||
else
|
||||
echo "{\"class\":\"discharging\",\"text\":\" $charge%\",\"tooltip\":\"Battery:\\n$charge%\"}"
|
||||
fi
|
||||
else
|
||||
echo "{\"class\":\"not_connected\",\"text\":\"\"}"
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
while true; do
|
||||
if [[ -f $ds_capacity_file ]]; then
|
||||
charge=$(<"$ds_capacity_file")
|
||||
if [[ $(<"$ds_status_file") == "Charging" ]]; then
|
||||
echo "{\"class\":\"charging\",\"text\":\" Charging: $charge%\",\"tooltip\":\"Charging:\n$charge%\"}"
|
||||
else
|
||||
echo "{\"class\":\"discharging\",\"text\":\" $charge%\",\"tooltip\":\"Battery:\\n$charge%\"}"
|
||||
fi
|
||||
else
|
||||
echo "{\"class\":\"not_connected\",\"text\":\"\"}"
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
'';
|
||||
in {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = [{
|
||||
|
@ -32,19 +28,23 @@ in
|
|||
|
||||
modules-left = [ "custom/blank" "sway/workspaces" "sway/mode" ];
|
||||
modules-center = [ "sway/window" ];
|
||||
modules-right = [ "custom/ds-battery" "pulseaudio" "mpd" "tray" "custom/blank" "clock" "custom/blank" ];
|
||||
modules-right = [
|
||||
"custom/ds-battery"
|
||||
"pulseaudio"
|
||||
"mpd"
|
||||
"tray"
|
||||
"custom/blank"
|
||||
"clock"
|
||||
"custom/blank"
|
||||
];
|
||||
|
||||
"sway/mode" = {
|
||||
format = " {}";
|
||||
};
|
||||
"sway/mode" = { format = " {}"; };
|
||||
"sway/window" = {
|
||||
icon = false;
|
||||
icon-size = 16;
|
||||
};
|
||||
|
||||
"clock" = {
|
||||
format = "{:%a %d. %B %H:%M}";
|
||||
};
|
||||
"clock" = { format = "{:%a %d. %B %H:%M}"; };
|
||||
|
||||
"pulseaudio" = {
|
||||
scroll-step = 5;
|
||||
|
@ -57,7 +57,8 @@ in
|
|||
spacing = 10;
|
||||
};
|
||||
"mpd" = {
|
||||
format = "{stateIcon} {artist} - {title} {elapsedTime:%M:%S}/{totalTime:%M:%S}";
|
||||
format =
|
||||
"{stateIcon} {artist} - {title} {elapsedTime:%M:%S}/{totalTime:%M:%S}";
|
||||
format-stopped = "栗 stopped";
|
||||
state-icons = {
|
||||
playing = "";
|
||||
|
@ -70,10 +71,7 @@ in
|
|||
exec = "${ds-battery}/bin/ds-battery.sh";
|
||||
escape = "true";
|
||||
};
|
||||
"custom/blank" = {
|
||||
format = " ";
|
||||
};
|
||||
|
||||
"custom/blank" = { format = " "; };
|
||||
}];
|
||||
style = ''
|
||||
@define-color foreground #EBDBB2;
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
{ config, pkgs, inputs, ... }: {
|
||||
imports = [
|
||||
./configs/beets/beets.nix
|
||||
./configs/kakoune/kakoune.nix
|
||||
|
@ -35,9 +33,9 @@
|
|||
pkgs.sxiv
|
||||
pkgs.thunderbird
|
||||
pkgs.twemoji-color-font
|
||||
pkgs.veloren-voxygen
|
||||
pkgs.wineWowPackages.stagingFull
|
||||
#pkgs.xivlauncher
|
||||
pkgs.xarchiver
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
|
@ -48,9 +46,7 @@
|
|||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
};
|
||||
services.gpg-agent = { enable = true; };
|
||||
|
||||
services.udiskie.enable = true;
|
||||
|
||||
|
@ -86,7 +82,6 @@
|
|||
name = "capitaine-cursors-white";
|
||||
size = 32;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
|
@ -129,4 +124,3 @@
|
|||
# changes in each release.
|
||||
home.stateVersion = "22.05";
|
||||
}
|
||||
|
||||
|
|
Reference in New Issue