Compare commits
46 commits
Author | SHA1 | Date | |
---|---|---|---|
adebf88996 | |||
e68b978c77 | |||
d2b3336f13 | |||
9704820ba2 | |||
|
8bb14cb78d | ||
|
f3273f5c0f | ||
9bfa850bc3 | |||
b3d517dbf9 | |||
980b771446 | |||
|
a558df302b | ||
3d29e532d9 | |||
1d21da6f05 | |||
2716a9079f | |||
e4d98dd27c | |||
6137e0b129 | |||
04668aa344 | |||
d9ed9f1b40 | |||
2803546ede | |||
bde38336c1 | |||
380503d322 | |||
945ace09ee | |||
3f341d9f5d | |||
28933a66d2 | |||
622d394de8 | |||
241347b926 | |||
782f76ba11 | |||
95859272b9 | |||
92a12b490e | |||
36d47bbb59 | |||
b19c48e95e | |||
3eaad00180 | |||
d6e36dfa8e | |||
417c45b85d | |||
1c68fd4369 | |||
|
d666f30475 | ||
ea3485f5c5 | |||
bfadf34dd4 | |||
cdb3431ed0 | |||
0f4faf77fc | |||
a9c21fd9c5 | |||
ee3cff93b1 | |||
59a23ad6ff | |||
47d826abe1 | |||
93ea6a87d8 | |||
ea59727240 | |||
65f87f22b5 |
36 changed files with 2496 additions and 2355 deletions
23
.github/workflows/check.yml
vendored
Normal file
23
.github/workflows/check.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
name: Check Flake
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "**.nix"
|
||||||
|
- "**.lock"
|
||||||
|
- ".github/workflows/check.yml"
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "**.nix"
|
||||||
|
- "**.lock"
|
||||||
|
- ".github/workflows/check.yml"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
# uses the local reusable workflow
|
||||||
|
uses: ./.github/workflows/nix.yml
|
||||||
|
secrets:
|
||||||
|
GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
with:
|
||||||
|
command: nix flake check --accept-flake-config
|
33
.github/workflows/nix.yml
vendored
Normal file
33
.github/workflows/nix.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
name: Nix Setup
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
command:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
platform:
|
||||||
|
default: "ubuntu"
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
secrets:
|
||||||
|
GH_TOKEN:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
nix:
|
||||||
|
runs-on: "${{ inputs.platform }}-latest"
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
token: "${{ secrets.GH_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Install Nix
|
||||||
|
uses: DeterminateSystems/nix-installer-action@main
|
||||||
|
|
||||||
|
- name: Nix Magic Cache
|
||||||
|
uses: DeterminateSystems/magic-nix-cache-action@main
|
||||||
|
|
||||||
|
- name: "Run Input: ${{ inputs.command }}"
|
||||||
|
run: "${{ inputs.command }}"
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
.vscode/
|
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"workbench.colorCustomizations": {}
|
||||||
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
<h1>
|
<h1>
|
||||||
floppydisk's dotfiles
|
floppydisk's dotfiles<br>
|
||||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png" width="600px" /> <br>
|
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png" width="600px" /> <br>
|
||||||
|
|
||||||
<a href="https://github.com/floppydisk05/dotfiles/stargazers">
|
<a href="https://github.com/floppydisk05/dotfiles/stargazers">
|
||||||
<img src="https://img.shields.io/github/stars/floppydisk05/dotfiles?color=ca9ee6&labelColor=303446&style=for-the-badge">
|
<img src="https://img.shields.io/github/stars/floppydisk05/dotfiles?color=ca9ee6&labelColor=303446&style=for-the-badge">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/floppydisk05/dotfiles/">
|
<a href="https://github.com/floppydisk05/dotfiles/">
|
||||||
|
@ -22,17 +22,18 @@
|
||||||
- **Editor:** [neovim](https://github.com/neovim/neovim/) / [VScode](https://code.visualstudio.com/)
|
- **Editor:** [neovim](https://github.com/neovim/neovim/) / [VScode](https://code.visualstudio.com/)
|
||||||
- **File Manager:** [Dolphin](https://github.com/KDE/dolphin)
|
- **File Manager:** [Dolphin](https://github.com/KDE/dolphin)
|
||||||
|
|
||||||
|
|
||||||
## Main Applications
|
## Main Applications
|
||||||
|
|
||||||
- **Browser:** [Mozilla Firefox Developer Edition](https://www.mozilla.org/en-US/firefox/developer/)
|
- **Browser:** [Mozilla Firefox Developer Edition](https://www.mozilla.org/en-US/firefox/developer/)
|
||||||
- **E-mail:** [Mozilla Thunderbird](https://www.thunderbird.net/en-US/)
|
- **E-mail:** [Mozilla Thunderbird](https://www.thunderbird.net/en-US/)
|
||||||
- **Media:** [VLC Media Player](https://www.videolan.org/) / [Plexamp](https://www.plex.tv/plexamp/)
|
- **Media:** [VLC Media Player](https://www.videolan.org/) / [Plexamp](https://www.plex.tv/plexamp/)
|
||||||
|
|
||||||
|
|
||||||
# Notes
|
# Notes
|
||||||
|
|
||||||
If you have any questions or issues, open an issue under this repository. If you have any suggestions for improvement, head to the "Pull Requests" section and make your changes. If you think this repository is confusing, you are (mostly) right. Feel free to open an issue and ask why something is the way it is.
|
If you have any questions or issues, open an issue under this repository. If you have any suggestions for improvement, head to the "Pull Requests" section and make your changes. If you think this repository is confusing, you are (mostly) right. Feel free to open an issue and ask why something is the way it is.
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
- **[NotAShelf](https://github.com/NotAShelf)** - Introduced me to NixOS, pretty much the reason this repo exists
|
- **[NotAShelf](https://github.com/NotAShelf)** - Introduced me to NixOS, pretty much the reason this repo exists
|
||||||
|
- **[rubiigen](https://github.com/rubiigen)** - Huge thanks for un-fucking my dots after I neglected them for 5 months because my main pc died
|
||||||
- **[toger5](https://github.com/toger5)** - My waybar stylesheet is a ~~stolen~~ modified version of [theirs](https://gist.github.com/toger5/3a509d9a9d7ebba1e02205b00449ccff#file-style-css)
|
- **[toger5](https://github.com/toger5)** - My waybar stylesheet is a ~~stolen~~ modified version of [theirs](https://gist.github.com/toger5/3a509d9a9d7ebba1e02205b00449ccff#file-style-css)
|
2979
flake.lock
2979
flake.lock
File diff suppressed because it is too large
Load diff
131
flake.nix
131
flake.nix
|
@ -1,103 +1,66 @@
|
||||||
{
|
{
|
||||||
description = "Your new nix config";
|
description = "Your new nix config";
|
||||||
|
|
||||||
inputs = {
|
|
||||||
# Nixpkgs
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # based unstable packages
|
|
||||||
nixpkgs-master.url = "github:nixos/nixpkgs/master"; # cringe stable packages
|
|
||||||
|
|
||||||
# Home manager
|
|
||||||
home-manager = {
|
|
||||||
url = "github:nix-community/home-manager";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
# neovim-flake
|
|
||||||
neovim-flake = {
|
|
||||||
url = "github:notashelf/neovim-flake";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
# arrpc
|
|
||||||
arrpc = {
|
|
||||||
url = "github:notashelf/arrpc-flake";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
# hyprland
|
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
|
||||||
hyprland,
|
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
}: let
|
||||||
inherit (self) outputs;
|
|
||||||
forAllSystems = nixpkgs.lib.genAttrs [
|
forAllSystems = nixpkgs.lib.genAttrs [
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
"i686-linux"
|
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-darwin"
|
#"i686-linux"
|
||||||
"x86_64-darwin"
|
#"aarch64-darwin"
|
||||||
|
#"x86_64-darwin"
|
||||||
];
|
];
|
||||||
in rec {
|
in {
|
||||||
# Your custom packages
|
# Entrypoint for NixOS configurations
|
||||||
# Acessible through 'nix build', 'nix shell', etc
|
nixosConfigurations = import ./hosts {inherit self;};
|
||||||
packages = forAllSystems (
|
|
||||||
system: let
|
# devshells that are provided by this flake
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
# adding more packages to buildInputs makes them available
|
||||||
in
|
# while inside the devshell - enetered via `nix develop`
|
||||||
import ./pkgs {inherit pkgs;}
|
|
||||||
);
|
|
||||||
# Devshell for bootstrapping
|
|
||||||
# Acessible through 'nix develop' or 'nix-shell' (legacy)
|
|
||||||
devShells = forAllSystems (
|
devShells = forAllSystems (
|
||||||
system: let
|
system: let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
in
|
in {
|
||||||
import ./shell.nix {inherit pkgs;}
|
default = pkgs.mkShell {
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
alejandra # opionated Nix formatter
|
||||||
|
|
||||||
|
# example of bootstrapping self-contained shell
|
||||||
|
# applications for your flake
|
||||||
|
# this adds an `update` command to your shell
|
||||||
|
# which'll update all inputs and commit
|
||||||
|
(writeShellApplication {
|
||||||
|
name = "update";
|
||||||
|
text = ''
|
||||||
|
nix flake update && git commit flake.lock -m "flake: bump inputs"
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
# Your custom packages and modifications, exported as overlays
|
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||||
# overlays = import ./overlays {inherit inputs;}; # TODO: only use overlays when you understand what tthey do
|
|
||||||
|
|
||||||
# Reusable nixos modules you might want to export
|
|
||||||
# These are usually stuff you would upstream into nixpkgs
|
|
||||||
# nixosModules = import ./modules/public/nixos;
|
|
||||||
# Reusable home-manager modules you might want to export
|
|
||||||
# These are usually stuff you would upstream into home-manager
|
|
||||||
# homeManagerModules = import ./modules/public/home-manager;
|
|
||||||
|
|
||||||
# NixOS configuration entrypoint
|
|
||||||
# Available through 'nixos-rebuild --flake .#your-hostname'
|
|
||||||
nixosConfigurations = import ./hosts {inherit nixpkgs self outputs;};
|
|
||||||
|
|
||||||
# Standalone home-manager configuration entrypoint
|
|
||||||
# Available through 'home-manager --flake .#your-username@your-hostname'
|
|
||||||
homeConfigurations = {
|
|
||||||
"floppydisk@nixbox" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
|
||||||
modules = [
|
|
||||||
hyprland.homeManagerModules.default
|
|
||||||
{wayland.windowManager.hyprland.enable = true;}
|
|
||||||
# > Our main home-manager configuration file <
|
|
||||||
./homes/floppydisk
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"floppydisk@nixpad" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
|
||||||
extraSpecialArgs = {inherit inputs outputs;};
|
|
||||||
modules = [
|
|
||||||
hyprland.homeManagerModules.default
|
|
||||||
{wayland.windowManager.hyprland.enable = true;}
|
|
||||||
# > Our main home-manager configuration file <
|
|
||||||
./homes/floppydisk
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
# Nixpkgs (unstable)
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
# Home manager
|
||||||
|
home-manager.url = "github:nix-community/home-manager/";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
# nixos-hardware
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
|
|
||||||
|
hyprland.url = "github:hyprwm/Hyprland?submodules=1";
|
||||||
|
|
||||||
|
nvf = {
|
||||||
|
url = "github:notashelf/nvf";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,18 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
self,
|
self,
|
||||||
outputs,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs self outputs;
|
inherit inputs self;
|
||||||
};
|
};
|
||||||
users = {
|
users = {
|
||||||
# TODO: "base" user that will be used by default is there is no defined
|
|
||||||
# home directory for the user
|
|
||||||
floppydisk = ./floppydisk;
|
floppydisk = ./floppydisk;
|
||||||
|
# more users can go here, the format is only for convenience
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
inputs.arrpc.homeManagerModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = [pkgs.webcord-vencord];
|
|
||||||
|
|
||||||
# provided by the arrpc-flake home-manager module
|
|
||||||
services.arrpc.enable = true;
|
|
||||||
}
|
|
|
@ -1,153 +1,41 @@
|
||||||
# This is your home-manager configuration file
|
|
||||||
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
|
||||||
{
|
{
|
||||||
inputs,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
# You can import other home-manager modules here
|
|
||||||
imports = [
|
imports = [
|
||||||
# If you want to use modules your own flake exports (from modules/home-manager):
|
./packages.nix # home.packages and similar stuff
|
||||||
# outputs.homeManagerModules.example
|
./nvf.nix
|
||||||
|
./ssh.nix
|
||||||
# Or modules exported from other flakes (such as nix-colors):
|
./git.nix
|
||||||
# inputs.nix-colors.homeManagerModules.default
|
|
||||||
|
|
||||||
# You can also split up your configuration and import pieces of it here:
|
|
||||||
./neovim-flake.nix
|
|
||||||
./arrpc.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "floppydisk";
|
username = "floppydisk";
|
||||||
homeDirectory = "/home/floppydisk";
|
homeDirectory = "/home/floppydisk";
|
||||||
packages = with pkgs; [
|
file.".config/lockonsleep/config.sh".source = ./lock.sh;
|
||||||
# Utils
|
file.".config/hypr/hyprpaper.conf".text = ''
|
||||||
handbrake
|
preload = ${/. + ../../misc/wallpapers/oneshot-1.jpg}
|
||||||
thunderbird
|
wallpaper = ,${/. + ../../misc/wallpapers/oneshot-1.jpg}
|
||||||
picard
|
splash = false
|
||||||
realvnc-vnc-viewer
|
'';
|
||||||
rpi-imager
|
|
||||||
obs-studio
|
|
||||||
yt-dlp
|
|
||||||
_1password-gui
|
|
||||||
_1password
|
|
||||||
git-credential-1password
|
|
||||||
firefox-devedition
|
|
||||||
inputs.arrpc.packages.${pkgs.system}.arrpc
|
|
||||||
rdesktop
|
|
||||||
_3llo
|
|
||||||
gimp
|
|
||||||
qemu
|
|
||||||
virt-manager
|
|
||||||
exactaudiocopy
|
|
||||||
fsv
|
|
||||||
lsd
|
|
||||||
lsdvd
|
|
||||||
thefuck
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
notion-app-enhanced
|
|
||||||
libresprite
|
|
||||||
qbittorrent
|
|
||||||
wine
|
|
||||||
vifm
|
|
||||||
cloudflared
|
|
||||||
ansible
|
|
||||||
just
|
|
||||||
pwgen
|
|
||||||
grafx2
|
|
||||||
libreoffice-fresh
|
|
||||||
|
|
||||||
# Fetch
|
|
||||||
neofetch
|
|
||||||
yafetch
|
|
||||||
cpufetch
|
|
||||||
bunnyfetch
|
|
||||||
nitch
|
|
||||||
screenfetch
|
|
||||||
starfetch
|
|
||||||
|
|
||||||
# DevTools
|
|
||||||
github-desktop
|
|
||||||
gh
|
|
||||||
codeql
|
|
||||||
vscode
|
|
||||||
jetbrains.ruby-mine
|
|
||||||
jetbrains.rider
|
|
||||||
jetbrains.phpstorm
|
|
||||||
jetbrains.idea-ultimate
|
|
||||||
jetbrains.webstorm
|
|
||||||
lazygit
|
|
||||||
wakatime
|
|
||||||
mongodb-compass
|
|
||||||
mongosh
|
|
||||||
httpie
|
|
||||||
ngrok
|
|
||||||
mycli
|
|
||||||
squirrel-sql
|
|
||||||
figma-linux
|
|
||||||
|
|
||||||
# Langs
|
|
||||||
openscad
|
|
||||||
nodejs_18
|
|
||||||
nodePackages.yarn
|
|
||||||
nodePackages.ts-node
|
|
||||||
nodePackages.pnpm
|
|
||||||
php82
|
|
||||||
php82Packages.composer
|
|
||||||
deno
|
|
||||||
python310
|
|
||||||
python310Packages.pip
|
|
||||||
python310Packages.discordpy
|
|
||||||
dotnet-sdk
|
|
||||||
jdk17
|
|
||||||
maven
|
|
||||||
dart
|
|
||||||
purescript
|
|
||||||
|
|
||||||
# Comms
|
|
||||||
nheko
|
|
||||||
element-desktop
|
|
||||||
(discord.override {
|
|
||||||
withOpenASAR = true;
|
|
||||||
withVencord = true;
|
|
||||||
})
|
|
||||||
caprine-bin
|
|
||||||
teamspeak5_client
|
|
||||||
|
|
||||||
# Gaming
|
|
||||||
rpcs3
|
|
||||||
pcsxr
|
|
||||||
pcsx2
|
|
||||||
steam
|
|
||||||
gzdoom
|
|
||||||
minecraft
|
|
||||||
dolphin-emu
|
|
||||||
prismlauncher
|
|
||||||
fceux
|
|
||||||
snes9x
|
|
||||||
heroic
|
|
||||||
openrct2
|
|
||||||
osu-lazer-bin
|
|
||||||
|
|
||||||
# Media
|
|
||||||
vlc
|
|
||||||
libsForQt5.vvave
|
|
||||||
tidal-hifi
|
|
||||||
|
|
||||||
# zsh Themes
|
|
||||||
zsh-powerlevel10k
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Add stuff for your user as you see fit:
|
wayland.windowManager.hyprland = {
|
||||||
programs = {
|
enable = true;
|
||||||
# Enable home-manager
|
systemd.enable = true;
|
||||||
home-manager.enable = true;
|
settings = import ./hyprland.nix;
|
||||||
|
};
|
||||||
|
|
||||||
# Enable z-shell
|
programs.waybar = {
|
||||||
zsh = {
|
enable = true;
|
||||||
|
settings = import ./waybar.nix;
|
||||||
|
style = import ./waybar-style.nix;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.udiskie.enable = true;
|
||||||
|
services.arrpc.enable = true;
|
||||||
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
ls = "lsd";
|
ls = "lsd";
|
||||||
|
@ -162,10 +50,10 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [
|
plugins = [
|
||||||
"git"
|
"git"
|
||||||
"thefuck"
|
# "thefuck"
|
||||||
];
|
];
|
||||||
custom = "$HOME/.oh-my-custom";
|
custom = "$HOME/.oh-my-custom";
|
||||||
theme = "powerlevel10k/powerlevel10k";
|
#theme = "powerlevel10k/powerlevel10k";
|
||||||
};
|
};
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
|
@ -179,21 +67,19 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# enable git and configure users
|
programs.git = {
|
||||||
git = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Frankie B.";
|
userName = "Frankie B.";
|
||||||
userEmail = "git@diskfloppy.me";
|
userEmail = "git@diskfloppy.me";
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
# Sign all commits using ssh key
|
# commit.gpgsign = true;
|
||||||
commit.gpgsign = true;
|
# gpg.format = "ssh";
|
||||||
gpg.format = "ssh";
|
# user.signingkey = "~/.ssh/id_ed25519.pub";
|
||||||
user.signingkey = "~/.ssh/id_ed25519.pub";
|
|
||||||
init.defaultBranch = "master";
|
init.defaultBranch = "master";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
irssi = {
|
programs.irssi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
networks = {
|
networks = {
|
||||||
znc = {
|
znc = {
|
||||||
|
@ -207,23 +93,13 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
# let HM manage itself when in standalone mode
|
||||||
enable = true;
|
programs.home-manager.enable = true;
|
||||||
systemdIntegration = true;
|
|
||||||
settings = import ./hyprland.nix;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.waybar = {
|
# Nicely reload system(d) units when changing configs
|
||||||
enable = true;
|
systemd.user.startServices = lib.mkDefault "sd-switch";
|
||||||
settings = import ./waybar.nix;
|
|
||||||
style = import ./waybar-style.nix;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
|
||||||
systemd.user.startServices = "sd-switch";
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "22.11";
|
home.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
17
homes/floppydisk/git.nix
Normal file
17
homes/floppydisk/git.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
nixosConfig,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.git = {
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "master";
|
||||||
|
gpg.format = "ssh";
|
||||||
|
gpg."ssh".program = "${pkgs._1password-gui}/bin/op-ssh-sign";
|
||||||
|
commit.gpgsign = true;
|
||||||
|
user.signingkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDcwriIE5K8SVewvVdgNvmhtAVvJPtMnNkkS4ETi5YgJ";
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,11 +10,20 @@
|
||||||
"waybar"
|
"waybar"
|
||||||
"swaync"
|
"swaync"
|
||||||
"1password --silent"
|
"1password --silent"
|
||||||
|
"blueman-applet"
|
||||||
];
|
];
|
||||||
|
|
||||||
monitor = [
|
monitor = [];
|
||||||
"DP-1,1600x900,0x0,1"
|
|
||||||
"HDMI-A-1,1280x1024,1600x0,1"
|
windowrulev2 = [
|
||||||
|
"float, title:^(Picture-in-Picture)$"
|
||||||
|
"pin, title:^(Picture-in-Picture)$"
|
||||||
|
"move 67% 72%, title:^(Picture-in-Picture)$"
|
||||||
|
"size 33% 28%, title:^(Picture-in-Picture)$"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
"float,^(blueman-manager)$"
|
||||||
];
|
];
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
|
@ -28,8 +37,8 @@
|
||||||
gaps_in = 5;
|
gaps_in = 5;
|
||||||
gaps_out = 20;
|
gaps_out = 20;
|
||||||
border_size = 2;
|
border_size = 2;
|
||||||
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
"col.active_border" = "rgb(f38ba8)";
|
||||||
"col.inactive_border" = "rgba(595959aa)";
|
"col.inactive_border" = "rgb(313244)";
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -40,10 +49,7 @@
|
||||||
passes = 1;
|
passes = 1;
|
||||||
new_optimizations = 1;
|
new_optimizations = 1;
|
||||||
};
|
};
|
||||||
drop_shadow = "yes";
|
drop_shadow = "no";
|
||||||
shadow_range = 20;
|
|
||||||
shadow_render_power = 5;
|
|
||||||
"col.shadow" = "rgba(1a1a1aee)";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
animations = {
|
animations = {
|
||||||
|
@ -63,16 +69,17 @@
|
||||||
preserve_split = "yes";
|
preserve_split = "yes";
|
||||||
};
|
};
|
||||||
|
|
||||||
master = {
|
|
||||||
new_is_master = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gestures = {
|
gestures = {
|
||||||
workspace_swipe = false;
|
workspace_swipe = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
"general:resize_on_border" = "true";
|
"general:resize_on_border" = "true";
|
||||||
|
|
||||||
|
bindl = [
|
||||||
|
",switch:on:Lid Switch,exec,${/. + ../../misc/scripts/lidclose.sh}"
|
||||||
|
",switch:off:Lid Switch,exec,${/. + ../../misc/scripts/lidopen.sh}"
|
||||||
|
];
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
# mouse binds
|
# mouse binds
|
||||||
"ALT,mouse:272,movewindow"
|
"ALT,mouse:272,movewindow"
|
||||||
|
@ -88,6 +95,10 @@
|
||||||
# mute key
|
# mute key
|
||||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
|
||||||
|
# brightness controls
|
||||||
|
", XF86MonBrightnessUp, exec, brightnessctl s +20%"
|
||||||
|
", XF86MonBrightnessDown, exec, brightnessctl s 20%-"
|
||||||
|
|
||||||
# general shortcuts
|
# general shortcuts
|
||||||
"$mod, Q, exec, kitty"
|
"$mod, Q, exec, kitty"
|
||||||
"$mod, C, killactive, "
|
"$mod, C, killactive, "
|
||||||
|
@ -105,11 +116,14 @@
|
||||||
"$mod SHIFT, K, movewindow, u"
|
"$mod SHIFT, K, movewindow, u"
|
||||||
"$mod SHIFT, J, movewindow, d"
|
"$mod SHIFT, J, movewindow, d"
|
||||||
|
|
||||||
|
# maximize window
|
||||||
|
"$mod, return, fullscreen, 0"
|
||||||
|
|
||||||
# screenshot
|
# screenshot
|
||||||
", Print, exec, grim -l 9 -g \"$(slurp)\" - | wl-copy"
|
", Print, exec, grim -l 9 -g \"$(slurp)\" - | wl-copy"
|
||||||
|
|
||||||
# rofi
|
# wofi
|
||||||
"$mod, D, exec, rofi -show drun --show-icons"
|
"$mod, D, exec, wofi --show=drun -G"
|
||||||
|
|
||||||
# workspace scroll
|
# workspace scroll
|
||||||
"$mod, mouse_down, workspace, e+1"
|
"$mod, mouse_down, workspace, e+1"
|
||||||
|
|
2
homes/floppydisk/lock.sh
Normal file
2
homes/floppydisk/lock.sh
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
exec swayidle -w \
|
||||||
|
before-sleep 'gtklock -d -i'
|
|
@ -4,10 +4,10 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.neovim-flake.homeManagerModules.default
|
inputs.nvf.homeManagerModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.neovim-flake = {
|
programs.nvf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
vim = {
|
vim = {
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
fillChar = null;
|
fillChar = null;
|
||||||
eolChar = null;
|
eolChar = null;
|
||||||
showCurrContext = true;
|
scope.enabled = true;
|
||||||
};
|
};
|
||||||
cursorline = {
|
cursorline = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -78,12 +78,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
vim.theme = {
|
#vim.theme = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
name = "onedark";
|
# name = "onedark";
|
||||||
style = "dark";
|
# style = "dark";
|
||||||
transparent = false;
|
#transparent = false;
|
||||||
};
|
#};
|
||||||
vim.autopairs.enable = true;
|
vim.autopairs.enable = true;
|
||||||
|
|
||||||
vim.autocomplete = {
|
vim.autocomplete = {
|
||||||
|
@ -95,11 +95,12 @@
|
||||||
nvimTree = {
|
nvimTree = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openOnSetup = true;
|
openOnSetup = true;
|
||||||
disableNetrw = true;
|
setupOpts = {
|
||||||
|
disable_netrw = true;
|
||||||
|
|
||||||
hijackUnnamedBufferWhenOpening = true;
|
hijack_unnamed_buffer_when_opening = true;
|
||||||
hijackCursor = true;
|
hijack_cursor = true;
|
||||||
hijackDirectories = {
|
hijack_directories = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoOpen = true;
|
autoOpen = true;
|
||||||
};
|
};
|
||||||
|
@ -111,7 +112,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
view = {
|
view = {
|
||||||
preserveWindowProportions = false;
|
|
||||||
cursorline = false;
|
cursorline = false;
|
||||||
width = {
|
width = {
|
||||||
min = 35;
|
min = 35;
|
||||||
|
@ -121,12 +121,12 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
renderer = {
|
renderer = {
|
||||||
indentMarkers.enable = true;
|
indent_markers.enable = true;
|
||||||
rootFolderLabel = false;
|
root_folder_label = false;
|
||||||
|
|
||||||
icons = {
|
icons = {
|
||||||
modifiedPlacement = "after";
|
modified_placement = "after";
|
||||||
gitPlacement = "after";
|
git_placement = "after";
|
||||||
show.git = true;
|
show.git = true;
|
||||||
show.modified = true;
|
show.modified = true;
|
||||||
};
|
};
|
||||||
|
@ -136,8 +136,9 @@
|
||||||
|
|
||||||
modified = {
|
modified = {
|
||||||
enable = true;
|
enable = true;
|
||||||
showOnDirs = false;
|
show_on_dirs = false;
|
||||||
showOnOpenDirs = true;
|
show_on_open_dirs = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mappings = {
|
mappings = {
|
||||||
|
@ -162,7 +163,7 @@
|
||||||
vim.git = {
|
vim.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gitsigns.enable = true;
|
gitsigns.enable = true;
|
||||||
gitsigns.codeActions = false;
|
gitsigns.codeActions.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
vim.minimap = {
|
vim.minimap = {
|
||||||
|
@ -210,11 +211,11 @@
|
||||||
noice.enable = true;
|
noice.enable = true;
|
||||||
smartcolumn = {
|
smartcolumn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
columnAt.languages = {
|
setupOpts.custom_colorcolumn = {
|
||||||
nix = 150;
|
nix = "150";
|
||||||
ruby = 110;
|
ruby = "110";
|
||||||
java = 120;
|
java = "120";
|
||||||
go = [110 150];
|
go = ["110" "150"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -235,18 +236,18 @@
|
||||||
comment-nvim.enable = true;
|
comment-nvim.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
vim.presence = {
|
#vim.presence = {
|
||||||
presence-nvim = {
|
# presence-nvim = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
auto_update = true;
|
# auto_update = true;
|
||||||
image_text = "The Superior Text Editor";
|
# image_text = "The Superior Text Editor";
|
||||||
client_id = "793271441293967371";
|
# client_id = "793271441293967371";
|
||||||
main_image = "neovim";
|
# main_image = "neovim";
|
||||||
rich_presence = {
|
# rich_presence = {
|
||||||
editing_text = "Editing %s";
|
# editing_text = "Editing %s";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
#};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
124
homes/floppydisk/packages.nix
Normal file
124
homes/floppydisk/packages.nix
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# utils
|
||||||
|
handbrake
|
||||||
|
thunderbird
|
||||||
|
#picard
|
||||||
|
rpi-imager
|
||||||
|
obs-studio
|
||||||
|
yt-dlp
|
||||||
|
_1password-gui
|
||||||
|
_1password
|
||||||
|
firefox-devedition
|
||||||
|
rdesktop
|
||||||
|
_3llo
|
||||||
|
gimp
|
||||||
|
qemu
|
||||||
|
virt-manager
|
||||||
|
exactaudiocopy
|
||||||
|
abcde
|
||||||
|
fsv
|
||||||
|
lsd
|
||||||
|
lsdvd
|
||||||
|
# thefuck
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
notion-app-enhanced
|
||||||
|
libresprite
|
||||||
|
qbittorrent
|
||||||
|
wine
|
||||||
|
vifm
|
||||||
|
cloudflared
|
||||||
|
ansible
|
||||||
|
just
|
||||||
|
pwgen
|
||||||
|
grafx2
|
||||||
|
libreoffice-fresh
|
||||||
|
wiki-tui
|
||||||
|
calcurse
|
||||||
|
kitty
|
||||||
|
wofi
|
||||||
|
grim
|
||||||
|
wlogout
|
||||||
|
hyprpaper
|
||||||
|
brightnessctl
|
||||||
|
josm
|
||||||
|
|
||||||
|
# fetch
|
||||||
|
neofetch
|
||||||
|
yafetch
|
||||||
|
cpufetch
|
||||||
|
bunnyfetch
|
||||||
|
nitch
|
||||||
|
screenfetch
|
||||||
|
starfetch
|
||||||
|
|
||||||
|
# devtools
|
||||||
|
github-desktop
|
||||||
|
gh
|
||||||
|
vscode
|
||||||
|
jetbrains.ruby-mine
|
||||||
|
jetbrains.rider
|
||||||
|
jetbrains.phpstorm
|
||||||
|
jetbrains.idea-ultimate
|
||||||
|
lazygit
|
||||||
|
wakatime
|
||||||
|
mongodb-compass
|
||||||
|
mongosh
|
||||||
|
httpie
|
||||||
|
ngrok
|
||||||
|
mycli
|
||||||
|
squirrel-sql
|
||||||
|
figma-linux
|
||||||
|
processing
|
||||||
|
|
||||||
|
# langs
|
||||||
|
openscad
|
||||||
|
nodejs_18
|
||||||
|
nodePackages.yarn
|
||||||
|
nodePackages.ts-node
|
||||||
|
nodePackages.pnpm
|
||||||
|
php82
|
||||||
|
php82Packages.composer
|
||||||
|
deno
|
||||||
|
python310
|
||||||
|
python310Packages.pip
|
||||||
|
dotnet-sdk
|
||||||
|
jdk17
|
||||||
|
maven
|
||||||
|
purescript
|
||||||
|
lua
|
||||||
|
#flutter
|
||||||
|
|
||||||
|
# comms
|
||||||
|
nheko
|
||||||
|
vesktop
|
||||||
|
caprine-bin
|
||||||
|
teamspeak_client
|
||||||
|
|
||||||
|
# gaming
|
||||||
|
rpcs3
|
||||||
|
pcsxr
|
||||||
|
pcsx2
|
||||||
|
steam
|
||||||
|
gzdoom
|
||||||
|
dolphin-emu
|
||||||
|
prismlauncher
|
||||||
|
fceux
|
||||||
|
snes9x
|
||||||
|
openrct2
|
||||||
|
osu-lazer-bin
|
||||||
|
|
||||||
|
# media
|
||||||
|
vlc
|
||||||
|
libsForQt5.vvave
|
||||||
|
tidal-hifi
|
||||||
|
youtube-tui
|
||||||
|
mpv
|
||||||
|
spotify
|
||||||
|
spicetify-cli
|
||||||
|
|
||||||
|
# zsh themes
|
||||||
|
zsh-powerlevel10k
|
||||||
|
];
|
||||||
|
}
|
21
homes/floppydisk/ssh.nix
Normal file
21
homes/floppydisk/ssh.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
nixosConfig,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
_1passwordAgent = {
|
||||||
|
enable = nixosConfig != {} && nixosConfig.programs._1password-gui.enable && nixosConfig.programs._1password-gui.sshAgent;
|
||||||
|
path = "${config.home.homeDirectory}/.1password/agent.sock";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
forwardAgent = _1passwordAgent.enable;
|
||||||
|
extraConfig = ''
|
||||||
|
Host *
|
||||||
|
IdentityAgent ~/.1password/agent.sock
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background: rgba(43, 48, 59, 0.5);
|
background: rgba(43, 48, 59, 0.5);
|
||||||
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||||
color: #1e2030;
|
color: #181825;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar.hidden {
|
window#waybar.hidden {
|
||||||
|
@ -20,14 +20,14 @@ window#waybar.hidden {
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #494d64;
|
color: #45475a;
|
||||||
border-bottom: 3px solid transparent;
|
border-bottom: 3px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.active
|
#workspaces button.active
|
||||||
#workspaces button.focused {
|
#workspaces button.focused {
|
||||||
background-color: #939ab7;
|
background-color: #9399b2;
|
||||||
border-bottom: 3px solid #494d64;
|
border-bottom: 3px solid #45475a;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.urgent {
|
#workspaces button.urgent {
|
||||||
|
@ -39,37 +39,41 @@ window#waybar.hidden {
|
||||||
border-bottom: 3px solid #cad3f5;
|
border-bottom: 3px solid #cad3f5;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-notification, #disk, #clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-media, #tray, #mode, #idle_inhibitor {
|
#custom-notification, #disk, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-media, #tray, #mode, #idle_inhibitor, #bluetooth {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
background-color: #cad3f5;
|
background-color: #cdd6f4;
|
||||||
|
margin-right: 2px;
|
||||||
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#clock {
|
||||||
background-color: #64727D;
|
background-color: #64727D;
|
||||||
|
padding: 0 10px;
|
||||||
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery {
|
#battery {
|
||||||
background-color: #cad3f5;
|
background-color: #cdd6f4;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.charging {
|
#battery.charging {
|
||||||
color: #cad3f5;
|
color: #cdd6f4;
|
||||||
background-color: #26A65B;
|
background-color: #26A65B;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes blink {
|
@keyframes blink {
|
||||||
to {
|
to {
|
||||||
background-color: #cad3f5;
|
background-color: #cdd6f4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
#battery.critical:not(.charging) {
|
||||||
background: #f53c3c;
|
background: #f53c3c;
|
||||||
color: #cad3f5;
|
color: #cdd6f4;
|
||||||
animation-name: blink;
|
animation-name: blink;
|
||||||
animation-duration: 0.5s;
|
animation-duration: 0.5s;
|
||||||
animation-timing-function: linear;
|
animation-timing-function: linear;
|
||||||
|
@ -78,11 +82,11 @@ window#waybar.hidden {
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu {
|
#cpu {
|
||||||
background: #a6da95;
|
background: #a6e3a1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#memory {
|
#memory {
|
||||||
background: #c6a0f6;
|
background: #cba6f7;
|
||||||
}
|
}
|
||||||
|
|
||||||
#backlight {
|
#backlight {
|
||||||
|
@ -90,12 +94,16 @@ window#waybar.hidden {
|
||||||
}
|
}
|
||||||
|
|
||||||
#network {
|
#network {
|
||||||
background: #f5a97f;
|
background: #fab387;
|
||||||
}
|
}
|
||||||
|
|
||||||
#disk {
|
#disk {
|
||||||
background: #2980b9;
|
background: #2980b9;
|
||||||
color: #cad3f5;
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth {
|
||||||
|
background: #74c7ec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -104,7 +112,7 @@ window#waybar.hidden {
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
background: #eed49f;
|
background: #f9e2af;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,7 +156,7 @@ window#waybar.hidden {
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-notification {
|
#custom-notification {
|
||||||
color: #1e2030;
|
color: #181825;
|
||||||
background-color: #8bd5ca;
|
background-color: #94e2d5;
|
||||||
}
|
}
|
||||||
''
|
''
|
|
@ -5,12 +5,11 @@
|
||||||
height = 27;
|
height = 27;
|
||||||
fixed-center = true;
|
fixed-center = true;
|
||||||
modules-left = [
|
modules-left = [
|
||||||
|
"hyprland/workspaces"
|
||||||
"custom/notification"
|
"custom/notification"
|
||||||
"custom/sep"
|
|
||||||
"tray"
|
"tray"
|
||||||
];
|
];
|
||||||
modules-center = [
|
modules-center = [
|
||||||
"wlr/workspaces"
|
|
||||||
];
|
];
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"battery"
|
"battery"
|
||||||
|
@ -18,6 +17,7 @@
|
||||||
"memory"
|
"memory"
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
"network"
|
"network"
|
||||||
|
"bluetooth"
|
||||||
"clock"
|
"clock"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -51,10 +51,13 @@
|
||||||
escape = true;
|
escape = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"wlr/workspaces" = {
|
"hyprland/workspaces" = {
|
||||||
disable-scroll = false;
|
disable-scroll = false;
|
||||||
all-outputs = false;
|
all-outputs = false;
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
|
"on-scroll-up" = "hyprctl dispatch workspace e+1";
|
||||||
|
"on-scroll-down" = "hyprctl dispatch workspace e-1";
|
||||||
|
"on-click" = "activate";
|
||||||
active-only = false;
|
active-only = false;
|
||||||
format-icons = {
|
format-icons = {
|
||||||
"1" = "I";
|
"1" = "I";
|
||||||
|
@ -108,9 +111,9 @@
|
||||||
|
|
||||||
"clock" = {
|
"clock" = {
|
||||||
timezone = "Europe/London";
|
timezone = "Europe/London";
|
||||||
format = "{: %H:%M}";
|
format = " {:%H:%M}";
|
||||||
format-alt = "{: %H:%M %d/%m/%Y}";
|
format-alt = " {:%H:%M} {%d/%m/%Y}";
|
||||||
tooltip-format = "{: %H:%M %d/%m/%Y}";
|
tooltip-format = " {:%H:%M} {%d/%m/%Y}";
|
||||||
today-format = "<span color='#aaaaaa'><b><u>{}</u></b></span>";
|
today-format = "<span color='#aaaaaa'><b><u>{}</u></b></span>";
|
||||||
calendar-weeks-pos = "right";
|
calendar-weeks-pos = "right";
|
||||||
format-calendar = "<span color='#aaaaaa'><b><u>{}</u></b></span>";
|
format-calendar = "<span color='#aaaaaa'><b><u>{}</u></b></span>";
|
||||||
|
@ -135,11 +138,11 @@
|
||||||
"warning" = 30;
|
"warning" = 30;
|
||||||
"critical" = 5;
|
"critical" = 5;
|
||||||
};
|
};
|
||||||
format = "{icon}{capacity}% ";
|
format = "{icon}{capacity}%";
|
||||||
format-charging = " {capacity}% ";
|
format-charging = " {capacity}%";
|
||||||
format-plugged = " {capacity}% ";
|
format-plugged = " {capacity}%";
|
||||||
format-alt = "{icon}{time}";
|
format-alt = "{icon}{time}";
|
||||||
format-icoms = [" " " " " " " " " "];
|
format-icons = [" " " " " " " " " "];
|
||||||
};
|
};
|
||||||
|
|
||||||
"network" = {
|
"network" = {
|
||||||
|
@ -153,6 +156,15 @@
|
||||||
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"bluetooth" = {
|
||||||
|
format = " {status}";
|
||||||
|
format-disabled = "";
|
||||||
|
format-connected = " {num_connections} connected";
|
||||||
|
tooltip-format = "{controller_alias}\t{controller_address}";
|
||||||
|
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{device_enumerate}";
|
||||||
|
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
|
||||||
|
};
|
||||||
|
|
||||||
"pulseaudio" = {
|
"pulseaudio" = {
|
||||||
on-click = "pavucontrol";
|
on-click = "pavucontrol";
|
||||||
format = "{icon}{volume}%";
|
format = "{icon}{volume}%";
|
||||||
|
@ -174,4 +186,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,42 @@
|
||||||
{
|
{self, ...}: let
|
||||||
nixpkgs,
|
# get inputs from self
|
||||||
self,
|
inherit (self) inputs;
|
||||||
outputs,
|
# get necessary inputs from self.inputs
|
||||||
...
|
inherit (inputs) nixpkgs;
|
||||||
}: let
|
inherit (inputs.home-manager.nixosModules) home-manager;
|
||||||
inputs = self.inputs;
|
# get lib from nixpkgs and create and alias for lib.nixosSystem
|
||||||
|
# for potential future overrides & abstractions
|
||||||
|
inherit (nixpkgs) lib;
|
||||||
|
mkSystem = lib.nixosSystem;
|
||||||
|
|
||||||
home-manager = inputs.home-manager.nixosModules.home-manager;
|
home = ../homes;
|
||||||
homes = ../homes;
|
|
||||||
|
# define a sharedArgs variable that we can simply inherit
|
||||||
|
# across all hosts to avoid traversing the file whenever
|
||||||
|
# we need to add a common specialArg
|
||||||
|
# if a host needs a specific arg that others do not need
|
||||||
|
# then we can merge into the old attribute set as such:
|
||||||
|
# specialArgs = commonArgs // { newArg = "value"; };
|
||||||
|
|
||||||
|
commonArgs = {inherit self inputs;};
|
||||||
in {
|
in {
|
||||||
nixbox = nixpkgs.lib.nixosSystem {
|
"watermelon" = mkSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = commonArgs;
|
||||||
modules = [
|
modules = [
|
||||||
# this list defines which files will be imported to be used as "modules" in the system config
|
# this list defines which files will be imported to be used as "modules" in the system config
|
||||||
./nixbox/configuration.nix
|
./watermelon/configuration.nix
|
||||||
|
|
||||||
# use the nixos-module for home-manager
|
# use the nixos-module for home-manager
|
||||||
home-manager
|
home-manager
|
||||||
homes
|
home
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpad = nixpkgs.lib.nixosSystem {
|
"sunfish" = mkSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = commonArgs;
|
||||||
modules = [
|
modules = [
|
||||||
# this list defines which files will be imported to be used as "modules" in the system config
|
./sunfish/configuration.nix
|
||||||
./nixpad/configuration.nix
|
|
||||||
|
|
||||||
# use the nixos-module for home-manager
|
|
||||||
home-manager
|
home-manager
|
||||||
homes
|
home
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,219 +0,0 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
|
||||||
|
|
||||||
networking.hostName = "nixbox"; # Define your hostname.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/London";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_GB.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "en_GB.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "en_GB.UTF-8";
|
|
||||||
LC_MEASUREMENT = "en_GB.UTF-8";
|
|
||||||
LC_MONETARY = "en_GB.UTF-8";
|
|
||||||
LC_NAME = "en_GB.UTF-8";
|
|
||||||
LC_NUMERIC = "en_GB.UTF-8";
|
|
||||||
LC_PAPER = "en_GB.UTF-8";
|
|
||||||
LC_TELEPHONE = "en_GB.UTF-8";
|
|
||||||
LC_TIME = "en_GB.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
services.xserver.enable = true;
|
|
||||||
|
|
||||||
# Enable the flatpak service
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
|
|
||||||
# Enable SDDM and set second display resolution/position
|
|
||||||
services.xserver.displayManager = {
|
|
||||||
sddm.enable = true;
|
|
||||||
setupCommands = "xrandr --output HDMI-0 --mode 1280x1024 --output HDMI-0 --right-of DP-0";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the KDE Plasma Desktop Environment.
|
|
||||||
services.xserver.desktopManager.plasma5.enable = true;
|
|
||||||
|
|
||||||
# Enable hyprland
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
enableNvidiaPatches = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver = {
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable experimental features
|
|
||||||
nix.settings.extra-experimental-features = ["flakes" "nix-command"];
|
|
||||||
|
|
||||||
# Enable automatic gc
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 30d";
|
|
||||||
};
|
|
||||||
|
|
||||||
# I never want to touch this again
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
|
||||||
hardware = {
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
|
||||||
nvidia = {
|
|
||||||
modesetting.enable = true;
|
|
||||||
nvidiaSettings = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.xserver.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.floppydisk = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Frankie B.";
|
|
||||||
extraGroups = ["networkmanager" "wheel"];
|
|
||||||
packages = with pkgs; [
|
|
||||||
kate
|
|
||||||
];
|
|
||||||
initialPassword = "changeme";
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# security is for wusses
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"openssl-1.1.1u"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
winePackages.fonts
|
|
||||||
];
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Tools
|
|
||||||
vim
|
|
||||||
wget
|
|
||||||
git
|
|
||||||
gnupg
|
|
||||||
pinentry
|
|
||||||
kitty
|
|
||||||
ntfs3g
|
|
||||||
pulseaudioFull
|
|
||||||
linuxKernel.packages.linux_zen.v4l2loopback
|
|
||||||
pciutils
|
|
||||||
usbutils
|
|
||||||
isoimagewriter
|
|
||||||
nvtop
|
|
||||||
screen
|
|
||||||
pavucontrol
|
|
||||||
paprefs
|
|
||||||
gcc
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
nerdfonts
|
|
||||||
jetbrains-mono
|
|
||||||
|
|
||||||
# other shit
|
|
||||||
libnotify
|
|
||||||
hyprpaper
|
|
||||||
networkmanagerapplet
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
font-awesome
|
|
||||||
rofi
|
|
||||||
wlogout
|
|
||||||
swaynotificationcenter
|
|
||||||
swaylock
|
|
||||||
sway
|
|
||||||
swayidle
|
|
||||||
helvum
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
WLR_NO_HARDWARE_CURSORS = "1";
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
|
||||||
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
|
||||||
# started in user sessions.
|
|
||||||
# programs.mtr.enable = true;
|
|
||||||
# programs.gnupg.agent = {
|
|
||||||
# enable = true;
|
|
||||||
# enableSSHSupport = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Enable printing
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.printing.drivers = [pkgs.hplipWithPlugin];
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
|
||||||
# settings for stateful data, like file locations and database versions
|
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
||||||
# this value at the release version of the first install of this system.
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "22.11"; # Did you read the comment?
|
|
||||||
}
|
|
|
@ -1,199 +0,0 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
|
||||||
|
|
||||||
networking.hostName = "nixpad"; # Define your hostname.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/London";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_GB.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "en_GB.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "en_GB.UTF-8";
|
|
||||||
LC_MEASUREMENT = "en_GB.UTF-8";
|
|
||||||
LC_MONETARY = "en_GB.UTF-8";
|
|
||||||
LC_NAME = "en_GB.UTF-8";
|
|
||||||
LC_NUMERIC = "en_GB.UTF-8";
|
|
||||||
LC_PAPER = "en_GB.UTF-8";
|
|
||||||
LC_TELEPHONE = "en_GB.UTF-8";
|
|
||||||
LC_TIME = "en_GB.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
services.xserver.enable = true;
|
|
||||||
|
|
||||||
# Enable the KDE Plasma Desktop Environment.
|
|
||||||
services.xserver.displayManager.sddm.enable = true;
|
|
||||||
services.xserver.desktopManager.plasma5.enable = true;
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver = {
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable experimental features
|
|
||||||
nix.settings.extra-experimental-features = ["flakes" "nix-command"];
|
|
||||||
|
|
||||||
# Enable automatic gc
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 30d";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# I never want to touch this again
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.videoDrivers = ["intel"];
|
|
||||||
hardware.opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
services.xserver.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.floppydisk = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Frankie B.";
|
|
||||||
extraGroups = ["networkmanager" "wheel"];
|
|
||||||
packages = with pkgs; [
|
|
||||||
kate
|
|
||||||
];
|
|
||||||
initialPassword = "changeme";
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
winePackages.fonts
|
|
||||||
];
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Tools
|
|
||||||
vim
|
|
||||||
wget
|
|
||||||
git
|
|
||||||
gnupg
|
|
||||||
pinentry
|
|
||||||
kitty
|
|
||||||
ntfs3g
|
|
||||||
pulseaudioFull
|
|
||||||
linuxKernel.packages.linux_zen.v4l2loopback
|
|
||||||
pciutils
|
|
||||||
usbutils
|
|
||||||
isoimagewriter
|
|
||||||
nvtop
|
|
||||||
screen
|
|
||||||
pavucontrol
|
|
||||||
paprefs
|
|
||||||
gcc
|
|
||||||
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
nerdfonts
|
|
||||||
jetbrains-mono
|
|
||||||
|
|
||||||
# other shit
|
|
||||||
#dunst
|
|
||||||
libnotify
|
|
||||||
hyprpaper
|
|
||||||
networkmanagerapplet
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
font-awesome
|
|
||||||
rofi
|
|
||||||
wlogout
|
|
||||||
swaynotificationcenter
|
|
||||||
swaylock
|
|
||||||
sway
|
|
||||||
swayidle
|
|
||||||
helvum
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
WLR_NO_HARDWARE_CURSORS = "1";
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
|
||||||
# started in user sessions.
|
|
||||||
# programs.mtr.enable = true;
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
|
||||||
# settings for stateful data, like file locations and database versions
|
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
||||||
# this value at the release version of the first install of this system.
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "22.11"; # Did you read the comment?
|
|
||||||
}
|
|
184
hosts/sunfish/configuration.nix
Normal file
184
hosts/sunfish/configuration.nix
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
# This is your system's configuration file.
|
||||||
|
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# You can import other NixOS modules here
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
xkb.layout = "us";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.libinput.enable = true;
|
||||||
|
|
||||||
|
boot.loader.efi.efiSysMountPoint = "/efi";
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
# Configure your nixpkgs instance
|
||||||
|
config = {
|
||||||
|
# Disable if you don't want unfree packages
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
# This will add each flake input as a registry
|
||||||
|
# To make nix3 commands consistent with your flake
|
||||||
|
registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
|
||||||
|
|
||||||
|
# This will additionally add your inputs to the system's legacy channels
|
||||||
|
# Making legacy nix commands consistent as well, awesome!
|
||||||
|
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
# Enable flakes and new 'nix' command
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
# Deduplicate and optimize nix store
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# the configuration (pain)
|
||||||
|
programs = {
|
||||||
|
gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
zsh.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gcc
|
||||||
|
git
|
||||||
|
grim
|
||||||
|
lxqt.lxqt-policykit
|
||||||
|
pavucontrol
|
||||||
|
pciutils
|
||||||
|
pulseaudio
|
||||||
|
screen
|
||||||
|
slurp
|
||||||
|
usbutils
|
||||||
|
wget
|
||||||
|
wl-clipboard
|
||||||
|
xdg-utils
|
||||||
|
swaynotificationcenter
|
||||||
|
swayidle
|
||||||
|
wofi
|
||||||
|
swaylock
|
||||||
|
gnome-keyring
|
||||||
|
gtklock
|
||||||
|
tailscale
|
||||||
|
];
|
||||||
|
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
nerdfonts
|
||||||
|
jetbrains-mono
|
||||||
|
winePackages.fonts
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "sunfish";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.initrd.systemd.enable = true;
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
# Set a time zone, idiot
|
||||||
|
time.timeZone = "Europe/London";
|
||||||
|
|
||||||
|
# Fun internationalisation stuffs (AAAAAAAA)
|
||||||
|
i18n.defaultLocale = "en_GB.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_GB.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_GB.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_GB.UTF-8";
|
||||||
|
LC_MONETARY = "en_GB.UTF-8";
|
||||||
|
LC_NAME = "en_GB.UTF-8";
|
||||||
|
LC_NUMERIC = "en_GB.UTF-8";
|
||||||
|
LC_PAPER = "en_GB.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_GB.UTF-8";
|
||||||
|
LC_TIME = "en_GB.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# define user acc
|
||||||
|
users.users.floppydisk = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Frankie B.";
|
||||||
|
extraGroups = ["networkmanager" "wheel"];
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
# TODO: Add your SSH public key(s) here, if you plan on using SSH to connect
|
||||||
|
];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
|
|
||||||
|
# This setups a SSH server. Very important if you're setting up a headless system.
|
||||||
|
# Feel free to remove if you don't need it.
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
restart = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.greetd.serviceConfig = {
|
||||||
|
Type = "idle";
|
||||||
|
StandardInput = "tty";
|
||||||
|
StandardOutput = "tty";
|
||||||
|
StandardError = "journal";
|
||||||
|
TTYReset = "true";
|
||||||
|
TTYHangup = "true";
|
||||||
|
TTYVTDisallocate = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
security.pam.services.gtklock.text = lib.readFile "${pkgs.gtklock}/etc/pam.d/gtklock";
|
||||||
|
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
}
|
|
@ -12,23 +12,24 @@
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sr_mod"];
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/c694a72f-2faa-49f3-813f-b9b552143088";
|
device = "/dev/disk/by-uuid/8050c8ec-0625-498d-99f6-198d58f65c79";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot/efi" = {
|
fileSystems."/efi" = {
|
||||||
device = "/dev/disk/by-uuid/BA8E-DAAA";
|
device = "/dev/disk/by-uuid/4EAD-75BA";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{device = "/dev/disk/by-uuid/f30ab1ac-66a5-4389-b4fe-a52f53255ec6";}
|
{device = "/dev/disk/by-uuid/1a21fac9-5a8e-4ae1-ae44-5049211d56fc";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
@ -37,8 +38,8 @@
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
204
hosts/watermelon/configuration.nix
Normal file
204
hosts/watermelon/configuration.nix
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
# This is your system's configuration file.
|
||||||
|
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# You can import other NixOS modules here
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
xkb.layout = "us";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
# Configure your nixpkgs instance
|
||||||
|
config = {
|
||||||
|
# Disable if you don't want unfree packages
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
# This will add each flake input as a registry
|
||||||
|
# To make nix3 commands consistent with your flake
|
||||||
|
registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
|
||||||
|
|
||||||
|
# This will additionally add your inputs to the system's legacy channels
|
||||||
|
# Making legacy nix commands consistent as well, awesome!
|
||||||
|
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
# Enable flakes and new 'nix' command
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
# Deduplicate and optimize nix store
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# the configuration (pain)
|
||||||
|
programs = {
|
||||||
|
gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
zsh.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
user.services.polkit-lxqt = {
|
||||||
|
description = "polkit-lxqt";
|
||||||
|
wantedBy = ["graphical-session.target"];
|
||||||
|
wants = ["graphical-session.target"];
|
||||||
|
after = ["graphical-session.target"];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 1;
|
||||||
|
TimeoutStopSec = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
lxqt.lxqt-policykit
|
||||||
|
gcc
|
||||||
|
git
|
||||||
|
grim
|
||||||
|
lxqt.lxqt-policykit
|
||||||
|
pavucontrol
|
||||||
|
pciutils
|
||||||
|
pulseaudio
|
||||||
|
screen
|
||||||
|
slurp
|
||||||
|
usbutils
|
||||||
|
wget
|
||||||
|
wl-clipboard
|
||||||
|
xdg-utils
|
||||||
|
swaynotificationcenter
|
||||||
|
swayidle
|
||||||
|
wofi
|
||||||
|
swaylock
|
||||||
|
gnome-keyring
|
||||||
|
gtklock
|
||||||
|
fprintd
|
||||||
|
tailscale
|
||||||
|
];
|
||||||
|
|
||||||
|
services.fprintd = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
nerdfonts
|
||||||
|
jetbrains-mono
|
||||||
|
winePackages.fonts
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "watermelon";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.initrd.systemd.enable = true;
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
# Set a time zone, idiot
|
||||||
|
time.timeZone = "Europe/London";
|
||||||
|
|
||||||
|
# Fun internationalisation stuffs (AAAAAAAA)
|
||||||
|
i18n.defaultLocale = "en_GB.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_GB.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_GB.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_GB.UTF-8";
|
||||||
|
LC_MONETARY = "en_GB.UTF-8";
|
||||||
|
LC_NAME = "en_GB.UTF-8";
|
||||||
|
LC_NUMERIC = "en_GB.UTF-8";
|
||||||
|
LC_PAPER = "en_GB.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_GB.UTF-8";
|
||||||
|
LC_TIME = "en_GB.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# define user acc
|
||||||
|
users.users.floppydisk = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Frankie B.";
|
||||||
|
extraGroups = ["networkmanager" "wheel"];
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
# TODO: Add your SSH public key(s) here, if you plan on using SSH to connect
|
||||||
|
];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
|
|
||||||
|
# This setups a SSH server. Very important if you're setting up a headless system.
|
||||||
|
# Feel free to remove if you don't need it.
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
restart = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.greetd.serviceConfig = {
|
||||||
|
Type = "idle";
|
||||||
|
StandardInput = "tty";
|
||||||
|
StandardOutput = "tty";
|
||||||
|
StandardError = "journal";
|
||||||
|
TTYReset = "true";
|
||||||
|
TTYHangup = "true";
|
||||||
|
TTYVTDisallocate = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
security.pam.services.gtklock.text = lib.readFile "${pkgs.gtklock}/etc/pam.d/gtklock";
|
||||||
|
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
}
|
|
@ -13,18 +13,22 @@
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
services.blueman.enable = true;
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/79fd353d-4e05-44fd-9e10-e57b08c140f0";
|
{ device = "/dev/disk/by-uuid/82b7f887-2059-45ae-9bdd-60082718d922";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot/efi" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/AA53-B6CE";
|
{ device = "/dev/disk/by-uuid/C630-E94C";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices =
|
||||||
[ { device = "/dev/disk/by-uuid/92e64b37-f558-4333-bfb0-0e4bfe6e91c0"; }
|
[ { device = "/dev/disk/by-uuid/3ce61b0c-691d-4452-93f2-e64e4b926f30"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
15
misc/scripts/lidclose.sh
Executable file
15
misc/scripts/lidclose.sh
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Count the number of connected monitors
|
||||||
|
connected_monitors=$(xrandr | grep " connected " | wc -l)
|
||||||
|
# Check if more than one monitor is connected
|
||||||
|
if [ $connected_monitors -gt 1 ]; then
|
||||||
|
# Disable LVDS-1
|
||||||
|
hyprctl keyword monitor LVDS-1, disable
|
||||||
|
else
|
||||||
|
# Send computer to sleep
|
||||||
|
swayidle -w \
|
||||||
|
timeout 1800 'hyprctl dispatch dpms off' \
|
||||||
|
resume 'hyprctl dispatch dpms on' \
|
||||||
|
timeout 3600 'systemctl suspend'
|
||||||
|
fi
|
3
misc/scripts/lidopen.sh
Executable file
3
misc/scripts/lidopen.sh
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
hyprctl keyword monitor LVDS-1, preferred, auto, 1
|
BIN
misc/wallpapers/ibm.png
Normal file
BIN
misc/wallpapers/ibm.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
BIN
misc/wallpapers/oneshot-1.jpg
Normal file
BIN
misc/wallpapers/oneshot-1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 229 KiB |
BIN
misc/wallpapers/oneshot-2.jpg
Normal file
BIN
misc/wallpapers/oneshot-2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 415 KiB |
BIN
misc/wallpapers/oneshot.png
Normal file
BIN
misc/wallpapers/oneshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 239 KiB |
|
@ -1,6 +0,0 @@
|
||||||
# Add your reusable home-manager modules to this directory, on their own file (https://nixos.wiki/wiki/Module).
|
|
||||||
# These should be stuff you would like to share with others, not your personal configurations.
|
|
||||||
{
|
|
||||||
# List your module files here
|
|
||||||
# my-module = import ./my-module.nix;
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
# Add your reusable NixOS modules to this directory, on their own file (https://nixos.wiki/wiki/Module).
|
|
||||||
# These should be stuff you would like to share with others, not your personal configurations.
|
|
||||||
{
|
|
||||||
# List your module files here
|
|
||||||
# my-module = import ./my-module.nix;
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
# A nixpkgs instance that is grabbed from the pinned nixpkgs commit in the lock file
|
|
||||||
# This is useful to avoid using channels when using legacy nix commands
|
|
||||||
let
|
|
||||||
lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked;
|
|
||||||
in
|
|
||||||
import (fetchTarball {
|
|
||||||
url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz";
|
|
||||||
sha256 = lock.narHash;
|
|
||||||
})
|
|
|
@ -1,5 +0,0 @@
|
||||||
# Custom packages, that can be defined similarly to ones from nixpkgs
|
|
||||||
# You can build them using 'nix build .#example' or (legacy) 'nix-build -A example'
|
|
||||||
{pkgs ? (import ../nixpkgs.nix) {}}: {
|
|
||||||
# example = pkgs.callPackage ./example { };
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
# Shell for bootstrapping flake-enabled nix and home-manager
|
|
||||||
# You can enter it through 'nix develop' or (legacy) 'nix-shell'
|
|
||||||
{pkgs ? (import ./nixpkgs.nix) {}}: {
|
|
||||||
default = pkgs.mkShell {
|
|
||||||
# Enable experimental features without having to specify the argument
|
|
||||||
NIX_CONFIG = "experimental-features = nix-command flakes";
|
|
||||||
nativeBuildInputs = with pkgs; [nix home-manager git];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue