seperate out home config
This commit is contained in:
parent
8c176c2643
commit
6cf1be302f
9 changed files with 129 additions and 127 deletions
8
home/git.nix
Normal file
8
home/git.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userEmail = "osmanfbayram@gmail.com";
|
||||||
|
userName = "osbm";
|
||||||
|
};
|
||||||
|
}
|
||||||
21
home/home.nix
Normal file
21
home/home.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./tmux
|
||||||
|
./git.nix
|
||||||
|
./ssh.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.username = "osbm";
|
||||||
|
home.homeDirectory = "/home/osbm";
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
# dont install packages here, just use normal nixpkgs
|
||||||
|
];
|
||||||
|
|
||||||
|
home.stateVersion = config.system.stateVersion;
|
||||||
|
}
|
||||||
36
home/ssh.nix
Normal file
36
home/ssh.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
hashKnownHosts = true;
|
||||||
|
compression = true;
|
||||||
|
matchBlocks = {
|
||||||
|
"tartarus" = {
|
||||||
|
hostname = "192.168.0.4";
|
||||||
|
user = "osbm";
|
||||||
|
identityFile = "/home/osbm/.ssh/id_ed25519";
|
||||||
|
# setEnv = {
|
||||||
|
# "TERM" = "xterm-256color";
|
||||||
|
# };
|
||||||
|
# extraOptions = { # [ERROR] - (starship::print): Under a 'dumb' terminal (TERM=dumb).
|
||||||
|
# "RemoteCommand" = "fish";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
"ymir" = {
|
||||||
|
hostname = "192.168.0.2";
|
||||||
|
user = "osbm";
|
||||||
|
identityFile = "/home/osbm/.ssh/id_ed25519";
|
||||||
|
# setEnv = {
|
||||||
|
# "TERM" = "xterm-256color";
|
||||||
|
# };
|
||||||
|
# extraOptions = { # TODO fix the damn starship error
|
||||||
|
# "RemoteCommand" = "fish";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
"pochita" = {
|
||||||
|
hostname = "192.168.0.9";
|
||||||
|
user = "osbm";
|
||||||
|
identityFile = "/home/osbm/.ssh/id_ed25519";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
58
home/tmux/default.nix
Normal file
58
home/tmux/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
wanikani-script = builtins.path {
|
||||||
|
path = ./wanikani-tmux.sh;
|
||||||
|
};
|
||||||
|
tmux-dracula = pkgs.tmuxPlugins.mkTmuxPlugin rec {
|
||||||
|
pluginName = "dracula";
|
||||||
|
version = "3.0.0";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "dracula";
|
||||||
|
repo = "tmux";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-VY4PyaQRwTc6LWhPJg4inrQf5K8+bp0+eqRhR7+Iexk=";
|
||||||
|
};
|
||||||
|
postInstall = ''
|
||||||
|
# i am adding my custom widget to the plugin here cp the wanikani.sh script to the plugin directory
|
||||||
|
cp ${wanikani-script} $target/scripts/wanikani.sh
|
||||||
|
'';
|
||||||
|
meta = with pkgs.lib; {
|
||||||
|
homepage = "https://draculatheme.com/tmux";
|
||||||
|
description = "Feature packed Dracula theme for tmux!";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ethancedwards8];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
historyLimit = 100000;
|
||||||
|
baseIndex = 1;
|
||||||
|
shortcut = "s";
|
||||||
|
mouse = true;
|
||||||
|
shell = "${pkgs.fish}/bin/fish";
|
||||||
|
plugins = with pkgs; [
|
||||||
|
tmuxPlugins.sensible
|
||||||
|
tmuxPlugins.better-mouse-mode
|
||||||
|
{
|
||||||
|
plugin = tmux-dracula;
|
||||||
|
extraConfig = ''
|
||||||
|
set -g @dracula-plugins "custom:wanikani.sh cpu-usage ram-usage gpu-usage battery time"
|
||||||
|
set -g @dracula-show-left-icon hostname
|
||||||
|
set -g @dracula-git-show-current-symbol ✓
|
||||||
|
set -g @dracula-git-no-repo-message "no-git"
|
||||||
|
set -g @dracula-show-timezone false
|
||||||
|
set -g @dracula-ignore-lspci true
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
# Automatically renumber windows
|
||||||
|
set -g renumber-windows on
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -35,8 +35,8 @@
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.osbm = import ../../modules/home.nix {
|
home-manager.users.osbm = import ../../home/home.nix {
|
||||||
inherit config pkgs stateVersion;
|
inherit config pkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.osbm = import ../../modules/home.nix {
|
home-manager.users.osbm = import ../../home/home.nix {
|
||||||
inherit config pkgs stateVersion;
|
inherit config pkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.virtualbox.host.enable = true;
|
virtualisation.virtualbox.host.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.osbm = import ../../modules/home.nix {
|
home-manager.users.osbm = import ../../home/home.nix {
|
||||||
inherit config pkgs stateVersion;
|
inherit config pkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
|
|
|
||||||
121
modules/home.nix
121
modules/home.nix
|
|
@ -1,121 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
stateVersion,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
wanikani-script = builtins.path {
|
|
||||||
path = ./wanikani-tmux.sh;
|
|
||||||
};
|
|
||||||
tmux-dracula = pkgs.tmuxPlugins.mkTmuxPlugin rec {
|
|
||||||
pluginName = "dracula";
|
|
||||||
version = "3.0.0";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "dracula";
|
|
||||||
repo = "tmux";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-VY4PyaQRwTc6LWhPJg4inrQf5K8+bp0+eqRhR7+Iexk=";
|
|
||||||
};
|
|
||||||
postInstall = ''
|
|
||||||
# i am adding my custom widget to the plugin here cp the wanikani.sh script to the plugin directory
|
|
||||||
cp ${wanikani-script} $target/scripts/wanikani.sh
|
|
||||||
'';
|
|
||||||
meta = with pkgs.lib; {
|
|
||||||
homepage = "https://draculatheme.com/tmux";
|
|
||||||
description = "Feature packed Dracula theme for tmux!";
|
|
||||||
license = licenses.mit;
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ethancedwards8];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
# Home Manager needs a bit of information about you and the
|
|
||||||
# paths it should manage.
|
|
||||||
home.username = "osbm";
|
|
||||||
home.homeDirectory = "/home/osbm";
|
|
||||||
|
|
||||||
# Packages that should be installed to the user profile.
|
|
||||||
home.packages = [
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userEmail = "osmanfbayram@gmail.com";
|
|
||||||
userName = "osbm";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ssh = {
|
|
||||||
enable = true;
|
|
||||||
hashKnownHosts = true;
|
|
||||||
compression = true;
|
|
||||||
|
|
||||||
matchBlocks = {
|
|
||||||
"tartarus" = {
|
|
||||||
hostname = "192.168.0.4";
|
|
||||||
user = "osbm";
|
|
||||||
identityFile = "/home/osbm/.ssh/id_ed25519";
|
|
||||||
# setEnv = {
|
|
||||||
# "TERM" = "xterm-256color";
|
|
||||||
# };
|
|
||||||
# extraOptions = { # [ERROR] - (starship::print): Under a 'dumb' terminal (TERM=dumb).
|
|
||||||
# "RemoteCommand" = "fish";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
"ymir" = {
|
|
||||||
hostname = "192.168.0.2";
|
|
||||||
user = "osbm";
|
|
||||||
identityFile = "/home/osbm/.ssh/id_ed25519";
|
|
||||||
# setEnv = {
|
|
||||||
# "TERM" = "xterm-256color";
|
|
||||||
# };
|
|
||||||
# extraOptions = { # TODO fix the damn starship error
|
|
||||||
# "RemoteCommand" = "fish";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
"pochita" = {
|
|
||||||
hostname = "192.168.0.9";
|
|
||||||
user = "osbm";
|
|
||||||
identityFile = "/home/osbm/.ssh/id_ed25519";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
historyLimit = 100000;
|
|
||||||
baseIndex = 1;
|
|
||||||
shortcut = "s";
|
|
||||||
mouse = true;
|
|
||||||
shell = "${pkgs.fish}/bin/fish";
|
|
||||||
plugins = with pkgs; [
|
|
||||||
tmuxPlugins.sensible
|
|
||||||
tmuxPlugins.better-mouse-mode
|
|
||||||
{
|
|
||||||
plugin = tmux-dracula;
|
|
||||||
extraConfig = ''
|
|
||||||
set -g @dracula-plugins "custom:wanikani.sh cpu-usage ram-usage gpu-usage battery time"
|
|
||||||
set -g @dracula-show-left-icon hostname
|
|
||||||
set -g @dracula-git-show-current-symbol ✓
|
|
||||||
set -g @dracula-git-no-repo-message "no-git"
|
|
||||||
set -g @dracula-show-timezone false
|
|
||||||
set -g @dracula-ignore-lspci true
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
extraConfig = ''
|
|
||||||
# Automatically renumber windows
|
|
||||||
set -g renumber-windows on
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# This value determines the Home Manager release that your
|
|
||||||
# configuration is compatible with. This helps avoid breakage
|
|
||||||
# when a new Home Manager release introduces backwards
|
|
||||||
# incompatible changes.
|
|
||||||
#
|
|
||||||
# You can update Home Manager without changing this value. See
|
|
||||||
# the Home Manager release notes for a list of state version
|
|
||||||
# changes in each release.
|
|
||||||
home.stateVersion = stateVersion;
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue