mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-07 06:40:13 +00:00
Compare commits
14 Commits
37fa835c66
...
legacy
Author | SHA1 | Date | |
---|---|---|---|
450118d234 | |||
cc84f1d37a | |||
ded498f4c9 | |||
0d0ee1fc5a | |||
251dce68bb | |||
448c97665b | |||
86aa02aae4 | |||
6cd22bc7ce | |||
048de4772c | |||
700e59e6c8 | |||
07e0afa1e9 | |||
6577b9e49b | |||
58a0e6166d | |||
e8c5a10df7 |
36
README.md
36
README.md
@ -1,3 +1,5 @@
|
|||||||
|
# System Configurations
|
||||||
|
|
||||||
This repository contains configuration files for my NixOS, macOS, and WSL
|
This repository contains configuration files for my NixOS, macOS, and WSL
|
||||||
hosts.
|
hosts.
|
||||||
|
|
||||||
@ -6,31 +8,31 @@ configuration may be difficult to translate to a non-Nix system.
|
|||||||
|
|
||||||
However, some of the configurations are easier to lift directly:
|
However, some of the configurations are easier to lift directly:
|
||||||
|
|
||||||
- [Neovim](https://github.com/nmasur/dotfiles/tree/master/modules/neovim/config)
|
- [Neovim](https://github.com/nmasur/dotfiles/tree/master/modules/common/neovim/config)
|
||||||
- [Fish functions](https://github.com/nmasur/dotfiles/tree/master/modules/shell/fish/functions)
|
- [Fish functions](https://github.com/nmasur/dotfiles/tree/master/modules/common/shell/fish/functions)
|
||||||
- [More fish aliases](https://github.com/nmasur/dotfiles/blob/master/modules/shell/fish/default.nix)
|
- [More fish aliases](https://github.com/nmasur/dotfiles/blob/master/modules/common/shell/fish/default.nix)
|
||||||
- [Git aliases](https://github.com/nmasur/dotfiles/blob/master/modules/shell/git.nix)
|
- [Git aliases](https://github.com/nmasur/dotfiles/blob/master/modules/common/shell/git.nix)
|
||||||
- [Hammerspoon](https://github.com/nmasur/dotfiles/tree/master/modules/darwin/hammerspoon)
|
- [Hammerspoon](https://github.com/nmasur/dotfiles/tree/master/modules/darwin/hammerspoon)
|
||||||
|
|
||||||
Try out my Neovim config:
|
Try out my Neovim config (requires [nix](https://nixos.org/download.html)):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix run github:nmasur/dotfiles#neovim
|
nix run github:nmasur/dotfiles#neovim
|
||||||
```
|
```
|
||||||
|
|
||||||
Or build it as a package:
|
Or build it as a package (requires [nix](https://nixos.org/download.html)):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix build github:nmasur/dotfiles#neovim
|
nix build github:nmasur/dotfiles#neovim
|
||||||
```
|
```
|
||||||
|
|
||||||
If you already have a Neovim configuration, you may need to move it out of
|
If you already have a Neovim configuration, you may need to move it out of
|
||||||
`~/.config/nvim` or set `XDG_CONFIG_HOME` to another value; otherwise, both
|
`~/.config/nvim` or set `XDG_CONFIG_HOME` to another value; otherwise both
|
||||||
configs might conflict with each other.
|
configs might conflict with each other.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Installation
|
# Full Installation
|
||||||
|
|
||||||
## NixOS - From Live Disk
|
## NixOS - From Live Disk
|
||||||
|
|
||||||
@ -42,7 +44,7 @@ installer disk:
|
|||||||
```bash
|
```bash
|
||||||
lsblk # Choose the disk you want to wipe
|
lsblk # Choose the disk you want to wipe
|
||||||
nix-shell -p nixVersions.stable
|
nix-shell -p nixVersions.stable
|
||||||
nix run github:nmasur/dotfiles#installer -- nvme0n1 desktop
|
nix run github:nmasur/dotfiles#installer -- nvme0n1 tempest
|
||||||
```
|
```
|
||||||
|
|
||||||
## NixOS - From Existing System
|
## NixOS - From Existing System
|
||||||
@ -52,7 +54,7 @@ following command:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix-shell -p nixVersions.stable
|
nix-shell -p nixVersions.stable
|
||||||
sudo nixos-rebuild switch --flake github:nmasur/dotfiles#desktop
|
sudo nixos-rebuild switch --flake github:nmasur/dotfiles#tempest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Windows - From NixOS WSL
|
## Windows - From NixOS WSL
|
||||||
@ -63,7 +65,7 @@ the WSL configuration:
|
|||||||
|
|
||||||
```
|
```
|
||||||
nix-shell -p nixVersions.stable
|
nix-shell -p nixVersions.stable
|
||||||
sudo nixos-rebuild switch --flake github:nmasur/dotfiles#wsl
|
sudo nixos-rebuild switch --flake github:nmasur/dotfiles#hydra
|
||||||
```
|
```
|
||||||
|
|
||||||
You should also download the
|
You should also download the
|
||||||
@ -90,17 +92,7 @@ nix-build https://github.com/LnL7/nix-darwin/archive/master.tar.gz -A installer
|
|||||||
Then switch to the macOS configuration:
|
Then switch to the macOS configuration:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
darwin-rebuild switch --flake github:nmasur/dotfiles#macbook
|
darwin-rebuild switch --flake github:nmasur/dotfiles#lookingglass
|
||||||
```
|
|
||||||
|
|
||||||
### Dealing with corporate MITM SSL certificates:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Get the certificates
|
|
||||||
openssl s_client -showcerts -verify 5 -connect cache.nixos.org:443 < /dev/null
|
|
||||||
|
|
||||||
# Paste them in here
|
|
||||||
sudo nvim $NIX_SSL_CERT_FILE
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
neovim = {
|
neovim = {
|
||||||
type = "app";
|
type = "app";
|
||||||
program = "${
|
program = "${
|
||||||
(import ../modules/neovim/package {
|
(import ../modules/common/neovim/package {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
colors =
|
colors =
|
||||||
import ../colorscheme/gruvbox/neovim-gruvbox.nix { inherit pkgs; };
|
import ../colorscheme/gruvbox/neovim-gruvbox.nix { inherit pkgs; };
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
tmpfile=$(mktemp)
|
tmpfile=$(mktemp)
|
||||||
echo "''${secret}" > ''${tmpfile}
|
echo "''${secret}" > ''${tmpfile}
|
||||||
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
||||||
builtins.toString ../hosts/public-keys
|
builtins.toString ../public-keys
|
||||||
} $tmpfile
|
} $tmpfile
|
||||||
rm $tmpfile
|
rm $tmpfile
|
||||||
'');
|
'');
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
--identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile
|
--identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile
|
||||||
echo "Encrypting ''${encryptedfile}..."
|
echo "Encrypting ''${encryptedfile}..."
|
||||||
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
||||||
builtins.toString ../hosts/public-keys
|
builtins.toString ../public-keys
|
||||||
} $tmpfile > $encryptedfile
|
} $tmpfile > $encryptedfile
|
||||||
rm $tmpfile
|
rm $tmpfile
|
||||||
done
|
done
|
||||||
|
16
flake.nix
16
flake.nix
@ -94,7 +94,7 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... }@inputs:
|
outputs = { nixpkgs, ... }@inputs:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
@ -112,7 +112,8 @@
|
|||||||
overlays = [
|
overlays = [
|
||||||
inputs.nur.overlay
|
inputs.nur.overlay
|
||||||
inputs.nix2vim.overlay
|
inputs.nix2vim.overlay
|
||||||
(import ./modules/neovim/plugins-overlay.nix inputs)
|
(import ./overlays/neovim-plugins.nix inputs)
|
||||||
|
(import ./overlays/calibre-web.nix)
|
||||||
];
|
];
|
||||||
|
|
||||||
# System types to support.
|
# System types to support.
|
||||||
@ -128,6 +129,7 @@
|
|||||||
tempest = import ./hosts/tempest { inherit inputs globals overlays; };
|
tempest = import ./hosts/tempest { inherit inputs globals overlays; };
|
||||||
hydra = import ./hosts/hydra { inherit inputs globals overlays; };
|
hydra = import ./hosts/hydra { inherit inputs globals overlays; };
|
||||||
flame = import ./hosts/flame { inherit inputs globals overlays; };
|
flame = import ./hosts/flame { inherit inputs globals overlays; };
|
||||||
|
swan = import ./hosts/swan { inherit inputs globals overlays; };
|
||||||
};
|
};
|
||||||
|
|
||||||
darwinConfigurations = {
|
darwinConfigurations = {
|
||||||
@ -149,11 +151,17 @@
|
|||||||
|
|
||||||
aws = {
|
aws = {
|
||||||
"${system}" =
|
"${system}" =
|
||||||
import ./hosts/aws { inherit inputs globals system overlays; };
|
import ./generators/aws { inherit inputs globals system overlays; };
|
||||||
|
};
|
||||||
|
|
||||||
|
staff = {
|
||||||
|
"${system}" = import ./generators/staff {
|
||||||
|
inherit inputs globals system overlays;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
neovim = let pkgs = import nixpkgs { inherit system overlays; };
|
neovim = let pkgs = import nixpkgs { inherit system overlays; };
|
||||||
in import ./modules/neovim/package {
|
in import ./modules/common/neovim/package {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
colors =
|
colors =
|
||||||
import ./colorscheme/gruvbox/neovim-gruvbox.nix { inherit pkgs; };
|
import ./colorscheme/gruvbox/neovim-gruvbox.nix { inherit pkgs; };
|
||||||
|
@ -15,16 +15,16 @@ nixos-generators.nixosGenerate {
|
|||||||
gitEmail = globals.gitEmail;
|
gitEmail = globals.gitEmail;
|
||||||
networking.hostName = "sheep";
|
networking.hostName = "sheep";
|
||||||
gui.enable = false;
|
gui.enable = false;
|
||||||
colorscheme = (import ../modules/colorscheme/gruvbox);
|
colorscheme = (import ../colorscheme/gruvbox);
|
||||||
passwordHash = null;
|
passwordHash = null;
|
||||||
publicKey =
|
publicKey =
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s";
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s";
|
||||||
# AWS settings require this
|
# AWS settings require this
|
||||||
permitRootLogin = "prohibit-password";
|
permitRootLogin = "prohibit-password";
|
||||||
}
|
}
|
||||||
../../hosts/common.nix
|
../../modules/common
|
||||||
../../modules/nixos
|
../../modules/nixos
|
||||||
../../modules/services/sshd.nix
|
../../modules/common/services/sshd.nix
|
||||||
] ++ [
|
] ++ [
|
||||||
# Required to fix diskSize errors during build
|
# Required to fix diskSize errors during build
|
||||||
({ ... }: { amazonImage.sizeMB = 16 * 1024; })
|
({ ... }: { amazonImage.sizeMB = 16 * 1024; })
|
17
generators/staff/default.nix
Normal file
17
generators/staff/default.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# The Staff
|
||||||
|
# ISO configuration for my USB drive
|
||||||
|
|
||||||
|
{ inputs, system, ... }:
|
||||||
|
|
||||||
|
with inputs;
|
||||||
|
|
||||||
|
nixos-generators.nixosGenerate {
|
||||||
|
inherit system;
|
||||||
|
format = "install-iso";
|
||||||
|
modules = [{
|
||||||
|
networking.hostName = "staff";
|
||||||
|
users.extraUsers.root.openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
}
|
@ -13,8 +13,8 @@ nixpkgs.lib.nixosSystem {
|
|||||||
specialArgs = { };
|
specialArgs = { };
|
||||||
modules = [
|
modules = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules
|
../../modules/common
|
||||||
../../nixos
|
../../modules/nixos
|
||||||
(removeAttrs globals [ "mail.server" ])
|
(removeAttrs globals [ "mail.server" ])
|
||||||
wsl.nixosModules.wsl
|
wsl.nixosModules.wsl
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
|
@ -9,8 +9,8 @@ nixpkgs.lib.nixosSystem {
|
|||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { };
|
specialArgs = { };
|
||||||
modules = [
|
modules = [
|
||||||
../../modules
|
../../modules/common
|
||||||
../../nixos
|
../../modules/nixos
|
||||||
globals
|
globals
|
||||||
wsl.nixosModules.wsl
|
wsl.nixosModules.wsl
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
@ -9,8 +9,8 @@ darwin.lib.darwinSystem {
|
|||||||
system = "x86_64-darwin";
|
system = "x86_64-darwin";
|
||||||
specialArgs = { };
|
specialArgs = { };
|
||||||
modules = [
|
modules = [
|
||||||
../../modules
|
../../modules/common
|
||||||
../../darwin
|
../../modules/darwin
|
||||||
(globals // {
|
(globals // {
|
||||||
user = "Noah.Masur";
|
user = "Noah.Masur";
|
||||||
gitName = "Noah-Masur_1701";
|
gitName = "Noah-Masur_1701";
|
||||||
|
48
hosts/swan/default.nix
Normal file
48
hosts/swan/default.nix
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# The Swan
|
||||||
|
# System configuration for my home NAS server
|
||||||
|
|
||||||
|
{ inputs, globals, overlays, ... }:
|
||||||
|
|
||||||
|
with inputs;
|
||||||
|
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { };
|
||||||
|
modules = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../modules/common
|
||||||
|
../../modules/nixos
|
||||||
|
(removeAttrs globals [ "mail.server" ])
|
||||||
|
wsl.nixosModules.wsl
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
server = true;
|
||||||
|
gui.enable = false;
|
||||||
|
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
|
||||||
|
nixpkgs.overlays = overlays;
|
||||||
|
wsl.enable = false;
|
||||||
|
caddy.enable = true;
|
||||||
|
|
||||||
|
networking.hostName = "swan";
|
||||||
|
|
||||||
|
# Disable passwords, only use SSH key
|
||||||
|
publicKey =
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s";
|
||||||
|
|
||||||
|
# Clone dotfiles
|
||||||
|
dotfiles.enable = true;
|
||||||
|
|
||||||
|
neovim.enable = true;
|
||||||
|
|
||||||
|
boot.zfs.enabled = true;
|
||||||
|
boot.kernelPackages =
|
||||||
|
config.boot.zfs.package.latestCompatibleLinuxPackages;
|
||||||
|
boot.zfs.extraPools = [ "mypool" ];
|
||||||
|
services.zfs.autoScrub.enable = true;
|
||||||
|
services.zfs.autoScrub.interval = "daily";
|
||||||
|
|
||||||
|
services.nfs.server.enable = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
@ -10,8 +10,8 @@ nixpkgs.lib.nixosSystem {
|
|||||||
specialArgs = { };
|
specialArgs = { };
|
||||||
modules = [
|
modules = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules
|
../../modules/common
|
||||||
../../nixos
|
../../modules/nixos
|
||||||
globals
|
globals
|
||||||
wsl.nixosModules.wsl
|
wsl.nixosModules.wsl
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
@ -37,7 +37,7 @@ nixpkgs.lib.nixosSystem {
|
|||||||
media.enable = true;
|
media.enable = true;
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
kitty.enable = true;
|
kitty.enable = true;
|
||||||
"1password".enable = true;
|
_1password.enable = true;
|
||||||
discord.enable = true;
|
discord.enable = true;
|
||||||
nautilus.enable = true;
|
nautilus.enable = true;
|
||||||
obsidian.enable = true;
|
obsidian.enable = true;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
@ -15,12 +15,12 @@
|
|||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/f0313f58-971a-46e3-9191-909fe5eb7f7e";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/FB26-799C";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -34,7 +34,7 @@
|
|||||||
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||||||
hardware.cpu.amd.updateMicrocode =
|
hardware.cpu.amd.updateMicrocode =
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
|
||||||
|
|
||||||
options = {
|
|
||||||
media = {
|
|
||||||
enable = lib.mkEnableOption {
|
|
||||||
description = "Enable media programs.";
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf (config.gui.enable && config.media.enable) {
|
|
||||||
home-manager.users.${config.user}.home.packages = with pkgs; [
|
|
||||||
mpv # Video viewer
|
|
||||||
sxiv # Image viewer
|
|
||||||
mupdf # PDF viewer
|
|
||||||
zathura # PDF viewer
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
"1password" = {
|
_1password = {
|
||||||
enable = lib.mkEnableOption {
|
enable = lib.mkEnableOption {
|
||||||
description = "Enable 1Password.";
|
description = "Enable 1Password.";
|
||||||
default = false;
|
default = false;
|
||||||
@ -10,7 +10,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf
|
config = lib.mkIf
|
||||||
(config.gui.enable && config."1password".enable && pkgs.stdenv.isLinux) {
|
(config.gui.enable && config._1password.enable && pkgs.stdenv.isLinux) {
|
||||||
unfreePackages = [ "1password" "_1password-gui" ];
|
unfreePackages = [ "1password" "_1password-gui" ];
|
||||||
home-manager.users.${config.user} = {
|
home-manager.users.${config.user} = {
|
||||||
home.packages = with pkgs; [ _1password-gui ];
|
home.packages = with pkgs; [ _1password-gui ];
|
@ -14,7 +14,7 @@
|
|||||||
config = lib.mkIf (config.gui.enable && config.firefox.enable) {
|
config = lib.mkIf (config.gui.enable && config.firefox.enable) {
|
||||||
|
|
||||||
unfreePackages = [
|
unfreePackages = [
|
||||||
(lib.mkIf config."1password".enable "onepassword-password-manager")
|
(lib.mkIf config._1password.enable "onepassword-password-manager")
|
||||||
"okta-browser-plugin"
|
"okta-browser-plugin"
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -34,12 +34,11 @@
|
|||||||
multi-account-containers
|
multi-account-containers
|
||||||
facebook-container
|
facebook-container
|
||||||
temporary-containers
|
temporary-containers
|
||||||
(lib.mkIf config."1password".enable onepassword-password-manager)
|
(lib.mkIf config._1password.enable onepassword-password-manager)
|
||||||
okta-browser-plugin
|
okta-browser-plugin
|
||||||
sponsorblock
|
sponsorblock
|
||||||
reddit-enhancement-suite
|
reddit-enhancement-suite
|
||||||
return-youtube-dislikes
|
return-youtube-dislikes
|
||||||
bypass-paywalls-clean
|
|
||||||
markdownload
|
markdownload
|
||||||
darkreader
|
darkreader
|
||||||
snowflake
|
snowflake
|
30
modules/common/applications/media.nix
Normal file
30
modules/common/applications/media.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
media = {
|
||||||
|
enable = lib.mkEnableOption {
|
||||||
|
description = "Enable media programs.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf (config.gui.enable && config.media.enable) {
|
||||||
|
home-manager.users.${config.user} = {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
mpv # Video viewer
|
||||||
|
sxiv # Image viewer
|
||||||
|
mupdf # PDF viewer
|
||||||
|
zathura # PDF viewer
|
||||||
|
];
|
||||||
|
|
||||||
|
# Set default for opening PDFs
|
||||||
|
xdg.mimeApps.defaultApplications."application/pdf" =
|
||||||
|
[ "zathura.desktop" ];
|
||||||
|
xdg.mimeApps.defaultApplications."image/*" = [ "sxiv.desktop" ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -17,6 +17,10 @@
|
|||||||
gnome.sushi # Quick preview with spacebar
|
gnome.sushi # Quick preview with spacebar
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Set default for opening directories
|
||||||
|
xdg.mimeApps.defaultApplications."inode/directory" =
|
||||||
|
[ "nautilus.desktop" ];
|
||||||
|
|
||||||
programs.fish.functions = {
|
programs.fish.functions = {
|
||||||
qr = {
|
qr = {
|
||||||
body =
|
body =
|
@ -1,7 +1,7 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins:
|
(pkgs.vimPlugins.nvim-treesitter.withPlugins (_plugins:
|
||||||
with pkgs.tree-sitter-grammars; [
|
with pkgs.tree-sitter-grammars; [
|
||||||
tree-sitter-hcl
|
tree-sitter-hcl
|
||||||
tree-sitter-python
|
tree-sitter-python
|
@ -13,16 +13,16 @@
|
|||||||
# in pkgs.neovimBuilder {
|
# in pkgs.neovimBuilder {
|
||||||
# package = pkgs.neovim-unwrapped;
|
# package = pkgs.neovim-unwrapped;
|
||||||
# imports = [
|
# imports = [
|
||||||
# ./modules/neovim/plugins/bufferline.nix
|
# ./modules/common/neovim/plugins/bufferline.nix
|
||||||
# ./modules/neovim/plugins/completion.nix
|
# ./modules/common/neovim/plugins/completion.nix
|
||||||
# ./modules/neovim/plugins/gitsigns.nix
|
# ./modules/common/neovim/plugins/gitsigns.nix
|
||||||
# ./modules/neovim/plugins/lsp.nix
|
# ./modules/common/neovim/plugins/lsp.nix
|
||||||
# ./modules/neovim/plugins/misc.nix
|
# ./modules/common/neovim/plugins/misc.nix
|
||||||
# ./modules/neovim/plugins/statusline.nix
|
# ./modules/common/neovim/plugins/statusline.nix
|
||||||
# ./modules/neovim/plugins/syntax.nix
|
# ./modules/common/neovim/plugins/syntax.nix
|
||||||
# ./modules/neovim/plugins/telescope.nix
|
# ./modules/common/neovim/plugins/telescope.nix
|
||||||
# ./modules/neovim/plugins/toggleterm.nix
|
# ./modules/common/neovim/plugins/toggleterm.nix
|
||||||
# ./modules/neovim/plugins/tree.nix
|
# ./modules/common/neovim/plugins/tree.nix
|
||||||
# ] ++ extraConfig;
|
# ] ++ extraConfig;
|
||||||
# }
|
# }
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ ... }: {
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./haskell.nix
|
./haskell.nix
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, lib, ... }: {
|
||||||
|
|
||||||
options.haskell.enable = lib.mkEnableOption "Haskell programming language.";
|
options.haskell.enable = lib.mkEnableOption "Haskell programming language.";
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
|
|
||||||
users.users.${config.user}.shell = pkgs.fish;
|
users.users.${config.user}.shell = pkgs.fish;
|
||||||
programs.fish.enable =
|
programs.fish.enable =
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
home-manager.users.${config.user} = {
|
home-manager.users.${config.user} = {
|
||||||
|
|
||||||
programs.fish = {
|
programs.fish = {
|
@ -19,8 +19,8 @@ in {
|
|||||||
|
|
||||||
# Fix: age won't build
|
# Fix: age won't build
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: {
|
(_final: prev: {
|
||||||
age = prev.age.overrideAttrs (old: {
|
age = prev.age.overrideAttrs (_old: {
|
||||||
src = prev.fetchFromGitHub {
|
src = prev.fetchFromGitHub {
|
||||||
owner = "FiloSottile";
|
owner = "FiloSottile";
|
||||||
repo = "age";
|
repo = "age";
|
@ -1,4 +1,4 @@
|
|||||||
{ config, ... }: {
|
{ ... }: {
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./alacritty.nix
|
./alacritty.nix
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user