Almost, a reprex should be minimal and you are including unrelated library calls and more code than needed but it is good enough.
I think this is what you are trying to do
library(tidyverse)
urtak <- data.frame(
stringsAsFactors = FALSE,
gerd = c("Kuðungableikja","Sílableikja",
"Dvergableikja","Sílableikja","Dvergableikja",
"Sílableikja","Kuðungableikja","Sílableikja",
"Kuðungableikja","Kuðungableikja","Sílableikja","Dvergableikja",
"Sílableikja","Dvergableikja","Sílableikja",
"Kuðungableikja","Sílableikja","Kuðungableikja"),
litur_tveir = c("Litur","Ekki","Litur",
"Ekki","Ekki","Ekki","Litur","Litur","Ekki","Litur",
"Ekki","Ekki","Ekki","Litur","Ekki","Litur","Ekki",
"Litur")
)
urtak %>%
count(litur_tveir, gerd, name = "Fjöldi") %>%
ggplot(aes(x = gerd, y = Fjöldi, fill = litur_tveir)) +
geom_col(position = position_dodge2(padding = 0.05), alpha = 0.90, width = 0.75) +
geom_text(aes(label = Fjöldi),
position = position_dodge2(width = 0.75),
vjust = - 0.8) +
theme_minimal() +
theme(panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.major.y = element_line(color = 8),
plot.title = element_text(hjust=0.5),
# plot.caption = element_textbox_simple(size = 12, linetype = 1, padding = margin(5,5,5,5))
) +
coord_cartesian(clip = "off") +
scale_fill_manual(values = c("Litur" = "Darkred", "Ekki" = "Grey")) +
labs(x = "",
y = "Fjöldi",
fill = "",
title = "beautiful title",
caption = "Tafla 1 nice litle caption")

Created on 2022-03-10 by the reprex package (v2.0.1)