add alejandra formatter
This commit is contained in:
parent
93d38992e1
commit
1f69ba4229
|
@ -1,14 +1,16 @@
|
||||||
# Edet this configuration file to define what should be installed on
|
# Edet this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
# Include the results of the hardware scan.
|
lib,
|
||||||
./hardware-configuration-custom.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration-custom.nix
|
||||||
|
];
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
@ -51,7 +53,7 @@
|
||||||
hardware.pulseaudio.enable = true;
|
hardware.pulseaudio.enable = true;
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = ["/share/zsh"];
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
users.fabian = {
|
users.fabian = {
|
||||||
|
@ -59,7 +61,7 @@
|
||||||
uid = 1002; # nunca cambiar mi ID de usuario
|
uid = 1002; # nunca cambiar mi ID de usuario
|
||||||
group = "fabian";
|
group = "fabian";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
extraGroups = [ "users" "wheel" "networkmanager" "dialout" "libvirtd" ];
|
extraGroups = ["users" "wheel" "networkmanager" "dialout" "libvirtd"];
|
||||||
};
|
};
|
||||||
groups.fabian.gid = 1002;
|
groups.fabian.gid = 1002;
|
||||||
};
|
};
|
||||||
|
@ -70,14 +72,14 @@
|
||||||
|
|
||||||
users.users.temp = {
|
users.users.temp = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = ["wheel"];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
virtualisation.libvirtd.qemu.package = pkgs.qemu_kvm;
|
virtualisation.libvirtd.qemu.package = pkgs.qemu_kvm;
|
||||||
virtualisation.libvirtd.qemu.ovmf.enable = true;
|
virtualisation.libvirtd.qemu.ovmf.enable = true;
|
||||||
virtualisation.libvirtd.qemu.ovmf.packages = [ pkgs.OVMFFull.fd ];
|
virtualisation.libvirtd.qemu.ovmf.packages = [pkgs.OVMFFull.fd];
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
# boot.kernelModules = [ "vfio" "vfio_iommu_type1" "vfio_pci" "vfio_virqfd" ];
|
# boot.kernelModules = [ "vfio" "vfio_iommu_type1" "vfio_pci" "vfio_virqfd" ];
|
||||||
|
@ -101,5 +103,4 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "21.11"; # No tocar esto
|
system.stateVersion = "21.11"; # No tocar esto
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
subvol = subvol: {
|
subvol = subvol: {
|
||||||
device = "/dev/disk/by-uuid/645fdba0-5c03-4285-926b-facded1ee259";
|
device = "/dev/disk/by-uuid/645fdba0-5c03-4285-926b-facded1ee259";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=${subvol}" "compress=zstd" "noatime" "ssd" ];
|
options = ["subvol=${subvol}" "compress=zstd" "noatime" "ssd"];
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
in
|
imports = [
|
||||||
{
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
imports =
|
|
||||||
[
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd = {
|
boot.initrd = {
|
||||||
availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||||
luks.devices."toplevel" = {
|
luks.devices."toplevel" = {
|
||||||
device = "/dev/disk/by-uuid/58277baa-90d4-4a5e-a658-1b918b89130a";
|
device = "/dev/disk/by-uuid/58277baa-90d4-4a5e-a658-1b918b89130a";
|
||||||
preLVM = false;
|
preLVM = false;
|
||||||
|
@ -29,17 +29,15 @@ in
|
||||||
"/boot" = {
|
"/boot" = {
|
||||||
device = "/dev/disk/by-uuid/B007-B007";
|
device = "/dev/disk/by-uuid/B007-B007";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "umask=027" ];
|
options = ["umask=027"];
|
||||||
};
|
};
|
||||||
|
|
||||||
"/extern" = {
|
"/extern" = {
|
||||||
device = "/dev/disk/by-uuid/7d8d3ec9-b456-4e2a-9396-551dcaf7705b";
|
device = "/dev/disk/by-uuid/7d8d3ec9-b456-4e2a-9396-551dcaf7705b";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "noatime" "compress=zstd" ];
|
options = ["noatime" "compress=zstd"];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{ }
|
{}
|
||||||
|
|
121
flake.nix
121
flake.nix
|
@ -12,66 +12,73 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, unstable, home-manager, nur, hm-isolation, nixGL, ... }:
|
outputs = {
|
||||||
let
|
self,
|
||||||
system = "x86_64-linux";
|
nixpkgs,
|
||||||
|
unstable,
|
||||||
|
home-manager,
|
||||||
|
nur,
|
||||||
|
hm-isolation,
|
||||||
|
nixGL,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
|
||||||
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
|
base = platform: {
|
||||||
|
name = platform;
|
||||||
|
value = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
};
|
|
||||||
|
|
||||||
inherit (pkgs) lib;
|
modules = [(import ./base)];
|
||||||
|
|
||||||
base = platform: {
|
|
||||||
name = platform;
|
|
||||||
value = nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
|
|
||||||
modules = [ (import ./base) ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home = platform: {
|
|
||||||
name = "fabian@${platform}";
|
|
||||||
value = home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit pkgs;
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
(import ./home {
|
|
||||||
inherit self nixpkgs unstable hm-isolation nixGL;
|
|
||||||
})
|
|
||||||
|
|
||||||
./home/platforms/${platform}.nix
|
|
||||||
|
|
||||||
{
|
|
||||||
config.local = { inherit platform; };
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
localPkgs = import ./pkgs;
|
|
||||||
|
|
||||||
platforms = domain:
|
|
||||||
map
|
|
||||||
(lib.removeSuffix ".nix")
|
|
||||||
(lib.attrNames (builtins.readDir ./${domain}/platforms));
|
|
||||||
|
|
||||||
configs = domain: builder:
|
|
||||||
lib.listToAttrs
|
|
||||||
(map builder (platforms domain));
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations = configs "base" base;
|
|
||||||
homeConfigurations = configs "home" home;
|
|
||||||
packages.${system} = localPkgs pkgs;
|
|
||||||
formatter.${system} = pkgs.nixpkgs-fmt;
|
|
||||||
|
|
||||||
overlay = self: super: {
|
|
||||||
unstable = import unstable {
|
|
||||||
inherit (super) config system;
|
|
||||||
};
|
|
||||||
local = localPkgs self;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home = platform: {
|
||||||
|
name = "fabian@${platform}";
|
||||||
|
value = home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
(import ./home {
|
||||||
|
inherit self nixpkgs unstable hm-isolation nixGL;
|
||||||
|
})
|
||||||
|
|
||||||
|
./home/platforms/${platform}.nix
|
||||||
|
|
||||||
|
{
|
||||||
|
config.local = {inherit platform;};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
localPkgs = import ./pkgs;
|
||||||
|
|
||||||
|
platforms = domain:
|
||||||
|
map
|
||||||
|
(lib.removeSuffix ".nix")
|
||||||
|
(lib.attrNames (builtins.readDir ./${domain}/platforms));
|
||||||
|
|
||||||
|
configs = domain: builder:
|
||||||
|
lib.listToAttrs
|
||||||
|
(map builder (platforms domain));
|
||||||
|
in {
|
||||||
|
nixosConfigurations = configs "base" base;
|
||||||
|
homeConfigurations = configs "home" home;
|
||||||
|
packages.${system} = localPkgs pkgs;
|
||||||
|
formatter.${system} = pkgs.alejandra;
|
||||||
|
|
||||||
|
overlay = self: super: {
|
||||||
|
unstable = import unstable {
|
||||||
|
inherit (super) config system;
|
||||||
|
};
|
||||||
|
local = localPkgs self;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
with lib;
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; {
|
||||||
config = mkIf (!config.home.isolation.active) {
|
config = mkIf (!config.home.isolation.active) {
|
||||||
accounts.email.maildirBasePath = "${config.home.homeDirectory}/mail";
|
accounts.email.maildirBasePath = "${config.home.homeDirectory}/mail";
|
||||||
accounts.email.accounts = {
|
accounts.email.accounts = {
|
||||||
|
|
|
@ -1,18 +1,23 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
{
|
{
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
pkgs,
|
||||||
"discord"
|
config,
|
||||||
"pycharm-professional"
|
lib,
|
||||||
"rar"
|
...
|
||||||
"spotify"
|
}:
|
||||||
"spotify-unwrapped"
|
with lib; {
|
||||||
"steam"
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
"steam-original"
|
builtins.elem (lib.getName pkg) [
|
||||||
"steam-run"
|
"discord"
|
||||||
"teams"
|
"pycharm-professional"
|
||||||
"vscode-extension-ms-vscode-cpptools"
|
"rar"
|
||||||
"vmware-horizon-client"
|
"spotify"
|
||||||
"zoom"
|
"spotify-unwrapped"
|
||||||
];
|
"steam"
|
||||||
|
"steam-original"
|
||||||
|
"steam-run"
|
||||||
|
"teams"
|
||||||
|
"vscode-extension-ms-vscode-cpptools"
|
||||||
|
"vmware-horizon-client"
|
||||||
|
"zoom"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.apps;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.apps;
|
||||||
|
in {
|
||||||
options.local.apps.enable = mkEnableOption "Applications and tools";
|
options.local.apps.enable = mkEnableOption "Applications and tools";
|
||||||
imports = [
|
imports = [
|
||||||
./library.nix
|
./library.nix
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.apps.defaultApps;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.apps.defaultApps;
|
||||||
|
in {
|
||||||
options.local.apps.defaultApps.enable = mkEnableOption "Default app library";
|
options.local.apps.defaultApps.enable = mkEnableOption "Default app library";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
@ -37,16 +40,16 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.mimeApps.defaultApplications = {
|
xdg.mimeApps.defaultApplications = {
|
||||||
"application/x-extension-htm" = [ "firefox.desktop" ];
|
"application/x-extension-htm" = ["firefox.desktop"];
|
||||||
"application/x-extension-html" = [ "firefox.desktop" ];
|
"application/x-extension-html" = ["firefox.desktop"];
|
||||||
"application/x-extension-shtml" = [ "firefox.desktop" ];
|
"application/x-extension-shtml" = ["firefox.desktop"];
|
||||||
"application/x-extension-xht" = [ "firefox.desktop" ];
|
"application/x-extension-xht" = ["firefox.desktop"];
|
||||||
"application/x-extension-xhtml" = [ "firefox.desktop" ];
|
"application/x-extension-xhtml" = ["firefox.desktop"];
|
||||||
"application/xhtml+xml" = [ "firefox.desktop" ];
|
"application/xhtml+xml" = ["firefox.desktop"];
|
||||||
"text/html" = [ "firefox.desktop" ];
|
"text/html" = ["firefox.desktop"];
|
||||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
"x-scheme-handler/http" = ["firefox.desktop"];
|
||||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
"x-scheme-handler/https" = ["firefox.desktop"];
|
||||||
"application/pdf" = [ "qpdfview.desktop" ];
|
"application/pdf" = ["qpdfview.desktop"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.local.apps.steam;
|
cfg = config.local.apps.steam;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.local.apps.steam.enable = mkEnableOption "Steam";
|
options.local.apps.steam.enable = mkEnableOption "Steam";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
(pkgs.callPackage ./package.nix { })
|
(pkgs.callPackage ./package.nix {})
|
||||||
pkgs.protonup
|
pkgs.protonup
|
||||||
pkgs.winetricks
|
pkgs.winetricks
|
||||||
pkgs.protontricks
|
pkgs.protontricks
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ writeShellScriptBin, steam-run, steam, ... }:
|
{
|
||||||
|
writeShellScriptBin,
|
||||||
|
steam-run,
|
||||||
|
steam,
|
||||||
|
...
|
||||||
|
}:
|
||||||
writeShellScriptBin "steam" ''
|
writeShellScriptBin "steam" ''
|
||||||
exec ${steam-run}/bin/steam-run ${steam}/bin/steam -console
|
exec ${steam-run}/bin/steam-run ${steam}/bin/steam -console
|
||||||
''
|
''
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.apps.terminal;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.apps.terminal;
|
||||||
|
in {
|
||||||
options.local.apps.terminal.enable = mkEnableOption "Terminal emulator settings";
|
options.local.apps.terminal.enable = mkEnableOption "Terminal emulator settings";
|
||||||
config.programs = mkIf cfg.enable {
|
config.programs = mkIf cfg.enable {
|
||||||
kitty = {
|
kitty = {
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.apps.virtmanager;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.apps.virtmanager;
|
||||||
|
in {
|
||||||
options.local.apps.virtmanager.enable = mkEnableOption "Virtmanager";
|
options.local.apps.virtmanager.enable = mkEnableOption "Virtmanager";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
41
home/cli.nix
41
home/cli.nix
|
@ -1,6 +1,10 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; {
|
||||||
programs = {
|
programs = {
|
||||||
## talvez esto debería moverse a base
|
## talvez esto debería moverse a base
|
||||||
zsh = {
|
zsh = {
|
||||||
|
@ -31,21 +35,20 @@ with lib;
|
||||||
pinentryPackage = pkgs.pinentry-emacs;
|
pinentryPackage = pkgs.pinentry-emacs;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs; [
|
||||||
[
|
calc
|
||||||
calc
|
file
|
||||||
file
|
gcc
|
||||||
gcc
|
htop
|
||||||
htop
|
killall
|
||||||
killall
|
man-pages
|
||||||
man-pages
|
man-pages-posix
|
||||||
man-pages-posix
|
neovim
|
||||||
neovim
|
rar
|
||||||
rar
|
tree
|
||||||
tree
|
units
|
||||||
units
|
unzip
|
||||||
unzip
|
usbutils
|
||||||
usbutils
|
zip
|
||||||
zip
|
];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
{ self, nixpkgs, unstable, hm-isolation, nixGL }:
|
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
{
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
unstable,
|
||||||
|
hm-isolation,
|
||||||
|
nixGL,
|
||||||
|
}: {
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; {
|
||||||
imports = [
|
imports = [
|
||||||
(hm-isolation.homeManagerModule)
|
(hm-isolation.homeManagerModule)
|
||||||
./accounts.nix
|
./accounts.nix
|
||||||
|
@ -14,7 +23,7 @@ with lib;
|
||||||
./systemd
|
./systemd
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.overlays = [ self.overlay nixGL.overlay ];
|
nixpkgs.overlays = [self.overlay nixGL.overlay];
|
||||||
|
|
||||||
services.ssh-agent.enable = true;
|
services.ssh-agent.enable = true;
|
||||||
|
|
||||||
|
@ -55,4 +64,3 @@ with lib;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.gui.autorandr;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.gui.autorandr;
|
||||||
|
in {
|
||||||
options.local.gui.autorandr.enable = mkEnableOption "Autorandr";
|
options.local.gui.autorandr.enable = mkEnableOption "Autorandr";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.autorandr = {
|
programs.autorandr = {
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.gui;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.gui;
|
||||||
|
in {
|
||||||
options.local.gui = {
|
options.local.gui = {
|
||||||
enable = mkEnableOption "GUI settings and programs";
|
enable = mkEnableOption "GUI settings and programs";
|
||||||
desktop = mkEnableOption "i3 desktop envirorment";
|
desktop = mkEnableOption "i3 desktop envirorment";
|
||||||
|
@ -19,7 +22,6 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
local.gui = {
|
local.gui = {
|
||||||
fonts.enable = mkDefault true;
|
fonts.enable = mkDefault true;
|
||||||
gtk.enable = mkDefault true;
|
gtk.enable = mkDefault true;
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.gui.fonts;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.gui.fonts;
|
||||||
|
in {
|
||||||
options.local.gui.fonts.enable = mkEnableOption "Font management";
|
options.local.gui.fonts.enable = mkEnableOption "Font management";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.gui.gtk;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.gui.gtk;
|
||||||
|
in {
|
||||||
options.local.gui.gtk.enable = mkEnableOption "GTK related programs";
|
options.local.gui.gtk.enable = mkEnableOption "GTK related programs";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
171
home/gui/i3.nix
171
home/gui/i3.nix
|
@ -1,107 +1,110 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.gui.i3;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.gui.i3;
|
||||||
|
in {
|
||||||
options.local.gui.i3.enable = mkEnableOption "i3 window manager";
|
options.local.gui.i3.enable = mkEnableOption "i3 window manager";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
xsession.windowManager.i3 = {
|
xsession.windowManager.i3 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.i3-gaps;
|
package = pkgs.i3-gaps;
|
||||||
|
|
||||||
config =
|
config = let
|
||||||
let
|
mod = "Mod4";
|
||||||
mod = "Mod4";
|
in {
|
||||||
in
|
modifier = mod;
|
||||||
{
|
# revisar luego si config.bars tiene un default danino
|
||||||
modifier = mod;
|
|
||||||
# revisar luego si config.bars tiene un default danino
|
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "JetBrains Mono" ];
|
names = ["JetBrains Mono"];
|
||||||
style = "Regular";
|
style = "Regular";
|
||||||
size = 8.0;
|
size = 8.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
gaps = {
|
||||||
|
inner = 10;
|
||||||
|
outer = -10;
|
||||||
|
};
|
||||||
|
|
||||||
|
window = {
|
||||||
|
hideEdgeBorders = "both";
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
focused = {
|
||||||
|
background = "#222222";
|
||||||
|
border = "#4c7899";
|
||||||
|
childBorder = "#222222";
|
||||||
|
indicator = "#292d2e";
|
||||||
|
text = "#888888";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
gaps = {
|
# mkOptionDefault hace que se ponga la config por default
|
||||||
inner = 10;
|
# y se sobreescriba las cosas que pongo acA
|
||||||
outer = -10;
|
# NO QUITARLO. ver man home-configuration.nix
|
||||||
};
|
keybindings = mkOptionDefault {
|
||||||
|
"${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty ${pkgs.tmux}/bin/tmux";
|
||||||
|
"${mod}+Tab" = "focus right";
|
||||||
|
"${mod}+Shift+Tab" = "focus left";
|
||||||
|
"${mod}+Shift+s" = "exec ${pkgs.maim}/bin/maim -s -u | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png -i";
|
||||||
|
"${mod}+Shift+w" = "move workspace to output right";
|
||||||
|
"${mod}+l" = "exec ${pkgs.betterlockscreen}/bin/betterlockscreen -l";
|
||||||
|
};
|
||||||
|
|
||||||
window = {
|
startup = [
|
||||||
hideEdgeBorders = "both";
|
{
|
||||||
};
|
command = "${pkgs.xss-lock}/bin/xss-lock --transfer-sleep-lock -- ${pkgs.i3lock}/bin/i3lock --nofork";
|
||||||
|
notification = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "${pkgs.networkmanagerapplet}/bin/nm-applet";
|
||||||
|
notification = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "${pkgs.feh}/bin/feh --bg-fill ${config.home.homeDirectory}/Pictures/wallpapers/jupiter.png";
|
||||||
|
notification = false;
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 1; exec ${pkgs.firefox}/bin/firefox'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 2; exec ${pkgs.tdesktop}/bin/telegram-desktop'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 2; exec ${pkgs.element-desktop}/bin/element-desktop'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "${pkgs.systemd}/bin/systemctl --user restart polybar.service";
|
||||||
|
notification = false;
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "${pkgs.autorandr}/bin/autorandr -c";
|
||||||
|
notification = false;
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
colors = {
|
workspaceOutputAssign =
|
||||||
focused = {
|
[
|
||||||
background = "#222222";
|
|
||||||
border = "#4c7899";
|
|
||||||
childBorder = "#222222";
|
|
||||||
indicator = "#292d2e";
|
|
||||||
text = "#888888";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# mkOptionDefault hace que se ponga la config por default
|
|
||||||
# y se sobreescriba las cosas que pongo acA
|
|
||||||
# NO QUITARLO. ver man home-configuration.nix
|
|
||||||
keybindings = mkOptionDefault {
|
|
||||||
"${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty ${pkgs.tmux}/bin/tmux";
|
|
||||||
"${mod}+Tab" = "focus right";
|
|
||||||
"${mod}+Shift+Tab" = "focus left";
|
|
||||||
"${mod}+Shift+s" = "exec ${pkgs.maim}/bin/maim -s -u | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png -i";
|
|
||||||
"${mod}+Shift+w" = "move workspace to output right";
|
|
||||||
"${mod}+l" = "exec ${pkgs.betterlockscreen}/bin/betterlockscreen -l";
|
|
||||||
};
|
|
||||||
|
|
||||||
startup = [
|
|
||||||
{
|
|
||||||
command = "${pkgs.xss-lock}/bin/xss-lock --transfer-sleep-lock -- ${pkgs.i3lock}/bin/i3lock --nofork";
|
|
||||||
notification = false;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.networkmanagerapplet}/bin/nm-applet";
|
|
||||||
notification = false;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.feh}/bin/feh --bg-fill ${config.home.homeDirectory}/Pictures/wallpapers/jupiter.png";
|
|
||||||
notification = false;
|
|
||||||
always = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 1; exec ${pkgs.firefox}/bin/firefox'";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 2; exec ${pkgs.tdesktop}/bin/telegram-desktop'";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.i3-gaps}/bin/i3-msg 'workspace 2; exec ${pkgs.element-desktop}/bin/element-desktop'";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.systemd}/bin/systemctl --user restart polybar.service";
|
|
||||||
notification = false;
|
|
||||||
always = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "${pkgs.autorandr}/bin/autorandr -c";
|
|
||||||
notification = false;
|
|
||||||
always = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
workspaceOutputAssign = [
|
|
||||||
{
|
{
|
||||||
output = config.local.display."0";
|
output = config.local.display."0";
|
||||||
workspace = "1";
|
workspace = "1";
|
||||||
}
|
}
|
||||||
] ++ optional (config.local.display."1" != null) {
|
]
|
||||||
|
++ optional (config.local.display."1" != null) {
|
||||||
output = config.local.display."1";
|
output = config.local.display."1";
|
||||||
workspace = "10";
|
workspace = "10";
|
||||||
};
|
};
|
||||||
|
|
||||||
bars = [ ];
|
bars = [];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.gui.polybar;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.gui.polybar;
|
||||||
|
in {
|
||||||
options.local.gui.polybar.enable = mkEnableOption "Polybar";
|
options.local.gui.polybar.enable = mkEnableOption "Polybar";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.polybar = mkIf (!config.home.isolation.active) {
|
services.polybar = mkIf (!config.home.isolation.active) {
|
||||||
|
|
|
@ -1,22 +1,26 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.local.gui.startx;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.local.gui.startx;
|
||||||
|
in {
|
||||||
options.local.gui.startx.enable = mkEnableOption "startx";
|
options.local.gui.startx.enable = mkEnableOption "startx";
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
xsession.enable = true;
|
xsession.enable = true;
|
||||||
|
|
||||||
home.file.".xinitrc".source =
|
home.file.".xinitrc".source = let
|
||||||
let
|
content =
|
||||||
content =
|
if config.local.nixos
|
||||||
if config.local.nixos then ''
|
then ''
|
||||||
exec ~/.xsession
|
exec ~/.xsession
|
||||||
'' else ''
|
''
|
||||||
exec ${pkgs.nixgl.nixGLIntel}/bin/nixGLIntel ~/.xsession
|
else ''
|
||||||
'';
|
exec ${pkgs.nixgl.nixGLIntel}/bin/nixGLIntel ~/.xsession
|
||||||
in
|
'';
|
||||||
|
in
|
||||||
pkgs.writeShellScript "xinitrc" content;
|
pkgs.writeShellScript "xinitrc" content;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; {
|
||||||
home.isolation = {
|
home.isolation = {
|
||||||
enable = true;
|
enable = true;
|
||||||
btrfsSupport = true;
|
btrfsSupport = true;
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; {
|
||||||
options.local = with types; {
|
options.local = with types; {
|
||||||
platform = mkOption {
|
platform = mkOption {
|
||||||
type = str;
|
type = str;
|
||||||
|
@ -18,7 +21,6 @@ with lib;
|
||||||
autorandrProfile = mkOption {
|
autorandrProfile = mkOption {
|
||||||
type = attrs;
|
type = attrs;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos = mkOption {
|
nixos = mkOption {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
static = true;
|
static = true;
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
static = true;
|
static = true;
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
pipenv
|
pipenv
|
||||||
(python310.withPackages (packages: with packages; [
|
(python310.withPackages (packages:
|
||||||
setuptools
|
with packages; [
|
||||||
]))
|
setuptools
|
||||||
|
]))
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{ lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; {
|
||||||
systemd.user.tmpfiles.rules = [
|
systemd.user.tmpfiles.rules = [
|
||||||
"d %t/tmp 0700 fabian fabian 24h"
|
"d %t/tmp 0700 fabian fabian 24h"
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ maim, redshift, xclip, ... }: ''
|
{
|
||||||
|
maim,
|
||||||
|
redshift,
|
||||||
|
xclip,
|
||||||
|
...
|
||||||
|
}: ''
|
||||||
# The following lines were added by compinstall
|
# The following lines were added by compinstall
|
||||||
|
|
||||||
zstyle ':completion:*' auto-description 'specify: %d'
|
zstyle ':completion:*' auto-description 'specify: %d'
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
pkgs:
|
pkgs: {
|
||||||
{
|
|
||||||
#andesight = pkgs.callPackage ./andesight {};
|
#andesight = pkgs.callPackage ./andesight {};
|
||||||
#netextender = pkgs.callPackage ./netextender {};
|
#netextender = pkgs.callPackage ./netextender {};
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue