Compare commits
3 Commits
archive-2
...
b4f4b67a8b
| Author | SHA1 | Date | |
|---|---|---|---|
| b4f4b67a8b | |||
| f59110c87e | |||
| 3dd4f2783e |
@@ -1,58 +0,0 @@
|
|||||||
# Sakamoto NixOS
|
|
||||||
|
|
||||||
Sakamoto NixOS is built with various profiles intended for reproducibility.
|
|
||||||
|
|
||||||
## Available Hosts
|
|
||||||
|
|
||||||
- MacBook M series
|
|
||||||
- Linux
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
1. Install [Nix](https://nixos.org/download/).
|
|
||||||
|
|
||||||
2. Ensure Nix is installed properly by running the following (this also gives you `nano` for editing later):
|
|
||||||
|
|
||||||
```sh
|
|
||||||
nix-shell -p nano
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Clone the git repository:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
git clone https://git.sakamoto.dev/kenji/nixos.git ~/.config/nixos && cd ~/.config/nixos/
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Copy `info.default.nix` and rename it to `info.local.nix`:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cp ~/.config/nixos/info.default.nix ~/.config/nixos/info.local.nix
|
|
||||||
```
|
|
||||||
|
|
||||||
🚨 **CRITICAL STEP:** Edit `info.local.nix`:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
nano ~/.config/nixos/info.local.nix
|
|
||||||
```
|
|
||||||
|
|
||||||
Modify it to fit your system — especially your **username**.
|
|
||||||
If you accidentally leave the default `biscuit`, that user will be created.
|
|
||||||
**Login password for `biscuit` is `<PLACEHOLDER>`.**
|
|
||||||
|
|
||||||
5. Execute the following command based on your host:
|
|
||||||
|
|
||||||
- **MacBook M series:**
|
|
||||||
|
|
||||||
```sh
|
|
||||||
sudo nix run nix-darwin --extra-experimental-features "nix-command flakes" -- switch --flake ~/.config/nixos#macos
|
|
||||||
```
|
|
||||||
|
|
||||||
- **Linux:**
|
|
||||||
|
|
||||||
```sh
|
|
||||||
sudo nixos-rebuild --flake ~/.config/nixos#desktop --impure
|
|
||||||
sudo nix run home-manager -- init --switch
|
|
||||||
home-manager switch --flake ~/.config/nixos#desktop --impure
|
|
||||||
nix-channel --add https://nixos.org/channels/nixos-unstable nixos nix-channel --update
|
|
||||||
reboot
|
|
||||||
```
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 246 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 14 MiB |
+61
-75
@@ -1,81 +1,67 @@
|
|||||||
{
|
{
|
||||||
hostname = "hakase";
|
myConfig = {
|
||||||
username = "kenji";
|
essentials = {
|
||||||
timezone = "America/Chicago";
|
# !!! replace it with your own, else system might malfunction.
|
||||||
|
Username = "kenji";
|
||||||
|
};
|
||||||
|
general = {
|
||||||
|
Terminal = {
|
||||||
|
font = "JetBrainsMono Nerd Font";
|
||||||
|
size = "12";
|
||||||
|
shell = "fish"; # or zsh
|
||||||
|
aliases = {
|
||||||
|
ls = "ls --color=auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
vpn = {
|
nixos = {
|
||||||
vpnEnable = false;
|
Hostname = "nixos";
|
||||||
vpnSecretFile = "/home/kenji/Wireguard/secret";
|
Timezone = "America/Chicago";
|
||||||
};
|
|
||||||
|
|
||||||
gitProfile = {
|
Boot = {
|
||||||
user = "biscuit";
|
mode = "grub"; # systemd or grub
|
||||||
email = "biscuit@sakamoto.dev";
|
};
|
||||||
defaultBranch = "master";
|
Gaming = {
|
||||||
};
|
enable = true;
|
||||||
|
};
|
||||||
terminal = {
|
Apps = {
|
||||||
termFont = "JetBrainsMono Nerd Font"; # e.g., JetBrainsMono Nerd Font
|
packages = pkgs:
|
||||||
termSize = "18";
|
with pkgs; [
|
||||||
termShell = "fish";
|
jellyfin-media-player
|
||||||
shellAliases = {
|
];
|
||||||
ls = "ls --color=auto";
|
};
|
||||||
update = ''
|
Hyprland = {
|
||||||
sh -c '
|
monitors = [];
|
||||||
if [ "$(uname)" = "Darwin" ]; then
|
};
|
||||||
sudo darwin-rebuild switch --flake ~/.config/nixos#macos
|
Git = {
|
||||||
else
|
user = "";
|
||||||
sudo nixos-rebuild switch --flake ~/.config/nixos#desktop --impure && home-manager switch --flake ~/.config/nixos#desktop --impure
|
email = "";
|
||||||
fi
|
defaultBranch = "master";
|
||||||
'
|
};
|
||||||
'';
|
};
|
||||||
agu = "pkill gjs & ags run ~/.config/nixos/pkgs/ags/biscuit/app.ts & disown (jobs -p) &";
|
optionals = {
|
||||||
|
Builds = {
|
||||||
|
trustedUsers = [
|
||||||
|
"@groups"
|
||||||
|
];
|
||||||
|
buildMachines = [
|
||||||
|
{
|
||||||
|
hostName = "";
|
||||||
|
sshUser = "";
|
||||||
|
sshKey = "";
|
||||||
|
system = "";
|
||||||
|
supportedFeatures = ["big-parallel" "kvm" "nixos-test"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
Ssh = {
|
||||||
|
extraConfig = ''
|
||||||
|
Host macair
|
||||||
|
User biscuit
|
||||||
|
HostName 192.168.68.81
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
allowUnfree = true; # allows installation of commercial apps.
|
|
||||||
touchpadSupport = false;
|
|
||||||
|
|
||||||
logitech-hardware = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Custom Applications
|
|
||||||
linux-apps = {
|
|
||||||
gamingDesktop = true; # adds steam
|
|
||||||
my-apps = pkgs:
|
|
||||||
with pkgs; [
|
|
||||||
jellyfin-media-player
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprconf = {
|
|
||||||
monitor = [
|
|
||||||
"DP-1,highres@165,0x1080,auto"
|
|
||||||
"HDMI-A-4,highres@highrr,0x0,auto"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
sshExtraConfig = ''
|
|
||||||
Host macair
|
|
||||||
User biscuit
|
|
||||||
HostName 192.168.68.81
|
|
||||||
'';
|
|
||||||
|
|
||||||
# BUILD (optional), you can remove these blocks.
|
|
||||||
builder = {
|
|
||||||
trustedUsers = [
|
|
||||||
"@groups"
|
|
||||||
"biscuit"
|
|
||||||
];
|
|
||||||
buildMachines = [
|
|
||||||
{
|
|
||||||
hostName = "192.168.68.81";
|
|
||||||
sshUser = "biscuit";
|
|
||||||
sshKey = "/home/biscuit/.ssh/id_rsa.pub";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
supportedFeatures = ["big-parallel" "kvm" "nixos-test"];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
-1002
File diff suppressed because it is too large
Load Diff
@@ -1,97 +1,70 @@
|
|||||||
{
|
{
|
||||||
description = "A very basic flake";
|
description = "A rewrite of the original Sakamoto NixOS config.";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs"; # `follows` ensure it follows nixpkgs versiona. Avoids breaking updates.
|
|
||||||
darwin.url = "github:lnl7/nix-darwin";
|
|
||||||
darwin.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
ags.url = "github:aylur/ags";
|
home-manager = {
|
||||||
ags.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
flake-utils = {
|
||||||
hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:numtide/flake-utils";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
unlisted-fonts.url = "git+https://git.sakamoto.dev/kenji/nix-fonts.git";
|
darwin = {
|
||||||
unlisted-fonts.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:lnl7/nix-darwin";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nixvim.url = "github:nix-community/nixvim";
|
};
|
||||||
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
nix-neovim.url = "git+https://git.sakamoto.dev/kenji/nix-neovim.git";
|
|
||||||
nix-neovim.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
# kitty-catppuccin.url = "git+https://git.sakamoto.dev/kenji/nix-kitty-catppuccin.git";
|
|
||||||
# kitty-catppuccin.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
matugen.url = "github:/InioX/Matugen";
|
|
||||||
matugen.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
flake-utils,
|
||||||
home-manager,
|
home-manager,
|
||||||
darwin,
|
darwin,
|
||||||
ags,
|
|
||||||
hyprland,
|
|
||||||
unlisted-fonts,
|
|
||||||
nix-neovim,
|
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs:
|
||||||
config = import ./config.nix;
|
flake-utils.lib.eachDefaultSystem (
|
||||||
lib = nixpkgs.lib;
|
system: let
|
||||||
system = "x86_64-linux";
|
config = import ./config.nix;
|
||||||
# pkgs = nixpkgs.legacyPackages.${system}; # alternative, without overlays. Unused.
|
lib = nixpkgs.lib;
|
||||||
args =
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
{
|
args = {inherit inputs system;} // config;
|
||||||
inherit inputs system;
|
in {
|
||||||
}
|
nixosConfigurations = {
|
||||||
// config;
|
desktop = lib.nixosSystem {
|
||||||
in {
|
inherit system;
|
||||||
# linux only
|
specialArgs = args;
|
||||||
nixosConfigurations = {
|
modules = [];
|
||||||
desktop = lib.nixosSystem {
|
};
|
||||||
inherit system;
|
|
||||||
specialArgs = args;
|
|
||||||
modules = [
|
|
||||||
./nixos/desktop/configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
homeConfigurations = {
|
|
||||||
desktop = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = [
|
|
||||||
# (final: prev: {
|
|
||||||
# ags_1 = prev.ags_1.overrideAttrs (old: {
|
|
||||||
# buildInputs = old.buildInputs ++ [pkgs.libdbusmenu-gtk3];
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
extraSpecialArgs = args;
|
homeConfigurations = {
|
||||||
modules = [./home/desktop/home.nix];
|
desktop = home-manager.lib.homeManagerConfiguration {
|
||||||
};
|
pkgs = import nixpkgs {
|
||||||
};
|
inherit system;
|
||||||
# exclusive to macos M series
|
extraSpecialArgs = args;
|
||||||
darwinConfigurations = {
|
modules = [];
|
||||||
macos = darwin.lib.darwinSystem {
|
};
|
||||||
system = "aarch64-darwin";
|
};
|
||||||
specialArgs = args;
|
};
|
||||||
modules = [
|
darwinConfigurations = {
|
||||||
./nixos/macos/darwin.nix
|
macos = darwin.lib.darwinSystem {
|
||||||
home-manager.darwinModules.home-manager
|
inherit system;
|
||||||
{
|
specialArgs = args;
|
||||||
home-manager.useGlobalPkgs = true;
|
modules = [
|
||||||
home-manager.useUserPackages = true;
|
./hosts/macos/darwin.nix
|
||||||
home-manager.extraSpecialArgs = args;
|
home-manager.darwinModules.home-manager
|
||||||
}
|
{
|
||||||
];
|
home-manager.useGlobalPkgs = true;
|
||||||
};
|
home-manager.useUserPackages = true;
|
||||||
};
|
home-manager.extraSpecialArgs = args;
|
||||||
};
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/editor.nix
|
../modules/home/terminal.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{username, ...}: {
|
|
||||||
imports = [
|
|
||||||
../../modules/editor.nix
|
|
||||||
../../modules/desktop/display-manager.nix
|
|
||||||
../../modules/desktop/misc.nix
|
|
||||||
../../modules/desktop/app.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "${username}";
|
|
||||||
homeDirectory = "/home/${username}";
|
|
||||||
packages = [];
|
|
||||||
sessionVariables = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.startServices = "sd-switch";
|
|
||||||
home.stateVersion = "23.05";
|
|
||||||
}
|
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
builder,
|
myConfig,
|
||||||
terminal,
|
inputs,
|
||||||
username,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
imports = [
|
||||||
|
../../modules/default/darwin.nix
|
||||||
|
];
|
||||||
# List packages installed in system profile. To search by name, run:
|
# List packages installed in system profile. To search by name, run:
|
||||||
# $ nix-env -qaP | grep wget
|
# $ nix-env -qaP | grep wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = [];
|
||||||
python313
|
|
||||||
];
|
|
||||||
|
|
||||||
# Auto upgrade nix package and the daemon service.
|
# Auto upgrade nix package and the daemon service.
|
||||||
# services.nix-daemon.enable = true;
|
# services.nix-daemon.enable = true;
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
# Necessary for using flakes on this system.
|
# Necessary for using flakes on this system.
|
||||||
nix.settings.experimental-features = "nix-command flakes";
|
nix.settings.experimental-features = "nix-command flakes";
|
||||||
nix.settings.trusted-users = builder.trustedUsers;
|
nix.settings.trusted-users = myConfig.optionals.Builds.trustedUsers;
|
||||||
|
|
||||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||||
programs.zsh.enable = true; # default shell on catalina
|
programs.zsh.enable = true; # default shell on catalina
|
||||||
@@ -29,12 +29,13 @@
|
|||||||
|
|
||||||
# The platform the configuration will be used on.
|
# The platform the configuration will be used on.
|
||||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
|
security.pam.services.sudo_local.touchIdAuth = true;
|
||||||
|
|
||||||
users.users.${username} = {
|
users.users.${myConfig.esssentials.Username} = {
|
||||||
name = "${username}";
|
name = "${myConfig.essentials.Username}";
|
||||||
home = "/Users/${username}";
|
home = "/Users/${myConfig.essentials.Username}";
|
||||||
shell = pkgs.${terminal.termShell};
|
# shell = pkgs.${myConfig.general.terminal.Shell}; # no support for nix-darwin, but can be changed via chsh.
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.${username} = import ../../home/macos/home.nix;
|
home-manager.users.${myConfig.essentials.Username} = import ../../home/macos.nix;
|
||||||
}
|
}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
linux-apps,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
]
|
|
||||||
++ lib.optionals (linux-apps.gamingDesktop == true) [
|
|
||||||
../pkgs/steam/default.nix
|
|
||||||
../pkgs/heroic/default.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{pkgs, ...}: let
|
|
||||||
info = import ../../config.nix;
|
|
||||||
in {
|
|
||||||
home.packages = info.linux-apps.my-apps pkgs;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
../../pkgs/hyprland/default.nix
|
|
||||||
../../pkgs/ags/default.nix
|
|
||||||
../../pkgs/swww/default.nix
|
|
||||||
../../pkgs/waybar/default.nix
|
|
||||||
../../pkgs/rofi/default.nix
|
|
||||||
../../pkgs/hypridle/default.nix
|
|
||||||
../../pkgs/hyprlock/default.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
../../pkgs/btop/default.nix
|
|
||||||
../../pkgs/matugen/default.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
../system/desktop/wayland.nix
|
|
||||||
../system/desktop/sound.nix
|
|
||||||
../system/desktop/misc.nix
|
|
||||||
../system/desktop/browser.nix
|
|
||||||
../system/desktop/font.nix
|
|
||||||
../system/desktop/theme.nix
|
|
||||||
../system/desktop/cursor.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
../pkgs/fastfetch/default.nix
|
|
||||||
../pkgs/git/default.nix
|
|
||||||
../pkgs/kitty/default.nix
|
|
||||||
../pkgs/neovim/default.nix
|
|
||||||
../pkgs/fish/default.nix
|
|
||||||
../pkgs/starship/default.nix
|
|
||||||
../pkgs/zsh/default.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../../packages/zsh/home.nix
|
||||||
|
../../packages/fish/home.nix
|
||||||
|
../../packages/kitty/home.nix
|
||||||
|
../../packages/neovim/home.nix
|
||||||
|
../../packages/starship/home.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
vpn,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
../system/default.nix
|
|
||||||
../system/users.nix
|
|
||||||
]
|
|
||||||
++ lib.optionals (vpn.vpnEnable == true) [
|
|
||||||
../system/vpn.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
allowUnfree,
|
|
||||||
builder,
|
|
||||||
sshExtraConfig,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
/etc/nixos/hardware-configuration.nix
|
|
||||||
../../modules/system.nix
|
|
||||||
../../modules/display-manager.nix
|
|
||||||
../../modules/app.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vim
|
|
||||||
wget
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = allowUnfree;
|
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
trusted-users = builder.trustedUsers;
|
|
||||||
experimental-features = ["nix-command" "flakes"];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ssh.extraConfig = sshExtraConfig;
|
|
||||||
|
|
||||||
nix.distributedBuilds = true;
|
|
||||||
nix.settings.builders-use-substitutes = true;
|
|
||||||
|
|
||||||
# nix.buildMachines = builder.buildMachines;
|
|
||||||
system.stateVersion = "25.05";
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/3f2c4a5a-3124-462a-9fb9-cccc933bac63";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=@" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/18F8-7DC1";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/mnt/CRUCIAL" =
|
|
||||||
{ device = "/dev/disk/by-uuid/394f67b9-e75b-40cc-9b15-28bbda40fff4";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/bbe1e281-4b1d-4d85-ba6a-6f5265f0e3a3"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.biscuit-default.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp11s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
terminal,
|
myConfig,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.zoxide.enable = true;
|
programs.zoxide.enable = true;
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
zoxide init fish | source
|
zoxide init fish | source
|
||||||
|
|
||||||
'';
|
'';
|
||||||
shellAliases = terminal.shellAliases;
|
shellAliases = myConfig.general.Terminal.aliases;
|
||||||
|
|
||||||
plugins = with pkgs.fishPlugins; [
|
plugins = with pkgs.fishPlugins; [
|
||||||
];
|
];
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{myConfig, ...}: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = {
|
||||||
|
user.name = "${myConfig.linux.Git.user}";
|
||||||
|
user.email = "${myConfig.linux.Git.email}";
|
||||||
|
init.defaultBranch = "${myConfig.linux.Git.defaultBranch}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
{...}: {
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
|
||||||
|
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on && agu"; # avoid needing to press a key twice to turn on the display.
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 150;
|
||||||
|
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||||
|
on-resume = "brightnessctl -r"; # restore monitor backlight.
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 150;
|
||||||
|
on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight.
|
||||||
|
on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight.
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 300;
|
||||||
|
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed.
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 330;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off"; # screen off after 5.5min.
|
||||||
|
on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on and restore brightness on resume.
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 500;
|
||||||
|
on-timeout = "systemctl suspend"; # suspend PC after 30min.
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,9 +1,4 @@
|
|||||||
{
|
{myConfig, ...}: {
|
||||||
hyprconf,
|
|
||||||
username,
|
|
||||||
terminal,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
@@ -12,15 +7,16 @@
|
|||||||
"$term" = "kitty --single-instance";
|
"$term" = "kitty --single-instance";
|
||||||
"$browser" = "firefox";
|
"$browser" = "firefox";
|
||||||
|
|
||||||
monitor = hyprconf.monitor;
|
monitor = myConfig.linux.hyprconf.Monitor;
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"[workspace 20 silent] kitty --single-insance --hold fastfetch"
|
"[workspace 20 silent] kitty --single-insance --hold fastfetch"
|
||||||
"[workspace 20 silent] firefox"
|
"[workspace 20 silent] firefox"
|
||||||
"[workspace 1] kitty --single-instance --hold fastfetch"
|
"[workspace 1] kitty --single-instance --hold fastfetch"
|
||||||
"pkill gjs & ags run"
|
"pkill gjs & ags run"
|
||||||
# "matugen image /home/${username}/.config/nixos/assets/wallpapers/ultrawide-nixos-default.png"
|
"matugen image /home/${myConfig.general.Username}/.config/nixos/assets/wallpapers/ultrawide-nixos-default.png"
|
||||||
"hyprctl setcursor Bibata-Original-Classic 24"
|
"hyprctl setcursor Bibata-Original-Classic 24"
|
||||||
|
"solaar -w hide"
|
||||||
];
|
];
|
||||||
|
|
||||||
general = {
|
general = {
|
||||||
@@ -113,7 +109,7 @@
|
|||||||
input = {
|
input = {
|
||||||
kb_layout = "us";
|
kb_layout = "us";
|
||||||
follow_mouse = 1;
|
follow_mouse = 1;
|
||||||
sensitivity = -0.5;
|
sensitivity = 0;
|
||||||
force_no_accel = true;
|
force_no_accel = true;
|
||||||
repeat_delay = 250;
|
repeat_delay = 250;
|
||||||
repeat_rate = 35;
|
repeat_rate = 35;
|
||||||
Executable → Regular
+6
-3
@@ -1,4 +1,4 @@
|
|||||||
{terminal, ...}: {
|
{myConfig, ...}: {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@@ -7,11 +7,14 @@
|
|||||||
confirm_os_window_close = 0;
|
confirm_os_window_close = 0;
|
||||||
window_padding_width = 10;
|
window_padding_width = 10;
|
||||||
|
|
||||||
font_size = terminal.termSize;
|
font_size = myConfig.general.Terminal.size;
|
||||||
font_family = terminal.termFont;
|
font_family = myConfig.general.Terminal.font;
|
||||||
bold_font = "auto";
|
bold_font = "auto";
|
||||||
italic_font = "auto";
|
italic_font = "auto";
|
||||||
bold_italic_font = "auto";
|
bold_italic_font = "auto";
|
||||||
|
|
||||||
|
shell = myConfig.general.Terminal.shell;
|
||||||
|
|
||||||
# optimization
|
# optimization
|
||||||
input_delay = 0;
|
input_delay = 0;
|
||||||
repaint_delay = 2;
|
repaint_delay = 2;
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
{...}: {
|
||||||
|
programs.mangohud = {
|
||||||
|
enable = true;
|
||||||
|
enableSessionWide = true;
|
||||||
|
settings = {
|
||||||
|
toggle_hud = "Shift_R+F12";
|
||||||
|
|
||||||
|
full = true;
|
||||||
|
gpu_temp = true;
|
||||||
|
cpu_temp = true;
|
||||||
|
fps_only = false;
|
||||||
|
|
||||||
|
blacklist = [
|
||||||
|
"pamac-manager"
|
||||||
|
"lact"
|
||||||
|
"ghb"
|
||||||
|
"bitwig-studio"
|
||||||
|
"ptyxis"
|
||||||
|
"yumex"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
nixovim = inputs.nixovim.packages.${pkgs.system}.default;
|
||||||
|
in {
|
||||||
|
home.packages = [
|
||||||
|
nixovim
|
||||||
|
pkgs.lazygit
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
terminal,
|
myConfig,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enableCompletion = false;
|
enableCompletion = false;
|
||||||
syntaxHighlighting.enable = false;
|
syntaxHighlighting.enable = false;
|
||||||
shellAliases = terminal.shellAliases;
|
shellAliases = myConfig.general.Terminal.aliases;
|
||||||
history.size = 10000;
|
history.size = 10000;
|
||||||
antidote = {
|
antidote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
programs.btop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
vim_keys = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{gitProfile, ...}: {
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = {
|
|
||||||
user.name = "${gitProfile.user}";
|
|
||||||
user.email = "${gitProfile.email}";
|
|
||||||
init.defaultBranch = "${gitProfile.defaultBranch}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
home.packages = [
|
|
||||||
pkgs.heroic
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
services.hypridle = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
|
|
||||||
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
|
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on && agu"; # avoid needing to press a key twice to turn on the display.
|
|
||||||
};
|
|
||||||
|
|
||||||
listener = [
|
|
||||||
# {
|
|
||||||
# timeout = 150;
|
|
||||||
# on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
|
||||||
# on-resume = "brightnessctl -r"; # restore monitor backlight.
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# timeout = 150;
|
|
||||||
# on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight.
|
|
||||||
# on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight.
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# timeout = 300;
|
|
||||||
# on-timeout = "loginctl lock-session"; # lock screen when timeout has passed.
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# timeout = 330;
|
|
||||||
# on-timeout = "hyprctl dispatch dpms off"; # screen off after 5.5min.
|
|
||||||
# on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on and restore brightness on resume.
|
|
||||||
# }
|
|
||||||
{
|
|
||||||
timeout = 300;
|
|
||||||
on-timeout = "systemctl suspend"; # suspend PC after 30min.
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
{
|
|
||||||
plugins = {
|
|
||||||
alpha = {
|
|
||||||
enable = true;
|
|
||||||
layout = [
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 2;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "text";
|
|
||||||
val = [
|
|
||||||
" █████ █ ██"
|
|
||||||
" ██████ ██ ████ █ █"
|
|
||||||
" ██ █ █ ██ ████ ██ ███"
|
|
||||||
" █ █ █ ██ █ █ ██ █"
|
|
||||||
" █ █ ██ █ ████ ██ ███"
|
|
||||||
" ██ ██ ██ █ ███ █ ███ █ ██ ███ ███ ███ ████ ████"
|
|
||||||
" ██ ██ ██ █ █ ███ █ ████ ██ ███ ███ ███ ████ ███ █"
|
|
||||||
" ██ ██ ██ █ █ ███ ██ ██ ██ ██ ██ ██ ████ ████"
|
|
||||||
" ██ ██ ██ █ ██ █████ ██ ██ ██ ██ ██ ██ ██"
|
|
||||||
" ██ ██ ██ █ ████████ ██ ██ ██ ██ ██ ██ ██ ██"
|
|
||||||
" █ ██ ███ ███████ ██ ██ ██ ██ ██ ██ ██ ██"
|
|
||||||
" █ ███ ██ ██ ██ ██ █ ██ ██ ██ ██"
|
|
||||||
" ████ ██ ████ █ ██████ ███████ ██ ██ ██ ██"
|
|
||||||
" █ █████ ███████ ████ █████ ███ █ ███ ███ ███"
|
|
||||||
" █ ██ █████ ███ ███ ███ ███"
|
|
||||||
" █"
|
|
||||||
" █"
|
|
||||||
" ██"
|
|
||||||
];
|
|
||||||
opts = {
|
|
||||||
position = "center";
|
|
||||||
hl = "Type";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 4;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "group";
|
|
||||||
val = [
|
|
||||||
{
|
|
||||||
type = "button";
|
|
||||||
val = " New File ";
|
|
||||||
on_press.__raw = "function() vim.cmd[[ene]] end";
|
|
||||||
opts = {
|
|
||||||
shortcut = "n";
|
|
||||||
keymap = [
|
|
||||||
"n"
|
|
||||||
"n"
|
|
||||||
"<cmd>ene<CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
position = "center";
|
|
||||||
width = 50;
|
|
||||||
align_shortcut = "right";
|
|
||||||
hl_shortcut = "Keyword";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 2;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "button";
|
|
||||||
val = " Find File ";
|
|
||||||
opts = {
|
|
||||||
shortcut = "f";
|
|
||||||
keymap = [
|
|
||||||
"n"
|
|
||||||
"f"
|
|
||||||
"<cmd>lua require('fzf-lua').files({ cwd = vim.loop.cwd() })<CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
position = "center";
|
|
||||||
width = 50;
|
|
||||||
align_shortcut = "right";
|
|
||||||
hl_shortcut = "Keyword";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 2;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "button";
|
|
||||||
val = " Recent Files ";
|
|
||||||
on_press.__raw = "function() require('telescope.builtin').oldfiles() end";
|
|
||||||
opts = {
|
|
||||||
shortcut = "r";
|
|
||||||
keymap = [
|
|
||||||
"n"
|
|
||||||
"r"
|
|
||||||
"<cmd>lua require('fzf-lua').oldfiles({ cwd = vim.loop.cwd() })<CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
position = "center";
|
|
||||||
width = 50;
|
|
||||||
align_shortcut = "right";
|
|
||||||
hl_shortcut = "Keyword";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 2;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "button";
|
|
||||||
val = " Find Text ";
|
|
||||||
on_press.__raw = "function() require('telescope.builtin').live_grep() end";
|
|
||||||
opts = {
|
|
||||||
shortcut = "g";
|
|
||||||
keymap = [
|
|
||||||
"n"
|
|
||||||
"g"
|
|
||||||
"<cmd>lua require('fzf-lua').live_grep()<CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
position = "center";
|
|
||||||
width = 50;
|
|
||||||
align_shortcut = "right";
|
|
||||||
hl_shortcut = "Keyword";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "padding";
|
|
||||||
val = 2;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "button";
|
|
||||||
val = " Quit Neovim ";
|
|
||||||
on_press.__raw = "function() vim.cmd[[qa]] end";
|
|
||||||
opts = {
|
|
||||||
shortcut = "q";
|
|
||||||
keymap = [
|
|
||||||
"n"
|
|
||||||
"q"
|
|
||||||
"<cmd>qa<CR>"
|
|
||||||
{
|
|
||||||
noremap = true;
|
|
||||||
silent = true;
|
|
||||||
nowait = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
position = "center";
|
|
||||||
width = 50;
|
|
||||||
align_shortcut = "right";
|
|
||||||
hl_shortcut = "Keyword";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# `plugins.mini.enable` with `plugins.mini.modules.icons` and `plugins.mini.mockDevIcons`.
|
|
||||||
# plugins.web-devicons.enable = true;
|
|
||||||
plugins.mini = {
|
|
||||||
enable = true;
|
|
||||||
mockDevIcons = true;
|
|
||||||
modules = [
|
|
||||||
];
|
|
||||||
};
|
|
||||||
plugins.telescope = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
nix-neovim = inputs.nix-neovim.packages.${pkgs.system}.default;
|
|
||||||
in {
|
|
||||||
programs.neovim.enable = false;
|
|
||||||
home.packages = [
|
|
||||||
nix-neovim
|
|
||||||
pkgs.lazygit
|
|
||||||
# ripgrep
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya (adi1090x)
|
|
||||||
* Github : @adi1090x
|
|
||||||
*
|
|
||||||
* Colors
|
|
||||||
**/
|
|
||||||
|
|
||||||
* {
|
|
||||||
background: #1E2127FF;
|
|
||||||
background-alt: #282B31FF;
|
|
||||||
foreground: #FFFFFFFF;
|
|
||||||
selected: #61AFEFFF;
|
|
||||||
active: #98C379FF;
|
|
||||||
urgent: #E06C75FF;
|
|
||||||
}
|
|
||||||
@@ -1,171 +0,0 @@
|
|||||||
/**
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya (adi1090x)
|
|
||||||
* Github : @adi1090x
|
|
||||||
*
|
|
||||||
* Rofi Theme File
|
|
||||||
* Rofi Version: 1.7.3
|
|
||||||
**/
|
|
||||||
|
|
||||||
/*****----- Configuration -----*****/
|
|
||||||
configuration {
|
|
||||||
modi: "drun";
|
|
||||||
show-icons: true;
|
|
||||||
display-drun: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****----- Global Properties -----*****/
|
|
||||||
@import "shared/colors.rasi"
|
|
||||||
@import "shared/fonts.rasi"
|
|
||||||
|
|
||||||
/*****----- Main Window -----*****/
|
|
||||||
window {
|
|
||||||
transparency: "real";
|
|
||||||
location: center;
|
|
||||||
anchor: center;
|
|
||||||
fullscreen: false;
|
|
||||||
width: 400px;
|
|
||||||
x-offset: 0px;
|
|
||||||
y-offset: 0px;
|
|
||||||
|
|
||||||
enabled: true;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
border: 0px solid;
|
|
||||||
border-radius: 12px;
|
|
||||||
border-color: @selected;
|
|
||||||
background-color: @background;
|
|
||||||
cursor: "default";
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****----- Main Box -----*****/
|
|
||||||
mainbox {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
border: 0px solid;
|
|
||||||
border-radius: 0px 0px 0px 0px;
|
|
||||||
border-color: @selected;
|
|
||||||
background-color: transparent;
|
|
||||||
children: [ "inputbar", "listview" ];
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****----- Inputbar -----*****/
|
|
||||||
inputbar {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 10px;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 15px;
|
|
||||||
border: 0px solid;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @selected;
|
|
||||||
background-color: @selected;
|
|
||||||
text-color: @background;
|
|
||||||
children: [ "prompt", "entry" ];
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
enabled: true;
|
|
||||||
background-color: inherit;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
textbox-prompt-colon {
|
|
||||||
enabled: true;
|
|
||||||
expand: false;
|
|
||||||
str: "::";
|
|
||||||
background-color: inherit;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
entry {
|
|
||||||
enabled: true;
|
|
||||||
background-color: inherit;
|
|
||||||
text-color: inherit;
|
|
||||||
cursor: text;
|
|
||||||
placeholder: "Search...";
|
|
||||||
placeholder-color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****----- Listview -----*****/
|
|
||||||
listview {
|
|
||||||
enabled: true;
|
|
||||||
columns: 1;
|
|
||||||
lines: 6;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
scrollbar: false;
|
|
||||||
layout: vertical;
|
|
||||||
reverse: false;
|
|
||||||
fixed-height: true;
|
|
||||||
fixed-columns: true;
|
|
||||||
|
|
||||||
spacing: 5px;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
border: 0px solid;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @selected;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @foreground;
|
|
||||||
cursor: "default";
|
|
||||||
}
|
|
||||||
scrollbar {
|
|
||||||
handle-width: 5px ;
|
|
||||||
handle-color: @selected;
|
|
||||||
border-radius: 0px;
|
|
||||||
background-color: @background-alt;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****----- Elements -----*****/
|
|
||||||
element {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 10px;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 8px;
|
|
||||||
border: 0px solid;
|
|
||||||
border-radius: 0px;
|
|
||||||
border-color: @selected;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @foreground;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
element normal.normal {
|
|
||||||
background-color: @background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
element selected.normal {
|
|
||||||
background-color: @background-alt;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
element-icon {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
size: 32px;
|
|
||||||
cursor: inherit;
|
|
||||||
}
|
|
||||||
element-text {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
highlight: inherit;
|
|
||||||
cursor: inherit;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
horizontal-align: 0.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****----- Message -----*****/
|
|
||||||
error-message {
|
|
||||||
padding: 15px;
|
|
||||||
border: 2px solid;
|
|
||||||
border-radius: 12px;
|
|
||||||
border-color: @selected;
|
|
||||||
background-color: @background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
textbox {
|
|
||||||
background-color: @background;
|
|
||||||
text-color: @foreground;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
horizontal-align: 0.0;
|
|
||||||
highlight: none;
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Author : Aditya Shakya (adi1090x)
|
|
||||||
## Github : @adi1090x
|
|
||||||
#
|
|
||||||
## Rofi : Launcher (Modi Drun, Run, File Browser, Window)
|
|
||||||
#
|
|
||||||
## Available Styles
|
|
||||||
#
|
|
||||||
## style-1 style-2 style-3 style-4 style-5
|
|
||||||
## style-6 style-7 style-8 style-9 style-10
|
|
||||||
## style-11 style-12 style-13 style-14 style-15
|
|
||||||
|
|
||||||
dir="$HOME/.config/wofi/launcher/config.rasi"
|
|
||||||
theme='style-1'
|
|
||||||
|
|
||||||
## Run
|
|
||||||
wofi \
|
|
||||||
-show drun \
|
|
||||||
-theme ${dir}/${theme}.rasi
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
/**
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya (adi1090x)
|
|
||||||
* Github : @adi1090x
|
|
||||||
*
|
|
||||||
* Colors
|
|
||||||
*
|
|
||||||
* Available Colors Schemes
|
|
||||||
*
|
|
||||||
* adapta catppuccin everforest navy paper
|
|
||||||
* arc cyberpunk gruvbox nord solarized
|
|
||||||
* black dracula lovelace onedark yousai
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
|
|
||||||
/* Import color-scheme from `colors` directory */
|
|
||||||
|
|
||||||
@import "~/.config/wofi/colors/onedark.rasi"
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
/**
|
|
||||||
*
|
|
||||||
* Author : Aditya Shakya (adi1090x)
|
|
||||||
* Github : @adi1090x
|
|
||||||
*
|
|
||||||
* Fonts
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
|
|
||||||
* {
|
|
||||||
font: "Iosevka Nerd Font 10";
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB |
@@ -1,229 +0,0 @@
|
|||||||
{ username, hostname, ... }: {
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
settings = [
|
|
||||||
{
|
|
||||||
margin-top = 10;
|
|
||||||
margin-left = 10;
|
|
||||||
margin-right = 10;
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
|
|
||||||
modules-left = [
|
|
||||||
"custom/start"
|
|
||||||
"hyprland/submap"
|
|
||||||
"hyprland/workspaces"
|
|
||||||
"hyprland/window"
|
|
||||||
];
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
"temperature"
|
|
||||||
"cpu"
|
|
||||||
"memory"
|
|
||||||
"disk"
|
|
||||||
"network"
|
|
||||||
"pulseaudio"
|
|
||||||
"battery"
|
|
||||||
"power-profiles-daemon"
|
|
||||||
"clock"
|
|
||||||
];
|
|
||||||
"cpu" = {
|
|
||||||
states = {
|
|
||||||
critical = 85;
|
|
||||||
};
|
|
||||||
interval = 1;
|
|
||||||
format = " {usage:2}%";
|
|
||||||
on-click = "kitty btop";
|
|
||||||
};
|
|
||||||
"memory" = {
|
|
||||||
states = {
|
|
||||||
critical = 85;
|
|
||||||
};
|
|
||||||
interval = 1;
|
|
||||||
format = " {percentage}%";
|
|
||||||
on-click = "kitty btop";
|
|
||||||
};
|
|
||||||
"disk" = {
|
|
||||||
states = {
|
|
||||||
critical = 85;
|
|
||||||
};
|
|
||||||
interval = 5;
|
|
||||||
format = " {percentage_used}%";
|
|
||||||
on-click = "kitty btop";
|
|
||||||
};
|
|
||||||
"network" = {
|
|
||||||
format-ethernet = " {bandwidthDownOctets}";
|
|
||||||
format-wifi = " {signalStrength}%";
|
|
||||||
format-disconnected = "";
|
|
||||||
format-disabled = "";
|
|
||||||
tooltip = false;
|
|
||||||
on-click = "rofi-network-manager";
|
|
||||||
};
|
|
||||||
"temperature" = {
|
|
||||||
critical-threshold = 80;
|
|
||||||
format = " {temperatureC}°C";
|
|
||||||
interval = 1;
|
|
||||||
on-click = "kitty btop";
|
|
||||||
};
|
|
||||||
"power-profiles-daemon" = {
|
|
||||||
format = "{icon} {profile}";
|
|
||||||
format-icons = {
|
|
||||||
performance = "";
|
|
||||||
power-saver = "";
|
|
||||||
balanced = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
format = "{name}";
|
|
||||||
format-icons = {
|
|
||||||
default = " ";
|
|
||||||
active = " ";
|
|
||||||
urgent = " ";
|
|
||||||
};
|
|
||||||
on-scroll-down = "hyprctl dispatch workspace e+1";
|
|
||||||
on-scroll-up = "hyprctl dispatch workspace e-1";
|
|
||||||
};
|
|
||||||
"hyprland/window" = {
|
|
||||||
icon = true;
|
|
||||||
max-length = 45;
|
|
||||||
separate-outputs = false;
|
|
||||||
rewrite = {
|
|
||||||
"" = "${username}@${hostname}";
|
|
||||||
"~" = "${username}@${hostname}";
|
|
||||||
};
|
|
||||||
on-click-right = "hyprctl dispatch fullscreen 0";
|
|
||||||
on-click-middle = "hyprctl dispatch killactive";
|
|
||||||
on-click = "hyprctl dispatch fullscreen 1";
|
|
||||||
};
|
|
||||||
"hyprland/submap" = {
|
|
||||||
format = " {}";
|
|
||||||
on-click = "hyprctl dispatch submap reset";
|
|
||||||
};
|
|
||||||
"clock" = {
|
|
||||||
format = "{:%b %d, %I:%M %p}";
|
|
||||||
};
|
|
||||||
"tray" = {
|
|
||||||
spacing = 12;
|
|
||||||
};
|
|
||||||
"taskbar" = {
|
|
||||||
icon-size = 10;
|
|
||||||
icon-theme = "Papirus-Dark";
|
|
||||||
on-click = "activate";
|
|
||||||
on-click-right = "fullscreen";
|
|
||||||
on-click-middle = "close";
|
|
||||||
on-scroll-up = "maximize";
|
|
||||||
on-scroll-down = "minimize";
|
|
||||||
};
|
|
||||||
"pulseaudio" = {
|
|
||||||
format = "{icon} {volume}% {format_source}";
|
|
||||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
|
||||||
format-bluetooth-muted = " {icon} {volume}% {format_source_muted}";
|
|
||||||
format-muted = " {volume}% {format_source_muted}";
|
|
||||||
format-source = "";
|
|
||||||
format-source-muted = "";
|
|
||||||
format-icons = {
|
|
||||||
headphone = "";
|
|
||||||
hands-free = "";
|
|
||||||
headset = "";
|
|
||||||
phone = "";
|
|
||||||
portable = "";
|
|
||||||
car = "";
|
|
||||||
default = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
on-click = "pavucontrol";
|
|
||||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
|
||||||
};
|
|
||||||
"battery" = {
|
|
||||||
states = {
|
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
|
||||||
};
|
|
||||||
format = "{icon} {capacity}%";
|
|
||||||
format-charging = " {capacity}%";
|
|
||||||
format-plugged = " {capacity}%";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
interval = 1;
|
|
||||||
on-click = "";
|
|
||||||
};
|
|
||||||
"custom/start" = {
|
|
||||||
format = "";
|
|
||||||
on-click-right = "rofi -show power-menu -modi power-menu:rofi-power-menu";
|
|
||||||
on-click = "rofi -show drun";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
style = ''
|
|
||||||
* {
|
|
||||||
font-size: 12px;
|
|
||||||
font-family: Font Awesome, monospace;
|
|
||||||
font-weight: bold;
|
|
||||||
color: @text;
|
|
||||||
transition: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
border-radius: 0px;
|
|
||||||
margin: 0px;
|
|
||||||
background: none;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover, #custom-start:hover, #window:hover {
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
background: none;
|
|
||||||
color: @text;
|
|
||||||
background-size: 300% 300%;
|
|
||||||
background: @surface0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active, #submap {
|
|
||||||
background: @surface1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-start {
|
|
||||||
padding: 0px 5px;
|
|
||||||
color: @sky;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window, #submap {
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-left, .modules-right {
|
|
||||||
background-color: @crust;
|
|
||||||
border: 2px solid @surface1;
|
|
||||||
border-radius: 10px;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
#submap, #workspaces, #cpu, #memory, #disk, #clock, #window, #tray, #pulseaudio, #battery, #network, #temperature, #power-profiles-daemon, #custom-exit, #custom-start {
|
|
||||||
margin: 0 5px;
|
|
||||||
}
|
|
||||||
.critical, .muted, .performance {
|
|
||||||
color: @red;
|
|
||||||
}
|
|
||||||
.warning, .urgent {
|
|
||||||
color: @yellow;
|
|
||||||
}
|
|
||||||
.charging, .plugged, .power-saver {
|
|
||||||
color: @green;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
|
||||||
"blocks": [
|
|
||||||
{
|
|
||||||
"alignment": "left",
|
|
||||||
"segments": [
|
|
||||||
{
|
|
||||||
"foreground": "#ffdd86",
|
|
||||||
"style": "plain",
|
|
||||||
"template": "{{ .UserName }}@{{ .HostName }} ",
|
|
||||||
"type": "session"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"foreground": "#42a9ff",
|
|
||||||
"style": "plain",
|
|
||||||
"properties": {
|
|
||||||
"style": "full"
|
|
||||||
},
|
|
||||||
"template": "{{ .Path }} ",
|
|
||||||
"type": "path"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"properties": {
|
|
||||||
"branch_icon": "",
|
|
||||||
"fetch_status": true
|
|
||||||
},
|
|
||||||
"style": "plain",
|
|
||||||
"template": "git:{{ if or (.Working.Changed) (.Staging.Changed) (gt .StashCount 0) }}<#ffdd86>{{ .HEAD }}</>{{ else }}{{ .HEAD }}{{ end }}{{ if .Staging.Changed }} <#98c379>{{ .Staging.String }}</>{{ end }}{{ if .Working.Changed }} <#d16971>{{ .Working.String }}</>{{ end }}",
|
|
||||||
"type": "git"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "prompt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"alignment": "left",
|
|
||||||
"newline": true,
|
|
||||||
"segments": [
|
|
||||||
{
|
|
||||||
"foreground": "#ffdd86",
|
|
||||||
"foreground_templates": [
|
|
||||||
"{{ if gt .Code 0 }}#42a9ff{{ end }}"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"always_enabled": true
|
|
||||||
},
|
|
||||||
"style": "plain",
|
|
||||||
"template": "> ",
|
|
||||||
"type": "status"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "prompt"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"version": 3
|
|
||||||
}
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
hostname,
|
|
||||||
timezone,
|
|
||||||
touchpadSupport,
|
|
||||||
inputs,
|
|
||||||
logitech-hardware,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
environment.systemPackages = with pkgs;
|
|
||||||
[
|
|
||||||
python3
|
|
||||||
python3Packages.pip
|
|
||||||
python3Packages.pygobject3
|
|
||||||
python3Packages.setuptools
|
|
||||||
python3Packages.wheel
|
|
||||||
|
|
||||||
gobject-introspection
|
|
||||||
gtk3
|
|
||||||
libxml2
|
|
||||||
|
|
||||||
git
|
|
||||||
|
|
||||||
cargo
|
|
||||||
gcc
|
|
||||||
rustc
|
|
||||||
nodejs
|
|
||||||
yarn
|
|
||||||
|
|
||||||
busybox
|
|
||||||
|
|
||||||
p7zip
|
|
||||||
|
|
||||||
btop
|
|
||||||
tldr
|
|
||||||
|
|
||||||
jq
|
|
||||||
lm_sensors
|
|
||||||
]
|
|
||||||
++ [
|
|
||||||
inputs.matugen.packages.${pkgs.system}.default
|
|
||||||
]
|
|
||||||
++ lib.optionals (logitech-hardware.enable == true) [
|
|
||||||
solaar
|
|
||||||
];
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
logitech.wireless.enable = logitech-hardware.enable;
|
|
||||||
bluetooth = {
|
|
||||||
enable = true;
|
|
||||||
powerOnBoot = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
console = {
|
|
||||||
font = "Lat2-Terminus16";
|
|
||||||
useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.hostName = "${hostname}";
|
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
|
||||||
|
|
||||||
time.timeZone = "${timezone}";
|
|
||||||
|
|
||||||
services = {
|
|
||||||
openssh.enable = true;
|
|
||||||
libinput.enable = touchpadSupport;
|
|
||||||
blueman.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.bash = {
|
|
||||||
interactiveShellInit = ''
|
|
||||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
|
||||||
then
|
|
||||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
|
||||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
zsh.enable = true;
|
|
||||||
fish.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Copy the NixOS configuration file and link it from the resulting system
|
|
||||||
# (/run/current-system/configuration.nix). This is useful in case you
|
|
||||||
# accidentally delete configuration.nix.
|
|
||||||
# ONLY WORKS non-flake
|
|
||||||
# system.copySystemConfiguration = true;
|
|
||||||
}
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
lock-false = {
|
|
||||||
Value = false;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
lock-true = {
|
|
||||||
Value = true;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
programs = {
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
languagePacks = ["en-US"];
|
|
||||||
|
|
||||||
/*
|
|
||||||
---- POLICIES ----
|
|
||||||
*/
|
|
||||||
# Check about:policies#documentation for options.
|
|
||||||
policies = {
|
|
||||||
DisableTelemetry = true;
|
|
||||||
DisableFirefoxStudies = true;
|
|
||||||
EnableTrackingProtection = {
|
|
||||||
Value = true;
|
|
||||||
Locked = true;
|
|
||||||
Cryptomining = true;
|
|
||||||
Fingerprinting = true;
|
|
||||||
};
|
|
||||||
DisablePocket = true;
|
|
||||||
DisableFirefoxAccounts = true;
|
|
||||||
DisableAccounts = true;
|
|
||||||
DisableFirefoxScreenshots = true;
|
|
||||||
OverrideFirstRunPage = "";
|
|
||||||
OverridePostUpdatePage = "";
|
|
||||||
DontCheckDefaultBrowser = true;
|
|
||||||
DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
|
|
||||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
|
||||||
SearchBar = "unified"; # alternative: "separate"
|
|
||||||
|
|
||||||
/*
|
|
||||||
---- EXTENSIONS ----
|
|
||||||
*/
|
|
||||||
# Check about:support for extension/add-on ID strings.
|
|
||||||
# Valid strings for installation_mode are "allowed", "blocked",
|
|
||||||
# "force_installed" and "normal_installed".
|
|
||||||
ExtensionSettings = {
|
|
||||||
"*".installation_mode = "blocked"; # blocks all addons except the ones specified below
|
|
||||||
# uBlock Origin:
|
|
||||||
"uBlock0@raymondhill.net" = {
|
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
};
|
|
||||||
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/file/4493940/bitwarden_password_manager-2025.5.0.xpi";
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
};
|
|
||||||
"tridactyl.vim@cmcaine.co.uk" = {
|
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/file/4405615/tridactyl_vim-1.24.2.xpi";
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
};
|
|
||||||
# Privacy Badger:
|
|
||||||
# "jid1-MnnxcxisBPnSXQ@jetpack" = {
|
|
||||||
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
|
|
||||||
# installation_mode = "force_installed";
|
|
||||||
# };
|
|
||||||
# 1Password:
|
|
||||||
# "{d634138d-c276-4fc8-924b-40a0ea21d284}" = {
|
|
||||||
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/1password-x-password-manager/latest.xpi";
|
|
||||||
# installation_mode = "force_installed";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
---- PREFERENCES ----
|
|
||||||
*/
|
|
||||||
# Check about:config for options.
|
|
||||||
preferences = {
|
|
||||||
# "browser.contentblocking.category" = {
|
|
||||||
# Value = "strict";
|
|
||||||
# Status = "locked";
|
|
||||||
# };
|
|
||||||
"browser.contentblocking.category" = "strict";
|
|
||||||
"extensions.pocket.enabled" = false;
|
|
||||||
"extensions.screenshots.disabled" = true;
|
|
||||||
"browser.topsites.contile.enabled" = false;
|
|
||||||
"browser.formfill.enable" = false;
|
|
||||||
"browser.search.suggest.enabled" = false;
|
|
||||||
"browser.search.suggest.enabled.private" = false;
|
|
||||||
"browser.urlbar.suggest.searches" = false;
|
|
||||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
|
||||||
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
bibata-cursors
|
|
||||||
hyprcursor
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
system,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
unlisted-fonts = inputs.unlisted-fonts.packages.${pkgs.system};
|
|
||||||
in {
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
unlisted-fonts.monolisa
|
|
||||||
unlisted-fonts.rubik
|
|
||||||
nerd-fonts.fira-code
|
|
||||||
nerd-fonts.jetbrains-mono
|
|
||||||
nerd-fonts.iosevka
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
services.printing.enable = true;
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
# Enable sound.
|
|
||||||
# services.pulseaudio.enable = true;
|
|
||||||
# OR
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
pavucontrol
|
|
||||||
];
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
wl-clipboard
|
|
||||||
hypridle
|
|
||||||
hyprlock
|
|
||||||
];
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
# package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
|
||||||
# portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
|
||||||
};
|
|
||||||
hardware = {
|
|
||||||
graphics.enable = true;
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
# displayManager.sddm.wayland = true;
|
|
||||||
displayManager.gdm.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
terminal,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
users = {
|
|
||||||
defaultUserShell = pkgs.${terminal.termShell};
|
|
||||||
users = {
|
|
||||||
${username} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = ["wheel" "networkmanager" "input"];
|
|
||||||
initialHashedPassword = "$6$Qab6SSvEJM2YRtVA$7Oyl7E3pp/FKtCC.2Tb2tyzp3yp7BFHFAKngUYJssQJ.v1Q2mqsgW9m7njpaKNcka2vyCwrnmw1R.YPlFqR0p1";
|
|
||||||
useDefaultShell = true;
|
|
||||||
packages = [
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
vpn,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
networking.wg-quick.interfaces = {
|
|
||||||
biscuit-default = {
|
|
||||||
address = ["10.2.0.2/32"];
|
|
||||||
# listenPort = 51820;
|
|
||||||
# FIXME change privateKey to variable and add env (make sure it is inaccessible!)
|
|
||||||
privateKeyFile = vpn.vpnSecretFile;
|
|
||||||
dns = ["10.2.0.1"];
|
|
||||||
peers = [
|
|
||||||
{
|
|
||||||
publicKey = "GbuOJ8Dho0iXlS0+ma2teQ4RxhBALWK6RB94qA1GZDA=";
|
|
||||||
allowedIPs = ["0.0.0.0/0"];
|
|
||||||
endpoint = "79.127.147.2:51820";
|
|
||||||
# persistentKeepAlive = 25;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user